Zabbix 是由 Alexei Vladishev 开发的一种网络监视、管理系统,基于 Server-Client 架构。可用于监视各种网络服务、服务器和网络机器等状态。(from Zabbix)
Zabbix 作为企业级分布式监控系统,具有很多优点,如:分布式监控,支持 node 和 proxy 分布式模式;自动化注册,根据规则,自动注册主机到监控平台,自动添加监控模板;支持 agentd、snmp、ipmi 和 jmx 等很多通信方式。
同时,Zabbix 官方还发布了 Zabbix Docker 镜像。此次我们以 Zabbix 的官方 Docker 镜像为基础,搭建一个监控平台。
今天搭建的zabbix分为三个部分
zabbix 分三个部分,agent 和 server 、web 三部分
zabbix-agent 部署在被监控机上面,zabbix-server (建议部署在另外一台主机上),zabbix-agent 会发送数据到zabbix-server 或者zabbix-server 主动索取数据,zabbix-server 将获取的数据存在mysql 数据库中(或者其他的数据库). (zabbix.com 官网的manual 上面有安装配置) 。web 从server上获取数据,然后展示给用户。
- 安装mysql
redhat7.1 安装mysql 5.7.10
docker run -d --name mysql
-v /data/mysql:/var/lib/mysql
-v /etc/localtime:/etc/localtime
-v /etc/my.cnf:/etc/mysql/my.cnf
-e MYSQL_ROOT_PASSWORD=123456
-p 3306:3306
mysql
- 安装zabbix-server
拉取镜像
docker pull zabbix/zabbix-server-mysql
#启动镜像命令
docker run --name some-zabbix-server-mysql -p 10051:10051 --net=host -e DB_SERVER_HOST="数据库ip" -e DB_SERVER_PORT=数据库端口 -e MYSQL_USER="数据库用户名" -e MYSQL_PASSWORD="数据库密码" -d zabbix/zabbix-server-mysql
- 安装zabbix-web-apache-mysql
拉取镜像
docker pull zabbix/zabbix-web-apache-mysql
#启动命令
docker run --name some-zabbix-web-apache-mysql -p 80:80 -e DB_SERVER_HOST="数据库ip" -e DB_SERVER_PORT=数据库端口 -e MYSQL_USER="数据库用户名" -e MYSQL_PASSWORD="数据库密码" -e ZBX_SERVER_HOST="zabbix服务器IP" -e TZ="Asia/Shanghai" -d zabbix/zabbix-web-apache-mysql
- 安装agent
在需要监控的机器上 安装agent
拉去镜像
docker pull zabbix/zabbix-agent
#启动命令
docker run --name some-zabbix-agent -p 10050:10050 -e ZBX_HOSTNAME="hostname" -e ZBX_SERVER_HOST="zabbix服务器IP" -e ZBX_SERVER_PORT=10051 -d zabbix/zabbix-agent
此时安装成功了。访问安装web 的服务器ip 端口号为80 进入zabbix 登录页面,默认帐号为Admin 密码为 zabbix 登录后就可以配置自己的监控了。