Содержание
Установка Nagios
Устнавливаем необходимые пакеты:
# apt-get install nginx php5 php5-fpm unzip spawn-fcgi fcgiwrap build-essential libgd2-xpm-dev apache2-utils
Проверяем NGINX:
# service nginx status * nginx is running
# curl localhost <!DOCTYPE html> <html> <head> <title>Welcome to nginx!</title> ...
Добавляем пользователя и группу, под которыми будет работать Nagios:
# adduser --system --no-create-home --disabled-login --group nagios create group for webui and add users www-data and nagios to it
# groupadd nagcmd # usermod -a -G nagcmd nagios # usermod -a -G nagcmd www-data
На странице загрузок Nagios находим последнюю версию (Core DIY). Кликаем на маленькую серую ссылку “Skip to download“, что бы не заполнять анкету и получить ссылку на архив.
Загружаем:
# cd /tmp/ # wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.1.1.tar.gz # tar xfp nagios-4.1.1.tar.gz # cd nagios-4.1.1/
Собираем и устанавливаем:
# ./configure --with-command-group=nagcmd # make all # make install # make install-init # make install-config # make install-commandmode
Добавляем логгирование:
# mkdir /var/log/nagios # chown nagios:nagios /var/log/nagios
В файле /usr/local/nagios/etc/nagios.cfg
указываем путь к файлу лога:
log_file=/var/log/nagios/nagios.log
Установка плагинов
Загружаем архив с плагинами отсюда>>>:
# cd /tmp/ # wget http://www.nagios-plugins.org/download/nagios-plugins-2.1.1.tar.gz # tar xfp nagios-plugins-2.1.1.tar.gz # cd nagios-plugins-2.1.1/
Собираем и устанавливаем:
# ./configure --with-nagios-user=nagios --with-nagios-group=nagios # make # make install
Обновляем группу для каталога /usr/local/nagios/libexec/
:
# chgrp www-data /usr/local/nagios/libexec/*
Добавляем автозапуск:
# update-rc.d -f nagios defaults
Проверяем конфиги:
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
В случае ошибок вида:
... Checking misc settings... Error: Unable to write to check_result_path ('/usr/local/nagios/var/spool/checkresults') - Permission denied ...
Обновите пользователя/группу:
# chown -R nagios:nagios /usr/local/nagios/
Запускаем, проверяем:
# service nagios start Starting nagios: done. # service nagios status nagios (pid 32638) is running...
В случае ошибки вида:
Error: Could not open command file ‘/usr/local/nagios/var/rw/nagios.cmd’ for update!
Обновляем группу:
# chgrp www-data /usr/local/nagios/var/rw # service nagios restart Running configuration check... Stopping nagios: done. Starting nagios: done.
Настройка веб-интерфейса Nagios
Проверяем службы:
# ps aux | grep cgi www-data 14068 0.0 0.0 12740 452 ? Ss 10:08 0:00 /usr/sbin/fcgiwrap -f # ps aux | grep fpm root 3152 0.0 2.5 133628 12572 ? Ss 09:37 0:00 php-fpm: master process (/etc/php5/fpm/php-fpm.conf) www-data 3156 0.0 0.7 133628 3740 ? S 09:37 0:00 php-fpm: pool www www-data 3157 0.0 0.7 133628 3744 ? S 09:37 0:00 php-fpm: pool www
Закрываем доступ паролем:
# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin New password: Re-type new password: Adding password for user nagiosadmin
Добавляем конфиг NGINX /etc/nginx/conf.d/nagios.conf
:
server { listen 80; server_name nagios.local; access_log /var/log/nginx/nagios.local-access.log; error_log /var/log/nginx/nagios.local-error.log; auth_basic "Private"; auth_basic_user_file /usr/local/nagios/etc/htpasswd.users; root /usr/local/nagios/share/; index index.php index.html; location / { try_files $uri $uri/ index.php /nagios; } location /nagios { alias /usr/local/nagios/share; } location ~ ^/nagios/(.*\.php)$ { alias /usr/local/nagios/share/$1; include /etc/nginx/fastcgi_params; fastcgi_pass unix:/var/run/php5-fpm.sock; } location ~ \.cgi$ { root /usr/local/nagios/sbin/; rewrite ^/nagios/cgi-bin/(.*)\.cgi /$1.cgi break; fastcgi_param AUTH_USER $remote_user; fastcgi_param REMOTE_USER $remote_user; include /etc/nginx/fastcgi_params; fastcgi_pass unix:/var/run/fcgiwrap.socket; } location ~ \.php$ { include /etc/nginx/fastcgi_params; fastcgi_pass unix:/var/run/php5-fpm.sock; } }
Создаем симлинк в sites-enabled
:
# ln -s /etc/nginx/conf.d/nagios.conf /etc/nginx/sites-enabled/
Проверяем и перезапускаем NGINX:
# nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
# service nginx restart * Restarting nginx nginx
Т.к. этот Nagios запущен в Vagrant-боксе – надо добавить имя хоста:
$ sudo bash -c "echo '10.11.100.37 nagios.local' >> /etc/hosts"