Nagios 可视化界面配置-PNP4Nagios
Posted wzlinux
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nagios 可视化界面配置-PNP4Nagios相关的知识,希望对你有一定的参考价值。
一、简介
Nagios 监控的原理我这里不再做过多介绍,我们使用最快速的方法安装 Nagios 监控以及配置可视化界面。
为了演示方便,我这里就准备一台阿里云的机器,系统安装的 CentOS 7.9。
二、安装
安装方法超级简单,我们不按照官方所说,因为 yum 仓库里面已经都把软件包给我们做好了,依赖也是可以解决的,可以说是最快速的方法安装。我们直接使用一条命令即可。
yum install pnp4nagios -y
启动服务
一条命令监控服务 nagios 就安装好了,非常简单,下面我们启动服务查看一下。
systemctl start httpd
systemctl start nagios
然后访问http://YOUR_SERVER_IP/nagios
,默认的账号密码都是 nagiosadmin,如果要修改密码,修改文件/etc/nagios/passwd
。
可以看到监控到本机了,监控数据还在收集中,主机和服务的数据都是状态数据,默认监控数据写入到 /var/log/nagios/nagios.log 文件中。
目前主要是状态数据,并不能进行作图显示,下面我们为其配置可视化界面。
三、配置 PNP
Bulk Mode with NPCD
我们查看一下 pnp4nagios 的配置文件,里面有两个我们会用到的,一个是 nagios.cfg,一个是 misccommands.cfg。
[root@wangzan-test ~]# ll /etc/pnp4nagios/
total 84
-rw-r--r-- 1 root root 29383 Jun 8 2015 background.pdf
drwxr-xr-x 2 root root 4096 Jun 29 22:41 check_commands
drwxr-xr-x 2 root root 4096 Jun 8 2015 config.d
-rw-r--r-- 1 root root 9595 Jun 8 2015 config.php
-rw-r--r-- 1 root root 1290 Jun 8 2015 misccommands.cfg
-rw-r--r-- 1 root root 1655 Jun 8 2015 nagios.cfg
-rw-r--r-- 1 root root 4134 Jun 8 2015 npcd.cfg
drwxr-xr-x 2 root root 4096 Jun 29 22:41 pages
-rw-r--r-- 1 root root 1112 Jun 8 2015 pnp4nagios_release
-rw-r----- 1 root nagios 2463 Jun 8 2015 process_perfdata.cfg
-rw-r--r-- 1 root root 651 Jun 8 2015 rra.cfg
查看一下 nagios.cfg,里面有三种模式可选,我们选择 Bulk Mode with NPCD 这种模式,这种模式性能相对来说比较好,其他模式详细介绍请查看文档:
https://docs.pnp4nagios.org/pnp-0.6/config#bulk_mode_with_npcd
#
# Bulk / NPCD mode
#
process_performance_data=1
# *** the template definition differs from the one in the original nagios.cfg
#
service_perfdata_file=/var/log/pnp4nagios/service-perfdata
service_perfdata_file_template=DATATYPE::SERVICEPERFDATA\\tTIMET::$TIMET$\\tHOSTNAME::$HOSTNAME$\\tSERVICEDESC::$SERVICEDESC$\\tSERVICEPERFDATA::$SERVICEPERFDATA$\\tSERVICECHECKCOMMAND::$SERVICECHECKCOMMAND$\\tHOSTSTATE::$HOSTSTATE$\\tHOSTSTATETYPE::$HOSTSTATETYPE$\\tSERVICESTATE::$SERVICESTATE$\\tSERVICESTATETYPE::$SERVICESTATETYPE$
service_perfdata_file_mode=a
service_perfdata_file_processing_interval=15
service_perfdata_file_processing_command=process-service-perfdata-file
# *** the template definition differs from the one in the original nagios.cfg
#
host_perfdata_file=/var/log/pnp4nagios/host-perfdata
host_perfdata_file_template=DATATYPE::HOSTPERFDATA\\tTIMET::$TIMET$\\tHOSTNAME::$HOSTNAME$\\tHOSTPERFDATA::$HOSTPERFDATA$\\tHOSTCHECKCOMMAND::$HOSTCHECKCOMMAND$\\tHOSTSTATE::$HOSTSTATE$\\tHOSTSTATETYPE::$HOSTSTATETYPE$
host_perfdata_file_mode=a
host_perfdata_file_processing_interval=15
host_perfdata_file_processing_command=process-host-perfdata-file
我们把上面的配置文件写入到 nagios 的配置文件 nagios.cfg 里面,process_performance_data
这一项默认是没有开启的,我们开启就行,下面的几项直接添加就行,默认是注释掉的。
这部分参数的意思是,Nagios 要处理这些性能指标数据,把数据写入到文件,通过上图,类似于其中的 Spool File。
我们查看一下 misccommands.cfg 这个配置文件,同样找到 Bulk with NPCD mode 这个模式的配置方法。
#
# Bulk with NPCD mode
#
#define command {
# command_name process-service-perfdata-file
# command_line /bin/mv /var/log/pnp4nagios/service-perfdata /var/spool/pnp4nagios/service-perfdata.$TIMET$
#}
#define command {
# command_name process-host-perfdata-file
# command_line /bin/mv /var/log/pnp4nagios/host-perfdata /var/spool/pnp4nagios/host-perfdata.$TIMET$
#}
我们把这部分内容添加到文件 /etc/nagios/objects/commands.cfg 末尾中,并取消其注释。
添加完成之后,我们启动 NPCD 服务,这样服务就可以去这个 Spool Directory 里面去处理数据。
systemctl restart nagios
systemctl restart npcd
验证 PNP4Nagios
如果生成下面数据,证明运行正常。
[root@wangzan-test pnp4nagios]# ll /var/lib/pnp4nagios/localhost/
total 1900
-rw-rw-r-- 1 nagios nagios 768224 Jun 29 23:06 PING.rrd
-rw-rw-r-- 1 nagios nagios 2589 Jun 29 23:06 PING.xml
-rw-rw-r-- 1 nagios nagios 384952 Jun 29 23:06 Root_Partition.rrd
-rw-rw-r-- 1 nagios nagios 1973 Jun 29 23:06 Root_Partition.xml
-rw-rw-r-- 1 nagios nagios 384952 Jun 29 23:07 SSH.rrd
-rw-rw-r-- 1 nagios nagios 1887 Jun 29 23:07 SSH.xml
-rw-rw-r-- 1 nagios nagios 384952 Jun 29 23:06 Swap_Usage.rrd
-rw-rw-r-- 1 nagios nagios 1915 Jun 29 23:06 Swap_Usage.xml
那我们查看一下 PNP4Nagios 的 web 界面展示。
浏览器访问 IP/pnp4nagios,效果和 CACTI 这个监控软件的效果差不多。
现在刚刚收集数据,指标还不是很多,图像还没有完全生成出来。
和 Nagios web 集成
目前我们是通过单独的一个 URL 访问的展示页面,那如果通过点击 Nagios 一个个指标查看其状态值呢?
我们首先在 /etc/nagios/objects/templates.cfg 定义一下使用 pnp 的 host 和 service。把下面两个定义添加到 templates.cfg 的最后端。
define host {
name host-pnp
action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=_HOST_
register 0
}
define service {
name service-pnp
action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$
register 0
}
为了让其他的 template 也可以使用刚刚定义的 host 和 serivce,我们使用 use 这个参数,来修改存在的两个 template,每个定义添加一条 use 即可,类似如下:
define host{ name generic-host ; The name of this host template use host-pnpdefine service{ name generic-service ; The \'name\' of this service template use service-pnp
修改完成之后,重启 nagios 服务,然后我们再查看页面,就可以看到前面都多了一个趋势图的小图标。
点击相应的服务。
支持 Nagios 监控的可视图我们已经配置好了,关于其他监控配置,请查看官方文档。
参考文档:https://support.nagios.com/kb/article/nagios-core-performance-graphs-using-pnp4nagios-801.html
欢迎大家扫码关注,获取更多信息
以上是关于Nagios 可视化界面配置-PNP4Nagios的主要内容,如果未能解决你的问题,请参考以下文章
开源监控解决方案Nagios+Cacti+PNP4Nagios+NConf+NDOUtils+Nagvisnconf安装