欠伸展肢体,吟咏心自愉。这篇文章主要讲述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 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
文章图片
#
# 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 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 监控的可视图我们已经配置好了,关于其他监控配置,请查看官方文档。
参考文档:https://support.nagios.com/kb/article/nagios-core-performance-graphs-using-pnp4nagios-801.html
欢迎大家扫码关注,获取更多信息
文章图片
推荐阅读
- EKS 训练营-vue 项目实战(16)
- #导入MD文档图片#AWS数据湖
- 为Horizon虚拟桌面配置动态公网IP地址远程访问
- OpenCV-几何形状颜色识别 #导入MD文档图片#
- kubeadmin 安装k8s1.20集群+kuboard-v3部署实操
- 独立jenkins如何跟k8s配合使用20
- 构建基于Spring Cloud向Service Mesh框架迁移的解决方案及思路
- 云原生Web服务框架ESA Restlight
- Ceph常用操作维护手册