Docker安装zabbix+grafana

系统版本

OS:Debian12(Bookworm)
Zabbix:6.0 LTS
Grafana:10.4.1
Docker:26.0.1

1. 安装docker

参考网址:https://u.sb/debian-install-docker/

2. 下载docker镜像

zabbix-server镜像:docker pull zabbix/zabbix-server-mysql:ubuntu-6.0-latest

mysql镜像:docker pull mysql/mysql:8.0.34-debian

web-nginx镜像:docker pull zabbix/zabbix-web-nginx-mysql:ubuntu-6.0-latest

grafana镜像:docker pull grafana/grafana

3. 启动镜像到容器

创建docker网络:

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

创建mysql容器:

docker run --name zabbix-mysql -t -e MYSQL_DATABASE="zabbix"   -e MYSQL_USER="zabbix"   -e MYSQL_PASSWORD="zabbix"  -e MYSQL_ROOT_PASSWORD="1qaz.com"  --network=zabbix_net --restart unless-stopped  -d mysql:8.0.34-debian  --character-set-server=utf8 --collation-server=utf8_bin  --default-authentication-plugin=mysql_native_password

启动容器:

docker start zabbix-mysql

创建zabbix-server容器

docker run --name zabbix-server-mysql  -e DB_SERVER_HOST="zabbix-mysql" -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbix" -e MYSQL_ROOT_PASSWORD="1qaz.com"    --network=zabbix_net  -p 10051:10051   --restart unless-stopped  -d zabbix/zabbix-server-mysql:ubuntu-6.0-latest

启动容器

docker start zabbix-server-mysql

创建web-nginx容器

docker run --name zabbix-web-nginx-mysql -t -e ZBX_SERVER_HOST="zabbix-server-mysql"  -e DB_SERVER_HOST="zabbix-mysql" -e MYSQL_DATABASE="zabbix"  -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbix" -e MYSQL_ROOT_PASSWORD="1qaz.com"  --network=zabbix_net  -p 8080:8080  --restart unless-stopped  -d zabbix/zabbix-web-nginx-mysql:ubuntu-6.0-latest

启动容器

docker start zabbix-web-nginx-mysql

创建grafana容器

docker run  -p 3000:3000  --name=grafana   --restart=always --network=zabbix_net   -v /home/sms/dockerdata/grafana/config/grafana.ini:/etc/grafana/grafana.ini   -e "GF_SECURITY_ADMIN_PASSWORD=admin"     -d grafana/grafana
(备注:grafana.ini可以先启动一个临时grafana容器,导出ini后,再删掉临时容器)

启动容器

docker start grafana

4. 浏览器访问IP:8080,打开zabbix界面,默认账号密码:Admin/zabbix

5. 浏览器访问IP:3000,打开grafana界面,默认账号密码:admin/admin

注⚠️grafana需要安装zabbix插件才能访问zabbix数据

docker exec -u root -it grafana-id /bin/bash
grafana cli plugins install alexanderzobnin-zabbix-app
在grafana的数据源搜索zabbix插件并启用(Enable)
zabbix插件配置信息:
Connection URL: http://zabbix_ip:8080/api_jsonrpc.php
Zabbix Connection: zabbix username and password

仪表板—添加可视化—数据源:zabbix—Query type:Metrics—Group(zabbix的主机群组)—Host(zabbix的主机)—Item(监控项)—右侧Timeseries(选择图形样式)

6. 安装agent

debian/centos可以安装zabbix源来安装zabbix-agent,Windows 直接在zabbix官网下载安装包。

Debian12为例
# wget https://repo.zabbix.com/zabbix/6.0/debian/pool/main/z/zabbix-release/zabbix-release_6.0-5+debian12_all.deb
# dpkg -i zabbix-release_6.0-5+debian12_all.deb
# apt update
# apt install zabbix-agent
# systemctl restart zabbix-agent
# systemctl enable zabbix-agent
如果dpkg提示错误:
nano /root/.profile
export PATH=/usr/local/sbin:/usr/sbin:/sbin:$PATH:source /root/.profile

7. 添加主机,Hostname保持一致,添加监控项(必须),ZBX绿灯亮起。

留下你想说的话