nagios监控

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,即可看到如下图所示

nagios监控_第1张图片

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

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

}

nagios监控_第2张图片

然后我们要去修改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

nagios监控_第3张图片

客户机上重启nrpe服务

service nrpe restart

服务器上重启nagios服务

service nagios restart

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

nagios监控_第4张图片

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

}

nagios监控_第5张图片

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

vim /etc/nagios/nrpe.cfg

添加下面一行命令:

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

nagios监控_第6张图片

然后我们来编写脚本

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 [email protected]

}

define contact{

contact_name wr

use generic-contact

alias wangr

email [email protected]

}

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

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


同时收到邮件提醒


nagios监控_第7张图片

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

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

你可能感兴趣的:(nagios监控)