Installazione di un proxy Zabbix

From RVM Wiki
Revision as of 17:08, 5 September 2024 by Gabriele.vivinetto (talk | contribs) (Docker)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Docker

Usare questo docker-compose, che binda direttamente sull'IP dell'host docker attivando un proxy ATTIVO, che non ha bisogno di portmap dall'esterno:

services:
  zabbix-proxy:
    image: zabbix/zabbix-proxy-sqlite3:ubuntu-6.4-latest
    network_mode: host
    ports:
      - 0.0.0.0:${ZABBIX_PROXY_PORT:-10051}:10051
    environment:
      - ZBX_PROXYMODE=0
      - ZBX_HOSTNAME=proxy.example.com
      - ZBX_SERVER_HOST=server.example.com
      - ZBX_SERVER_PORT=10051
      #- ZBX_ACTIVESERVERS
      #- ZBX_METADATA=${ZBX_METADATA:-zabbix-proxy}
      #- ZBX_TLSPSKIDENTITY=${ZBX_TLSPSKIDENTITY:-zabbix-proxy}
      #- ZBX_TLSPSKFILE=${ZBX_TLSPSKFILE:-zabbix-proxy.psk}
      #- ZBX_TLSCONNECT=${ZBX_TLSCONNECT:-psk}
      #- ZBX_TLSACCEPT=${ZBX_TLSACCEPT:-psk}
      #- ZBX_DEBUGLEVEL=${ZBX_DEBUGLEVEL:-1}
      #- ZBX_STARTAGENTS=${ZBX_STARTAGENTS:-100}
      #- ZBX_BUFFERSIZE=${ZBX_BUFFERSIZE:-1000}
    #volumes:
      #- ./enc:/var/lib/zabbix/enc:ro
    stop_grace_period: 1m
    restart: unless-stopped

  • Definire sul server il proxy come Attivo e con nome proxy.example.com
  • Definire nell'agent il server con l'IP dell'host docker

Riferimenti

Installazione Proxy

  • ATTENZIONE: la versione del proxy deve essere uguale o superiore a quella del server. Un proxy di versione inferiore può parlare con un server di versione superiore, ma non può ricevere cambiamenti di configurazione o funzionare ex-novo
  • Installare il pacchetto:
cd /tmp  && \
wget http://repo.zabbix.com/zabbix/4.0/debian/pool/main/z/zabbix-release/zabbix-release_4.0-2+$(lsb_release -c -s)_all.deb && \
dpkg -i zabbix-release_4.0-2+$(lsb_release -c -s)_all.deb && \
apt-get update && \
sudo apt-get update &&  \
sudo apt-get install zabbix-proxy-sqlite3
  • Preparare il database:
sudo mkdir -p /var/lib/zabbix/
sudo chown -R zabbix: /var/lib/zabbix/
zcat /usr/share/doc/zabbix-proxy-sqlite3/schema.sql.gz | sudo -u zabbix sqlite3 /var/lib/zabbix/zabbix_proxy.db
  • Configurare:
sudoedit /etc/zabbix/zabbix_proxy.conf
ProxyMode=1
Server=zabbix.example.com
Hostname=fqdn-proxy.example.com
DBName=/var/lib/zabbix/zabbix_proxy.db
  • Avviare il proxy
sudo systemctl enable zabbix-proxy.service
sudo systemctl restart zabbix-proxy.service
sudo systemctl status zabbix-proxy.service
  • Abilitare in ingresso la porta tcp 10051 al proxy:
        $IPTABLES -A INPUT -p tcp \
              -s 1.2.3.4 --sport $UNPRIVPORTS \
              --dport 10051 \
              -j ACCEPT

  • Su server Zabbix, configurare il proxy:
Administration/Proxies/Create proxy
Proxy name: fqdn-proxy.example.com
Proxy mode: Passive
Interface:
         DNS name: fqdn-proxy.example.com

Connect to: DNS

  • Attendere che lo veda
  • Verificare i log:
sudo tail -f /var/log/zabbix/zabbix_proxy.log

Configurazione host interno

  • Installare l'agente sui client
cd /tmp  && \
wget http://repo.zabbix.com/zabbix/4.0/debian/pool/main/z/zabbix-release/zabbix-release_4.0-2+$(lsb_release -c -s)_all.deb && \
dpkg -i zabbix-release_4.0-2+$(lsb_release -c -s)_all.deb && \
apt-get update && \
apt-get install zabbix-agent
  • Configurare:
sudoedit /etc/zabbix/zabbix_agentd.conf
Server=192.168.6.254                 # Internal IP of Zabbix Proxy
ServerActive=192.168.6.254           # Internal IP of Zabbix Proxy
Hostname=internal-host.example.priv  # Name of internal host as defined on zabbix server
  • Avviare il l'agent
sudo systemctl enable zabbix-agent.service
sudo systemctl restart zabbix-agent.service
sudo systemctl status zabbix-agent.service
  • Definire l'host sul server Zabbix, assegnandolo al proxy precedentemente creato
  • Attendere circa 5 minuti, che il server invii i dettagli di configurazione al proxy.

Forzare l'invio della Configurazione al Passive Proxy

  • Se si deve attendere troppo, si può forzare il server Zabbix ad inviare la configurazione, cambiando il parametro:
sudoedit /etc/zabbix/zabbix_server.conf
ProxyConfigFrequency=60
sudo systemctl restart zabbix-server.service
  • Dopo circa 60 secondi, la configurazione sarà inviata la proxym, quindi rempostare poi il parametro al valore di default:
sudoedit /etc/zabbix/zabbix_server.conf
#ProxyConfigFrequency=3660
sudo systemctl restart zabbix-server.service

Riferimenti