通过docker容器安装zabbix6.4完整图文详解

内容分享23小时前发布
0 2 0

通过 Docker 容器安装 Zabbix 6.4 是一种便捷且隔离性强的方式,推荐使用官方提供的 Docker 镜像组合(Zabbix Server + MySQL + Zabbix Web + Zabbix Agent)。以下是详细步骤:

一、环境准备

  1. 安装 Docker环境,可以查看前面文章
  2. 下载相关镜像
docker pull zabbix/zabbix-java-gateway:alpine-6.4-latest
docker pull zabbix/zabbix-server-mysql:alpine-6.4-latest
docker pull zabbix/zabbix-web-nginx-mysql:alpine-6.4-latest
docker pull zabbix/zabbix-agent:latest
docker pull mysql:8.0

通过docker容器安装zabbix6.4完整图文详解

参考文章:

https://www.zabbix.com/documentation/6.4/zh/manual/installation/containers

二、zabbix-server服务端部署

1.使用docker创建zabbix-server服务端

(1). 创建专用于Zabbix组件容器的网络

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

2. 启动空的 MySQL 服务器实例:

docker run --name mysql-server -t 
	-e MYSQL_DATABASE="zabbix" 
	-e MYSQL_USER="zabbix" 
	-e MYSQL_PASSWORD="zabbix_pwd" 
	-e MYSQL_ROOT_PASSWORD="root_pwd" 
	--network=zabbix-net 
	-d mysql:8.0 
	--restart unless-stopped 
	--character-set-server=utf8 --collation-server=utf8_bin 
	--default-authentication-plugin=mysql_native_password

3. 启动 Zabbix Java 网关实例:

docker run --name zabbix-java-gateway -t 
             --network=zabbix-net 
             --restart unless-stopped 
             -d zabbix/zabbix-java-gateway:alpine-6.4-latest

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

docker run --name zabbix-server-mysql -t 
	-e DB_SERVER_HOST="mysql-server" 
	-e MYSQL_DATABASE="zabbix" 
	-e MYSQL_USER="zabbix" 
	-e MYSQL_PASSWORD="zabbix_pwd" 
	-e MYSQL_ROOT_PASSWORD="root_pwd" 
	-e ZBX_JAVAGATEWAY="zabbix-java-gateway" 
	--network=zabbix-net 
	-p 10051:10051 
	--restart unless-stopped 
	-d zabbix/zabbix-server-mysql:alpine-6.4-latest

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

docker run --name zabbix-web-nginx-mysql -t 
             -e ZBX_SERVER_HOST="zabbix-server-mysql" 
             -e DB_SERVER_HOST="mysql-server" 
             -e MYSQL_DATABASE="zabbix" 
             -e MYSQL_USER="zabbix" 
             -e MYSQL_PASSWORD="zabbix_pwd" 
             -e MYSQL_ROOT_PASSWORD="root_pwd" 
             --network=zabbix-net 
             -p 80:8080 
             --restart unless-stopped 
             -d zabbix/zabbix-web-nginx-mysql:alpine-6.4-latest
  1. 浏览器访问,http://ip

默认账户:Admin 密码:zabbix

通过docker容器安装zabbix6.4完整图文详解

通过docker容器安装zabbix6.4完整图文详解

三、安装zabbix-agent

zabbix-server 所在宿主机安装zabbix-agent 监控本机。

 docker run --name zabbix-agent 
  --restart=always 
  -d 
  --net=host 
  -v /etc/zabbix:/etc/zabbix 
  -v /var/run:/var/run 
  -e ZBX_SERVER_HOST="zabbix server所在的宿主机的IP" 
  -e ZBX_HOSTNAME="Zabbix server" 
  zabbix/zabbix-agent:latest

说明:

使用 –net=host 模式运行的 Zabbix Agent 容器,监控的是宿主机的资源,而非容器自身的资源。

关键缘由:

–net=host 会让容器共享宿主机的网络命名空间,此时容器内的进程可以直接访问宿主机的系统资源(如 /proc、/sys 等内核文件系统),Zabbix Agent 采集的是宿主机的 CPU、内存、磁盘、网络等信息。

如发现监控失败,可以进入容器查看日志,进行调试:

tail -30f /tmp/zabbix_agentd.log

通过docker容器安装zabbix6.4完整图文详解

/etc/zabbix/zabbix_agentd.conf

通过docker容器安装zabbix6.4完整图文详解

已正常监控:

通过docker容器安装zabbix6.4完整图文详解

通过docker容器安装zabbix6.4完整图文详解

到这边docker 安装部署zabbix 算是安装完成,后续分享如何通过docker compose 来安装部署zabbix 。

© 版权声明

相关文章

2 条评论

  • 头像
    有叔说 投稿者

    有没发现需要优化的地方

    无记录
    回复
  • 头像
    -橙汁汽水- 投稿者

    收藏了,感谢分享

    无记录
    回复