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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介:
先将当前的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 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的文件夹的src目录下
[root@info var]# cd /home/nagios/ndoutils-1.4b7/src
复制3.x版本的ndo程序
[root@info src]# cp  ndomod-3x.o  /usr/local/nagios/bin/ndomod.o
[root@info src]# cp ndo2db-3x   /usr/local/nagios/bin/ndo2db
启动NDO
[root@info 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页面就会正常出现了



本文转自yahoon 51CTO博客,原文链接:http://blog.51cto.com/yahoon/90970,如需转载请自行联系原作者

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
人工智能 编解码 API
GPU虚拟化技术详解(附讲解视频)
GPU虚拟化技术详解(附讲解视频)
2560 0
|
前端开发 安全 搜索推荐
Gitlab配置webhook趟坑全纪录&常见环境问题排查思路与思考总结
是问题,总会有解决办法,一时想不到,不必焦躁,不必死磕,晾一晾,转换一下思路,说不定第二天就会“山重水复疑无路,柳暗花明又一村”!
Gitlab配置webhook趟坑全纪录&常见环境问题排查思路与思考总结
|
4天前
|
云安全 人工智能 安全
|
13天前
|
数据采集 自然语言处理 搜索推荐
基于Qwen3的Embedding和Rerank模型系列,开源!
近年来,随着大规模预训练语言模型(LLM)的飞速发展,文本嵌入(Embedding)和重排序(Reranking)技术在搜索引擎、问答系统、推荐系统等多个领域的重要性愈发凸显。
1094 89
|
6天前
|
自然语言处理 安全 开发者
|
12天前
|
安全 JavaScript 前端开发
Typora免费下载,不需要激活,Typora早期版本,Markdown编辑器
Typora是一款支持实时预览的Markdown编辑器,跨平台兼容Windows、macOS和Linux,适合写作、笔记和技术文档。本文提供合法安全的Typora早期免费版安装方案及常见问题解决方法,助你快速上手。同时详细介绍了Markdown基础用法,包括标题、加粗、斜体、列表、链接、图片、引用、代码块和表格等常用语法,帮助用户高效编写结构化内容。
1093 21
|
12天前
|
人工智能 前端开发 Devops
通义灵码带你玩转开发者常用的MCP(合辑,持续更新中)
今天我们精选了与开发者息息相关和比较热门的MCP 服务,总结了这些技术服务在实际开发的最佳实践,涵盖了从前端开发、后端开发、DevOps、测试、运维等关键环节,及非研发领域中的热度较高的MCP服务。我们通过直播、图文等形式带你了解和学习!
866 5
|
14天前
|
存储 前端开发 JavaScript
2025 最新前端 100 道经典面试题及详细答案汇总整理
本文整理了100道前端常见面试题及其详细答案,涵盖HTML、CSS、JavaScript等多个领域,助你系统复习前端知识。内容包括HTML5新特性、CSS盒模型、Flex与Grid布局区别、选择器优先级等核心知识点,以及伪类和伪元素的区别等细节。适合准备面试或巩固基础的开发者学习。资源可从文末链接下载。
692 2