CoffeeITWorks.ansible_nagios4_server_config

Status budowy

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

O projekcie

Configure nagios, prepared to be compatible with thruk, pnp4nagios, nagios_plugins. Has feature to clone nagios config from git repos.

Zainstaluj
ansible-galaxy install CoffeeITWorks.ansible_nagios4_server_config
Licencja
mit
Pobrania
474
Właściciel
IT Works group