Nagios Core 对图形的支持比较有限。
Nagiosgraph 是一个非常有用的插件,它扩展了 Nagios Core 的功能并显示历史图表。
Nagiosgraph 解析 Nagios 收集的输出和性能数据,并将这些数据存储在 RRD(循环数据)文件中。
Nagiosgraph 使用数据创建图形并生成带有图形报告的 HTML 页面。
在本文中,我们将把 Nagiosgraph 插件安装到我们在 CentOS 7 上预配置的 Nagios Core 服务器。
在 CentOS 7 上安装 Nagiosgraph
访问 Nagios Core 的 Web 界面以检查其状态。
使用 yum 命令安装必备软件包。
[root@nagios01 nagios]# yum -y install perl-GD php-gd rrdtool-perl rrdtool-php rrdtool perl-CGI perl-Time-HiRes
创建一个目录并从 Nagiosgraph 官方页面下载 Nagiosgraph 1.5.2(撰写本文时的最新版本)。
[root@nagios01 ~]# mkdir -p /soft/nagios [root@nagios01 ~]# cd /soft/nagios [root@nagios01 nagios]# wget https://sourceforge.net/projects/nagiosgraph/files/nagiosgraph/1.5.2/nagiosgraph-1.5.2.tar.gz
提取 Nagiosgraph tar包 的内容。
[root@nagios01 ~]# cd /soft/nagios [root@nagios01 nagios]# tar xvf nagiosgraph-1.5.2.tar.gz
检查准备工作并安装 Nagiosgraph。
[root@nagios01 nagios]# cd /soft/nagios/nagiosgraph-1.5.2 [root@nagios01 nagiosgraph-1.5.2]# ./install.pl --check-prereq [root@nagios01 nagiosgraph-1.5.2]# ./install.pl --layout overlay --prefix /usr/local/nagios
在安装过程中,设置路径如下:(如果你正确定义了路径,那么大部分配置将由Nagiosgraph安装程序自动进行)
Destination directory (prefix)? [/usr/local/nagios] Location of configuration files (etc-dir)? [/usr/local/nagios/etc/nagiosgraph] Location of executables? [/usr/local/nagios/libexec] Location of CGI scripts? [/usr/local/nagios/sbin] Location of documentation (doc-dir)? [/usr/local/nagios/docs/nagiosgraph] Location of examples? [/usr/local/nagios/docs/nagiosgraph/examples] Location of CSS and JavaScript files? [/usr/local/nagios/share] Location of utilities? [/usr/local/nagios/docs/nagiosgraph/util] Location of state files (var-dir)? [/var/nagios] /usr/local/nagios/var Location of RRD files? [/usr/local/nagios/var/rrd] Location of log files (log-dir)? [/var/nagios] /usr/local/nagios/var Path of log file? [/usr/local/nagios/var/nagiosgraph.log] Path of CGI log file? [/usr/local/nagios/var/nagiosgraph-cgi.log] Base URL? [/nagios] URL of CGI scripts? [/nagios/cgi-bin] URL of CSS file? [/nagios/nagiosgraph.css] URL of JavaScript file? [/nagios/nagiosgraph.js] URL of Nagios CGI scripts? [/nagios/cgi-bin] Path of Nagios performance data file? [/tmp/perfdata.log] /usr/local/nagios/var/service-perfdata.log username or userid of Nagios user? [nagios] username or userid of web server user? [apache]
编辑 /usr/local/nagios/etc/nagios.cfg 文件并注释 (#) 所有与性能相关的参数。
[root@nagios01 nagiosgraph-1.5.2]# vi /usr/local/nagios/etc/nagios.cfg
设置以下参数,使 Nagios 能够保留性能数据的历史记录。
# process nagios performance data using nagiosgraph process_performance_data=1 service_perfdata_file=/usr/local/nagios/var/service-perfdata.log service_perfdata_file_template=$LASTSERVICECHECK$||$HOSTNAME$||$SERVICEDESC$||$SERVICEOUTPUT$||$SERVICEPERFDATA$ service_perfdata_file_mode=a service_perfdata_file_processing_interval=30 service_perfdata_file_processing_command=process-service-perfdata-for-nagiosgraph
编辑 /usr/local/nagios/etc/objects/commands.cfg 。
[root@nagios01 nagiosgraph-1.5.2]# vi /usr/local/nagios/etc/objects/commands.cfg
添加以下命令以启用性能指标的存储。
define command { command_name process-service-perfdata-for-nagiosgraph command_line /usr/local/nagios/libexec/insert.pl }
现在检查 Nagios 配置。
[root@nagios01 nagiosgraph-1.5.2]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg [root@nagios01 nagiosgraph-1.5.2]#
重新启动 nagios 和 httpd 服务以重新加载新配置。
[root@nagios01 nagiosgraph-1.5.2]# systemctl restart nagios [root@nagios01 nagiosgraph-1.5.2]# systemctl restart httpd
在浏览器中打开 URL http://192.168.229.129/nagios/cgi-bin/showconfig.cgi,查看配置。
(将 URL 中的 IP 地址替换为 CentOS 7 服务器 IP 地址)。
可以看到 Nagiosgraph 已经和 Nagios Core 集成了。
编辑 /usr/local/nagios/etc/objects/templates.cfg 文件。
[root@nagios01 nagiosgraph-1.5.2]# vi /usr/local/nagios/etc/objects/templates.cfg
添加以下代码以定义用于显示 Nagiosgraph 图形的服务图形服务。
define service { name graphed-service action_url /nagios/cgi-bin/show.cgi?host=$HOSTNAME$&service=$SERVICEDESC$' onMouseOver='showGraphPopup(this)' onMouseOut='hideGraphPopup()' rel='/nagiosgraph/cgi-bin/showgraph.cgi?host=$HOSTNAME$&service=$SERVICEDESC$&period=week&rrdopts=-w+450+-j register 0 }
并在要绘制图形的服务的使用参数中添加graphed-service。
我们已经将它添加到一些服务中,下面给出一种服务语法以供参考。
define service{ use local-service,graphed-service ; Name of service template to use host_name localhost service_description HTTP check_command check_http notifications_enabled 0 }
重启 nagios 服务。
[root@nagios01 nagiosgraph-1.5.2]# systemctl restart nagios
现在,在浏览器中打开 Nagios Web 界面,我们可能会在已启用图形的服务前面看到小图形图标。
单击图形图标以打开图形页面。
调整右上角面板的参数,根据需要绘制图形。
我们已经在 CentOS 7 上成功安装了 Nagios Core 的 Nagiosgraph 插件。
PNP4Nagios 是另一个在 Nagios Core 服务器中显示图形的插件。可以查看我们的教程进行安装。