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安装

Nagios图像绘制插件PNP4Nagios部署和测试

nagios配置pnp4nagios报错“Please check the documentatio

centos7.4安装监控软件系列2:nagios

NAGIOS插件pnp4nagios安装

为nagios装上pnp4nagios功能