我的编程空间,编程开发者的网络收藏夹
学习永远不晚

nagios升级要点(从2.x到3.x)

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

nagios升级要点(从2.x到3.x)

先将当前的nagios2.9备份
cd /usr/local
cp -r nagios nagios2.9
cd /etc/init.d/
cp nagios nagios2.9


升级(从2.9到3.0.3)
下载nagios-3.0.3
首先大致的看一下里面的两篇文章
whatsnew.html和upgrading.html
介绍了新版的特点和升级方法

然后开始升级工作
解压缩后执行
./configure --with-command-group=nagios
make all
make install
然后验证
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

报两个warning和一个critical
两个warning是:downtime_file 和 comment_file这两个文件已经不在使用,将他们的内容添加到state_retention_file这个文件的后面
一个critical是:434行有错误,变量不能识别
解决两个warning的方法如下:
先将nagios.cfg中comments 和downtime变量注释掉
# COMMENT FILE
# This is the file that Nagios will use for storing host and service
# comments.

#comment_file=/usr/local/nagios/var/comments.dat

# DOWNTIME FILE
# This is the file that Nagios will use for storing host and service
# downtime data.

#downtime_file=/usr/local/nagios/var/downtime.dat
查找state_retention_file=/usr/local/nagios/var/retention.dat
然后执行
cd /usr/local/nagios/var
cat comments.dat >>retention.dat
cat downtime.dat >>retention.dat
解决critical的方法如下
注释掉434行的#check_result_buffer_slots=4096
这个变量已经不在使用了。
然后再验证启动nagios就没问题了

需要说明:从2.x升级到3.x还有这样一点要注意
Extended host and extended service definitions have been deprecated. They are still read and processed by Nagios, but it is recommended that you move the directives found in these definitions to your host and service definitions, respectively.
我配置的有extended service,但是里面的配置信息是nagios grapher自动生产的。况且3.x是可以读的,只是推荐写到service定义中而已。我这里并没有按照这条的建议。没对原来的配置做修改。


Nagvis启动故障的排查
更新nagios之后 启动nagvis需要的NDO组件
/usr/local/nagios/bin/ndo2db -c /usr/local/nagios/etc/ndo2db.cfg
提示Could not bind socket: Address already in use
查看/usr/local/nagios/etc/ndo2db.cfg
有这样的内容
# SOCKET TYPE
# This option determines what type of socket the daemon will create
# an accept connections from.
# Value:
#   unix = Unix domain socket (default)
#   tcp  = TCP socket
socket_type=unix
#socket_type=tcp
socket是unix类型的(是一个sock文件),而不是tcp类型的(tcp端口)

原来是/usr/local/nagios/var/ndo.sock还存在(因为ndo是使用kill命令杀掉进程的)
所以删掉这个.sock文件即可
运行/usr/local/nagios/bin/ndo2db -c /usr/local/nagios/etc/ndo2db.cfg
启动没问题,但是nagivs页面没打开
查看进程也不对
因为会有两个/usr/local/nagios/bin/ndo2db -c /usr/local/nagios/etc/ndo2db.cfg进程才是正常的
查看重启nagios,查看启动日志,报错
Error: Could not load module '/usr/local/nagios/bin/ndomod.o' -> /usr/local/nagios/var/spool/checkresults/nebmodeRKfDc: undefined symbol: find_serviceextinfo
发现是程序版本的问题,要使用支持3.x的NDO
下载ndoutils-1.4b7
解压缩后执行
./configure --with-mysql-lib=/usr/local/mysql/lib/mysql --with-mysql-inc=/usr/local/mysql/include/
make
将原来的备份
[root@info class="lazy" data-src]# cd /usr/local/nagios/bin
[root@info bin]# cp ndo2db ndo2db_2.x
[root@info bin]# cp ndomod.o ndomod.o_2.x

将正在运行的ndo杀掉,sock文件删掉
然后转到刚刚make好的ndo的文件夹的class="lazy" data-src目录下
[root@info var]# cd /home/nagios/ndoutils-1.4b7/class="lazy" data-src
复制3.x版本的ndo程序
[root@info class="lazy" data-src]# cp  ndomod-3x.o  /usr/local/nagios/bin/ndomod.o
[root@info class="lazy" data-src]# cp ndo2db-3x   /usr/local/nagios/bin/ndo2db
启动NDO
[root@info class="lazy" data-src]# /usr/local/nagios/bin/ndo2db -c /usr/local/nagios/etc/ndo2db.cfg

重启nagios
日志里面出现
[1217822155] ndomod: NDOMOD 1.4b7 (10-31-2007) Copyright (c) 2005-2007 Ethan Galstad ([email]nagios@nagios.org[/email])
[1217822155] ndomod: Successfully connected to data sink.  0 queued items to flush.
[1217822155] Event broker module '/usr/local/nagios/bin/ndomod.o' initialized successfully.

稍等一会nagvis页面就会正常出现了

写得十分简单,敬请斧正!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

nagios升级要点(从2.x到3.x)

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

nagios升级要点(从2.x到3.x)

先将当前的nagios2.9备份cd /usr/localcp -r nagios nagios2.9cd /etc/init.d/cp nagios nagios2.9升级(从2.9到3.0.3)下载nagios-3.0.3首先大致的看一
2023-01-31

nexus 2.X版本升级 3.X版本

Nexus版本是2.X , 开发需要使用新特性,进行升级,通过查询官网发现,需要升级到2.X特定版本,才能升级到3.X的对应版本. https://help.sonatype.com/repomanager3/upgrade-comp
2023-01-31

如何从 Laravel 9.x 升级到 Laravel 10.x?

Laravel 10 已于 2 月 14 日发布。Laravel 10 要求最低 PHP 版本为 8.1。在 Laravel 发行说明 中阅读有关该发行版的更多信息。我
2023-03-06

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录