公司的nagios分布式监控的中心服务器(Web)在台湾的合作方机房,今天他们把我亚马逊云服务器send_nsca发送过来的数据全部屏蔽了,郁闷,只好把nagios的中心服务器迁移到美国机房了。
这台美国机房的服务器由于已经部署了nagios(原来也是nagios转发节点之一)
迁移的大体步骤如下:
1. 安装nsca服务,修改send_nsca.cfg配置文件,添加为service启动;
2. 下载原来中心服务器上的主机和服务文件,上传到新的服务器上;
3. 修改各个转发节点的submit_host_check_result和submit_service_check_result脚本,重启nagios;
4. 重启中心服务器的nagios.
1. 安装配置nsca服务
a. 下载
- wget http://nchc.dl.sourceforge.net/project/nagios/nsca-2.x/nsca-2.7.2/nsca-2.7.2.tar.gz -P /usr/local/src
b. 解压、编译
- cd /usr/local/src
- tar zxvf nsca-2.7.2.tar.gz
- cd nsca-2.7.2
- ./configure
- make all
c. 安装
- # 复制nsca二进制文件,修改拥有者和权限
- cd src
- cp nsca /usr/local/nagios/bin
- chown nagios:nagios /usr/local/nagios/bin/nsca
- chmod u+x /usr/local/nagios/bin/nsca
- # 复制配置文件nsca.cfg,修改拥有者
- cd ../sample-config
- cp nsca.cfg /usr/local/nagios/etc
- chown nagios:nagios /usr/local/nagios/etc/nsca.cfg
d. 设置密码
- vi /usr/local/nagios/etc/nsca.cfg
- # 使用/password,取消其前面的注释#,并设置密码
- password=xxxxxx
- e. 添加为系统服务
- cd /usr/local/nagios/nsca-2.7.2
- cp init-script /etc/rc.d/init.d/nsca
- chown root:root /etc/rc.d/init.d/nsca
- chmod a+x /etc/rc.d/init.d/nsca
- chkconfig --add nsca
- chkconfig nsca on
- # 启动nsca监听服务
- service nsca start
2. 去原来的主机上下载所有分布式监控主机的配置文件
a. 下载文件
- scp user@ip:/usr/local/nagios/objects/filename.cfg /usr/local/nagios/etc/objects/
b. 编辑nagios.cfg,添加相应的主机文件
- vi /usr/local/nagios/etc/nagios.cfg
- # 在cfg_file段落添加,如果有多个文件就添加多条,也可以使用cfg_dir来实现
- cfg_file=/usr/local/nagios/etc/objects/filename.cfg
- # 确认开启通知(因为原先是做为转发节点的,所有有可能会禁用了它)
- enable_notifications=1
3. 修改各个转发节点发送数据的目标IP
a. 修改submit_host_check_result
- vi /usr/local/nagiso/libexec/submit_host_check_result
- # 将下面一行中的IP修改成新的nagios中心服务器IP
- /usr/bin/printf "%s\t%s\t%s\n" "$1" "$return_code" "$3" | /usr/local/nagios/bin/send_nsca $IP -c /usr/local/nagios/etc/send_nsca.cfg
b. 修改submit_service_check_result
- vi /usr/local/nagios/libextc/submit_service_check_result
- # 也是将IP替换成为新的nagios中心服务器IP
- /usr/bin/printf "%s\t%s\t%s\t%s\n" "$1" "$2" "$return_code" "$4" | /usr/local/nagios/bin/send_nsca $IP -c /usr/local/nagios/etc/send_nsca.cfg
c. 重启节点的nagios
- service nagios restart
4. 重启中心服务器的nagios
- service nagios restart
不一会儿,就可以在Web界面看到分布式监控的结果了
转载于:https://blog.51cto.com/linuxjcq/722005