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:

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:

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.

Analytics

O projekcie

Install Nagios 4.x on Ubuntu or CentOS

Zainstaluj
ansible-galaxy install sdarwin.nagios
Licencja
isc
Pobrania
539
Właściciel