Nagios: Aktiver eksterne kommandoer
- Kategori: Netværk
Her er vi igen, tilbage med din gamle ven Nagios. Hvis du har fulgt, ved du, at jeg har dækket en hel del jord med dette enestående netværksovervågningsværktøj (se alle Ghacks Nagios-artikler). Der er en grund til dette, Nagios er et utroligt værktøj. Men for mange af jer er du måske stødt på en fejl, når du forsøger at køre et par af de mere kraftfulde funktioner. Denne fejl opstår, når du forsøger at bruge nogen af Nagios 'eksterne kommandoer. Men hvad er disse eksterne kommandoer? Nagios er i stand til at køre kommandoer fra eksterne applikationer. Dette gør det muligt for Nagios at udvide sig længere end det ellers kunne.
Men når du ser denne fejl, ved du, at din Nagios-installation ikke er i stand til at bruge nogen eksterne kommandoer. Frygt ikke, denne fejl er let at komme over, og i denne artikel vil jeg lede dig gennem rettelsen.
Forudsætninger

Sådan antages, at du har en fungerende Nagios-installation såvel som root- eller sudo-adgang til din server. Denne artikel antager også, at du har forsøgt at bruge funktioner, der kræver eksterne kommandoer. Hvis ikke, lad os se på hvordan.
Hvis du peger din browser til din Nagios-server, skal du klikke på linket Tjenesteoplysninger og derefter klikke på en af tjenesterne (f.eks. HTTP eller SSH). På denne side ser du feltet Servicekommandoer. Hvis du klikker på et af disse links, og du får fejlen - skal du rette!
Løsningen
Gemt ved nul, ikke? På en måde. Den første ting at tjekke er i /etc/nagios3/nagios.cfg-fil . Se efter en linje som:
check_external_commands = 1
Hvis denne linje enten er kommenteret eller indstillet til '0', skal du ændre den for at ligne posten ovenfor. Når du har gjort det, skal du gemme og lukke filen. Genstart nu Nagios med kommandoen sudo /etc/init.d/nagios3 genstart . Du er ikke færdig endnu.
Det næste trin er at åbne /etc/nagios3/cgi.cfg fil. Du finder sandsynligvis disse to linjer:
authorized_for_all_services = nagiosadmin
authorized_for_all_hosts = nagiosadmin
Efter disse to linjer skal du tilføje følgende:
authorized_for_all_host_commands = nagiosadmin
authorized_for_all_service_commands = nagiosadmin
Gem og luk denne fil. Genstart nu Apache med kommandoen sudo /etc/init.d/apache2 genstart .
Stadig ikke gjort. Nu skal du foretage en lille ændring til / etc / grupper . Åbn denne fil med din favorit teksteditor, og se efter en linje, der ligner:
nagios: x: 127:
Skift denne linje for at se ud:
nagios: x: 127: www-data
Gem og luk nu denne fil. Næsten færdig. Men det næste trin er lidt mere udfordrende det foregående.
I biblioteket / var / lib / nagios3 / rw er en fil nagios.cmd . Denne fil har sandsynligvis ikke de korrekte tilladelser indstillet. Som standard har kun brugeren nagios adgang til disse filer. Da vi ikke kan ændre dette til www-data-bruger (det ville ødelægge andre funktioner i Nagios), er vi nødt til bare at tilføje den eksekverbare gruppebit til filen sådan:
sudo chmod g + x / var / lib / nagios / rw
Det er det. Gå nu tilbage til det servicekommandosektion, og klik på et af linkene. Du skulle ikke længere få den fejl.
Endelige tanker
Du har måske troet, at din Nagios-installation var ret nyttig. Nu, hvor du kan udføre eksterne kommandoer, finder du, at din Nagios-installation er langt mere nyttig.