创建专用于 Zabbix 组件容器的网络:

# docker network create --subnet 172.20.0.0/16 --ip-range 172.20.240.0/20 zabbix-net

docker run --name postgres-server -t \
      -e POSTGRES_USER="zabbix" \
       -e POSTGRES_PASSWORD="zabbix_pwd" \
       -e POSTGRES_DB="zabbix" \
       --network=zabbix-net \
       --restart unless-stopped \
       -d postgres:latest

3. 启动 Zabbix snmptraps 实例:

# docker run --name zabbix-snmptraps -t \
       -v /zbx_instance/snmptraps:/var/lib/zabbix/snmptraps:rw \
       -v /var/lib/zabbix/mibs:/usr/share/snmp/mibs:ro \
       --network=zabbix-net \
       -p 162:1162/udp \
       --restart unless-stopped \
       -d zabbix/zabbix-snmptraps:alpine-5.4-latest

Zabbix snmptrap 实例将 162/UDP 端口(SNMP traps)暴露给主机。

4. 启动 Zabbix server 实例,并将其关联到已创建的 PostgreSQL server 实例:

# docker run --name zabbix-server-pgsql -t \
       -e DB_SERVER_HOST="postgres-server" \
       -e POSTGRES_USER="zabbix" \
       -e POSTGRES_PASSWORD="zabbix_pwd" \
       -e POSTGRES_DB="zabbix" \
       -e ZBX_ENABLE_SNMP_TRAPS="true" \
       --network=zabbix-net \
       -p 10051:10051 \
       --volumes-from zabbix-snmptraps \
       --restart unless-stopped \
       -d zabbix/zabbix-server-pgsql:alpine-5.4-latest

Zabbix server 实例将 10051/TCP 端口(Zabbix trapper)暴露给主机。

5. 启动 Zabbix Web 界面,并将其关联到已创建的 PostgreSQL server 和 Zabbix server 实例:

# docker run --name zabbix-web-nginx-pgsql -t \
       -e ZBX_SERVER_HOST="zabbix-server-pgsql" \
       -e DB_SERVER_HOST="postgres-server" \
       -e POSTGRES_USER="zabbix" \
       -e POSTGRES_PASSWORD="zabbix_pwd" \
       -e POSTGRES_DB="zabbix" \
       --network=zabbix-net \
       -p 8081:8080 \
       -v /etc/ssl/nginx:/etc/ssl/nginx:ro \
       --restart unless-stopped \
       -d zabbix/zabbix-web-nginx-pgsql:alpine-5.4-latest
分类: Linux

0 条评论

发表评论

Avatar placeholder