Nagios: Aktivera externa kommandon

Prova Vårt Instrument För Att Eliminera Problem

Här är vi igen, tillbaka med din gamla vän Nagios. Om du har följt med att du vet att jag har täckt en hel del mark med detta enastående nätverksövervakningsverktyg (kolla alla Ghacks Nagios artiklar). Det finns en anledning till detta, Nagios är ett otroligt verktyg. Men för många av er kanske du har stött på ett fel när du försökte köra några av de kraftfullare funktionerna. Det här felet inträffar när du försöker använda någon av Nagios externa kommandon. Men vad är dessa externa kommandon? Nagios kan köra kommandon från externa applikationer. Detta gör att Nagios kan expandera längre än det annars skulle kunna göra.

Men när du ser detta fel vet du att din Nagios-installation inte kan använda några externa kommandon. Rädsla inte, det här felet är enkelt att komma över, och i den här artikeln kommer jag att leda dig genom fixen.

antaganden

Figur 1

Så antar du att du har en fungerande Nagios-installation samt root- eller sudo-åtkomst till din server. Den här artikeln antar också att du har försökt använda funktioner som kräver externa kommandon. Om inte, låt oss ta en titt på hur.

Om du pekar din webbläsare till din Nagios-server klickar du på länken Serviceinformation och klickar sedan på en av tjänsterna (som HTTP eller SSH). På den här sidan ser du rutan Servicekommandon. Om du klickar på en av dessa länkar så får du felet - du behöver fixa!

Fixet

Räddad med noll, eller hur? Ungefär. Det första du ska kontrollera är i /etc/nagios3/nagios.cfg-fil . Leta efter en linje som:

check_external_commands = 1

Om den raden antingen kommenteras eller är inställd på '0', ändra den så att den ser ut som posten ovan. När du har gjort det, spara och stäng filen. Starta nu Nagios med kommandot sudo /etc/init.d/nagios3 omstart . Du är inte klar än.

Nästa steg är att öppna /etc/nagios3/cgi.cfg fil. Du hittar troligen dessa två rader:

authorized_for_all_services = nagiosadmin

authorized_for_all_hosts = nagiosadmin

Efter dessa två rader måste du lägga till följande:

authorized_for_all_host_commands = nagiosadmin

authorized_for_all_service_commands = nagiosadmin

Spara och stäng den här filen. Starta om Apache nu med kommandot sudo /etc/init.d/apache2 omstart .

Fortfarande inte gjort. Nu måste du göra en liten förändring till / etc / grupper . Öppna den här filen med din favorittextredigerare och leta efter en rad som ser ut:

nagios: x: 127:

Ändra den här raden så att den ser ut:

nagios: x: 127: www-data som

Spara och stäng den här filen. Nästan klar. Men nästa steg är lite mer utmanande det föregående.

I katalogen / var / lib / nagios3 / rw är en fil nagios.cmd . Denna fil har sannolikt inte rätt rättigheter. Som standard har bara användaren nagios åtkomst till dessa filer. Eftersom vi inte kan ändra detta till www-datanvändaren (det skulle bryta andra funktioner i Nagios), måste vi bara lägga till den körbara gruppbiten till filen så:

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

Det är allt. Gå tillbaka till det servicekommandon och klicka på en av länkarna. Du bör inte längre få det felet.

Slutgiltiga tankar

Du kanske tyckte att din Nagios-installation var ganska användbar. Nu när du kan köra externa kommandon hittar du att din Nagios-installation är mycket mer användbar.