Nagios: Aktiver eksterne kommandoer

Prøv Instrumentet Vårt For Å Eliminere Problemer

Her er vi igjen, tilbake med din gamle venn Nagios. Hvis du har fulgt med, vet du at jeg har dekket ganske mye grunn med dette enestående nettverksovervåkningsverktøyet (sjekk alle Ghacks Nagios-artikler). Det er en grunn til dette, Nagios er et utrolig verktøy. Men for mange av dere har du kanskje kommet over en feil da du forsøkte å kjøre noen av de kraftigere funksjonene. Denne feilen skjer når du prøver å bruke noen av Nagios 'eksterne kommandoer. Men hva er disse eksterne kommandoene? Nagios er i stand til å kjøre kommandoer fra eksterne applikasjoner. Dette gjør at Nagios kan utvide seg lenger enn det ellers kunne gjort.

Men når du ser denne feilen, vet du at Nagios-installasjonen din ikke kan bruke eksterne kommandoer. Frykt ikke, denne feilen er enkel å komme over, og i denne artikkelen skal jeg lede deg gjennom løsningen.

Antagelser

Figur 1

Slik antar du at du har en fungerende Nagios-installasjon, i tillegg til root- eller sudo-tilgang til serveren din. Denne artikkelen forutsetter også at du har prøvd å bruke funksjoner som krever eksterne kommandoer. Hvis ikke, la oss ta en titt på hvordan.

Hvis du peker nettleseren din til Nagios-serveren din, klikker du på koblingen Tjenestedetalj og klikker deretter på en av tjenestene (for eksempel HTTP eller SSH). På denne siden ser du Servicekommandoer-boksen. Hvis du klikker på en av disse koblingene, og du får feilen, trenger du å fikse det!

Løsningen

Spart med null ikke sant? På en måte. Den første tingen å sjekke er i /etc/nagios3/nagios.cfg-fil . Se etter en linje som:

check_external_commands = 1

Hvis den linjen enten er kommentert eller satt til '0', endrer du den slik at den ser ut som oppføringen over. Når du har gjort det, kan du lagre og lukke filen. Start Nagios på nytt med kommandoen sudo /etc/init.d/nagios3 omstart . Du er ikke ferdig ennå.

Neste trinn er å åpne opp /etc/nagios3/cgi.cfg fil. Du finner mest sannsynlig disse to linjene:

authorized_for_all_services = nagiosadmin

authorized_for_all_hosts = nagiosadmin

Etter disse to linjene, må du legge til følgende:

authorized_for_all_host_commands = nagiosadmin

authorized_for_all_service_commands = nagiosadmin

Lagre og lukk denne filen. Start Apache på nytt med kommandoen sudo /etc/init.d/apache2 omstart .

Fortsatt ikke gjort. Nå må du gjøre en liten endring til / etc / grupper . Åpne denne filen med din favoritt tekstredigerer, og se etter en linje som ser ut:

Nagios: x: 127:

Endre denne linjen slik at den ser ut:

Nagios: x: 127: www-data

Lagre og lukk denne filen nå. Nesten ferdig. Men neste trinn er litt mer utfordrende det forrige.

I katalogen / var / lib / nagios3 / rw er en fil nagios.cmd . Denne filen har sannsynligvis ikke de riktige rettighetene. Som standard har bare brukeren nagios tilgang til disse filene. Siden vi ikke kan endre dette til www-data-brukeren (det vil ødelegge andre funksjoner i Nagios), må vi bare legge den kjørbare gruppebiten til filen slik:

sudo chmod g + x / var / lib / nagios / rw

Det er det. Gå tilbake til den delen Servicekommandoer og klikk på en av lenkene. Du skal ikke lenger få den feilen.

Siste tanker

Du har kanskje trodd at din Nagios-installasjon var ganske nyttig. Nå som du kan utføre eksterne kommandoer, vil du finne ut at Nagios-installasjonen er mer nyttig.