机房空调坏了,导致存储GG,上面虚拟机都没了,存储也太老了VNX的上面有脏数据,重新起来,storage pool起不来,找人修太贵了,算了只能重新部署机器了,共享存储是没了,就单机搞,zabbix重新弄不高兴,就搞个Docker版的zabbix用用吧。
怎么装docker 只有的博客有写过,大家照着参考下就行。
不指定IP:
docker network create zabbix-network
创建本地目录/usr/local/mysql/data和conf中持久化保存mysql容器运行中的数据
mkdir -p /usr/local/mysql/data
mkdir -p /usr/local/mysql /conf
参数说明
启动一个单独的数据库mysql用于保存zabbix数据。
定义了数据库名zabbix
数据库用户zabbix
密码zabbix
最后两条是定义了数据库的字符集为utf8,解决了mysql数据库保存中文的问题。
注:之前踩了个坑搞了一个多小时,创建好的mysql一直自己重启,然后发现/mysql/data和/mysql/conf 这2个目录必须分开,否则会报data里已经有文件了,然后就无限重启。
docker run -d –name zabbix-mysql -p 3306:3306 –restart=always –privileged=true -e MYSQL_DATABASE=zabbix -e MYSQL_USER=zabbix -e MYSQL_PASSWORD=zabbix -e MYSQL_ROOT_PASSWORD=zabbix -e TZ=Asia/Shanghai –network=zabbix-network -v /etc/timezone:/etc/timezone -v /etc/localtime:/etc/localtime -v /usr/local/mysql/data:/var/lib/mysql -v /usr/local/mysql/conf:/etc/mysql/my.cnf -d mysql:8.0 –character-set-server=utf8 –collation-server=utf8_bin –default-authentication-plugin=mysql_native_password
firewall-cmd –zone=public –add-port=3306/tcp –permanent
firewall-cmd –reload
docker run -dit -p 10052:10052 –restart=always –name=zabbix-java-gateway \
-e TZ=Asia/Shanghai \
–network=zabbix-network \
-d zabbix/zabbix-java-gateway:latest
创建下列文件夹
mkdir -p /usr/local/zabbix/alertscripts
mkdir -p /usr/local/zabbix/externalscripts
mkdir -p /usr/local/zabbix/modules
mkdir -p /usr/local/zabbix/enc
mkdir -p /usr/local/zabbix/ssh_keys
mkdir -p /usr/local/zabbix/ssl/certs
mkdir -p /usr/local/zabbix/ssl/keys
mkdir -p /usr/local/zabbix/ssl/ssl_ca
mkdir -p /usr/local/zabbix/snmptraps
mkdir -p /usr/local/zabbix/mibs
参数说明
启动zabbix server服务,并关联这个服务到上面已经启动的mysql数据库实例上,确保zabbix的数据可以保存到mysql数据库中。
docker run -d –name=zabbix-server-mysql –restart=always -e DB_SERVER_HOST=”zabbix-mysql” -e MYSQL_DATABASE=”zabbix” -e MYSQL_USER=”zabbix” -e MYSQL_PASSWORD=”zabbix” -e MYSQL_ROOT_PASSWORD=”zabbix” -e ZBX_JAVAGATEWAY=”zabbix-java-gateway” -e TZ=Asia/Shanghai –network=zabbix-network -p 10051:10051 -v /usr/local/zabbix/alertscripts:/usr/lib/zabbix/alertscripts -v /etc/timezone:/etc/timezone -v /etc/localtime:/etc/localtime -v /usr/local/zabbix/externalscripts:/usr/lib/zabbix/externalscripts -v /usr/local/zabbix/modules:/var/lib/zabbix/modules -v /usr/local/zabbix/enc:/var/lib/zabbix/enc -v /usr/local/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys -v /usr/local/zabbix/ssl/certs:/var/lib/zabbix/ssl/certs -v /usr/local/zabbix/ssl/keys:/var/lib/zabbix/ssl/keys -v /usr/local/zabbix/ssl/ssl_ca:/var/lib/zabbix/ssl/ssl_ca -v /usr/local/zabbix/snmptraps:/var/lib/zabbix/snmptraps -v /usr/local/zabbix/mibs:/var/lib/zabbix/mibs -d zabbix/zabbix-server-mysql:latest
firewall-cmd –zone=public –add-port=10051/tcp –permanent
firewall-cmd –reload
创建zabbix-web-nginx-mysql容器,启动zabbix前端web界面实例,将web界面实例与前面的mysql数据库服务实例
docker run -dit –name zabbix-web-nginx-mysql –restart=always -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=”zabbix” -e PHP_TZ=Asia/Shanghai -e TZ=Asia/Shanghai –network=zabbix-network -p 80:8080 -v /etc/timezone:/etc/timezone -v /etc/localtime:/etc/localtime -d zabbix/zabbix-web-nginx-mysql:latest
参数说明
–link zabbix-mysql:mysql 连接数据库实例,zabbix-mysql必须要与第一步的–name zabbix-mysql完全一致
–link zabbix-server-mysql:zabbix-server 连接zabbix服务器实例,zabbix-server-mysql必须要与第二步的–name zabbix-server-mysql完全一致
DB_SERVER_HOST变量的值要与第二步指定的-e DB_SERVER_HOST=”zabbix-mysql”一致
firewall-cmd –zone=public –add-port=80/tcp –permanent
firewall-cmd –reload
这时候直接访问这台机器的IP 就可以打开下面网页
用户名Admin
密码 zabbix
下面有个zabbix agent not available 这个就是本机没装zabbix agent 自己装下就好。
yum install -y zabbix-agent
我安装了Portainer 可以看到容器的地址
vi /etc/zabbix_agentd.conf
如果在zabbix-server上安装agent,需要配置zabbix-server的docker地址:
Server= 172.18.0.4
ServerActive= 172.18.0.4
然后管理界面里
我把地址改成了他的ip
# 如果在被监控服务器上安装agent,需要配置zabbix-server的宿主机地址:
Server= 10.85.2.240
ServerActive= 10.85.2.240
firewall-cmd –zone=public –add-port=10050/tcp –permanent
firewall-cmd –reload
设置开机zabbix-agent开机启动
systemctl enable zabbix-agent
systemctl restart zabbix-agent
目前一切正常了
View Comments