Nagios: externe opdrachten inschakelen
- Categorie: Netwerk
Hier zijn we weer, terug zonder oude vriend Nagios. Als je het hebt gevolgd, weet je dat ik behoorlijk wat terrein heb afgelegd met deze uitstekende tool voor netwerkmonitoring (bekijk alle Ghacks Nagios-artikelen). Daar is een reden voor, Nagios is een ongelooflijk hulpmiddel. Maar voor velen van jullie is het mogelijk dat je een fout tegenkomt bij het uitvoeren van een paar van de krachtigere functies. Deze fout treedt op wanneer u een van de externe opdrachten van Nagios probeert te gebruiken. Maar wat zijn deze externe commando's? Nagios kan opdrachten van externe applicaties uitvoeren. Hierdoor kan Nagios verder uitbreiden dan anders het geval zou zijn.
Maar als u deze fout ziet, weet u dat uw Nagios-installatie geen externe opdrachten kan gebruiken. Vrees niet, deze fout is eenvoudig te verhelpen en in dit artikel ga ik u door de oplossing leiden.
Veronderstellingen

Deze manier om aan te nemen dat je een werkende Nagios-installatie hebt, evenals root- of sudo-toegang tot je server. Dit artikel gaat er ook van uit dat u heeft geprobeerd functies te gebruiken waarvoor externe opdrachten nodig zijn. Zo niet, laten we dan eens kijken hoe.
Als u uw browser naar uw Nagios-server verwijst, klikt u op de link Service Detail en vervolgens op een van de services (zoals HTTP of SSH). Op deze pagina ziet u het vak Servicecommando's. Als je op een van die links klikt en je krijgt de foutmelding - je hebt de oplossing nodig!
De oplossing
Gered door nul toch? Soort van. Het eerste dat u moet controleren, is in het /etc/nagios3/nagios.cfg bestand . Zoek naar een regel als:
check_external_commands = 1
Als die regel is voorzien van commentaar of is ingesteld op '0', verander het dan zodat het eruit ziet als het item hierboven. Zodra u dat heeft gedaan, slaat u het bestand op en sluit u het. Start Nagios nu opnieuw op met het commando sudo /etc/init.d/nagios3 herstart . Je bent nog niet klaar.
De volgende stap is om het /etc/nagios3/cgi.cfg het dossier. U zult waarschijnlijk deze twee regels vinden:
Authorized_for_all_services = nagiosadmin
Authorized_for_all_hosts = nagiosadmin
Na deze twee regels moet u het volgende toevoegen:
Authorized_for_all_host_commands = nagiosadmin
Authorized_for_all_service_commands = nagiosadmin
Bewaar en sluit dit bestand. Start Apache nu opnieuw met het commando sudo /etc/init.d/apache2 herstart .
Nog steeds niet klaar. Nu moet u een kleine wijziging aanbrengen in / etc / groepen . Open dit bestand met je favoriete teksteditor en zoek naar een regel die eruitziet als:
nagios: x: 127:
Verander deze regel om er als volgt uit te zien:
nagios: x: 127: www-data
Sla dit bestand nu op en sluit het. Bijna klaar. Maar de volgende stap is een beetje uitdagender dan de vorige.
In de directory / var / lib / nagios3 / rw is een bestand nagios.cmd . Dit bestand heeft waarschijnlijk niet de juiste rechten. Standaard heeft alleen de gebruiker nagios toegang tot deze bestanden. Omdat we dit niet kunnen veranderen in de www-data-gebruiker (het zou andere functies van Nagios verbreken), moeten we gewoon het uitvoerbare groepsbit aan het bestand toevoegen, zoals:
sudo chmod g + x / var / lib / nagios / rw
Dat is het. Ga nu terug naar dat gedeelte Service Commands en klik op een van de links. U zou die fout niet langer moeten krijgen.
Laatste gedachten
Je hebt misschien gedacht dat je Nagios-installatie behoorlijk nuttig was. Nu u externe opdrachten kunt uitvoeren, zult u merken dat uw Nagios-installatie veel nuttiger is.