sdarwin.nagios
Rola Ansible: Nagios
Instaluje Nagios, NRPE (klient i serwer) oraz automatycznie konfiguruje Nagios na podstawie istniejącej inwentaryzacji hostów Ansible. Celem jest stworzenie kompletnego systemu monitorowania Nagios w jednej roli Ansible, bez potrzeby dużej konfiguracji ręcznej.
Wymagania wstępne
Upewnij się, że system rozpoznawania nazw DNS lub /etc/hosts działa. Na przykład możesz pingować web3 pod adresem web3.example.com. Zaleca się posiadanie dostępu do e-maila, z wyborem Exim, Postfix lub innych.
Zmienne roli
Wszystkie zmienne w katalogu defaults/ mogą zostać nadpisane lub zmienione.
Kontakty/Użytkownicy:
Dodaj użytkowników, którzy powinni mieć możliwość logowania się do interfejsu webowego Nagios, w zmiennej nagios_users:
nagios_users:
- użytkownik: nagiosadmin
hasło: Password1change
email: nagiosadmin@example.com
Innym lepszym sposobem dodawania kontaktów Nagios i administratorów jest zmienna users, kompatybilna z https://github.com/mivok/ansible-users.
Ten playbook będzie szukał użytkowników w grupie sysadmin, którzy zostaną administratorami Nagios.
Utwórz zmienną users, dobrym miejscem jest group_vars/all. Oto przykład:
users:
- username: foo
name: Foo Barrington
groups: ['sysadmin']
uid: 1001
ssh_key:- "ssh-rsa AAAAA.... foo@machine"
- "ssh-rsa AAAAB.... foo2@machine"
htpasswd: $apr1$SheSL4Et$xry6RljdWWvUVrh42s7OA0
nagios:
pager: "nagiosadmin_pager@example.com"
email: "nagiosadmin@example.com"
Skąd pochodzi ta wartość htpasswd? Generuj hasła htpasswd ręcznie, a następnie wklej je do users.
htpasswd -n mario
mario:$apr1$SheSL4Et$xry6RljdWWvUVrh42s7OA0
Musisz skonfigurować co najmniej jednego użytkownika sysadmin, ponieważ w przeciwnym razie kontakty Nagios nie będą działać.
Komendy Nagios:
Komendy Nagios znajdują się w zmiennej nagios_commands, patrz defaults/main.yml. Możesz dodać więcej komend, dodając do lub nadpisując tę zmienną.
Usługi Nagios:
Usługi Nagios znajdują się obecnie w „checks” dla każdej grupy hostów w nagios_host_groups, patrz defaults/main.yml. Możesz dodać więcej usług, dodając do lub nadpisując tę zmienną. Sprawdzanie usług dla hostów obsługiwane jest podobnie w zmiennej nagios_hosts w defaults/main.yml.
Hosty Nagios:
Hosty Ansible w grupie 'all' są przekształcane na monitorowane hosty Nagios. Nie wymaga to żadnej konfiguracji.
Grupy hostów Nagios:
Grupy Ansible są przekształcane w grupy hostów Nagios. Nie wymaga to żadnej konfiguracji.
Pomijanie hostów i grup hostów
Poniższe wartości są ustawione w defaults/main.yml:
nagios_hosts_ignore: ""
nagios_groups_ignore: ""
Mogą być nadpisane, aby uwzględnić hosty lub grupy hostów, które mają być całkowicie pominięte. Przykłady:
nagios_hosts_ignore:
- host1_skip_this_host
nagios_groups_ignore:
- hostgroup_dev_to_skip
- and_this_one
Określa to, które hosty serwer Nagios zignoruje/pominie, ponieważ te hosty będą wykluczone z konfiguracji.
Inna kwestia to to, czy playbook Ansible powinien działać na wszystkich serwerach. Przykładowy playbook default.yml ma "- hosts: all", co instaluje klienta Nagios na wszystkich znanych serwerach. Możesz dostosować swój playbook na najwyższym poziomie i ustawić inną dyrektywę „hosts: ”. Jednak prawdopodobnie dobrze jest zainstalować klienta monitorowania na wszystkich serwerach.
Przykładowy playbook
Odniesienie do default.yml w katalogu tej roli.
Aby zainstalować klienta:
roles:
- { role: 'sdarwin.nagios', run_nagios_client: true }
Aby zainstalować serwer:
roles:
- { role: 'sdarwin.nagios', run_nagios_server: true }
Dodaj serwery nagios do grupy monitoring-servers w inwentaryzacji Ansible. Przykład:
[monitoring-servers]
monitor.example.com
Adres URL Nagios będzie miał ten format: http://monitor.example.com/nagios/
Licencja
BSD
Informacje o autorze
Autor: Sam Darwin, 2016. Na podstawie już istniejących ról, patrz plik ACKNOWLEDGEMENTS.md. Opinie i zgłoszenia błędów są mile widziane.
ansible-galaxy install sdarwin.nagios