CoffeeITWorks.ansible_nagios4_server_config
Nazwa roli
Rola, która konfiguruje Nagios i synchronizuje konfigurację Nagios z repozytoriów Git. Ta rola jest przygotowana i kompatybilna z innymi rolami Nagios w ansiblecoffee, interfejsem Thruk, PNP4Nagios itp.
Wymagania
Brak wymagań, wystarczy, że utrzymasz system zaktualizowany. Na razie przetestowano tylko na Ubuntu 14.04.
Wsparcie dla dystrybucji roli
Ubuntu: działa RedHat: Nie gotowe
Zmienne roli
Zobacz wszystkie w defaults/main.yml
Dodaj do swoich zmiennych host_vars lub group_vars:
Dodatkowe opcje konfiguracji Nagios
I dodaj do trybu tylko do odczytu:
nagios_cgi_authorized_for_read_only: user1, user2
Lub zmień określone uprawnienia:
nagios_cgi_authorized_for_system_information: nagiosadmin
nagios_cgi_authorized_for_configuration_information: nagiosadmin
nagios_cgi_authorized_for_system_commands: nagiosadmin
nagios_cgi_authorized_for_all_services: nagiosadmin,user1,user2
nagios_cgi_authorized_for_all_hosts: nagiosadmin,user1,user2
nagios_cgi_authorized_for_all_service_commands: nagiosadmin
nagios_cgi_authorized_for_all_host_commands: nagiosadmin
Wyłącz powiadomienia na hostach, które nie są wymagane, używając host_vars/nazwa_hosta
nagios_config_enable_notifications: 0
Funkcja klonowania repozytoriów
Jeśli chcesz, możesz ustawić jakieś repozytorium Git do klonowania konfiguracji w określonym podkatalogu, to jest doskonała funkcja tej roli. Możesz mieć wiele repozytoriów, na przykład:
- Repozytorium sieciowe, katalog: "net"
- Repozytorium serwerów, katalog: "servers"
- Repozytorium usług serwerów, katalog: "services"
Możesz następnie ponownie użyć tylko kilku z nich lub dodać różne konfiguracje dla tej zmiennej do innych hostów, na przykład:
- Zdalny host bez sprawdzania usług
- Serwer testowy z repozytorium testowym, katalog: "testing" i wszystkie poprzednie repozytoria.
Możesz następnie użyć tagu: "config_nagios" w swoim zadaniu ansible-playbook, aby synchronizować wszystkie swoje serwery za każdym razem, gdy aktualizujesz repozytoria.
Nawet lepiej: Użyj czegoś takiego jak githook Jenkins, aby automatycznie uruchomić zadanie, które wywołuje tag: config_nagios, a wszystkie Twoje serwery będą automatycznie synchronizowane za każdym razem, gdy wprowadzisz coś nowego do swoich repozytoriów Nagios z nową konfiguracją.
Przykład:
nagios_config_cfg_dirs_git:
- { repo: "http://server/user/repo.git", version: "master", dir: "repo"}
- { repo: "http://users:password@server/user/repo2.git", version: "master", dir: "repo2"}
Możesz także użyć innej zmiennej z kluczem ssh:
Najpierw utwórz katalog na klucze na zdalnym serwerze dla użytkownika ansible
cd
mkdir keys
Następnie wygeneruj klucze i zapisz jako nagios_key_rsa
nagios_config_cfg_dirs_git_rsa:
- { repo: "git@server:user/repo.git", version: "master", dir: "repo"}
Gdy zmienna nagios_config_cfg_dirs_git_rsa istnieje, rola będzie szukać /home/remoteuser/keys/nagios_key_rsa, aby jej użyć.
Zależności
Powinien tu być podany wykaz innych ról hostowanych w Galaxy, a także wszelkie szczegóły dotyczące parametrów, które mogą wymagać ustawienia dla innych ról, lub zmiennych, które są używane z innych ról.
Przykład Playbook
Pełna lista ról:
- name: zastosuj ustawienia Nagios
hosts: nagios4_servers
become: yes
become_method: sudo
roles:
- { role: nagios4_server, tags: ["install", "nagios4_server_all", "nagios4_server"] }
- { role: nagios4_server_plugins, tags: ["install", "nagios4_server_all", "nagios4_server_plugins"] }
- { role: nagios4_server_pnp4nagios, tags: ["install", "nagios4_server_all", "nagios4_server_pnp4nagios"] }
- { role: nagios4_server_snmptrap, tags: ["install", "nagios4_server_all", "nagios4_server_snmptrap"] }
- { role: ANXS.mysql, tags: ["install", "nagios4_server_all", "nagios4_server_thruk", "ANXS.mysql"] }
- { role: nagios4_server_thruk, tags: ["install", "nagios4_server_all", "nagios4_server_thruk"] }
- { role: postfix_client, tags: ["install", "nagios4_server_all", "postfix_client"] }
# Dodatkowe tagi: rola/tag
# nagios4_server - config_nagios
# nagios4_server - nagios4_server_main_config
# nagios4_server - config_nagios_cron
# nagios4_server_plugins - config_nagios_plugins
# nagios4_server_plugins - test_nagios_plugins
# nagios4_server_pnp4nagios - test_nagios_pnp4nagios
# nagios4_server_thruk - config_nagios_thruk_cron
# nagios4_server_thruk - test_nagios_thruk
# nagios4_server_thruk_git - config_nagios_thruk_git_cron
tagi:
nagios4_server_main_config
nagios_config
config_nagios_cron
Za zaporami
Aby klienci mogli łączyć się z hostami za zaporą, musisz otworzyć te porty:
TCP:
- Ping: aktywność hosta
- 5666: nrpe (Windows i Linux)
- 1248: nsclient (tylko Windows)
- 9666: dla niestandardowego nrpe, gdy używany jest 5666
- 22: sprawdzenie ssh
- 80,443: sprawdzenia http, https
UDP:
- 161: sprawdzenia SNMP
Licencja
BSD
Informacje o autorze
Główni autorzy: Diego Daguerre, Pablo Estigarribia. Strona: https://github.com/ansiblecoffee
Configure nagios, prepared to be compatible with thruk, pnp4nagios, nagios_plugins. Has feature to clone nagios config from git repos.
ansible-galaxy install CoffeeITWorks.ansible_nagios4_server_config