安装前说明
- 官方文档起始已经介绍很详细,基本一步到位。下面我只是做了写补充
https://www.zabbix.com/documentation/current/manual/installation/containers - 关于zabbix的容器详细参数,在docker hub网站搜索镜像名称,里面有详细介绍。
https://registry.hub.docker.com/ - ubuntu系统强烈推荐使用docker安装,国内一些apt镜像源中的版本比较低,要么缺文件。
服务端安装步骤
1.配置虚拟局域网
docker network create --subnet 172.20.0.0/16 --ip-range 172.20.240.0/20 zabbix-net
2. 安装postgres数据库容器。(其它数据库请参考官方文档)
docker pull postgres
docker run --name postgres-server -t \
-e POSTGRES_USER="zabbix" \
-e POSTGRES_PASSWORD="zabbix123" \
-e POSTGRES_DB="zabbix" \
--network=zabbix-net \
--restart unless-stopped \
-d postgres:latest
3 . 安装zabbix-snmptraps容器
docker pull zabbix/zabbix-snmptraps:alpine-5.4-latest
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
4. 安装zabbix-server
zabbix/zabbix-server-pgsql:alpine-5.4-latest
docker run --name zabbix-server-pgsql -t \
-e DB_SERVER_HOST="postgres-server" \
-e POSTGRES_USER="zabbix" \
-e POSTGRES_PASSWORD="zabbix123" \
-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
5.安装zabbix-web
docker pull zabbix/zabbix-web-nginx-pgsql:alpine-5.4-latest
docker run --name zabbix-web-nginx-pgsql -t \
-e ZBX_SERVER_HOST="zabbix-server" \
-e DB_SERVER_HOST="postgres-server" \
-e POSTGRES_DB="zabbix" \
-e POSTGRES_USER="zabbix" \
-e POSTGRES_PASSWORD="zabbix123" \
--network=zabbix-net \
-p 443:8443 \
-p 8007:8080 \
-v /etc/ssl/nginx:/etc/ssl/nginx:ro \
--restart unless-stopped \
-d zabbix/zabbix-web-nginx-pgsql:alpine-5.4-latest
注意:Zabbix web接口实例向主机公开443/TCP端口(HTTPS)。目录/etc/ssl/nginx中必须包含名称必须的证书。
6. 访问并配置
地址: #http://服务器地址:8007/
账号: Admin
密码: zabbix
登录成功,比起手动安装的好处就是少了一些配置步骤,直接就进入主页了。
看到有一个报错 Zabbix agent is not available (for 3m)
,这个zabbix-agent是用于安装在客户机上监控客户机的资源使用情况的。需要等客户端安装后修改配置在处理。
客户端安装步骤(以下方法配置有问题,后续更新)
客户端推荐在本地安装,而不是使用docker
cd /opt/zabbix
#下载与安装
wget https://repo.zabbix.com/zabbix/5.4/ubuntu/pool/main/z/zabbix/zabbix-agent2_5.4.5-1+ubuntu18.04_amd64.deb
dpkg zabbix-agent2_5.4.5-1+ubuntu18.04_amd64.deb
#编辑配置文件
vim /etc/zabbix/zabbix_agent2.conf
#编辑如下内容
Server=127.0.0.1
Hostname=Zabbix server
#启动
systemctl enable zabbix-agent2.service
systemctl restart zabbix-agent2.service
systemctl status zabbix-agent2.service
1. 下载zabbix-agent2
为什么下载zabbix-agent2而不是zabbix-agent?
因为zabbix-agent2采用go语言开发,支持高并发。
安装步骤如下:
docker pull zabbix/zabbix-agent2
docker run --name zabbix-agent-demo \
--network=zabbix-net \
-e ZBX_HOSTNAME="demo" \
-e ZBX_SERVER_HOST="" \
-d zabbix/zabbix-agent2:latest
docker run --name zabbix-agent-demo2 \
--network=zabbix-net \
-e ZBX_HOSTNAME="zabbix-server-pgsql" \
-e ZBX_SERVER_HOST="" \
-d zabbix/zabbix-agent2:latest
docker run --name zabbix-agent --network=zabbix-net --link zabbix-server-pgsql -d zabbix/zabbix-agent2:latest
ZBX_SERVER_HOST
地址可通过命令docker inspect zabbix-server-pgsql
命令查询到