在 CentOS 7 上为 Nagios Core 安装 Nagiosgraph

Nagios Core 对图形的支持比较有限。
Nagiosgraph 是一个非常有用的插件,它扩展了 Nagios Core 的功能并显示历史图表。
Nagiosgraph 解析 Nagios 收集的输出和性能数据,并将这些数据存储在 RRD(循环数据)文件中。
Nagiosgraph 使用数据创建图形并生成带有图形报告的 HTML 页面。

在本文中,我们将把 Nagiosgraph 插件安装到我们在 CentOS 7 上预配置的 Nagios Core 服务器。

www. On IT Road .com

在 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 服务器中显示图形的插件。可以查看我们的教程进行安装。

日期:2020-09-17 00:16:44 来源:oir作者:oir