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_dbhost
nazywa 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łsz
zabbix_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_proxy
jest 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