Nagios 可视化界面配置-PNP4Nagios

欠伸展肢体,吟咏心自愉。这篇文章主要讲述Nagios 可视化界面配置-PNP4Nagios相关的知识,希望能为你提供帮助。
一、简介Nagios 监控的原理我这里不再做过多介绍,我们使用最快速的方法安装 Nagios 监控以及配置可视化界面。
为了演示方便,我这里就准备一台阿里云的机器,系统安装的 CentOS 7.9。

Nagios 可视化界面配置-PNP4Nagios

文章图片

二、安装安装方法超级简单,我们不按照官方所说,因为 yum 仓库里面已经都把软件包给我们做好了,依赖也是可以解决的,可以说是最快速的方法安装。我们直接使用一条命令即可。
yum install pnp4nagios -y

启动服务一条命令监控服务 nagios 就安装好了,非常简单,下面我们启动服务查看一下。
systemctl start httpd systemctl start nagios

然后访问http://YOUR_SERVER_IP/nagios,默认的账号密码都是 nagiosadmin,如果要修改密码,修改文件/etc/nagios/passwd
Nagios 可视化界面配置-PNP4Nagios

文章图片

可以看到监控到本机了,监控数据还在收集中,主机和服务的数据都是状态数据,默认监控数据写入到 /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 root29383 Jun82015 background.pdf drwxr-xr-x 2 root root4096 Jun 29 22:41 check_commands drwxr-xr-x 2 root root4096 Jun82015 config.d -rw-r--r-- 1 root root9595 Jun82015 config.php -rw-r--r-- 1 root root1290 Jun82015 misccommands.cfg -rw-r--r-- 1 root root1655 Jun82015 nagios.cfg -rw-r--r-- 1 root root4134 Jun82015 npcd.cfg drwxr-xr-x 2 root root4096 Jun 29 22:41 pages -rw-r--r-- 1 root root1112 Jun82015 pnp4nagios_release -rw-r----- 1 root nagios2463 Jun82015 process_perfdata.cfg -rw-r--r-- 1 root root651 Jun82015 rra.cfg

查看一下 nagios.cfg,里面有三种模式可选,我们选择 Bulk Mode with NPCD 这种模式,这种模式性能相对来说比较好,其他模式详细介绍请查看文档:
https://docs.pnp4nagios.org/pnp-0.6/config#bulk_mode_with_npcd
Nagios 可视化界面配置-PNP4Nagios

文章图片

# # 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_nameprocess-service-perfdata-file #command_line/bin/mv /var/log/pnp4nagios/service-perfdata /var/spool/pnp4nagios/service-perfdata.$TIMET$ #}#define command { #command_nameprocess-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 nagios2589 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 nagios1973 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 nagios1887 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 nagios1915 Jun 29 23:06 Swap_Usage.xml

那我们查看一下 PNP4Nagios 的 web 界面展示。
浏览器访问 IP/pnp4nagios,效果和 CACTI 这个监控软件的效果差不多。
Nagios 可视化界面配置-PNP4Nagios

文章图片

现在刚刚收集数据,指标还不是很多,图像还没有完全生成出来。
和 Nagios web 集成目前我们是通过单独的一个 URL 访问的展示页面,那如果通过点击 Nagios 一个个指标查看其状态值呢?
【Nagios 可视化界面配置-PNP4Nagios】我们首先在 /etc/nagios/objects/templates.cfg 定义一下使用 pnp 的 host 和 service。把下面两个定义添加到 templates.cfg 的最后端。
define host { namehost-pnp action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$& srv=_HOST_ register0 }define service { nameservice-pnp action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$& srv=$SERVICEDESC$ register0 }

为了让其他的 template 也可以使用刚刚定义的 host 和 serivce,我们使用 use 这个参数,来修改存在的两个 template,每个定义添加一条 use 即可,类似如下:
define host{namegeneric-host; The name of this host templateusehost-pnpdefine service{namegeneric-service; The \'name\' of this service templateuseservice-pnp

修改完成之后,重启 nagios 服务,然后我们再查看页面,就可以看到前面都多了一个趋势图的小图标。
Nagios 可视化界面配置-PNP4Nagios

文章图片

点击相应的服务。
Nagios 可视化界面配置-PNP4Nagios

文章图片

支持 Nagios 监控的可视图我们已经配置好了,关于其他监控配置,请查看官方文档。
参考文档:https://support.nagios.com/kb/article/nagios-core-performance-graphs-using-pnp4nagios-801.html
欢迎大家扫码关注,获取更多信息
Nagios 可视化界面配置-PNP4Nagios

文章图片


    推荐阅读