dj-wasabi.zabbix-proxy
Spis treści
Przegląd
Ta rola została przeniesiona do: https://github.com/ansible-collections/community.zabbix/ W tym repozytorium będzie dostępna wersja tylko do odczytu dla tych, którzy nie mogą jeszcze korzystać z kolekcji. Zmiany/aktualizacje będą stosowane tylko w kolekcji, a nie w tym repozytorium.
Aktualizacje
1.0.0
W wydaniu 1.0.0 nastąpiły następujące zmiany:
- Wszystkie właściwości zaczynają się teraz od
zabbix_. Na przykład, właściwość o nazwieproxy_dbhostnazywa się terazzabbix_proxy_dbhost.
Systemy operacyjne
Ta rola działa na następujących systemach operacyjnych:
- Red Hat
- Debian
- Ubuntu
Więc potrzebujesz jednego z tych systemów... :-) Proszę przesyłać prośby o włączenie lub sugestie, jeśli chcesz użyć tej roli dla innych systemów operacyjnych.
Wersje Zabbix
Zobacz poniższą listę obsługiwanych systemów operacyjnych z wersjami Zabbix.
Zabbix 4.4
- CentOS 7.x, 8.x
- Amazon 7.x
- RedHat 7.x, 8.x
- OracleLinux 7.x, 8.x
- Scientific Linux 7.x, 8.x
- Ubuntu 14.04, 16.04, 18.04
- Debian 8, 9
Zabbix 4.2
- CentOS 7.x
- Amazon 7.x
- RedHat 7.x
- OracleLinux 7.x
- Scientific Linux 7.x
- Ubuntu 14.04, 16.04, 18.04
- Debian 8, 9
Zabbix 4.0
- CentOS 7.x
- Amazon 7.x
- RedHat 7.x
- OracleLinux 7.x
- Scientific Linux 7.x
- Ubuntu 14.04, 16.04, 18.04
- Debian 8, 9
Zabbix 3.4
- CentOS 7.x
- Amazon 7.x
- RedHat 7.x
- OracleLinux 7.x
- Scientific Linux 7.x
- Ubuntu 14.04, 16.04
- Debian 7, 8, 9
Zabbix 3.2
- CentOS 7.x
- Amazon 7.x
- RedHat 7.x
- OracleLinux 7.x
- Scientific Linux 7.x
- Ubuntu 14.04, 16.04
- Debian 7, 8
Zabbix 3.0
- CentOS 5.x, 6.x, 7.x
- Amazon 5.x, 6.x, 7.x
- RedHat 5.x, 6.x, 7.x
- OracleLinux 5.x, 6.x, 7.x
- Scientific Linux 5.x, 6.x, 7.x
- Ubuntu 14.04
- Debian 7, 8
Zabbix 2.4
- CentOS 6.x, 7.x
- Amazon 6.x, 7.x
- RedHat 6.x, 7.x
- OracleLinux 6.x, 7.x
- Scientific Linux 6.x, 7.x
- Ubuntu 12.04, 14.04
- Debian 7
Zabbix 2.2
- CentOS 5.x, 6.x
- RedHat 5.x, 6.x
- OracleLinux 5.x, 6.x
- Scientific Linux 5.x, 6.x
- Ubuntu 12.04
- Debian 7
Zmienne roli
Główne zmienne
Istnieje kilka zmiennych w pliku default/main.yml, które można (lub należy) zmienić/zmodyfikować:
zabbix_server_host: Adres IP lub nazwa DNS serwera Zabbix.zabbix_server_port: Port, na którym działa serwer Zabbix. Domyślnie: 10051zabbix_version: Wersja Zabbix. Domyślnie to 4.2, ale można ją zmienić na 4.0/3.4/3.2/3.0/2.4/2.2.zabbix_proxy_{rhel,debian,ubuntu}_version: Wersja proxy Zabbix. Na przykład 4.4.4/4.2.5/4.2.8zabbix_repo: Prawda / Fałsz. Jeśli już masz repozytorium z komponentami Zabbix, możesz ustawić to na Fałsz.*zabbix_proxy_package_state: Domyślnie: obecny. Można zmienić na "największy", aby zaktualizować pakiety w razie potrzeby.zabbix_proxy_install_database_client: Prawda / Fałsz. Fałsz nie instaluje klienta bazy danych. Domyślnie: Prawda.zabbix_agent_become_on_localhost: Ustaw naFałsz, jeśli nie potrzebujesz podnosić uprawnień na localhost do lokalnej instalacji pakietów z użyciem pip. Domyślnie: Prawda.zabbix_proxy_manage_service: Prawda / Fałsz. Gdy uruchamiasz wiele proxy Zabbix w konfiguracji o wysokiej dostępności (np. pacemaker), nie chcesz, aby Ansible zarządzał usługą proxy Zabbix, ponieważ Pacemaker kontroluje tę usługę.zabbix_install_pip_packages: Ustaw naFałsz, jeśli nie chcesz instalować wymaganych pakietów pip. Przydatne, gdy całkowicie kontrolujesz swoje środowisko. Domyślnie: Prawda.
Są także zmienne specyficzne dla proxy Zabbix, które będą używane w pliku konfiguracyjnym proxy Zabbix. Można je znaleźć w pliku default/main.yml. Oto 2, które wymagają wyjaśnienia:
#zabbix_proxy_database: mysql
#zabbix_proxy_database_long: mysql
#zabbix_proxy_database: sqlite3
#zabbix_proxy_database_long: sqlite3
zabbix_proxy_database: pgsql
zabbix_proxy_database_long: postgresql
Obsługiwane są 3 typy baz danych: mysql/postgresql i sqlite. Należy skomentować lub odkomentować bazę danych, którą chcesz użyć. W przykładzie powyżej używana jest baza danych postgresql. Jeśli chcesz użyć mysql, odkomentuj 2 linie dotyczące mysql i skomentuj 2 linie dla postgresql.
Jeśli używasz mysql, powinieneś zdefiniować nazwę użytkownika mysql, hasło i host, aby przygotować bazę danych Zabbix, w przeciwnym razie będą one uważane za domyślne wartości (a połączenie z bazą danych będzie traktowane jako połączenie do localhost bez hasła). Klucze to: zabbix_proxy_mysql_login_host zabbix_proxy_mysql_login_user zabbix_proxy_mysql_login_password
Specyficzne konfiguracje TLS
Te zmienne są specyficzne dla Zabbix 3.0 i wyższych:
*zabbix_proxy_tlsconnect: Jak proxy powinno łączyć się z serwerem lub innym proxy. Używane do aktywnych kontroli.Możliwe wartości:
- no_encryption
- PSK
- certificate
*zabbix_proxy_tlsaccept: Jakie przychodzące połączenia zaakceptować.Możliwe wartości:
- no_encryption
- PSK
- certificate
*zabbix_proxy_tlscafile: Pełna ścieżka do pliku zawierającego główne certyfikaty CA do weryfikacji certyfikatów peer.*zabbix_proxy_tlscrlfile: Pełna ścieżka do pliku zawierającego unieważnione certyfikaty.*zabbix_proxy_tlsservercertissuer: Dozwolony wydawca certyfikatu serwera.*zabbix_proxy_tlsservercertsubject: Dozwolony temat certyfikatu serwera.*zabbix_proxy_tlscertfile: Pełna ścieżka do pliku zawierającego certyfikat agenta lub łańcuch certyfikatów.*zabbix_proxy_tlskeyfile: Pełna ścieżka do pliku zawierającego prywatny klucz agenta.*zabbix_proxy_tlspskidentity: Unikalny, wrażliwy na wielkość liter ciąg używany do identyfikacji klucza wstępnie udostępnionego.
Zmienne API Zabbix
Te zmienne muszą być zmienione, gdy chcesz korzystać z API Zabbix do automatycznego tworzenia i aktualizacji hostów.
Konfiguracja szyfrowania hosta zostanie ustawiona tak, aby odpowiadała konfiguracji agenta.
Gdy zabbix_api_create_proxy jest ustawione na Prawda, zainstaluje na hoście wykonującym playbook Ansible moduł zabbix-api w Pythonie.
zabbix_url: URL, pod którym dostępna jest strona Zabbix. Na przykład: http://zabbix.example.comzabbix_api_http_user: Użytkownik HTTP do uzyskania dostępu do URL Zabbix za pomocą Basic Authzabbix_api_http_password: Hasło HTTP do uzyskania dostępu do URL Zabbix za pomocą Basic Authzabbix_api_create_proxy: Gdy chcesz włączyć API Zabbix do tworzenia/usuwania proxy. Należy to ustawić naPrawda, jeśli chcesz korzystać zzabbix_create_proxy. Domyślnie:Fałszzabbix_api_user: Nazwa użytkownika, który ma dostęp do API.zabbix_api_pass: Hasło dla użytkownika, który ma dostęp do API.zabbix_create_proxy: obecny (domyślnie) jeśli proxy ma być utworzone lub nieobecny, jeśli chcesz je usunąć. Działa to tylko wtedy, gdyzabbix_api_create_proxyjest ustawione naPrawda.zabbix_proxy_status: aktywny (domyślnie), jeśli proxy ma być aktywne, lub pasywny.
Zależności
Musisz samodzielnie znaleźć odpowiednią rolę bazy danych. Chcę używać tylko ról, które wspierają 3 główne systemy operacyjne i jak na razie nie mogę takiej znaleźć. Jeśli jest rola, która obsługuje te 3 systemy operacyjne, daj mi znać, a wykorzystam ją jako zależność.
Przykładowy playbook
Zawsze miło jest dołączyć przykład użycia twojej roli (na przykład z przekazywaniem zmiennych jako parametrów):
- hosts: zabbix-proxy
sudo: tak
roles:
- { rola: dj-wasabi.zabbix-proxy, zabbix_server_host: 192.168.1.1, database_type: pgsql, database_type_long: postgresql }
Licencja
GPLv3
Informacje o autorze
To moja pierwsza próba stworzenia roli ansible, więc proszę o przesyłanie sugestii lub pull requestów, aby poprawić tę rolę.
Github: https://github.com/dj-wasabi/ansible-zabbix-proxy
mail: ikben [ at ] werner-dijkerman . nl
Installing and maintaining zabbix-proxy for RedHat/Debian/Ubuntu.
ansible-galaxy install dj-wasabi.zabbix-proxy