拉取Zabbix所需的镜像
这里使用MySQL,Apache和MariaDB数据库。使用MySQL启动zabbix-server会报错。
docker pull zabbix/zabbix-server-mysql
docker pull zabbix/zabbix-agent
docker pull zabbix/zabbix-web-apache-mysql
docker pull mariadb
启动MariaDB
docker run -itd --name zabbix-mysql -h zabbix-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbix" -e MYSQL_DATABASE="zabbix" mariadb
这里需要指定:
- root密码为zabbix
- 创建一个名字和密码均为zabbix的用户
- 创建一个名为zabbix的数据库,并且zabbix用户有权访问和操作该数据库
创建zabbix的网络
docker create network zabbix
启动zabbix-server
docker run -itd --network zabbix --name zabbix-server -h zabbix-server -p 10051:10051 -e DB_SERVER_HOST="192.168.100.129" -e DB_SERVER_PORT="3306" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbix" zabbix/zabbix-server-mysql
这里需要指定:
- zabbix-server这个容器的hostname为zabbix-server
- MariaDB数据库的地址端口号,用户名和密码
启动zabbix-webfrontend
docker run -itd --name zabbix-frontend -h zabbix-frontend --network zabbix -e DB_SERVER_HOST="192.168.100.129" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbix" -e ZBX_SERVER_HOST="zabbix-server" -e PHP_TZ="Asia/Shanghai" -p 8080:80 -p 8443:443 zabbix/zabbix-web-apache-mysql
在这里我们映射zabbix的80端口到8080,443端口到8443。
启动zabbix-agent
docker run -itd --name zabbix-agent -h zabbix-agent --network zabbix --privileged -e ZBX_HOSTNAME="zabbix-server" -e ZBX_SERVER_HOST="zabbix-server" -p 10050:10050 zabbix/zabbix-agent
等各个服务启动成功后,在浏览器打开http://hostIP:8080
。如果一切无误,能够看到zabbix的登录页面:
输入默认的用户名密码(admin/zabbix),可以看到zabbix主界面。
注意
如果遇到报警提示无法连接到zabbix-agent,需要修改zabbix的host。步骤如下:
-
菜单中选择Configuration -> Hosts,;列表中打开下方的zabbix-server 主机。
Hosts配置页面 -
修改Agent Interfaces中的IP地址为zabbix-agent的地址(此处使用了docker,填写的是zabbix-agent容器在docker内网中的IP地址。如果是在其他服务器安装的zabbix-agent,需要填写服务器的真实IP)
image.png - 点击update按钮,等待zabbix状态检测更新。此时zabbix-server应该能够发现zabbix-agent。
网友评论