Цель получить инструмент для личного применения, задачей которого будет мониторинг только того что мне нужно без привлечения отдельных других продуктов, да просто хочу посмотреть, что изменилось с того времени, когда я использовал Nagios,
но потом перешел на Zabbix
и уже довольно таки давно его применяю, как для домашних проектов, так и для рабочей инфраструктуры. Может я все-таки вернусь на него, ведь когда работал в Dataline
, то его использовали и используют по сей день. Разворачивать буду Nagios
из исходников на Ubuntu 22.04 Server
от и до.
Шаг №1:
Обновляю информацию о репозитариях:
ekzorchik@srv-us2204a:~$ sudo rm -Rf /var/lib/apt/lists ekzorchik@srv-us2204a:~$ sudo apt-get update && sudo apt-get upgrade -y
Шаг №2:
Устанавливаю необходимые пакеты перед Nagios:
ekzorchik@srv-us2204a:~$ sudo apt install -y build-essential apache2 php openssl perl make php-gd libgd-dev libapache2-mod-php libperl-dev libssl-dev daemon wget apache2-utils unzip
Шаг №3:
Создаю пользователя, группу под будущий сервис Nagios:
ekzorchik@srv-us2204a:~$ sudo useradd nagios ekzorchik@srv-us2204a:~$ sudo groupadd nagcmd ekzorchik@srv-us2204a:~$ sudo usermod -aG nagcmd nagios ekzorchik@srv-us2204a:~$ sudo usermod -aG nagcmd www-data
Шаг №4:
Скачиваю и устанавливаю Nagios
на Ubuntu 22.04 Server
ekzorchik@srv-us2204a:~$ wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.4.6.tar.gz ekzorchik@srv-us2204a:~$ tar zxf nagios-4.4.6.tar.gz ekzorchik@srv-us2204a:~$ cd nagios-4.4.6/ ekzorchik@srv-us2204a:~/nagios-4.4.6$ ekzorchik@srv-us2204a:~/nagios-4.4.6$ sudo ./configure --with-nagios-group=nagios --with-command-group=nagcmd --with-httpd_conf=/etc/apache2/sites-enabled/ General Options: ------------------------- Nagios executable: nagios Nagios user/group: nagios,nagios Command user/group: nagios,nagcmd Event Broker: yes Install ${prefix}: /usr/local/nagios Install ${includedir}: /usr/local/nagios/include/nagios Lock file: /run/nagios.lock Check result directory: /usr/local/nagios/var/spool/checkresults Init directory: /lib/systemd/system Apache conf.d directory: /etc/apache2/sites-enabled/ Mail program: /bin/mail Host OS: linux-gnu IOBroker Method: epoll Web Interface Options: ------------------------ HTML URL: http://localhost/nagios/ CGI URL: http://localhost/nagios/cgi-bin/ Traceroute (used by WAP): ekzorchik@srv-us2204a:~/nagios-4.4.6$ sudo make all ekzorchik@srv-us2204a:~/nagios-4.4.6$ sudo make install ekzorchik@srv-us2204a:~/nagios-4.4.6$ sudo make install-init ekzorchik@srv-us2204a:~/nagios-4.4.6$ sudo make install-config ekzorchik@srv-us2204a:~/nagios-4.4.6$ sudo make install-commandmode
Шаг №5:
Устанавливаем/добавляем Nagios
в Web
—интерфейс:
ekzorchik@srv-us2204a:~/nagios-4.4.6$ sudo make install-webconf /usr/bin/install -c -m 644 sample-config/httpd.conf /etc/apache2/sites-enabled//nagios.conf if [ 0 -eq 1 ]; then \ ln -s /etc/apache2/sites-enabled//nagios.conf /etc/apache2/sites-enabled/nagios.conf; \ fi *** Nagios/Apache conf file installed *** ekzorchik@srv-us2204a:~/nagios-4.4.6$ ekzorchik@srv-us2204a:~/nagios-4.4.6$ cd ~ ekzorchik@srv-us2204a:~$ sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin New password: указываю к примеру пароль 712mbddr@ Re-type new password: указываю к примеру пароль 712mbddr@ Adding password for user nagiosadmin ekzorchik@srv-us2204a:~$ cat /usr/local/nagios/etc/htpasswd.users nagiosadmin:$apr1$59BKasuD$9SSUCtb4bur4m6TnlP8t3. ekzorchik@srv-us2204a:~$ ekzorchik@srv-us2204a:~$ sudo a2enmod cgi Enabling module cgi. To activate the new configuration, you need to run: systemctl restart apache2 ekzorchik@srv-us2204a:~$ sudo systemctl restart apache2
Шаг №6:
Настройка отправки уведомлений настраивается через contacts.cfg:
ekzorchik@srv-us2204a:~$ sudo nano /usr/local/nagios/etc/objects/contacts.cfg
Шаг №7:
Устанавливаем для Nagios
плагины:
ekzorchik@srv-us2204a:~$ wget https://nagios-plugins.org/download/nagios-plugins-2.3.3.tar.gz ekzorchik@srv-us2204a:~$ tar zxf nagios-plugins-2.3.3.tar.gz ekzorchik@srv-us2204a:~$ cd nagios-plugins-2.3.3/ ekzorchik@srv-us2204a:~/nagios-plugins-2.3.3$ ekzorchik@srv-us2204a:~/nagios-plugins-2.3.3$ sudo ./configure --with-nagios-user=nagios --with-nagios-group=nagios ekzorchik@srv-us2204a:~/nagios-plugins-2.3.3$ sudo make ekzorchik@srv-us2204a:~/nagios-plugins-2.3.3$ sudo make install ekzorchik@srv-us2204a:~/nagios-plugins-2.3.3$ cd ~ ekzorchik@srv-us2204a:~$
Шаг №8:
Запускаем Nagios:
ekzorchik@srv-us2204a:~$ sudo /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg Nagios Core 4.4.6 Copyright (c) 2009-present Nagios Core Development Team and Community Contributors Copyright (c) 1999-2009 Ethan Galstad Last Modified: 2020-04-28 License: GPL Website: https://www.nagios.org Reading configuration data... Read main config file okay... Read object config files okay... Running pre-flight check on configuration data... Checking objects... Checked 8 services. Checked 1 hosts. Checked 1 host groups. Checked 0 service groups. Checked 1 contacts. Checked 1 contact groups. Checked 24 commands. Checked 5 time periods. Checked 0 host escalations. Checked 0 service escalations. Checking for circular paths... Checked 1 hosts Checked 0 service dependencies Checked 0 host dependencies Checked 5 timeperiods Checking global event handlers... Checking obsessive compulsive processor commands... Checking misc settings... Total Warnings: 0 Total Errors: 0 Things look okay - No serious problems were detected during the pre-flight check ekzorchik@srv-us2204a:~$
Шаг №9:
Активируем чтобы сервис Nagios
запускался вместе с системой при ее старте:
ekzorchik@srv-us2204a:~$ sudo systemctl enable nagios Created symlink /etc/systemd/system/multi-user.target.wants/nagios.service → /lib/systemd/system/nagios.service. ekzorchik@srv-us2204a:~$ sudo systemctl status nagios ○ nagios.service - Nagios Core 4.4.6 Loaded: loaded (/lib/systemd/system/nagios.service; enabled; vendor preset: enabled) Active: inactive (dead) Docs: https://www.nagios.org/documentation ekzorchik@srv-us2204a:~$ sudo systemctl start nagios && sudo systemctl status nagios | head -n5 ● nagios.service - Nagios Core 4.4.6 Loaded: loaded (/lib/systemd/system/nagios.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2023-05-15 08:28:29 MSK; 15ms ago Docs: https://www.nagios.org/documentation Process: 34395 ExecStartPre=/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg (code=exited, status=0/SUCCESS) ekzorchik@srv-us2204a:~$
Шаг №10:
Открываю браузер и обращаюсь к системе, на которой развернут Nagios:
http://IP&DNS/nagios
и авторизуюсь (Login: nagiosadmin Pass: 712mbddr@)
вот так выглядит Web
-интерфейс Nagios
после авторизации
Если перейти в левой части в Services,
то увидим, за каким сервисом сейчас идет наблюдение/мониторинг:
через некоторое время те сервисы, которые были в статусе PENDING
изменили свое состояние
Итого, я себе составил небольшую шпаргалку действий, как разворачивается система мониторинга на базе Nagios
(кстати в компании Dataline
где я работал, так и используется данная система и все их устраивает, множество метрик, которые снимаются оптимизированы чтобы попадали в нее).
В дальнейшем буду по мере возможности наполнять его (Nagios)
, как если бы у меня не было Zabbix
, а был только Nagios.
На этом пока все, с уважением автор блога Олло Александр aka ekzorchik.