开发者社区> 余二五> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

nagios配置监控的一些思路和工作流程

简介:
+关注继续查看

nagios的监控原理:实际上很简单。我们在服务器端已经安装了nrpe服务,那么所有的客户端数据都是通过这个nrpe来收集,并且传到nagios服务器,在由nagios去调用生成。

 

工作过程:

(1)客户端在nrpe.cfg文件下已经定义了,调用模块的方式或者nagios识别的命令:

比如:command[check_ips]=/usr/local/nrpe/libexec/ip_conn.sh 8000 10000 (自己编写的脚本)

(2)服务器端通过check_nrpe -H 192.168.1.1 -c chekc_ips 。这个命令句可以手机到客户端这个脚本的数据。

(3)然互我们在服务端定义一个server.cfg就可以收集到关机这台主机的这个服务了。

服务器端:nagios的解析过程:

(1)nagios服务启动时,就回去加载nagios.cfg这个文件里面的数据。里面是我们定义的监控的类型:(cfg_file=/usr/local/nagios/etc/objects/192.168.10.1.cfg  #这一句我地宫一的这台主机文件存放的位置)

(2)到上面的目录下创建192.168.10.1.cfg这个文件。里面定义了监控的类型。

(3)还有contacts.cfg 你可以自己创建一个联系人,发邮邮件到你的邮箱.

#当然还有一些文件:如监控本机时候用到的command.cfg。假如启动报错。说没有这个命令。那么你就可以去command.cfg下面添加就可以了。

 

举例一个自己编写脚本监控服务报警的例子:

在客户端操作:

1、在/usr/local/nagios/libexec/目录下新建check_nginx文件:内容如下

#!/bin/bash
nginx=`/usr/bin/pgrep nginx`
if [ "$nginx" != "" ]
then
echo "nginx is run"
exit 0
fi
if [ "$nginx" = "" ]
then
exit 1
fi

#exit0表示正常。#exit1表示报警

2、编辑nrpe.cfg文件添加命令#给可执行权限和用户:

command[check_nginx]=/usr/local/nagios/libexec/check_nginx

3、服务器端,查看是否连接成功nrpe客户端,不成功的话看防火墙,和nrpe.cfg的allow添加服务器IP地址:

[root@monitor objects]# /usr/local/nagios/libexec/check_nrpe -H 192.168.10.9
NRPE v2.12

4、测试模块是否收集到数据(下面是已经收到的):

[root@monitor objects]# /usr/local/nagios/libexec/check_nrpe -H 192.168.10.9 -c check_nginx
nginx is run

5、编辑192.168.10.9.cfg文件添加这个服务:

define service{
                use                             generic-service
                host_name                       192.168.10.9
                service_description             check_nginx
                check_command                   check_nrpe!check_nginx
                         notifications_enabled           1
                check_period 24x7
                max_check_attempts 3
                 normal_check_interval 10
                retry_check_interval 1
                contact_groups admins
                notification_options w,u,c,r
                notification_interval 120
                notification_period 24x7

}

6、然后重启就可以监控到了。

wKiom1SGtoTA9ai3AAECqFTPzVo469.jpg

 

下面举例几个监控脚本:监控并发量:

#!/bin/sh
#xiaoluo
#2014.11.4

ip_conns=`netstat -an | grep tcp | grep EST | wc -l`

if [ $ip_conns -lt $1 ]
then
echo "OK -connect is $ip_conns"
exit 0
fi
if [ $ip_conns -gt $1 -a $ip_conns -lt $2 ]
then
echo "Warning -connect is $ip_conns"
exit 1
fi
if [ $ip_conns -gt $2 ]
then
echo "Critical -connect is $ip_conns"
exit2
fi

2、nrpe添加命令:command[check_ips]=/usr/local/nagios/libexec/check_ips 4000   8000 (4000报警。8000严重)

#编写脚本注意事项:

都用if判断,然后看返回值:

然后exit 0 表示正常

exit1 表示报警

exit2 表示严重        #这3个人跟我们写的脚本没有直接关系只是给nrpe的一个信号

 

到这,觉得改手工了,遇到问题的朋友可以交流一下。像监控mysql主从的,可以写一个监控两个状态是否都为yes然后在if判断。给exit的那几个值。










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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Nagios 系统监控基本安装配置过程详解
Nagios 是一款免费的开源 IT 基础设施监控系统,功能强大,灵活性强,能有效监控 Windows、Linux、VMware 和 Unix 主机状态,交换机、路由器等网络设置等。一旦主机或服务状态出现异常时,会发出邮件或短信报警第一时间通知 IT 运营人员,在恢复后发出正常的邮件或短信。
1825 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
复杂PHP系统性能瓶颈排查及优化
立即下载
《Zabbix 监控常用手册》
立即下载
Patroni使用维护手册
立即下载