dorancemc.ansible_nagioscore
Nagios Core
Rola do wdrożenia Nagios Core
Wymagania
Brak
Zmienne roli
Obiekty są zdefiniowane w plikach YAML, które są przekształcane w pliki konfiguracyjne z szablonów.
Szczegóły dotyczące zmiennych można znaleźć w folderze default/main.
Zmienne określone dla systemu operacyjnego są zdefiniowane w folderze vars.
Zmień domyślne wartości w pliku vars.yaml i zaszyfruj ten plik.
Aby zmodyfikować dane zmiennych, skopiuj folder nagios znajdujący się w głównym folderze do lokalnego folderu zasobów, najlepiej do folderu group_vars lub host_vars.
- Hosty i usługi
Hosty i usługi mogą być definiowane w jednej zmiennej lub w plikach.
W pliku localhost.yaml znajdziesz przykład definiowania nowych hostów.
Skopiuj folder files/nagios w preferowane miejsce.
Możesz tworzyć pliki dla każdego hosta, aby zdefiniować hosty i usługi. Stwórz folder i zaktualizuj zmienną, aby wskazać lokalizację plików.# nagios_hosts_path: inventory/nagios_hosts
W folderze inventory utwórz plik w ten sposób:
_host:
host_name: nazwa_hosta #wymagane
address: 192.168.0.1 #jeśli nie jest zdefiniowany, zostanie zastąpiony nazwą
alias: Opis Serwera
use: template #jeśli nie jest zdefiniowane, nagios_host_template_default jest domyślnym szablonem
_services:
nazwa_usługi: komendaserwisowa!argumenty # definiowane z 'nagios_service_template_default' jako szablon usługi
nazwa_usługi-inna:
use: service_template
check_command: komendaserwisowa!argumenty!argumenty #syntaks: <nazwa_komendy>!$ARG1$!$ARG2$
#sprawdź plik commands.yaml, aby zweryfikować komendy serwisowe i parametry
Zdefiniuj grupy hostów i grupy usług w zmiennych nagios_hostgroups
i nagios_servicegroups
,
a następnie możesz dodać, czy jeden host i usługa do nich należy.
- Kontakty
Sprawdź plik contacts.yaml, aby uzyskać więcej szczegółów dotyczących zmiennych.
Aby upewnić się, że użytkownik został usunięty z pliku httpasswd, dodaj dane state: absent
w definicji kontaktu,
a użytkownik zostanie usunięty z definicji kontaktów i pliku htpasswd.
- Grupy Kontaktów
Grupy kontaktów to najlepszy sposób na zarządzanie powiadomieniami, tworzenie kontaktu i dołączanie do grup.
Jeśli grupa kontaktu jest zdefiniowana na hoście, wszystkie usługi dziedziczą tę samą grupę kontaktów,
lub możesz zdefiniować jedną grupę kontaktów dla każdej usługi.
Zależności
Brak
Przykład playbooka
Zdefiniuj swoją grupę nagios i włącz wszystkie swoje serwery nagios tam
[nagios]
nagios.example.com ansible_host=192.168.243.220
Dodaj to do domyślnego playbooka:
- hosts: nagios
roles:
- { role: dorancemc.ansible-nagioscore, tags: [ nagioscore ] }
Uruchom swój playbook, aby zastosować tę rolę
ansible-playbook --limit ubuntu playbook.yaml --tags nagioscore
Jeśli chcesz zastosować tylko konfigurację, po prostu zastosuj tag nagios_config
ansible-playbook --limit ubuntu playbook.yaml --tags nagios_config
Grafana
To wdrożenie wspiera integrację z grafaną. Po wdrożeniu możesz ręcznie zainstalować grafanę
i postępować zgodnie z tymi instrukcjami, aby zakończyć integrację.
https://support.nagios.com/kb/article/nagios-core-using-grafana-with-pnp4nagios-803.html#Grafana_Config
Lub użyj przepisu ansible i skonfiguruj te zmienne, aby ukończyć integrację.
https://github.com/cloudalchemy/ansible-grafana
grafana_plugins:
- sni-pnp-datasource
grafana_datasources:
- name: PNP
type: sni-pnp-datasource
isDefault: true
access: proxy
url: 'http://127.0.0.1/pnp4nagios/'
basicAuth: false
Licencja
BSD
Informacje o autorze
Dorance Martinez @dorancemc
ansible-galaxy install dorancemc.ansible_nagioscore