Nagios监控插件简述及其调用的方法

一、前言

Nagios是一款开源的网络监视工具,可以监控Windows、Linux和Unix的主机状态,交换机路由器等网络设备。
Nagios的所有监控、监测功能都是通过各种插件来完成的。
其配置的思路为:设定监控服务→调用监控命令,并设置阈值→运行对应的监控进程,完成监控。

二、监控插件简述

1.查看监控插件

命令:ls /usr/lib64/nagios/plugins
如下:
check_load    负载
check_swap    交换分区    
check_disk      磁盘    
check_procs    进程
check_users    用户
check_http    网页
check_ping      服务器
check_ssh    连接
check_nrpe    远程监控
总结:监控插件实质就是监控进程(可执行程序)文件中提供的命令。

2.查看插件的使用信息

命令:./check_* -h
例子:./check_load -h
解释:因不是系统命令,需采用绝对路径执行的形式,我这里事先进入到了目录下,后面的参数也可以使用--help。

3.定义监控对象并设定阈值

1)check_load检查系统正在运行的任务数+等待的任务数
格式:check_load -w WLOAD1,WLOAD5,WLOAD15 -c CLOAD1,CLOAD5,CLOAD15
例子:check_load -w 15,10,5 -c 30,25,20
解释:当1分钟多于15个进程等待,5分钟多于10个,15分钟多于5个,警告
      当1分钟多于30个进程等待,5分钟多于25个,15分钟多于20个,危险

2)check_swap检查交换分区使用率
格式:check_swap -w N% -c N%
例子:check_swap -w 50% -c 20%
解释:交换分区剩余不足50%,警告
      交换分区剩余不足20%,危险

3)check_disk检查磁盘占有率
格式:check_disk -w N% -c N% -p path
例子:check_disk -w 20% -c 10% -p /
解释:根分区剩余空间为总大小的20%,警告
      根分区剩余空间为总大小的10%,危险

4)check_procs检查操作系统中的进程个数
格式:check_procs -w N -c N
例子:check_procs -w 150 -c 200
解释:总进程数达到150个,警告
      总进程数达到200个,危险

5)check_users检查系统登录用户的数量
格式:check_users -w <users> -c <users>
例子:check_users -w 5 -c 10
解释:登录用户超过5个,警告
      登录用户超过10个,危险

6)check_http主要监控页面响应时间\加载时间
格式:check_http -H host_address -u url -w seconds -c seconds
例子:check_http -H localhost -w 5 -c 10
解释:当页面加载时间延迟5秒,警告
      当页面加载时间延迟10秒,危险

7)check_ping检查主机存活
格式:check_ping -H host_address -w millisecond,N% -c millisecond,N%
例子:check_ping -H 192.168.181.1 -w 3000,80% -c 5000,100%
解释:主机延时3秒丢包80%,警告
      主机延时5秒丢包100%,危险

8)check_ssh检查主机的连接状态
格式:check_ssh -H host_address
例子:check_ssh -H 192.168.181.1
解释:正常则显示正常则SSH OK

9)check_nrpe发送监控指令,使远程主机执行插件程序
格式:check_nrpe -H host_address
例子:check_nrpe -H 192.168.181.30
解释:这是定义监控主机时,使用的监控命令

总结:-w设置warning值,-c设置critical值,由于插件的参数众多,功能强大,就不一一举例了。

三、监控插件的调用

1.使用自带的监控插件

1)查看自带的监控插件
命令:vim /etc/nagios/objects/commands.cfg
解释:监控命令配置文件下存放着Nagios自带的监控插件。
例子:
# 'check_local_disk' command definition
define command{
        command_name    check_local_disk
        command_line    $USER1$/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$
        }
解释:Nagios自带的插件能满足一般的监控需求。

2)调用监控命令
命令:vim /etc/nagios/objects/localhost.cfg
解释:前面已经说过,要想完成监控,得设定监控服务调用监控命令,因为这里使用的是自带的监控插件,
      所以我们在监控本机的配置文件上设定监控服务直接调用就可以了。
例子:
define service{
    use            local-service
    host_name        localhost
    service_description    test_check_disk
    check_command        check_local_disk!80!90!/
    }
解释:根分区剩余空间为总大小的80%,警告;根分区剩余空间为总大小的90%,危险。这里为测试用。
      use设置监控模板,local-service为本地监控模板;
      host_name设置主机名,localhost为本地主机名;
      service_description描述信息,对应web界面上的Service;
      check_command监控命令,对应监控命令配置文件下的command_name,阈值的设定用!分隔

总结:使用自带的监控插件只需要给其设定阈值即可。

2.使用自定义监控插件

1)定义监控对象,设置阈值
命令:vim /etc/nagios/objects/commands.cfg
解释:进入命令配置文件中编辑
例子:
define command{
    command_name    check_total_procs
    command_line    $USER1$/check_procs -w 50 -c 100
    }
解释:总进程数达到50个,警告;总进程数达到100个,危险。这里为测试用。
      command_name设置命名名称;
      command_line设定监控对象及阈值,变量$USER1$指定了安装nagios插件的路径

2)调用监控命令
命令:vim  /etc/nagios/objects/localhost.cfg
解释:这里使用的是自定义的插件
例子:
define service{
    use            local-service
    host_name        localhost
    service_description    test_check_procs
    check_command        check_total_procs
    }
解释:调用监控命令即可

总结:前面已经说过监控插件实质就是监控进程(可执行程序)文件中提供的命令,
      如果要自定义监控插件,则先要在命令配置文件中定义监控命令,
      监控命令中定义监控对象与阈值,而后设定监控服务直接调用命令即可。




[本日志由 admin 于 2018-06-22 02:03 PM 更新]
上一篇: Why I like "AMD"
下一篇: 使用Fabric进行远程LAMP(MariaDB)环境批量部署
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
相关日志:
评论: 0 | 引用: 0 | 查看次数: -
发表评论
昵 称:
密 码: 游客发言不需要密码.
邮 箱: 邮件地址支持Gravatar头像,邮箱地址不会公开.
网 址: 输入网址便于回访.
内 容:
验证码:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 开启 | [img]标签 关闭