Основна инсталација и конфигурација Nagios 4 на ЦентОС 7 (корак по корак)
Nagios је један од најбољих и највише коришћених софтверских алата отвореног кода намењених за надгледање стања системских и мрежних ресурса и компоненти.
Nagios надгледа сервере, свичеве, рутере, апликације, сервисе, процесе, портове,…
Са Nagios-ом можемо да надгледамо удаљене хостове и њихове сервисе све у једном прозору. Показује нам упозорења (warnings), што може помоћи у откривању, спречавању и решавању проблема у систему док се још нису десили или нису направили већу штету у систему.
Помаже нам да смањимо време отказа (downtime) и пословних губитака (business losses).
Оригинално развијен за рад под Линукс платфором, при чему одлично ради и под осталим UNIX компатибилним платформама. Лиценциран је под условима GNU GPL лиценце верзија 2 коју је објавила Free Software Foundation.
Преглед важнијих могућности
- надгледање доступности мрежних сервиса (PING, DNS, HTTP, SSH, SMTP, POP3, IMAP, итд.);
- надгледање системских ресурса хостова (оптерећење процесора, искоришћеност RAM меморије, оптерећење хард дискова, стање мрежних интерфејса, статус виталних процеса, „error“ или „warning“ логове у Евент Логу, итд;
- једноставни плагин (plug-in) концепт који дозвољава кориснику да лако развија и имплементира сопственове плагинове за надгледање специфичних сервиса;
- откривање и разликовање хостова који су недоступни од оних који су пали помоћу уграђениг концепта родитељских хостова и мрежне хијерархије;
- обавештавање у случају појаве нерегуларног рада хостова или сервиса и њиховог опоравка (путем имејла, SMS-а или неком другом корисничком методом(software Nagstamon));
- могућност да се дефинишу унапред познати догађаја (event handlers) који су активни за време извршавања сервиса или дешавања догађаја на хосту и који могу да решавају проблеме проактивно;
- подршка за имплементацију редундантних сервера за надгледање ИТ инфраструктуре;
- подршка за имплементацију дистрибуираног надгледања ИТ инфраструктуре;
- информативан веб интерфејс за увид у текући статус мреже, послата обавештења, историју проблема, лог датотеке, итд;
- Брза идентификација проблема у ИТ систему пре него што се угрози рад система;
- помаже нам у планирању буџета за ИТ надоградњу;
- Смањује време отказа као и цену пословног губитка услед отказа одређеног сервиса или услуге.
На крају инсталације добићемо следеће:
- Nagios и плагинови биће инсталирани на путањи /usr/local/nagios .
- Nagios ће бити конфигурисан за надгледање неколико сервиса локалне машине, самог сервера (Disk Usage, CPU Load, Current Users, Total Processes, итд.)
- Nagios веб interface биће доступан на адреси http://IP-Address-Nagios-Servera/nagios
Nagios сервер
Оперативни систем: ЦентОС 7 минимал сервер
IP Address: IP-Address-Nagios-Serverа
hostname: NAGIOS
Корак 1: Инсталација неопходних помоћних програма
На почетку потребно је да инсталирамо веб сервис Apache. Користимо yum – подразумевани пакет инсталер за ЦентОС. Претпоставка је да смо преко ssh улоговани преко неког терминала (препоручујем PuTTY или Tera Term) као root на наш сервер.
Прво, очистимо yum:
yum clean all
Водећи се уобичајеном праксом радимо и ажурирање пакета:
yum -y update
Инсталацију Apache стартујемо само са једном командом:
yum -y install httpd
Дозвољавамо подразумеване (default) HTTP и HTTPS портове, 80 и 443, кроз заштитни зид firewalld командама:
firewall-cmd --permanent --add-port=80/tcp firewall-cmd --permanent --add-port=443/tcp
И ре-иницијализујемо опет заштитни зид после промена командом:
firewall-cmd --reload
На крају стартујемо Apache:
systemctl start httpd
Проверавамо и постављамо да се Apache стартује при покретању сервера:
systemctl enable httpd
Проверу статуса Apache сервиса постижемо командом:
systemctl status httpd
Команда за стопирање Apache-а:
systemctl stop httpd
Ако је све у реду са инсталацијом потребно је да добијемо следећу слику када у жељени интернет претраживач (web browser) укуцамо адресу нашег сервера: http://IP-Address-Nagios-Serverа/
Инсталација осталих помоћних и потребних програма (required dependencies)
Потребно је да инсталирамо PHP и још неке библиотеке као што су gcc, glibc, glibc-common и GD бибилиотеке као и неке развојне библиотеке пре него што кренемо са инсталацијом Nagios 4.1.1. Команда за инсталацију је следећа:
yum install -y php gcc glibc glibc-common gd gd-devel make net-snmp nano unzip wget
Корак 2: Креирање Nagios корисника и групе
Креирамо новог корисника nagios и корисничку групу nagcmd
useradd nagios groupadd nagcmd
Следеће, додајемо и nagios и apache корисника у корисничку групу nagcmd.
usermod -G nagcmd nagios usermod -G nagcmd apache
Корак 3: Преузимање и распакивање Nagios Core-а и Nagios Plugins пакета
Креирамо директоријум nagios за Nagios инсталацију и за сва будућа преузимања.
mkdir /root/nagios cd /root/nagios
Помоћу команде wget преузимамо последњу верзију Nagios Core и Nagios plugins пакета.
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-4.1.1.tar.gz wget https://www.nagios-plugins.org/download/nagios-plugins-2.1.1.tar.gz
Потребно је да распакујемо преузете пакете са интернета помоћу команде tar на следећи начин:
tar -xvf nagios-4.1.1.tar.gz tar -xvf nagios-plugins-2.1.1.tar.gz
После распакивања појавиће се два нова директоријума што проверавамо командом ll
Корак 4: Конфигурација и инсталација Nagios Core-а
Прво ћемо конфигурисати Nagios Core, а да би то одрадили идемо у Nagios директоријум и покренемо команду confgure и дефинишемо командну групу. Овде сад користимо основну форму ове команде без додатних опција.
cd nagios-4.1.1 ./confgure --with-command-group=nagcmd
У пуном облику команда confgure гласи:
./confgure –prefix=/usr/local/nagios –with-cgiurl=/nagios/cgi-bin –with-htmurl=/nagios/ –with-nagios-user=nagios –with-nagios-group=nagcmd –with-command-group=nagcmd
gde je:
–prefix=/usr/local/nagios – Nagios root folder
–with-cgiurl=/nagios/cgi-bin – Nagios CGI folder
–with-htmurl=/nagios/ – Nagios HTML/Website folder
–with-nagios-user=nagios – Nagios user
–with-nagios-group=nagcmd – Nagios group
–with-command-group=nagcmd – Nagios command group у којој су чланови webсервер корисник apache и nagios корисник.
Ако је конфигурација прошла без проблема приказаће се на крају Configuration summary као на следећој слици:
После конфигурације потребно је да компајлирамо и инсталирамо бинарне фајлове са командама make all и make install. Овим инсталирамо све потребне библиотеке и можемо да наставимо даљу конфигурацију.
make all make install
Излаз после команди је следећи:
Следећа команда make install-init инсталираће инит скрипте у директоријум /etc/rc.d/init.d за Nagios.
make install-init
Да би омогућили да nagios ради и из командне линије потребно је да инсталирамо command-mode.
make install-commandmode
Следеће је инсталација уобичајених nagios фајлова у директоријум /usr/local/nagios/etc са следећом командом:
make install-config
На екрану добијамо следећи приказ ако је све протекло у реду:
Корак 5: Прилагођавање Nagios конфигурације
Отворимо фајл „contacts.chg“ са неким текст едитором и треба да поставимо мејл адресу за корисника nagiosadmin у самој дефиницији контакта да би примали нотификацију преко мејла за отказ и/или опоравак сервиса или хоста.
nano /usr/local/nagios/etc/objects/contacts.chg
Екрански приказ:
мењамо линију
email nagios@localhost ; <<****** CHANGE TO YOUR EMAIL ADDRESS ********
Рестартујемо Apache:
systemctl restart httpd
Корак 6: Инсталација и конфигурација Web Interface за Nagios
Сада је потребно да конфигуришемо Web Interface за Nagios. Следеће команде ће конфигурисати Web interface за Nagios као и веб админ корисника „nagiosadmin“.
make install-webconf
Следеће је да променимо фајл nagios.conf на путањи /etc/httpd/conf.d/.
nano /etc/httpd/conf.d/nagios.conf
Мењамо линије ако желимо да приступимо nagios administrative console из тачно дефинисаних IP опсега.
У следећем кораку креирамо лозинку за веб админ корисника „nagiosadmin“. После следеће команде уписујемо лозинку коју ћемо користити при логовању на Nagios Web interface па ју је потребно запамтити.
htpasswd -s -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
Рестарт Apache да би промене које смо урадили имали ефекта
systemctl restart httpd
Корак 7: Компајлирање и инсталација Nagios Plugin-а
Са интернета смо већ преузели nagios plugins и сместили у директоријум /root/nagios. Идемо у тај директоријум и са већ познатим командама радимо конфигурацију и инсталацију плагинова:
cd /root/nagios cd nagios-plugins-2.1.1 ./confgure --with-nagios-user=nagios --with-nagios-group=nagcmd make make install
Корак 8: Верификација (проверавање) исправности Nagios конфигурационих фајлова
На крају после инсталације и конфигурације Nagios-а потребно је проверити његову исправност и то радимо следећом командом:
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.chg
Ако је све прошло без проблема и грешака добићемо следећи екран:
Корак 9: Додавање Nagios сервиса у System Startup
Да би обезбедили да се Nagios подигне и ради после рестарта машине потребно је да додамо nagios сервис у startup са командом chkconfig.
chkconfig --add nagios chkconfig --level 35 nagios on
Рестартујемо Nagios да би промене које смо урадили имали ефекта.
systemctl start nagios
Adjust selinux Settings
Подразумевана вредност за selinux је „enforce mode“ и можемо да добијемо грешку са поруком „Internal Server Error“ када покушамо да приступимо Nagios CGIs.
Да би избегли ову грешку, мењамо фајл config на путањи /etc/selinux/:
nano /etc/selinux/config
Сетујемо selinux на „permissive mode“ као на следећој слици.
Рестартујемо сервер како би промене које смо направили имали ефекта или уместо рестарта стартујемо команду
setenforce 0
Корак 10: Пријављивање на Nagios Web Interface
Nagios је спреман за рад и пријављујемо се преко веб браузера укуцавањем адресе „http://Your-server-IP-address/nagios“ и добијамо прозор у коме треба да унесемо корисничко име „nagiosadmin“ и лозинку.
Nagios Login – прозор за пријаву на веб interface
Nagios Web Interface
Host View – преглед надгледаних хостова
Nagios Overview – прозор за општи приказ шта се све надгледа (мониторише)
Service View – преглед надгледаних service-а
Process View – преглед самог Nagios Process-а и информација о њему
Честитамо. Овим смо успешно инсталирали и конфигурисали Nagios и његове додатке – Plugins. Ово је тек почетак у процесу надгледања и мониторисања са Nagios-ом. Наставиће се…
N3n4D
22/06/2016 @ 11:08
Odlično uputstvo ali mi jedna stvar nije jasna, ne samo ovde nego i inače: Zašto svi isključuju selinux? U ovom slučaju na serveru koji će pristupati svim ostalim delovima mreže i koji ima apache vi gasite selinux. Nemoguće je da nema trika da se on uključi i iskonfiguriše da radi normalno sa Nagiosom. Lično ću instalirati Nagios po ovom uputstvu i probunariti oko selinuxa i ako uspem da namestim poslaću upustvo Draži
Budite mi dobro i nastavite tako i dalje
Goran
23/06/2016 @ 12:16
Sve pohvale, nadam se uskoro jos ovakih tekstova, posebno programa koje se koriste u administraciji mreze i servera.