docker zabbix agent安装
环境搭建
linux系统版本:centos7.7
docker环境安装
yum install -y docker
启动docker服务
systemctl start docker.service
mysql-server
启动一个mysql服务器
docker run --name mysql-server -t \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix@findsec12" \
-e MYSQL_ROOT_PASSWORD="zabbix@findsec12" \
-d mysql:5.7 \
--character-set-server=utf8 \
--collation-server=utf8_bin
zabbix-java-gateway
主要是用来检测Java服务的状态
docker run --name zabbix-java-gateway -t \
-d zabbix/zabbix-java-gateway:latest
zabbix-server-mysql
--link 使当前容器与所选择的容器网络互通
-p 10051:10051 把主机的10051端口映射容器的10051端口上
-p 主机端口:容器端口
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@findsec12" \
-e MYSQL_ROOT_PASSWORD="zabbix@findsec12" \
-e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
--link mysql-server:mysql \
--link zabbix-java-gateway:zabbix-java-gateway \
-p 10051:10051 \
-d zabbix/zabbix-server-mysql:latest
zabbix-web-nginx-mysql
docker run --name zabbix-web-nginx-mysql -t \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix@findsec12" \
-e MYSQL_ROOT_PASSWORD="zabbix@findsec12" \
--link mysql-server:mysql \
--link zabbix-server-mysql:zabbix-server \
-p 80:80 \
-d zabbix/zabbix-web-nginx-mysql:latest
zabbix搭建完成
输入主机的IP的地址进入zabbix
默认用户名:Admin
默认密码:zabbix
zabbix-agent
创建一个容器,作为被监控机
docker run --name zabbix-agent \
-e ZBX_HOSTNAME="Zabbix server" \
-e ZBX_SERVER_HOST="zabbix-server-mysql" \
--link zabbix-server-mysql:zabbix-server \
-d zabbix/zabbix-agent:latest
坑点
在第一次进入zabbix后,会出现
Zabbix agent on Zabbix server is unreachable for x minutes
的警告
原因:
zabbix-web-nginx-mysql容器没有安装zabbix agent服务
解决方法
在zabbix-web-nginx-mysql容器中安装zabbix agent 服务或者更改Zabbix server监控的IP地址
172.17.0.6是zabbix-agent容器的ip地址
显示正在运行的容器
docker ps
通过docker ps 命令,知道zabbix-agent容器的container id是587dce6f4d19
进入zabbix-agent容器
docker exec -it 587dce6f4d19 /bin/bash
ifconfig 查看容器ip地址
ifconfig
exit 退出容器
exit