Nagios简介
Nagios是一款用来监视系统和网络的开源应用软件。利用其众多的插件实现对本机和远端服务的监控,当被监控对象发生异常时,会及时向管理员告警,提供一批预设好的监控插件,用户可以直接调用,也可以自定义Shell脚本来监控服务,适合各类企业的业务监控,可通过Web页面显示对象状态、日志、告警信息
Nagios与Cacti的区别
Cacti:在监控方面绘图比较不错,在流量与图形展现方面存在优势
Nagios:侧重于监控应用状态、故障分析,报警机制(邮箱、短信等)相对来说比Cacti灵活
搭建nagios监控服务器(192.168.4.11)
安装前环境准备:设置SELinux为permissive ---> setenforce 0
关闭防火墙 ---> systemctl stop/disable firewall
1 部署nagios服务的运行环境
1)安装网站平台环境、编译工具
[root@nagios ~]# yum -y install httpd php
[root@nagios ~]# rpm -q httpd php
2)启用httpd服务
[root@nagios ~]# systemctl restart httpd //启用Web
3)访问nagios网页界面
echo "" >/var/www/html/test.php
客户端254:
# yum -y install elinks
# elinks --dump http://localhost/test.php
firefox http://192.168.4.11/test.php //firefox http://服务器地址/test.php
2 安装提供nagios监控服务的软件
2.1 准备装包环境
1)安装编译工具
[root@nagios ~]# yum -y install gcc gd glibc glibc-common
2)创建运行账号
[root@nagios ~]# groupadd nagcmd
[root@nagios ~]# useradd -G nagcmd nagios
[root@nagios ~]# gpasswd -a apache nagcmd
2.2 安装软件包
[root@nagios nagios]# tar -xf nagios-4.2.4.tar.gz //解包
[root@nagios nagios]# cd nagios-4.2.4/ //进源码目录
[root@nagios nagios-4.2.4]# ./configure --with-nagios-user=nagios --with-nagios-group=nagcmd --with-command-group=nagcmd
// 配置 ./configure --help查询可选项
[root@nagios nagios-4.2.4]# make all //编译
[root@nagios nagios-4.2.4]# make install //安装程序
[root@nagios nagios-4.2.4]# make install-init //启动脚本
[root@nagios nagios-4.2.4]# make install-config //安装配置文件
[root@nagios nagios-4.2.4]# make install-commandmode //修改文件权限
[root@nagios nagios-4.2.4]# make install-webconf //部署网站配置,web访问接口
[root@nagios nagios-4.2.4]# make install-exfoliation //web页面样式
[root@nagios nagios-4.2.4]# chkconfig --add nagios //加载服务配置
2.3查看安装文件
# ls /usr/local/nagios/下的
bin 可执行命令
libexec 监控插件及工具
share Nagios网页目录
var 日志文件
sbin CGI脚本文件
etc 配置文件
var Nagios运行数据
nagios配置文件解析说明:
[root@nagios ~]# cd /usr/local/nagios/etc //默认安装目录
程序命令:/usr/local/nagios/bin
监控插件及工具:/usr/local/nagios/libexec
cgi脚本:/usr/local/nagios/sbin
Nagios网页目录:/usr/local/nagios/share
Nagios运行数据日志:/usr/local/nagios/var
配置文件:/usr/local/nagios/etc/
nagios.cfg: nagios服务的主配置文件
resource.cfg:宏定义文件,定义nagios服务变量的配置文件
cgi.cfg:cgi程序的配置文件
[root@nagios ~]# vim /usr/local/nagios/etc/nagios.cfg
——通过cfg_file=加载配置
29 cfg_file=/usr/local/nagios/etc/objects/commands.cfg 定义监控命令
30 cfg_file=/usr/local/nagios/etc/objects/contacts.cfg 定义接收报警信息邮箱地址,使用工作邮箱,postfix邮件服务器,查看邮箱:grep mail contacts.cfg
31 cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg定义监控时间模版配置文件 ,一般不做更改
32 cfg_file=/usr/local/nagios/etc/objects/templates.cfg定义监控模版配置文件
35 cfg_file=/usr/local/nagios/etc/objects/localhost.cfg 监控本机配置文件
监控对象及模板配置:/usr/local/nagios/etc/objects/
[root@nagios ~]# cd /usr/local/nagios/etc/objects/
commands.cfg 定义监控命令配置
contacts.cfg 定义接收报警信息邮箱地址,使用工作邮箱,postfix邮件服务器
timeperiods.cfg定义监控时间模版配置文件 ,一般不做更改
templates.cfg定义监控方式模版配置文件 ,grep linux templates.cfg
localhost.cfg 监控本机配置文件
switch.cfg:监控交换机配置文件
printer.cfg:监控打印机配置文件
windows.cfg:监控windows操作系统主机配置文件
commands.cfg语法格式:
define command{
command_name 命令名称,如check_local_procs
command_line 插件,$USER1$/check_procs -w $ARG1$ -c $ARG2$ -s $ARG3$ //变量在resource.cfg里定义
}
2.4 安装监控插件nagios-plugins
[root@nagios nagios]# tar -xf nagios-plugins-2.1.4.tar.gz //解压
[root@nagios nagios]# cd nagios-plugins-2.1.4/ //进源码目录
[root@nagios nagios-plugins-2.1.4]# ./configure --with-nagios-user=nagios --with-nagios-group=nagcmd //配置
[root@nagios nagios-plugins-2.1.4]# make //编译
[root@nagios nagios-plugins-2.1.4]# make install //安装
# ls /usr/local/nagios/libexec/check_* //查看安装的插件
2.5 检查配置语法:
/usr/local/nagios/bin/nagios -v /usr/local /nagios/etc/objects/commands.cfg
2.6 启动nagios监控服务
1)为Nagios平台添加Web管理用户(即访问监控页面,查看监控信息时,需要使用的用户名及密码)
# vim /etc/httpd/conf.d/nagios.conf
[root@nagios ~]# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin //创建Web管理用户nagiosadmin,-c创建用户; 输入两次密码
# cat /usr/local/nagios/etc/htpasswd.users
# grep "nagiosadmin" /usr/local/nagios/etc/cgi.cfg
2)启用nagios服务
[root@nagios ~]# systemctl restart nagios //启用nagios
或用命令/etc/rc.d/init.d/nagios start启动服务
[root@nagios ~]# echo "/etc/rc.d/init.d/nagios start" >> /etc/rc.local //设置开机自启
5 在客户端访问监控服务器查看监控信息(登录监控页面查看监控信息)
[root@nagios ~]# systemctl restart httpd //启用Web
firefox http://192.168.2.11/nagios //firefox http://服务器地址/nagios
账号:nagiosadmin
密码:123456
**默认监控本机**
nagios服务监控过程:
Nagios服务启动时,自动调用监控插件——即加载主配置文件nagios.cfg(定义监控哪些主机),在调用监控插件可以设置监控的阀值,可以定义警告值 和错误值
nagios服务监控资源时,显示的监控状态:
OK 正常,监控到的数据<警告值
WARNING 警告,警告值<监控到的数据<错误值
UNKOWN 不知道,找不到调用的监控插件时
CRITICAL 错误,错误值<监控到的数据
PENDING 监控中,正在获取数据
默认监控的资源有哪些?
CPU负载
登录系统用户数量
网站服务状态
Ping
根分区使用量
交换分区使用量
系统总进程数量
监控插件的使用——/usr/local/nagios/libexec/
查看插件的帮助信息:cd /usr/local/nagios/libexec ------》./插件名 --help
CPU负载 :check_load -w 1分钟,5分钟,分钟的负载 -c 1分钟,5分钟,15分钟的负载
./check_load -w 1,2,3 -c 2,4,6 //与uptime同
登录系统用户数量 :check_users -w 警告值 -c 错误值
./check_users -w 5 -c 10 //与uptime同,监控登录系统的用户数大于5时就警告,大于10时就报错
检测主机连通性:使用check_ping监控到目标的连接质量
-w 响应时间(毫秒),丢包率% //设警告阈值
-c 响应时间(毫秒),丢包率% //设严重太阈值
check_ping -H ip地址 -w 响应时间(毫秒),丢包率% -c 响应时间(毫秒),丢包率% -p 包的个数
./check_ping -H 192.168.4.254 -w 10,50% -c 20,75% -p 5
检测硬盘使用率 :使用check_disk监控硬盘使用率
check_disk -w 警告值 -c 错误值 -p 分区
-w 剩余空间% //设警告阈值,取百分号%表示
-c 剩余空间% //设严重太阈值,取百分号%表示
-p 指定挂载点或对应的设备
./check_disk -w 50% -c 25% -p /boot //与df -hT同
dd if=/dev/zero of=/boot/test.txt bs=1M count=200 //快速生成一个大文件,写200M
./check_disk -w 50% -c 25% -p /boot
./check_disk -w 50% -c 25% -p /dev/vda1 //监控/dev/vda1的使用率小于50%就警告,小于25%就报错
交换分区使用量 :check_swap -w 警告值 -c 错误值
./check_swap -w 50% -c 20% //与free -m同
系统总进程数量 :check_procs监控进程数量
check_procs -w 警告值 -c 错误值 [-s 进程状态]
./check_procs -w 100 -c 101 //与ps -aux |wc -l同
./check_procs -w 10 -c 15 -s [R/S/Z/D/T]//监控进程数量大于10就警告,大于15就报错,R运行中S睡眠中Z僵尸进程
监控sshd服务(默认连接目标主机的22端口):
check_ssh -H localhost/目标IP地址 [-p 端口]
./check_ssh -H 192.168.4.12 -p 2022 //监视192.168.4.12的2022端口
检测应用端口
网站服务状态 :check_http监视网站服务(默认连接目标主机的80端口)
check_http -H ip地址 [-p 端口号]
./check_http -H localhost //在网页根目录下有index.html文件
./check_http -H 192.168.4.254 -p 8080 //监控默认网页及指定端口,否则错误
连接目标主机的TCP端口:
check_tcp -H 主机ip -p 端口号
./check_tcp -H 127.0.0.1 -p 21
连接目标主机的UDP端口:
check_udp -H 主机ip -p 端口号 -s 发送的内容 -e 捕获的内容
./check_udp -H 192.168.4.11 -p 25 -s aaa -e aaa
... ...
案例:
使用插件 check_http 检测本机的Web端口
1)关闭本机的httpd服务,执行check_http检查
[root@nagios ~]# /usr/local/nagios/libexec/check_http -H localhost -p 80connect to address localhost and port 80: 拒绝连接
HTTP CRITICAL - Unable to open TCP socket
2)启动本机的httpd服务,并建立默认首页index.html
[root@nagios ~]# vim /var/www/html/index.html
Default site.
[root@nagios ~]# systemctl restart httpd
3)再次执行check_http检查
[root@nagios ~]# /usr/local/nagios/libexec/check_http -H localhost -p 80
HTTP OK: HTTP/1.1 200 OK - 302 bytes in 0.006 second response time |time=0.006236s;;;0.000000 size=302B;;;0
使用插件check_tcp检测本机的FTP服务端口
1)未启动FTP服务时,执行check_ftp检查
[root@nagios ~]# /usr/local/nagios/libexec/check_ftp -H localhost -p 21
connect to address localhost and port 21: 拒绝连接
2)安装及启动vsftpd服务以后,再次执行check_ftp检查
[root@nagios ~]# yum -y install vsftpd
[root@nagios ~]# systemctl restart vsftpd
[root@nagios ~]# /usr/local/nagios/libexec/check_ftp -H localhost -p 21
FTP OK - 0.002 second response time on localhost port 21 [220 (vsFTPd 3.0.2)]|time=0.002164s;;;0.000000;10.000000
使用插件check_disk检测本机/boot分区使用率
1)查看/boot目录所在分区的使用率
[root@nagios ~]# df -hT /boot
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/vda1 xfs 497M 140M 358M 29% /boot
2)使用check_disk检查
可用空间低于80%报 WARNING,可用空间低于60%报 CRITICAL
[root@nagios ~]# /usr/local/nagios/libexec/check_disk -w 80% -c 60% -p /boot
DISK WARNING - free space: /boot 357 MB (71% inode=99%);| /boot=139MB;99;198;0;496
3)查看实际使用率情况,调低阈值再次check_disk测试
[root@nagios ~]# /usr/local/nagios/libexec/check_disk -w 60% -c 40% -p /boot
DISK OK - free space: /boot 357 MB (71% inode=99%);| /boot=139MB;297;198;0;496
/usr/local/nagios/libexec/check_procs -w 100 -c 110 -s Z
check_local_procs $USER1$/check_procs -w $ARG1$ -c $ARG2$ -s ARG3$
check_local_procs!90!100!R //!,表示给变量传值
check_local_disk!20%!15%!/boot
定义各协议端口号的配置文件 /etc/services
/var/spool/mail/nagios 存储邮件的位置,nagios为用户名
6 配置监控服务
监控思路:
配置过程——Nagios监控配置的实现过程
# vim commands.cfg
define command{
command_name 自定义命令名
command_line 对应的具体操作(可调插件)
}
例子:定义监控命令监控本机/boot使用率、ftp端口状态、以及系统进程状态
监控本机引导分区的使用情况 剩余空间小于50%报警 小于25%报错;监控本机ftp服务的运行状态,监控本机登录的用户数量大于1个时 报警 大于 2个时 报错 ,不监控本机交换分区的使用情况。
vim commands.cfg
####################myselft define#############################################
define command{
command_name check_disk_boot
command_line $USER1$/check_disk -w 50% -c 25% -p /boot
}
define command{
command_name check_local_ftp
command_line $USER1$/check_tcp -H localhost -p 21
}
define command{
command_name check_local_users
command_line $USER1$/check_users -w $ARG1$ -c $ARG2$
}
define command{
command_name check_local_proc
command_line $USER1$/check_procs -w $ARG1$ -c $ARG2$ -s $ARG3$
}
define command{
command_name check_http
command_line $USER1$/check_http -I $HOSTADDRESS$ $ARG1$
}
localhost.cfg 配置的语法格式
define host { # 配置被监控的主机
use 使用的主机监控模板名, //如linux-server 模版
host_name 目标主机名 , //如localhost
alias 别名
address 被监控主机的ip地址 //如127.0.0.1
}
define service{ #配置被监控的服务
use 使用的服务监控模板名, //local-service 模版
host_name 目标主机名 //如localhost
service_description 服务描述信息
check_command 使用的监控命令
cfg_file=加载配置
4) 检查配置
alias checknagios=’/usr/local/nagios/bin/nagios -v /usr/local /nagios/etc/objects/commands.cfg’ //-v,验证
5) 重启监控服务
6) 访问监控监控页面查看
6.1 监控本机---->修改监控本机的配置文件localhost.cfg
添加新的监控资源:监控本机引导分区、监控本机ftp服务
vim localhost.cfg
define host {
use linux-server
host_name localhost
alias localhost
address 127.0.0.1
}
define service{
use local-service
host_name localhost
service_description ftp
check_command check_local_ftp
}
define service{
use local-service
host_name localhost
service_description boot
check_command check_local_boot
}
define service{
use local-service
host_name localhost
service_description run-process
check_command check_local_process!50!51!R
}
define service{
use local-service
host_name localhost
service_description ssh
check_command check_local_ssh!1!2
}
#删除已经监控的资源:不监控本机的交换分区
#define service{
# use local-service
# host_name localhost
# service_description Swap Usage
# check_command check_local_swap!20!10
# }
#修改已有监控资源监控阀值:登录系统用户数量 >1时警告, >2时错误
define service{
use local-service
host_name localhost
service_description Current Users
check_command check_local_users!1!2
}
:wq
检查配置语法
#/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/objects/localhost.cfg
#/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
重启nagios服务并客户端测试
# /etc/init.d/nagios stop
# /etc/init.d/nagios start
Or
# /etc/init.d/nagios restart
firefox http://IP地址/nagios
###############################################################################
6.2 监控远端主机
6.2.1 监控远端主机公有资源(服务)
示例:在Nagios平台上添加对远程主机server10的监控,主要包括下列服务:
ping连通状态、Web服务、FTP服务、SSH服务
要求:监控主机10上数据库服务和网站服务的运行状态,监控主机状态
实验前准备:准备被监控主机server10
1)正确配置IP地址,确保与主机server10可相互ping通
[root@nagios~]# ping 192.168.4.10
2)确保已启用httpd、vsftpd、sshd服务,并关闭防火墙服务firewalld
[root@nagios~]# yum -y install httpd vsftpd
[root@nagios~]# systemctl restart httpd vsftpd sshd
[root@nagios~]# systemctl disable firewalld --now
vim commands.cfg
define command{
command_name check_10_tcp
command_line $USER1$/check_tcp -H 192.168.4.10 -p 21
}
define command{
command_name check_local_10_http
command_line $USER1$/check_http -H 192.168.4.10
}
步骤二:配置监控服务器server10
1)新建监控配置server10.cfg,定义监控目标(主机、服务)
[root@nagios ~]# vim /usr/local/nagios/etc/objects/server10.cfg
define host {
use linux-server
host_name server10
address 192.168.4.10
}
define service {
use local-service
host_name server10
service_description PING
check_command check_ping!100.0,20%!500.0,60%
}
define service {
use local-service
host_name server10
service_description Web Server
check_command check_http
}
define service {
use local-service
host_name server10
service_description FTP Server
check_command check_ftp
}
define service {
use local-service
host_name server10
service_description SSH Server
check_command check_ssh
}
[root@nagios ~]# vim /usr/local/nagios/etc/nagios.cfg
.. ..
cfg_file=/usr/local/nagios/etc/objects/server10.cfg //添加行
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/objects/commands.cfg
[root@nagios ~]# systemctl restart nagios
刷新Nagios管理界面,确认新增主机pc207的监控结果
1)确认Hosts下新增的主机。
2)确认Services下新增的服务信息。
6.2.2 监控远端主机的私钥资源
示例:在Nagios服务器上添加对远程主机pc207上私有数据的监控,完成以下监控项目:
运行的进程数、登录的用户数、CPU负载、根分区使用量
方案:Linux主机的内存信息、磁盘I/O信息等私有数据默认不对外提供,若希望从Nagios监控平台获取远程主机的私有数据,需要在被监控主机上配置启用nrpe服务。
主要工作结构:Nagios监控端(Nagios+check_nrpe插件) ==> 被监控端(nrpe服务+check_disk、check_load),如图所示。
配置客户端(被监控主机)
1)安装监控插件nagios-plugins
[root@nagios~]# yum -y install gcc glibc glibc-common
[root@nagios~]# groupadd nagcmd
[root@nagios~]# useradd -G nagcmd nagios
[root@nagios~]# tar xf ~/nagios-plugins-2.1.4.tar.gz -C /usr/src/ //解压
[root@nagios~]# cd /usr/src/nagios-plugins-2.1.4/ //进源码目录
[[email protected]]# ./configure --with-nagios-user=nagios --with-nagios-group=nagcmd //配置
[[email protected]]# make //编译
[[email protected]]# make install //安装
# ls /usr/local/nagios/libexec/check_* //查看安装的插件
2)安装nrpe服务
[root@nagios~]# yum -y install openssl-devel gcc gcc-c++ //安装SSL头文件,数据加密传输
[root@nagios~]# tar xf nrpe-3.1.0.tar.gz -C /usr/src/ //解压
[root@nagios~]# cd /usr/src/nrpe-3.1.0/ //进源码目录
[[email protected]]# ./configure //配置
[[email protected]]# make all //编译所有
[[email protected]]# make install //安装nrpe及插件
[[email protected]]# make install-init //安装服务
[[email protected]]# make install-config //安装配置文件
[[email protected]]# make install-daemon //安装守护进程
在docs文件夹下有指导安装文件,可查看
#ls /usr/local/nagios/bin/nrpe
#ls /usr/local/nagios/etc/nrpe.cfg
#ls /usr/local/nagios/libexec/check_nrpe
#ls /usr/lib/systemd/system/nrpe.service
修改配置文件nrpe.cfg,添加监控主机以及定义监控命令
vim /usr/local/nagios/etc/nrpe.cfg
格式:allowed_hosts=127.0.0.1,监控服务器的ip地址
command[命令名]=使用的插件
98 allowed_hosts=127.0.0.1, 192.168.4.11
287 command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
288 command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25 ,20
289 command[check_hda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /d ev/hda1
290 command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z
291 command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 2 00
添加以下几句
command[nrpe_check_users]=/usr/local/nagios/libexec/check_users -w 1 -c 2
command[nrpe_check_boot]=/usr/local/nagios/libexec/check_disk -w 30% -c 15% -p /boot
command[nrpe_check_sum_proc]=/usr/local/nagios/libexec/check_disk -w 100 -c 101
command[nrpe_check_running_procs]=/usr/local/nagios/libexec/check_procs -w 50 -c 51 -s R
:wq
启动服务
#netstat -utnalp | grep :5666
#systemctl start nrpe ; systemctl enable nrpe
#netstat -utnalp | grep :5666
测试配置
连接本机的nrpe服务测试配置:
/usr/local/nagios/libexec/check_nrpe -H localhost -p 5666 -c nrpe服务自定义命令名
#/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -p 5666 -c nrpe_check_boot
#/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -p 5666 -c nrpe_check_users
# /usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -p 5666 -c check_nrpe_check_running_procs
配置服务端(192.168.4.11)
1) 提供连接nrpe服务的插件
/usr/local/nagios/libexec/check_nrpe -H 被监控主机ip地址 -p 5666 -c 命令名
a 安装提供check_nrpe插件的软件包
#rpm -q gcc gcc-c++ make openssl openssl-devel
#yum -y install gcc gcc-c++ make openssl openssl-devel //安装网站平台环境以及编译工具
[root@nagios~]# groupadd nagcmd
[root@nagios~]# useradd -G nagcmd nagios
[root@nagios~]# tar xf ~/nagios-plugins-2.1.4.tar.gz -C /usr/src/ //解压
[root@nagios~]# cd /usr/src/nagios-plugins-2.1.4/ //进源码目录
[[email protected]]# ./configure --with-nagios-user=nagios --with-nagios-group=nagcmd ; make && make install
[root@nagios~]# tar xf nrpe-3.1.0.tar.gz -C /usr/src/ //解压
[root@nagios~]# cd /usr/src/nrpe-3.1.0/ //进源码目录
[[email protected]]# ./configure ;make; make all;make install;make install-init; make install-config
[[email protected]]# make install-plugin //安装服务
# ls /usr/local/nagios/libexec/check_nrpe
b 使用插件check_nrpe连接被监控主机
#/usr/local/nagios/libexec/check_nrpe -H 192.168.4.11 -p 5666 -c check_zombie_procs
# /usr/local/nagios/libexec/check_nrpe -H 192.168.4.12 -p 5666 -c nrpe_check_users
定义监控命令
vim commands.cfg
define command {
command_name check_12_users
command_line $USER1$/check_nrpe -H 192.168.4.12 -p 5666 -c nrpe_check_users
}
define command {
command_name check_12_procs
command_line $USER1$/check_nrpe -H 192.168.4.12 -p 5666 -c nrpe_check_rprocs
}
define command {
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ }
:wq
在监控主机的配置文件里调用定义的监控命令
vim server10.cfg
define service{
use local-service
host_name server10
service_description boot
check_command check_12_boot
}
define service{
use local-service
host_name server10
service_description running-procs
check_command check_12_procs
}
define service{
use local-service
host_name server10
service_description users
check_command check_12_users
}
define service{
use local-service
host_name server10
service_description NRPE-Users
check_command check_nrpe!check_users
}
define service{
use local-service
host_name server10
service_description NRPE-Users
check_command check_nrpe!check_users
}
检查配置
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
重启服务
#/etc/init.d/nagios stop
#/etc/init.d/nagios start
登录监控页面查看监控信息
/etc/init.d/nagios restart------>254:firefox http://192.168.4.88/nagios
3)定义nrpe监控命令
[root@nagios~]# vim /usr/local/nagios/etc/nrpe.cfg
.. ..
allowed_hosts=172.25.0.0/24,127.0.0.1,::1 //允许哪些主机
command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
command[check_rootdir]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /
command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200 -s Z
command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200
4)启用nrpe服务并测试
[root@nagios~]# systemctl restart nrpe
[root@nagios~]# systemctl enable nrpe
.. ..
[root@nagios~]# /usr/local/nagios/libexec/check_nrpe -H localhost
NRPE v3.1.0-rc1 //测试连本机nrpe服务
步骤二:配置Nagios监控服务器
1)为Nagios安装check_nrpe插件
[root@nagios ~]# yum -y install openssl-devel
[root@nagios ~]# tar xf nrpe-3.1.0.tar.gz -C /usr/src/
[root@nagios ~]# cd /usr/src/nrpe-3.1.0/
[root@nagios nrpe-3.1.0]# ./configure
[root@nagios nrpe-3.1.0]# make all //编译所有
[root@nagios nrpe-3.1.0]# make install-plugin //安装check_nrpe插件
2)测试连远程的nrpe服务,并添加远程nrpe监控指令
[root@nagios ~]# /usr/local/nagios/libexec/check_nrpe -H 192.168.4.10
NRPE v3.1.0-rc1 //测试连远程 的nrpe服务
[root@nagios ~]# vim /usr/local/nagios/etc/objects/commands.cfg
.. ..
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
//-c 要求对方执行的命令
}
3)修改监控目标配置pc207.cfg,添加对远程主机pc207私有数据的获取
[root@nagios ~]# vim /usr/local/nagios/etc/objects/pc207.cfg
.. ..
define service {
use local-service
host_name pc207
service_description NRPE-Total Procs
check_command check_nrpe!check_total_procs
}
define service {
use local-service
host_name pc207
service_description NRPE-Users
check_command check_nrpe!check_users
}
步骤三:刷新Nagios管理界面,确认主机pc207的私有数据监控结果
确认pc207主机及服务监控结果。
7 配置监控报警
/usr/local/nagios/etc/
[root@nagios etc]# vim resource.cfg
[root@nagios etc]# sed -n "34p" objects/contacts.cfg
email nagios@localhost ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******
nagios@localhost改为工作邮件,要通ping通邮件ip,要配置postfix
# rpm -q postfix
# systemctl status postfix
# grep nagios /etc/passwd
nagios:x:1001:1002::/home/nagios:/bin/bash
# mail -s “xxx” nagios < /etc/hosts
# su -nagios //或使用mail -u nagios 查看本地用户的邮件