之前的文章我有提过到我自己组了一台黑群辉,开始用着还不错,我还给网卡刷了mac地址,用着还不错;由于开始的时候资料并不是很多,所以研究了一下远程唤醒,这时候发现了一个问题,我的群辉在唤醒的时候偶尔会有无法启动的情况,然后我一咬牙一跺脚,入手了一台白群辉,为了让这些硬件继续发挥余热,我给他装了ESXi 虚拟化系统。
由于虚拟机运行的越来越多,很快磁盘内存就开始告警,告警最频繁的还是磁盘的读写延迟(我这里现在挂的是两块5400转的2.5寸机械硬盘),偶尔会有虚拟机直接挂掉的情况,正好了解到了zabbix,搭建了docker版的zabbix来帮忙监听整个服务。
先上最终效果图
下面是我docker版的构建脚本
version: '2' services: zabbix-mysql: image: mysql:5.7 container_name: zabbix-mysql restart: always command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci environment: MYSQL_ROOT_PASSWORD: zabbix MYSQL_DATABASE: zabbix ports: - 3306:3306 volumes: - zabbix-mysql-data:/var/lib/mysql networks: zabbix-network: zabbix-server: image: zabbix/zabbix-server-mysql:latest container_name: zabbix-server restart: always environment: DB_SERVER_HOST: zabbix-mysql MYSQL_DATABASE: zabbix MYSQL_USER: root MYSQL_PASSWORD: zabbix ZBX_JAVAGATEWAY: zabbix-java-gateway ZBX_STARTDISCOVERERS: 3 depends_on: - zabbix-mysql ports: - 10051:10051 volumes: - zabbix-server-data:/var/lib/zabbix/ networks: zabbix-network: zabbix-web-nginx: image: zabbix/zabbix-web-nginx-mysql:latest container_name: zabbix-web-nginx restart: always environment: DB_SERVER_HOST: zabbix-mysql MYSQL_DATABASE: zabbix MYSQL_USER: root MYSQL_PASSWORD: zabbix ZBX_SERVER_HOST: zabbix-server PHP_TZ: Asia/Shanghai depends_on: - zabbix-mysql - zabbix-server ports: - 4000:80 volumes: - zabbix-web-data:/usr/share/zabbix networks: zabbix-network: zabbix-server-agent: image: zabbix/zabbix-agent:latest container_name: zabbix-server-agent environment: ZBX_HOSTNAME: "Zabbix server" ZBX_SERVER_HOST: 172.19.0.1 ZBX_SERVER_PORT: 10051 depends_on: - zabbix-server ports: - 10050:10050 networks: zabbix-network: volumes: zabbix-server-data: zabbix-mysql-data: zabbix-web-data: networks: zabbix-network: ipam: config: - subnet: 172.19.0.0/16 gateway: 172.19.0.1
docker 版的需要以下镜像配合
mysql:5.7 (存数据,没什么解释的)
zabbix/zabbix-server-mysql (负责 zabbix 服务)
zabbix/zabbix-agent (负责 zabbix 监控)
zabbix/zabbix-web-nginx-mysql (负责 zabbix Web 展示)
文章中如果有什么不对的地方,欢迎指出。