部署之前先给大家看一下部署后的zabbix内部的通信图,方便理解。

1. PostgreSQL 数据库

docker run -d \
  --name zabbix-postgres \
  --restart=unless-stopped \
  -v /root/zibbix/postgres_data:/var/lib/postgresql/data \
  -e POSTGRES_USER=zabbix \
  -e POSTGRES_PASSWORD=zabbix123 \
  -e POSTGRES_DB=zabbix \
  postgres:15

2. Zabbix Server

docker run -d \
  --name zabbix-server \
  --restart=unless-stopped \
  -p 10051:10051 \
  -e DB_SERVER_HOST=postgres \
  -e POSTGRES_USER=zabbix \
  -e POSTGRES_PASSWORD=zabbix123 \
  -e POSTGRES_DB=zabbix \
  -v zabbix_server_export:/var/lib/zabbix/export \
  -v zabbix_server_snmptraps:/var/lib/zabbix/snmptraps \
  zabbix/zabbix-server-pgsql:alpine-7.0-latest

3. Zabbix Web

docker run -d \
  --name zabbix-web \
  --restart=unless-stopped \
  -p 8081:8080 \
  -e DB_SERVER_HOST=postgres \
  -e POSTGRES_USER=zabbix \
  -e POSTGRES_PASSWORD=zabbix123 \
  -e POSTGRES_DB=zabbix \
  -e ZBX_SERVER_HOST=server \
  -e PHP_TZ=Asia/Shanghai \
  -e ZBX_LANG_DEFAULT=zh_CN \
  zabbix/zabbix-web-nginx-pgsql:alpine-7.0-latest

4. Zabbix Agent

docker run -d \
  --name zabbix-agent \
  --restart=unless-stopped \
  -e ZBX_SERVER_HOST=172.17.0.4 \
  -e ZBX_HOSTNAME=Zabbix-server \
  zabbix/zabbix-agent:alpine-7.0-latest

进去管理页面后自己设置我这边映射的是8081端口,因为8080被占用了

zabbix的默认账号:Admin,默认密码:zabbixzabbix搭建好后如何去监控其他主机。在另外一台机器

在说明一下部署情况:192.168.1.60上运行了zabbix的服务端,现在要监控192.168.1.56,下面是在192.168.1.56上进行操作。

docker run -d \
  --name zabbix-agent \
  --restart=unless-stopped \
  -p 10050:10050 \
  -e ZBX_SERVER_HOST=192.168.1.60 \
  -e ZBX_HOSTNAME=56-host \
  zabbix/zabbix-agent:alpine-7.0-latest

运行完成后再zabbix的web端去添加主机,注意主机的主机名要与docker命令中指定的主机名一致,否则无法通信。

如果一直连接不上可以排查一下

docker logs -f --tail=10 zabbix-agent 

我这个日志是没有问题的,有问题的话直接甩给ai解析问题就好了。

更多推荐