Nagios: ручная установка Nagiosgraph

Автор: | 10/07/2015
 

nagios_logoNagiosgraph позволяет отрисовывать графики по различным метрикам.

Установка выполняется на 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):

 

nagios_install_centos_7_10

В файл /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>:

nagios_install_centos_7_8

Ещё раз проверяем настройки:

# /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.

Проверяем:

nagios_install_centos_7_14

 

nagios_install_centos_7_15

Ссылки по теме

http://sachinharma.blogspot.com

http://sourceforge.net