dj-wasabi.zabbix-proxy
Inhaltsverzeichnis
Übersicht
Diese Rolle wurde migriert zu: https://github.com/ansible-collections/community.zabbix/ In diesem Repository wird eine schreibgeschützte Version verfügbar sein für diejenigen, die Collections (noch) nicht verwenden können. Änderungen/Updates werden nur auf die Collection angewendet und nicht in diesem Repository.
Updates
1.0.0
Mit diesem Release 1.0.0 wurde Folgendes geändert:
- Alle Eigenschaften beginnen jetzt mit
zabbix_
. Zum Beispiel, die Eigenschaftproxy_dbhost
ist jetztzabbix_proxy_dbhost
.
Betriebssysteme
Diese Rolle funktioniert auf den folgenden Betriebssystemen:
- Red Hat
- Debian
- Ubuntu
Sie benötigen also eines dieser Betriebssysteme.. :-) Bitte senden Sie Pull Requests oder Vorschläge, wenn Sie diese Rolle für andere Betriebssysteme verwenden möchten.
Zabbix-Versionen
Siehe die folgende Liste der unterstützten Betriebssysteme mit den Zabbix-Versionen.
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
Rollenvariablen
Hauptvariablen
Es gibt einige Variablen in der default/main.yml, die geändert oder überschrieben werden können (oder müssen):
zabbix_server_host
: Die IP-Adresse oder der DNS-Name für den Zabbix-Server.zabbix_server_port
: Der Port, auf dem der Zabbix-Server läuft. Standard: 10051zabbix_version
: Dies ist die Version von Zabbix. Standardmäßig ist es 4.2, kann aber auf 4.0/3.4/3.2/3.0/2.4/2.2 überschrieben werden.zabbix_proxy_{rhel,debian,ubuntu}_version
: Dies ist die Version des Zabbix-Proxy. Zum Beispiel 4.4.4/4.2.5/4.2.8zabbix_repo
: Wahr / Falsch. Wenn Sie bereits ein Repository mit den Zabbix-Komponenten haben, können Sie es auf Falsch setzen.*zabbix_proxy_package_state
: Standard: present. Kann auf „latest“ geändert werden, um Pakete bei Bedarf zu aktualisieren.zabbix_proxy_install_database_client
: Wahr / Falsch. Falsch installiert den Datenbank-Client nicht. Standard: Wahr.zabbix_agent_become_on_localhost
: AufFalsch
setzen, wenn Sie keine Berechtigungen auf localhost erhöhen müssen, um Pakete lokal mit pip zu installieren. Standard: Wahrzabbix_proxy_manage_service
: Wahr / Falsch. Wenn Sie mehrere Zabbix-Proxy-Instanzen in einem hochverfügbaren Cluster-Setup (z. B. Pacemaker) ausführen, möchten Sie nicht, dass Ansible den Zabbix-Proxy-Dienst verwaltet, da Pacemaker die Kontrolle über den Zabbix-Proxy-Dienst hat.zabbix_install_pip_packages
: AufFalsch
setzen, wenn Sie die erforderlichen Pip-Pakete nicht installieren möchten. Nützlich, wenn Sie Ihre Umgebung vollständig kontrollieren. Standard: Wahr
Es gibt einige spezifische Variablen für den Zabbix-Proxy, die für die Konfigurationsdatei des Zabbix-Proxys verwendet werden. Diese finden Sie in der default/main.yml-Datei. Es gibt 2, die etwas Erklärung benötigen:
#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
Es gibt 3 unterstützte Datenbanktypen: mysql/postgresql und sqlite. Sie müssen die Datenbank, die Sie verwenden möchten, auskommentieren oder einkommentieren. Im obigen Beispiel wird die PostgreSQL-Datenbank verwendet. Wenn Sie MySQL verwenden möchten, kommentieren Sie die 2 Zeilen von MySQL ein und die 2 Zeilen für PostgreSQL aus.
Wenn Sie MySQL verwenden, sollten Sie den MySQL-Benutzernamen, das Passwort und den Host definieren, um die Zabbix-Datenbank vorzubereiten, andernfalls werden sie als ihre Standardwerte betrachtet (und damit wird der Verbindung zur Datenbank als Verbindung zu localhost ohne Passwort betrachtet). Die Schlüssel sind: zabbix_proxy_mysql_login_host zabbix_proxy_mysql_login_user zabbix_proxy_mysql_login_password
TLS-spezifische Konfiguration
Diese Variablen sind spezifisch für Zabbix 3.0 und höher:
*zabbix_proxy_tlsconnect
: Wie sich der Proxy mit Server oder Proxy verbinden soll. Wird für aktive Überprüfungen verwendet.Mögliche Werte:
- keine Verschlüsselung
- PSK
- Zertifikat
*zabbix_proxy_tlsaccept
: Welche eingehenden Verbindungen akzeptiert werden sollen.Mögliche Werte:
- keine Verschlüsselung
- PSK
- Zertifikat
*zabbix_proxy_tlscafile
: Vollständiger Pfad zu einer Datei, die die Zertifikate der übergeordneten CA(s) für die Überprüfung des Peer-Zertifikats enthält.*zabbix_proxy_tlscrlfile
: Vollständiger Pfad zu einer Datei, die widerrufene Zertifikate enthält.*zabbix_proxy_tlsservercertissuer
: Zulässiger Aussteller für Serverzertifikate.*zabbix_proxy_tlsservercertsubject
: Zulässiger Betreff für Serverzertifikate.*zabbix_proxy_tlscertfile
: Vollständiger Pfad zu einer Datei, die das Agentenzertifikat oder die Zertifikatskette enthält.*zabbix_proxy_tlskeyfile
: Vollständiger Pfad zu einer Datei, die den privaten Schlüssel des Agenten enthält.*zabbix_proxy_tlspskidentity
: Eindeutiger, groß-/kleinschreibungssensitiver String zur Identifizierung des gemeinsam genutzten Schlüssels.
Zabbix-API-Variablen
Diese Variablen müssen überschrieben werden, wenn Sie die Zabbix-API verwenden möchten, um Hosts automatisch zu erstellen und/oder zu aktualisieren.
Die Verschlüsselungskonfiguration für Hosts wird so eingestellt, dass sie mit der Agentenkonfiguration übereinstimmt.
Wenn zabbix_api_create_proxy
auf Wahr
gesetzt ist, wird das zabbix-api
Python-Modul auf dem Host installiert, der das Ansible-Playbook ausführt.
zabbix_url
: Die URL, unter der die Zabbix-Webseite verfügbar ist. Beispiel: http://zabbix.example.comzabbix_api_http_user
: Der HTTP-Benutzer, um mit Basic Auth auf die Zabbix-URL zuzugreifenzabbix_api_http_password
: Das HTTP-Passwort, um mit Basic Auth auf die Zabbix-URL zuzugreifenzabbix_api_create_proxy
: Wenn Sie die Zabbix-API aktivieren möchten, um den Proxy zu erstellen/löschen. Dies muss aufWahr
gesetzt werden, wenn Siezabbix_create_proxy
verwenden möchten. Standard:Falsch
zabbix_api_user
: Benutzername des Benutzers mit API-Zugriff.zabbix_api_pass
: Passwort für den Benutzer mit API-Zugriff.zabbix_create_proxy
: vorhanden (Standard), wenn der Proxy erstellt werden soll oder abwesend, wenn Sie ihn löschen möchten. Dies funktioniert nur, wennzabbix_api_create_proxy
aufWahr
gesetzt ist.zabbix_proxy_status
: aktiv (Standard), wenn der Proxy aktiv oder passiv sein soll.
Abhängigkeiten
Sie müssen die richtige Datenbankrolle selbst finden. Ich möchte nur Rollen verwenden, die die 3 Hauptbetriebssysteme unterstützen, und momentan kann ich keine finden. Wenn es eine Rolle gibt, die diese 3 Betriebssysteme unterstützt, lassen Sie es mich bitte wissen, und ich werde sie als Abhängigkeit verwenden.
Beispiel-Playbook
Es ist immer hilfreich, ein Beispiel dafür zu geben, wie man Ihre Rolle verwendet (zum Beispiel mit Variablen, die als Parameter übergeben werden):
- hosts: zabbix-proxy
sudo: ja
roles:
- { role: dj-wasabi.zabbix-proxy, zabbix_server_host: 192.168.1.1, database_type: pgsql, database_type_long: postgresql }
Lizenz
GPLv3
Autoreninformationen
Dies ist mein erster Versuch, eine Ansible-Rolle zu erstellen. Bitte senden Sie Vorschläge oder Pull Requests, um diese Rolle zu verbessern.
Github: https://github.com/dj-wasabi/ansible-zabbix-proxy
E-Mail: ikben [ at ] werner-dijkerman . nl
Installing and maintaining zabbix-proxy for RedHat/Debian/Ubuntu.
ansible-galaxy install dj-wasabi.zabbix-proxy