Nagios: Włącz polecenia zewnętrzne
- Kategoria: Sieć
Znowu jesteśmy, z powrotem z twoim starym przyjacielem Nagiosem. Jeśli śledziłeś, wiesz, że omówiłem całkiem sporo dzięki temu wyjątkowemu narzędziu do monitorowania sieci (sprawdź wszystkie artykuły Ghacks Nagios). Jest ku temu powód, Nagios jest niesamowitym narzędziem. Jednak wielu z was mogło napotkać błąd podczas próby uruchomienia kilku bardziej zaawansowanych funkcji. Ten błąd występuje, gdy próbujesz użyć któregokolwiek z zewnętrznych poleceń Nagios. Ale jakie są te zewnętrzne polecenia? Nagios może uruchamiać polecenia z zewnętrznych aplikacji. To pozwala Nagiosowi rozwinąć się dalej niż mógłby to zrobić w innym przypadku.
Ale kiedy widzisz ten błąd, wiesz, że Twoja instalacja Nagios nie może używać żadnych zewnętrznych poleceń. Nie bój się, ten błąd jest łatwy do przezwyciężenia. W tym artykule przeprowadzę Cię przez proces naprawy.
Założenia

W ten sposób założysz, że masz działającą instalację Nagios, a także dostęp root lub sudo do swojego serwera. W tym artykule przyjęto również, że próbowano używać funkcji wymagających poleceń zewnętrznych. Jeśli nie, zobaczmy, jak to zrobić.
Jeśli kierujesz swoją przeglądarkę na serwer Nagios, kliknij łącze Szczegóły usługi, a następnie kliknij jedną z usług (na przykład HTTP lub SSH). Na tej stronie zobaczysz pole Polecenia obsługi. Jeśli klikniesz jeden z tych linków i pojawi się błąd - potrzebujesz poprawki!
Poprawka
Zapisane przez zero, prawda? Raczej. Pierwszą rzeczą do sprawdzenia jest plik Plik /etc/nagios3/nagios.cfg . Poszukaj linii takiej jak:
check_external_commands = 1
Jeśli ta linia jest zakomentowana lub ustawiona na „0”, zmień ją, aby wyglądała jak powyższa pozycja. Gdy to zrobisz, zapisz i zamknij plik. Teraz uruchom ponownie Nagios za pomocą polecenia sudo /etc/init.d/nagios3 restart . Jeszcze nie skończyłeś.
Następnym krokiem jest otwarcie pliku /etc/nagios3/cgi.cfg plik. Najprawdopodobniej znajdziesz te dwie linie:
Authorized_for_all_services = nagiosadmin
Authorized_for_all_hosts = nagiosadmin
Po tych dwóch wierszach musisz dodać:
Authorized_for_all_host_commands = nagiosadmin
Authorized_for_all_service_commands = nagiosadmin
Zapisz i zamknij ten plik. Teraz uruchom ponownie Apache za pomocą polecenia sudo /etc/init.d/apache2 restart .
Nadal nie skończone. Teraz musisz dokonać niewielkiej zmiany w / etc / groups . Otwórz ten plik za pomocą swojego ulubionego edytora tekstu i poszukaj linii, która wygląda następująco:
nagios: x: 127:
Zmień tę linię, aby wyglądała następująco:
nagios: x: 127: www-data
Teraz zapisz i zamknij ten plik. Prawie skończone. Ale następny krok jest nieco trudniejszy niż poprzedni.
W katalogu / var / lib / nagios3 / rw jest plikiem nagios.cmd . Ten plik najprawdopodobniej nie ma ustawionych poprawnych uprawnień. Domyślnie tylko nagios użytkownika ma dostęp do tych plików. Ponieważ nie możemy tego zmienić na użytkownika danych www (złamałoby to inne funkcje Nagios), musimy po prostu dodać plik wykonywalnej grupy do pliku w następujący sposób:
sudo chmod g + x / var / lib / nagios / rw
Otóż to. Wróć teraz do sekcji Polecenia serwisowe i kliknij jedno z łączy. Nie powinieneś już otrzymywać tego błędu.
Końcowe przemyślenia
Mogłeś pomyśleć, że twoja instalacja Nagios była całkiem przydatna. Teraz, gdy możesz wykonywać zewnętrzne polecenia, przekonasz się, że twoja instalacja Nagios jest znacznie bardziej użyteczna.