实例示范了如何运行 PostgreSQL 数据库支持的 Zabbix server、基于 Nginx Web 服务器的 Zabbix Web 界面和 SNMP trap功能。
创建专用于 Zabbix 组件容器的网络
[root@dev-rocky9-shanghai-area0 ~]# podman run --name postgres-server_v16.3 -t \
-e POSTGRES_USER="zabbix" \
-e POSTGRES_PASSWORD="d2xA9jyDcCkZ" \
-e POSTGRES_DB="zabbix" \
--network=zabbix-net \
--restart unless-stopped \
-d registry.cn-shanghai.aliyuncs.com/saicmotor/zabbix-postgres-server:16.3
启动 Zabbix snmptraps 实例
[root@dev-rocky9-shanghai-area0 ~]# mkdir -p /zbx_instance/snmptraps/
[root@dev-rocky9-shanghai-area0 ~]# mkdir -p /var/lib/zabbix/mibs/
Zabbix snmptrap 实例将 162/UDP 端口(SNMP traps)暴露给主机。
[root@dev-rocky9-shanghai-area0 ~]# podman run --name zabbix-snmptraps_v7.0 -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 registry.cn-shanghai.aliyuncs.com/saicmotor/zabbix-snmptraps:7.0
启动 Zabbix 服务器实例,并将该实例与已创建的 PostgreSQL 服务器实例链接起来
podman run --name zabbix-server-pgsql_v7.0 -t \
-e DB_SERVER_HOST="postgres-server" \
-e POSTGRES_USER="zabbix" \
-e POSTGRES_PASSWORD="d2xA9jyDcCkZ" \
-e POSTGRES_DB="zabbix" \
-e ZBX_ENABLE_SNMP_TRAPS="true" \
--network=zabbix-net \
-p 10051:10051 \
--volumes-from zabbix-snmptraps_v7.0 \
--restart unless-stopped \
-d registry.cn-shanghai.aliyuncs.com/saicmotor/zabbix-server-pgsql:7.0
启动 Zabbix Web 界面,并将实例与已创建的 PostgreSQL 服务器和 Zabbix 服务器实例连接起来
Zabbix web 界面实例将 443/TCP 端口(HTTPS)暴露给主机。/etc/ssl/nginx 目录必须包含具有所需名称的证书。
[root@dev-rocky9-shanghai-area0 ~]# mkdir -p /etc/ssl/nginx
[root@dev-rocky9-shanghai-area0 ~]# podman 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="d2xA9jyDcCkZ" \
-e POSTGRES_DB="zabbix" \
--network=zabbix-net \
-p 8443:8443 \
-p 80:8080 \
-v /etc/ssl/nginx:/etc/ssl/nginx:ro \
--restart unless-stopped \
-d registry.cn-shanghai.aliyuncs.com/saicmotor/zabbix-web-nginx-pgsql:7.0