dj-wasabi.zabbix-agent
Spis treści
- Przegląd
- Wymagania
- Rozpoczęcie
- Zmienne roli
- Zależności
- Przykład Playbooka
- Molekuła
- Wdrażanie Userparameterów
- Licencja
- Informacje o autorze
Wprowadzenie
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 jeszcze nie mogą skorzystać z kolekcji. Zmiany/aktualizacje będą stosowane tylko do kolekcji, a nie w tym repozytorium.
Wymagania
Systemy operacyjne
Ta rola będzie działać na następujących systemach operacyjnych:
- Red Hat
- Fedora
- Debian
- Ubuntu
- openSUSE
- Windows (najlepsze starania)
- macOS
Będziesz potrzebować jednego z tych systemów operacyjnych. :-) Proszę o przesyłanie Pull Requestów lub sugestii, jeśli chcesz użyć tej roli dla innych systemów operacyjnych.
Dostęp do systemu lokalnego
Aby pomyślnie zainstalować rolę, wymaga ona python-netaddr
na kontrolerze, aby zarządzać adresami IP. To wymaga, aby biblioteka była dostępna na Twojej lokalnej maszynie (lub aby pip
był zainstalowany, aby móc uruchomić). To prawdopodobnie oznacza, że uruchomienie roli będzie wymagało dostępu sudo
do lokalnej maszyny i dlatego możesz potrzebować flagi -K
, aby móc wprowadzić hasło do lokalnej maszyny, jeśli nie uruchamiasz jako root.
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
- Fedora 27, 29
- OracleLinux 7.x, 8.x
- Scientific Linux 7.x, 8.x
- Ubuntu 14.04, 16.04, 18.04
- Debian 8, 9, 10
- macOS 10.14, 10.15
Zabbix 4.2
- CentOS 7.x
- Amazon 7.x
- RedHat 7.x
- Fedora 27, 29
- OracleLinux 7.x
- Scientific Linux 7.x
- Ubuntu 14.04, 16.04, 18.04
- Debian 8, 9, 10
- macOS 10.14, 10.15
Zabbix 4.0
- CentOS 7.x
- Amazon 7.x
- RedHat 7.x
- Fedora 27, 29
- OracleLinux 7.x
- Scientific Linux 7.x
- Ubuntu 14.04, 16.04, 18.04
- Debian 8, 9, 10
- macOS 10.14, 10.15
Zabbix 3.4
- CentOS 7.x
- Amazon 7.x
- RedHat 7.x
- Fedora 27, 29
- OracleLinux 7.x
- Scientific Linux 7.x
- Ubuntu 14.04, 16.04, 18.04
- Debian 7, 8, 9
Zabbix 3.2
- CentOS 7.x
- Amazon 7.x
- RedHat 7.x
- Fedora 27, 29
- 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
- xenserver 6
Rozpoczęcie
Instalacja
Instalacja tej roli jest bardzo prosta: ansible-galaxy install dj-wasabi.zabbix-agent
To zainstaluje rolę zabbix-agent w Twoim katalogu roles
.
Minimalna konfiguracja
Aby uruchomić agenta Zabbix, musisz zdefiniować następujące właściwości przed wykonaniem roli:
- zabbix_agent_version
- zabbix_agent_server
- zabbix_agent_serveractive (gdy używasz aktywnych kontroli)
zabbix_agent_version
jest opcjonalny. Najnowsza dostępna wersja major.minor Zabbix zostanie zainstalowana na hoście (lub hostach). Jeśli chcesz użyć starszej wersji, określ to w formacie major.minor. Przykład: zabbix_agent_version: 4.0
, zabbix_agent_version: 3.4
lub zabbix_agent_version: 2.2
.
zabbix_agent_server
(oraz zabbix_agent_serveractive
) powinny zawierać IP lub FQDN hosta uruchamiającego serwer Zabbix.
Problemy
Z powodu problemu omówionego na #291, wersja Ansible 2.9.{0,1,2} nie działa poprawnie na systemach Windows.
Zmienne roli
Główne zmienne
W pliku default/main.yml znajdują się zmienne, które mogą być nadpisane (lub muszą być nadpisane):
zabbix_agent_server
: Adres IP serwera zabbix lub zabbix-proxy.zabbix_agent_serveractive
: Adres IP serwera zabbix lub zabbix-proxy dla aktywnych kontroli.zabbix_agent_version
: To jest wersja zabbix. Domyślnie jest to 4.4, ale można to nadpisać na jedną z wersji wymienionych w Wersje Zabbix. Wcześniej zmiennazabbix_version
była używana bezpośrednio, ale mogło to powodować pewne niedogodności. Ta zmienna jest utrzymywana dla zachowania zgodności.zabbix_repo
: Domyślnie: zabbix- epel instaluje agenta z repozytorium EPEL
- zabbix (domyślnie) instaluje agenta z repozytorium Zabbix
- other instaluje agenta z już istniejącego lub innego repozytorium
zabbix_agent_listeninterface
: Interfejs, na którym słucha zabbix-agent. Pozostaw puste dla wszystkich.zabbix_agent_package
: Nazwa pakietu zabbix-agent. Domyślnie:zabbix-agent
. W przypadku EPEL jest automatycznie zmieniana nazwa.zabbix_sender_package
: Nazwa pakietu zabbix-sender. Domyślnie:zabbix-sender
. W przypadku EPEL jest automatycznie zmieniana nazwa.zabbix_get_package
: Nazwa pakietu zabbix-get. Domyślnie:zabbix-get
. W przypadku EPEL jest automatycznie zmieniana nazwa.zabbix_agent_package_state
: Określa, czy Zabbix-agent ma być obecny lub w najnowszej wersji.zabbix_agent_interfaces
: Lista, która konfiguruje interfejsy, które można wykorzystać przy konfigurowaniu za pomocą API.zabbix_selinux
: Włącza politykę SELinux, aby agent mógł działać. Domyślnie: False.zabbix_agent_userparameters
: Lista nazw userparameterów i skryptów (jeśli istnieją). Szczegółowy opis znajduje się w sekcji Wdrażanie Userparameterów. Domyślnie:[]
(Pusta lista).name
: Nazwa userparametru (powinna być taka sama jak nazwa pliku szablonu userparametru)scripts_dir
: Nazwa katalogu z niestandardowymi skryptami potrzebnymi dla userparameterów
zabbix_agent_userparameters_templates_src
: Wskazuje ścieżkę względną (odtemplates/
), w której są wyszukiwane szablony userparameterówzabbix_agent_userparameters_scripts_src
: Wskazuje ścieżkę względną (odfiles/
), w której są wyszukiwane skrypty userparameterówzabbix_agent_allowroot
: Zezwala na uruchamianie agenta jako 'root'. 0 - nie pozwala, 1 - pozwalazabbix_agent_runas_user
: Obniża uprawnienia do konkretnego, istniejącego użytkownika w systemie. Ma to znaczenie tylko, gdy uruchamiasz jako 'root' i AllowRoot jest wyłączone.zabbix_agent_become_on_localhost
: Ustaw naFalse
, jeśli nie potrzebujesz podwyższać uprawnień na localhost, aby lokalnie instalować pakiety za pomocą pip. Domyślnie: Truezabbix_install_pip_packages
: Ustaw naFalse
, jeśli nie chcesz instalować wymaganych pakietów pip. Przydatne, gdy całkowicie kontrolujesz swoje środowisko. Domyślnie: Truezabbix_agent_apt_priority
: Dodaje wagę (Pin-Priority
) dla repozytorium APT.
Konfiguracja specyficzna dla TLS
Te zmienne są specyficzne dla Zabbix 3.0 i wyższych:
zabbix_agent_tlsconnect
: Jak agent powinien łączyć się z serwerem lub proxy. Używane dla aktywnych kontroli.Możliwe wartości:
- niezaszyfrowane
- psk
- cert
zabbix_agent_tlsaccept
: Jakie przychodzące połączenia akceptować.Możliwe wartości:
- niezaszyfrowane
- psk
- cert
zabbix_agent_tlscafile
: Pełna ścieżka do pliku zawierającego certyfikaty CA dla weryfikacji certyfikatów.zabbix_agent_tlscrlfile
: Pełna ścieżka do pliku zawierającego odwołane certyfikaty.zabbix_agent_tlsservercertissuer
: Dozwolony wystawca certyfikatu serwera.zabbix_agent_tlsservercertsubject
: Dozwolony temat certyfikatu serwera.zabbix_agent_tlscertfile
: Pełna ścieżka do pliku zawierającego certyfikat agenta lub łańcuch certyfikatów.zabbix_agent_tlskeyfile
: Pełna ścieżka do pliku zawierającego prywatny klucz agenta.zabbix_agent_tlspskidentity
: Unikalny, wrażliwy na wielkość liter ciąg używany do identyfikacji klucza przed-szyfrowanego (PSK).zabbix_agent_tlspskidentity_file
: Pełna ścieżka do pliku zawierającego tożsamość klucza przed-szyfrowanego.zabbix_agent_tlspskfile
: Pełna ścieżka do pliku zawierającego klucz przed-szyfrowany.zabbix_agent_tlspsk_secret
: Przed-szyfrowany klucz tajny, który powinien być umieszczony w pliku skonfigurowanym wagent_tlspskfile
.zabbix_agent_tlspsk_auto
: Włącza automatyczne generowanie i przechowywanie indywidualnych kluczy przed-szyfrowanych i tożsamości na klientach.
Zmienne API Zabbix
Te zmienne muszą być nadpisane, gdy chcesz skorzystać z API Zabbix do automatycznego tworzenia lub aktualizacji hostów.
Konfiguracja szyfrowania hostów będzie dostosowana do konfiguracji agenta.
Gdy zabbix_api_create_hostgroup
lub zabbix_api_create_hosts
jest ustawione na True
, zainstaluje na hoście wykonującym playbook Ansible moduł zabbix-api
w Pythonie.
zabbix_url
: URL, na którym dostępna jest strona Zabbix. 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_hosts
: Gdy chcesz włączyć API Zabbix do tworzenia/usuwania hosta. Musi to być ustawione naTrue
, jeśli chcesz użyćzabbix_create_host
. Domyślnie:False
zabbix_api_create_hostgroup
: Gdy chcesz włączyć API Zabbix do tworzenia/usuwania grup hostów. Musi to być ustawione naTrue
, jeśli chcesz użyćzabbix_create_hostgroup
. Domyślnie:False
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_hostgroup
: obecny (Domyślnie), jeśli grupa hostów ma być utworzona, lub nieobecny, jeśli chcesz ją usunąć. To działa tylko wtedy, gdyzabbix_api_create_hostgroup
jest ustawione naTrue
.zabbix_host_status
: włączony (Domyślnie), gdy host jest monitorowany, wyłączony, gdy host jest wyłączony z monitorowania.zabbix_create_host
: obecny (Domyślnie), jeśli host ma być utworzony, lub nieobecny, jeśli chcesz go usunąć. To działa tylko wtedy, gdyzabbix_api_create_hosts
jest ustawione naTrue
.zabbix_update_host
: tak (Domyślnie), jeśli host powinien być zaktualizowany, jeśli już istnieje. To działa tylko wtedy, gdyzabbix_api_create_hosts
jest ustawione naTrue
.zabbix_useuip
: 1, jeśli połączenie z agentem Zabbix odbywa się za pomocą IP, 0 dla FQDN.zabbix_host_groups
: Lista grup hostów, do których należy ten host.zabbix_link_templates
: Lista szablonów, które muszą być połączone z tym hostem. Szablony muszą istnieć.zabbix_macros
: Lista z kluczem i wartością makra do tworzenia hostmacro's.zabbix_inventory_mode
: Konfiguracja trybu inwentaryzacji Zabbix. Potrzebne do budowania danych inwentaryzacyjnych, ręcznie podczas konfigurowania hosta lub automatycznie, korzystając z niektórych opcji automatycznego wypełniania. Musi być ustawione naautomatic
, jeśli chcesz automatycznie budować dane inwentaryzacyjne.zabbix_visible_hostname
: Konfiguracja widocznej nazwy Zabbix wewnątrz interfejsu webowego Zabbix dla węzła.zabbix_validate_certs
: tak (Domyślnie), jeśli musimy weryfikować certyfikaty tls API. Użyjno
, jeśli używane są certyfikaty samopodpisane.
Zmienne dla Windows
Uwaga
Wsparcie systemu Windows to najlepsze starania (nie mam możliwości testowania/weryfikacji zmian na różnych dostępnych instancjach Windows). PR-y dotyczące systemu Windows będą prawie natychmiastowo łączone, chyba że ktoś będzie w stanie zapewnić mechanizm testowy Windows za pomocą Travis dla Pull Requests.
zabbix_version_long
: Długa (major.minor.patch) wersja agenta Zabbix. Będzie to używane do generowania linkuzabbix_win_download_link
oraz do aktualizacji agenta Zabbix, jeślizabbix_agent_package_state: latest
.zabbix_win_download_link
: URL do pobrania plikuwin.zip
.zabbix_win_install_dir
: Katalog, w którym Zabbix ma być zainstalowany.zabbix_agent_win_logfile
: Pełna ścieżka do pliku dziennika dla agenta Zabbix.zabbix_agent_win_include
: Katalog, w którym przechowywane są specyficzne pliki konfiguracyjne Zabbix.zabbix_agent_win_svc_recovery
: Włącza ustawienia automatycznego odzyskiwania usługi agenta Zabbix.
Zmienne dla macOS
zabbix_version_long
: Długa (major.minor.patch) wersja agenta Zabbix. Będzie to używane do generowania linkuzabbix_mac_download_link
.zabbix_mac_download_link
: URL do pobrania plikupkg
.
Zmienne dla Dockera
Gdy nie chcesz instalować agenta Zabbix na hoście, ale chciałbyś uruchomić go w kontenerze, to te właściwości będą przydatne. Gdy zabbix_agent_docker
jest ustawione na True
, zostanie pobrany obraz Dockera, a kontener zostanie uruchomiony. Żadne inne instalacje nie będą wykonywane na hoście, z wyjątkiem pliku PSK i "Katalogu Zabbix Include".
Następujące katalogi są montowane w kontenerze:
- /etc/zabbix/zabbix_agentd.d:/etc/zabbix/zabbix_agentd.d
- /:/hostfs:ro
- /etc:/hostfs/etc:ro
- /proc:/hostfs/proc:ro
- /sys:/hostfs/sys:ro
- /var/run:/var/run
Pamiętaj, że używanie agenta Zabbix w kontenerze wymaga zmian w szablonie Zabbix dla systemu Linux, ponieważ /proc
, /sys
i /etc
są montowane w katalogu /hostfs
.
zabbix_agent_docker
: Gdy ustawione naTrue
, zainstaluje kontener Dockera na docelowym hoście zamiast instalacji na hoście docelowym. Domyślnie:False
zabbix_agent_docker_state
: Domyślnie:started
zabbix_agent_docker_name
: Nazwa kontenera. Domyślnie:zabbix-agent
zabbix_agent_docker_image
: Nazwa obrazu Dockera. Domyślnie:zabbix/zabbix-agent
zabbix_agent_docker_image_tag
: Tag obrazu Dockera.zabbix_agent_docker_user_gid
: Identyfikator grupy użytkownika zabbix w kontenerze.zabbix_agent_docker_user_uid
: Identyfikator użytkownika zabbix w kontenerze.zabbix_agent_docker_network_mode
: Nazwa (Docker) sieci, która powinna być używana dla kontenera. Domyślniehost
.zabbix_agent_docker_restart_policy
: Polityka ponownego uruchamiania kontenera. Domyślnie:unless-stopped
zabbix_agent_docker_privileged
: Gdy ustawione naTrue
, kontener działa w trybie z przywilejami.zabbix_agent_docker_ports
: Lista wartości<PORT>:<PORT>
do otwierania portów dla kontenera.zabbix_agent_docker_security_opts
: Lista dostępnych opcji bezpieczeństwa.zabbix_agent_docker_volumes
: Lista wszystkich katalogów, które muszą być dostępne w kontenerze.zabbix_agent_docker_env
: Słownik ze wszystkimi zmiennymi środowiskowymi, które muszą być ustawione dla kontenera.
Inne zmienne
zabbix_agent_firewall_enable
: Jeśli IPtables musi być zaktualizowane poprzez otwarcie portu TCP dla portu skonfigurowanego wzabbix_agent_listenport
.zabbix_agent_firewall_source
: Gdy podano, IPtables będzie skonfigurowane tak, aby zezwolić na ruch tylko z tego adresu IP/zakresu.zabbix_agent_firewalld_enable
: Jeśli firewalld musi być zaktualizowane poprzez otwarcie portu TCP dla portu skonfigurowanego wzabbix_agent_listenport
izabbix_agent_jmx_listenport
, jeśli jest zdefiniowany.zabbix_agent_firewalld_source
: Gdy podano, firewalld będzie skonfigurowane tak, aby pozwalać na ruch tylko dla IP skonfigurowanego wzabbix_agent_server
.zabbix_agent_firewalld_zone
: Gdy podano, zasada firewalld będzie przypisana do tej strefy (tylko jeśli zabbix_agent_firewalld_enable jest ustawione na true). Domyślne zachowanie to użycie domyślnej strefy zdefiniowanej przez zdalną konfigurację firewalld.zabbix_agent_firewall_action
: Kiedy wstawić zasady lub dołączyć do IPTables. Domyślnie:insert
.zabbix_agent_firewall_chain
: Do którejchain
dodać regułę do IPTables. DomyślnieINPUT
zabbix_agent_description
: Opis hosta w Zabbix.zabbix_agent_inventory_zabbix
: Dodaje fakty do inwentaryzacji Zabbix.
Zmienne IPMI
zabbix_agent_ipmi_authtype
: Algorytm uwierzytelniania IPMI. Możliwe wartości to 1 (callback), 2 (użytkownik), 3 (operator), 4 (admin), 5 (OEM), gdzie 2 jest domyślną wartością API.zabbix_agent_ipmi_password
: Hasło IPMI.zabbix_agent_ipmi_privilege
: Poziom uprawnień IPMI. Możliwe wartości to 1 (callback), 2 (użytkownik), 3 (operator), 4 (admin), 5 (OEM), gdzie 2 jest domyślną wartością API.zabbix_agent_ipmi_username
: Nazwa użytkownika IPMI.
proxy
Gdy docelowy host nie ma dostępu do internetu, ale masz dostępny proxy, wówczas następujące właściwości muszą być ustawione, aby pobrać pakiety przez proxy:
zabbix_http_proxy
zabbix_https_proxy
Zależności
Nie ma zależności od innych ról.
Przykład Playbooka
interfejsy agenta
To skonfiguruje interfejs agenta Zabbix na hoście.
zabbix_agent_interfaces:
- type: 1
main: 1
useip: "{{ zabbix_useuip }}"
ip: "{{ zabbix_agent_ip }}"
dns: "{{ ansible_fqdn }}"
port: "{{ zabbix_agent_listenport }}"
Inne interfejsy
Możesz również skonfigurować zabbix_agent_interfaces
, aby dodać/skonfigurować interfejsy snmp, jmx i ipmi.
Będziesz musiał użyć jednego z poniższych numerów typów podczas konfigurowania:
Typ interfejsu | Nr |
---|---|
Zabbix Agent | 1 |
snmp | 2 |
ipmi | 3 |
jmx | 4 |
Konfiguracja interfejsu snmp będzie wyglądać następująco:
zabbix_agent_interfaces:
- type: 2
main: 1
useip: "{{ zabbix_useuip }}"
ip: "{{ agent_ip }}"
dns: "{{ ansible_fqdn }}"
port: "{{ agent_listenport }}"
Zmienne w konfiguracji roli
Zawarte jest również przykład, jak użyć swojej roli (na przykład, z zmiennymi przekazanymi jako parametry), co także jest miłe dla użytkowników:
- hosts: all
roles:
- role: dj-wasabi.zabbix-agent
zabbix_agent_server: 192.168.33.30
zabbix_agent_serveractive: 192.168.33.30
zabbix_url: http://zabbix.example.com
zabbix_api_use: true # użyj zabbix_api_create_hosts i/lub zabbix_api_create_hostgroup od 0.8.0
zabbix_api_user: Admin
zabbix_api_pass: zabbix
zabbix_create_host: present
zabbix_host_groups:
- Linux Servers
zabbix_link_templates:
- Template OS Linux
- Apache APP Template
zabbix_macros:
- macro_key: apache_type
macro_value: reverse_proxy
Kombinacja group_vars i playbook
Możesz również użyć plików group_vars lub host_vars do ustawienia zmiennych potrzebnych dla tej roli. Plik, który powinieneś zmienić: group_vars/all
lub host_vars/<zabbix_server>
(gdzie
zabbix_agent_server: 192.168.33.30
zabbix_agent_serveractive: 192.168.33.30
zabbix_url: http://zabbix.example.com
zabbix_api_use: true # użyj zabbix_api_create_hosts i/lub zabbix_api_create_hostgroup od 0.8.0
zabbix_api_user: Admin
zabbix_api_pass: zabbix
zabbix_create_host: present
zabbix_host_groups:
- Linux Servers
zabbix_link_templates:
- Template OS Linux
- Apache APP Template
zabbix_macros:
- macro_key: apache_type
macro_value: reverse_proxy
a w playbooku wystarczy podać:
- hosts: all
roles:
- role: dj-wasabi.zabbix-agent
Przykład komunikacji agenta szyfrowanej PSK TLS
Zmienne np. w playbooku lub w host_vars/myhost
:
zabbix_agent_tlsaccept: psk
zabbix_agent_tlsconnect: psk
zabbix_agent_tlspskidentity: "myhost PSK"
zabbix_agent_tlspsk_secret: b7e3d380b9d400676d47198ecf3592ccd4795a59668aa2ade29f0003abbbd40d
zabbix_agent_tlspskfile: /etc/zabbix/zabbix_agent_pskfile.psk
Molekuła
Ta rola jest skonfigurowana do testowania z Molekuła. Możesz znaleźć na tej stronie więcej informacji dotyczących Molekuła: https://werner-dijkerman.nl/2016/07/10/testing-ansible-roles-with-molecule-testinfra-and-docker/
Z każdym Pull Requestem, Molekuła zostanie wykonana za pomocą travis.ci. Pull Requesty będą scalane dopiero po pomyślnym zakończeniu tych testów.
Sa dwa scenariusze, które są wykonywane przez Travisa.
domyślny
W pierwszym scenariuszu, Molekuła uruchomi 5 kontenerów Dockera z następującymi systemami operacyjnymi:
- Debian 8
- CentOS 7
- Ubuntu 16.04
- Ubuntu 18.04
- Mint
Ten scenariusz będzie wykonywał podstawową instalację/konfigurację, bez rejestracji hosta za pomocą API Zabbix do serwera.
z-serwerem
W drugim scenariuszu, Molekuła uruchomi 4 kontenery Dockera z następującymi systemami operacyjnymi:
- CentOS 7 (Serwer Zabbix)
- Debian 8
- CentOS 7
- Ubuntu 18.04
Najpierw zainstaluje się Serwer Zabbix w kontenerze. Ta instalacja korzysta z innych ról dj-wasabi w celu zainstalowania/skonfigurowania serwera Zabbix. Gdy ta instancja działa, instalowane są 3 inne agenty.
Każdy host zarejestruje się na serwerze Zabbix, a jego status powinien wynosić 0 (to oznacza, że serwer Zabbix i agent Zabbix są połączone).
Agent Ubuntu zarejestruje się za pomocą PSK, aby komunikacja między serwerem Zabbix a agentem Zabbix była szyfrowana kluczem pre-szyfrowanym.
przed-ostatnią-wersją
Trzeci i ostatni scenariusz to przed-ostatnią-wersją
. Jest to ten sam scenariusz jak domyślny
, ale używa poprzedniej wersji Zabbix.
Wdrażanie Userparameterów
Aby zainstalować niestandardowe userparameter i/lub skrypty, wymagane są następujące kroki:
- Umieść pożądany plik userparameter w katalogu
templates/userparameters
i nazwij go jako<userparameter_name>.j2
. Na przykład:templates/userparameters/mysql.j2
. Możesz zmienić domyślny katalog na niestandardowy, modyfikując zmiennązabbix_agent_userparameters_templates_src
. - Umieść katalog skryptów (jeśli istnieją) w katalogu
files/scripts
. Na przykład:files/scripts/mysql
. Możesz zmienić domyślny katalog na niestandardowy, modyfikując zmiennązabbix_agent_userparameters_scripts_src
. - Dodaj zmienną
zabbix_agent_userparameters
do playbooka jako listę słowników i zdefiniuj nazwę userparametru oraz nazwę katalogu skryptów (jeśli nie ma skryptów, po prostu nie określaj zmiennejscripts_dir
).
Przykład:
- hosts: mysql_servers
tasks:
- include_role:
name: dj-wasabi.zabbix-agent
vars:
zabbix_agent_server: zabbix.mydomain.com
zabbix_agent_userparameters:
- name: mysql
scripts_dir: mysql
- name: galera
Przykład pliku "templates/userparameters/mysql.j2":
UserParameter=mysql.ping_to,mysqladmin -uroot ping | grep -c alive
Licencja
MIT
Informacje o autorze
Proszę o wysyłanie sugestii lub pull requestów, aby uczynić tę rolę lepszą. Również daj mi znać, jeśli napotkasz jakieś problemy z instalacją lub użytkowaniem tej roli.
Github: https://github.com/dj-wasabi/ansible-zabbix-agent
mail: ikben [ at ] werner-dijkerman . nl
Installing and maintaining zabbix-agent for RedHat/Debian/Ubuntu/Windows/Suse.
ansible-galaxy install dj-wasabi.zabbix-agent