Nagiosgraph позволяет отрисовывать графики по различным метрикам.
Установка выполняется на CentOS 7, Nagios 4.1. Установка Nagios описана в посте Nagios: установка на CentOS 7 + NGINX.
Находим последнюю актуальную версию плагина на странице проекта>>>, и качаем его:
# cd /tmp/ # wget http://downloads.sourceforge.net/project/nagiosgraph/nagiosgraph/1.5.2/nagiosgraph-1.5.2.tar.gz # tar xfp nagiosgraph-1.5.2.tar.gz # ls -l nagiosgraph-1.5.2 total 324 -rw-r--r-- 1 501 games 1627 Jun 11 2013 AUTHORS drwxr-xr-x 2 501 games 4096 Jul 3 11:10 cgi -rw-r--r-- 1 501 games 20820 Sep 13 2014 CHANGELOG drwxr-xr-x 2 501 games 119 Jul 3 11:10 debian drwxr-xr-x 2 501 games 4096 Jul 3 11:10 etc drwxr-xr-x 2 501 games 4096 Jul 3 11:10 examples -rw-r--r-- 1 501 games 6266 Apr 11 2014 INSTALL -rwxr-xr-x 1 501 games 60750 Sep 13 2014 install.pl drwxr-xr-x 2 501 games 22 Jul 3 11:10 lib -rw-r--r-- 1 501 games 4201 Jun 11 2013 Makefile.PL -rw-r--r-- 1 501 games 1318 Jun 11 2013 MANIFEST -rw-r--r-- 1 501 games 862 Jun 11 2013 META.yml -rw-r--r-- 1 501 games 6929 Jun 11 2013 nagiosgraph.spec -rw-r--r-- 1 501 games 58005 Jun 11 2013 README -rw-r--r-- 1 501 games 68835 Jun 11 2013 README.html -rw-r--r-- 1 501 games 55618 Jun 11 2013 README.pod drwxr-xr-x 2 501 games 87 Jul 3 11:10 share drwxr-xr-x 2 501 games 4096 Jul 3 11:10 t -rw-r--r-- 1 501 games 2633 Jun 11 2013 TODO drwxr-xr-x 2 501 games 84 Jul 3 11:10 utils drwxr-xr-x 2 501 games 82 Jun 11 2013 website Проверяем необходимые пакеты:
# cd nagiosgraph-1.5.2
# ./install.pl --check-prereq checking required PERL modules Carp...1.26 CGI... ***FAIL*** Data::Dumper...2.145 Digest::MD5...2.52 File::Basename...2.84 File::Find...1.20 MIME::Base64...3.13 POSIX...1.30 RRDs... ***FAIL*** Time::HiRes...1.9725 checking optional PERL modules GD... ***FAIL*** Nagios::Config... ***FAIL*** checking nagios installation found nagios exectuable at /usr/local/nagios/bin/nagios found nagios init script at /etc/init.d/nagios checking web server installation found apache executable at /usr/sbin/httpd *** one or more problems were detected!
Устанавливаем то, чего не хвататет:
# yum install perl-rrdtool perl-GD perl-CGI perl-Time-HiRes perl-CPAN
Т.к. Nagios установлен не старндартно, и использует NGINX + PHP-FPM — то модуль будем устанавливать вручную.
Копируем файлы конфигурации:
# mkdir -p /opt/nagiosgraph/etc # cp etc/* /opt/nagiosgraph/etc/
Копируем необходимые файлы:
# cp lib/insert.pl /usr/local/nagios/libexec # cp cgi/*.cgi /usr/local/nagios/sbin/ # cp share/nagiosgraph.css /usr/local/nagios/share/stylesheets/ # cp share/nagiosgraph.js /usr/local/nagios/share/js
Редактируем файл /opt/nagiosgraph/etc/nagiosgraph.conf
, и в начале файла указываем значения переменных:
logfile = /var/log/nagios/nagiosgraph.log cgilogfile = /var/log/nagios/nagiosgraph-cgi.log perflog = /var/log/nagios/perfdata.log rrddir = /var/nagios/rrd mapfile = /opt/nagiosgraph/etc/map nagiosgraphcgiurl = /nagios/cgi-bin javascript = /js/nagiosgraph.js stylesheet = /stylesheets/nagiosgraph.css
Создаём каталог:
# mkdir -p /var/nagios/rrd # chown nagios:nginx /var/nagios/rrd # chmod 755 /var/nagios/rrd
В файл /usr/local/nagios/etc/nagios.cfg
добавляем:
process_performance_data=1 service_perfdata_file=/var/log/nagios/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-graph
В файл /usr/local/nagios/etc/objects/commands.cfg
добавляем:
define command { command_name process-service-graph command_line /usr/local/nagios/libexec/insert.pl }
Меняем владельца:
# chown nagios:nagios /usr/local/nagios/libexec/insert.pl
Проверяем:
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg ... Total Warnings: 0 Total Errors: 0 Things look okay - No serious problems were detected during the pre-flight check
Создаём файлы, каталоги, назначаем права:
# mkdir /var/log/nagios/ # touch /var/log/nagios/perfdata.log # touch /var/log/nagios/nagiosgraph.log # touch /var/log/nagios/nagiosgraph-cgi.log # chown -R nagios /var/log/nagios/ # chown -R nagios /var/nagios # chmod 755 /var/nagios
Устанавливаем модуль Perl Nagios::Config
(возможно — потребуется так же Module::Build)
:
# cpan Nagios::Config
Перезапускаем Nagios:
# service nagios restart Running configuration check... Stopping nagios:. done. Starting nagios: done.
Проверяем — открываем в браузере http://server/nagios/cgi-bin/showconfig.cgi (в данном примере установки — просто http://server/showconfig.cgi):
В файл /usr/local/nagios/etc/objects/templates.cfg
добавляем описание новой проверки:
define service { name graphed-service action_url show.cgi?host=$HOSTNAME$&service=$SERVICEDESC$' onMouseOver='showGraphPopup(this)' onMouseOut='hideGraphPopup()' rel='showgraph.cgi?host=$HOSTNAME$&service=$SERVICEDESC$&period=week&rrdopts=-w+450+-j register 0 }
И в файле хоста, например — /usr/local/nagios/etc/objects/localhost.cfg
— добавляем новое значение для use:
define service{ use local-service,graphed-service ... service_description Tomcat mem ... }
Обратите внимание — между local-service,graphed-service
нет пробелов. У меня Nagios ругался на них.
Редактируем файл /tmp/nagiosgraph-1.5.2/share/nagiosgraph.ssi
, в котором меняем URL к файлу nagiosgraph.js
:
<script type="text/javascript" src="/js/nagiosgraph.js"></script>
Копируем его:
# cp /tmp/nagiosgraph-1.5.2/share/nagiosgraph.ssi /usr/local/nagios/share/ssi/common-header.ssi
Копируем иконки:
# mv /usr/local/nagios/share/images/action.gif /usr/local/nagios/share/images/action.gif-orig # cp /tmp/nagiosgraph-1.5.2/share/graph.gif /usr/local/nagios/share/images/action.gif
В файле /usr/local/nagios/share/side.php
добавляем ссылки на графики:
<ul> <li><a href="/nagios/cgi-bin/show.cgi" target="main">Graphs</a></li> <li><a href="/nagios/cgi-bin/showhost.cgi" target="main">Graphs by Host</a></li> <li><a href="/nagios/cgi-bin/showservice.cgi" target="main">Graphs by Service</a></li> <li><a href="/nagios/cgi-bin/showgroup.cgi" target="main">Graphs by Group</a></li> </ul>
Например — в <div class="navsectiontitle">General</div>
:
Ещё раз проверяем настройки:
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg ... Total Warnings: 0 Total Errors: 0 Things look okay - No serious problems were detected during the pre-flight check
Перезапускаем Nagios:
# service nagios restart Running configuration check... Stopping nagios:. done. Starting nagios: done.
Проверяем:
Ссылки по теме
http://sachinharma.blogspot.com