美文网首页
nagios监控

nagios监控

作者: 石乐志的LK | 来源:发表于2017-09-03 12:14 被阅读0次

    1. 安装epel扩展包,并升级ca证书ssl

    yum install -y epel-release

    yum --disablerepo=epel -y update ca-certificates

    如果你想知道为什么,那么一定要参考这个文章,当然不想了解的话就算了

    ------------->认识epel<-------------

    2. 安装Apache、nagios和nagios插件、nrpe工具

    yum install -y httpd nagios nagios-plugins nagios-plugins-all nrpe nagios-plugins-nrpe

    3. 设置nagios后台的用户名和密码

    htpasswd -c /etc/nagios/passwd nagiosadmin

    回车后输入密码,账户就是nagiosadmin,可以自定义

    4. 检查配置文件

    nagios -v /etc/nagios/nagios.cfg

    5. 重启httpd和nagios

    (重启目的,加载/etc/httpd/conf.d目录中生成的nagios.conf)

    service httpd restart

    service nagios start

    6. 查看本机监控

    用windows浏览器输入ip/nagios进入监控页面

    10.2.3.110/nagios

    点击左侧的services即可看到当前所监控的本机服务项

    7. 添加客户机监控

    7.1 安装epel扩展包,并升级ca证书ssl

    yum install -y epel-release

    yum --disablerepo=epel -y update ca-certificates

    7.2 安装 nagios 以及 nagios插件和nrpe工具

    yum install -y nagios-plugins nagios-plugins-all nrpe nagios-plugins-nrpe

    7.3 编辑客户端配置文件

    vim /etc/nagios/nrpe.cfg

    找到

    allowed_hosts=127.0.0.1,::1

    改为

    allowed_hosts=127.0.0.1,10.2.3.110

    后面的ip为服务器ip

    找到

    dont_blame_nrpe=0

    改为

    dont_blame_nrpe=1

    7.4 启动客户端的nrpe服务

    service nrpe start

    7.5. 编辑服务器端配置文件

    vim /etc/nagios/conf.d/10.2.3.111.cfg

    10.2.3.111.cfg可以用自己ip命名,添加如下内容

    define host{

    use linux-server

    host_name 10.2.3.111

    alias 0.12

    address 10.2.3.111

    }

    define service{

    use generic-service

    host_name 10.2.3.111

    service_description check_ping

    check_command check_ping!100.0,20%!200.0,50%

    max_check_attempts 5

    normal_check_interval 1

    }

    define service{

    use generic-service

    host_name 10.2.3.111

    service_description check_ssh

    check_command check_ssh

    max_check_attempts 5

    normal_check_interval 1

    notification_interval 60

    }

    define service{

    use generic-service

    host_name 10.2.3.111

    service_description check_http

    check_command check_http

    max_check_attempts 5

    normal_check_interval 1

    }

    这里定义了一台主机:10.2.3.111,和这台主机要监控的三个服务ping,ssh,httpd

    我们重启nagios

    service nagios restart

    我们再去查看监控页面,点击左侧的services,即可看到如下图所示

    但是我们想监控的不是这些服务,我们来更换下所监控的服务

    vim /etc/nagios/conf.d/10.2.3.111.cfg

    将以前的更换成如下内容

    define host{

    use linux-server

    host_name 10.2.3.111

    alias 3.111

    address 10.2.3.111

    }

    define service{

    use generic-service

    host_name 10.2.3.111

    service_description check_load

    check_command check_nrpe!check_load

    max_check_attempts 5

    check_interval 1

    }

    define service{

    use generic-service

    host_name 10.2.3.111

    service_description check_disk_sda1

    check_command check_nrpe!check_sda1

    max_check_attempts 5

    check_interval 1

    }

    define service{

    use generic-service

    host_name 10.2.3.111

    service_description check_disk_sda2

    check_command check_nrpe!check_sda2

    max_check_attempts 5

    check_interval 1

    }

    然后我们要去修改commands.cfg,这是检测脚本,因为我们执行的脚本是check_nrpe!***,但是我们默认脚本中没这个命令,所以我们要添加命令check_nrpe

    vim /etc/nagios/objects/commands.cfg

    在底下添加如下内容

    define command{

    command_name check_nrpe

    command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$

    }

    然后我们要去客户机修改nrpe.cfg配置文件

    vim  /etc/nagios/nrpe.cfg

    搜索check_load,这行就是在服务端上要执行的脚本了。把check_hda1更改一下:

    /dev/hda1改为/dev/sda1。

    再加一行

    command[check_sda2]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/sda2

    客户机上重启nrpe服务

    service nrpe restart

    服务器上重启nagios服务

    service nagios restart

    去监控页面刷新后即可看到我们所监控的服务

    7.6 监控自定义服务

    在服务器段增加要监控的服务

    vim /etc/nagios/conf.d/10.2.3.111.cfg

    define service{

    use generic-service

    host_name 10.2.3.111

    service_description check_lk

    check_command check_nrpe!check_lk

    max_check_attempts 5

    check_interval 1

    contact_groups common

    notifications_enabled 1

    notification_period 24x7

    notification_options w,u,c,r

    }

    然后我们在客户端要编写要执行的监控脚本,首先我们指定要执行脚本的位置

    vim /etc/nagios/nrpe.cfg

    添加下面一行命令:

    command[check_lk]=/usr/lib/nagios/plugins/check_lk.sh

    然后我们来编写脚本

    vim /usr/lib/nagios/plugins/check_lk.sh

    #!/bin/bash

    echo 100

    然后重启客户端的nrpe服务,回到客户端,点击左侧的services可以看到新加的服务

    8. 添加邮件监控

    第一步我们要安装sendmail,我们就是用这个来发送邮件的

    yum install -y sendmail

    service sendmail start

    chkconfig sendmail on

    然后定义邮件的接受者,在服务器端操作

    vim/etc/nagios/objects/contacts.cfg

    增加如下内容,但是要把邮箱换成自己的邮箱

    define contact{

    contact_name lk

    use generic-contact

    alias liuke

    email 1324598012@qq.com

    }

    define contact{

    contact_name wr

    use generic-contact

    alias wangr

    email 15639151996@163.com

    }

    define contactgroup{

    contactgroup_name common

    alias common

    members lk,wr

    }

    我们在监控的服务或者主机中加上告警相关配置,其实告警有很多配置项,也可以加在不同的地方,我们可以去看下一个官方提供的模板文件,看看人家对各种参数的解释与语法

    less /etc/nagios/objects/templates.cfg

    一定要去看一下,为了理解下面的内容

    下面我们自己来加告警配置到一个服务中去,我选择加到我之前配置的监控项lk

    define service{

    use generic-service

    host_name 10.2.3.111

    service_description check_lk

    check_command check_nrpe!check_lk

    max_check_attempts 5

    check_interval 1

    contact_groups common

    notifications_enabled 1

    notification_period 24x7

    notification_options w,u,c,r

    }

    这时我这个服务就被设置了邮件告警,我们来手动的将监控配置设为错误,来看下是否会发送错误信息

    在客户机上修改监控脚本:

    vim /usr/lib/nagios/plugins/check_lk.sh

    在最后加上exit 2

    我们重启客户端的nrpe

    service nrpe restart

    去网页监控查看发现已经发现错误

    同时收到邮件提醒

    如果qq邮箱不能收到邮件,请看

    解决qq邮箱不能收到sendmail邮件

    相关文章

      网友评论

          本文标题:nagios监控

          本文链接:https://www.haomeiwen.com/subject/hhwrjxtx.html