Linux上通过Docker部署Zabbix6.2监控平台
文章目录
- 前言
- Zabbix概述
- zabbix特性
- 一、Zabbix架构
- 二、主节点部署容器
- 2.1 部署Docker
- 三、主节点部署数据库
- 3.1 创建存储卷
- 3.2 查看存储卷
- 3.3 删除存储卷
- 3.4 运行容器MySQL8
- 四、主节点部署Zabbix
- 4.1 安装zabbix-java-gateway
- 4.2 运行zabbix-server
- 4.3 安装zabbix-web
- 五、配置zabbix中文版
- 5.1 登录zabbix界面
- 5.2 进入主界面
- 5.3 安装中文包
- 5.4 查看中文包
- 5.5 可视化界面配置
- 5.6 配置成功
- 六、其他节点配置agent
- 6.1 部署Docker
- 6.2 创建存储卷,用于存储agent的配置文件
- 6.3 运行agent容器
- 七、配置zabbix监控
- 7.1 创建主机
- 7.2 配置主机
- 7.3 查看创建的主机(zabbix-agent1)
- 7.4 查看图形化监控
- 7.4 查看采集的数据
前言
Zabbix概述
Zabbix 是一款可监控网络的众多参数以及服务器、虚拟机、应用程序、服务、数据库、网站、云等的健康状况和完整性。Zabbix 使用灵活的通知机制,允许用户为几乎任何事件配置基于电子邮件的警报。这允许对服务器问题做出快速反应。Zabbix 基于存储的数据提供报告和数据可视化功能。这使得 Zabbix 成为容量规划的理想选择。
Zabbix是一款能够监控各种网络参数以及服务器健康性和完整性的软件。Zabbix使用灵活的通知机制,允许用户为几乎任何事件配置基于邮件的告警。这样可以快速反馈服务器的问题。基于已存储的数据,Zabbix提供了出色的报告和数据可视化功能。
zabbix特性
1、数据收集
可用性和性能采集;
支持 SNMP(包括主动轮询和被动捕获)、IPMI、JMX、VMware 监控;
自定义检查;
按照自定义的时间间隔采集需要的数据;
通过 Server/Proxy 和 Agents 来执行数据采集。
2、自定义阈值
可以定义非常灵活的告警阈值,称之为触发器,触发器从后端数据库获得参考值。
3、复杂网络环境
可以使用 Zabbix Proxy 代理,可以轻松实现分布式远程监控。
4、可配置化告警
可以根据递增计划、接收者、媒介类型自定义发送告警通知;
使用宏变量可以使告警通知变得更加高效有益;
自动动作包含远程命令。
5、历史数据存储
存储在数据库中的数据;
可配置的历史数据;
内置数据管理机制(housekeeping)
一、Zabbix架构
zabbix-server
zabbix 的server 端,负责接收agent发送过来的监控数据,并且提供zabbix的所有核心功能。
database
用于存储监控数据和配置信息的数据库,目前常用的有mysql和postgresql两种数据库
zabbix-web
zabbix的UI端,提供操作控制台和监控展示等功能。
zabbix-java-gateway
用于监控Java程序的JVM状态,zabbix本身无法直接从jvm获取监控指标,需使用该网关来实现。
zabbbix-agent
zabbix的代理端,部署在目标主机上,用于收集主机的监控数据,并提供给到zabbix server。
二、主节点部署容器
2.1 部署Docker
可以参考我之前部署的文章,主要包括centos、rocky、Ubuntu等操作系统部署docker
三、主节点部署数据库
说明:Zabbix6.x版本以上要求使用mysql8.0
3.1 创建存储卷
docker volume create -d local mysql_data # 存放mysql的数据
docker volume create -d local mysql_logs # 存放mysql的日志
docker volume create -d local mysql_conf # 存放mysql的配置文件
docker volume create -d local zabbix_server #存放zabbix_server配置文件
3.2 查看存储卷
docker volume ls
3.3 删除存储卷
docker volume rm 存储卷名
3.4 运行容器MySQL8
docker run --name mysql-server -t \
-v mysql_data:/var/lib/mysql \
-v mysql_logs:/var/log/mysql \
-v mysql_conf:/etc/mysql \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix_pwd" \
-e MYSQL_ROOT_PASSWORD="123456" \
--restart=unless-stopped \
-d mysql:8.0 \
--character-set-server=utf8 --collation-server=utf8_bin \
--default-authentication-plugin=mysql_native_password
四、主节点部署Zabbix
4.1 安装zabbix-java-gateway
docker run --name zabbix-java-gateway -t \
--restart=unless-stopped \
-d zabbix/zabbix-java-gateway:alpine-6.2-latest
4.2 运行zabbix-server
docker run --name zabbix-server-mysql -t \
-v zabbix_server:/etc/zabbix \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix_pwd" \
-e MYSQL_ROOT_PASSWORD="123456" \
-e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
--link mysql-server:mysql \
--link zabbix-java-gateway:zabbix-java-gateway \
--restart=unless-stopped \
-p 10051:10051 \
-d zabbix/zabbix-server-mysql:alpine-6.2-latest
4.3 安装zabbix-web
docker run --name zabbix-web-nginx-mysql -t \
-e PHP_TZ="Asia/Shanghai" \
-e ZBX_SERVER_HOST="zabbix-server-mysql" \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix_pwd" \
-e MYSQL_ROOT_PASSWORD="123456" \
--link mysql-server:mysql \
--link zabbix-server-mysql:zabbix-server \
-p 80:8080 \
--restart unless-stopped \
-d zabbix/zabbix-web-nginx-mysql:alpine-6.2-latest
五、配置zabbix中文版
5.1 登录zabbix界面
浏览器上登录:http://本机IP地址(端口默认是80)
输入:用户名:Admin 密码:zabbix
5.2 进入主界面
5.3 安装中文包
yum install glibc-langpack-zh.x86_64
5.4 查看中文包
localectl list-locales | grep zh
5.5 可视化界面配置
5.6 配置成功
六、其他节点配置agent
6.1 部署Docker
可以参考我之前部署的文章,主要包括centos、rocky、Ubuntu等操作系统部署docker
6.2 创建存储卷,用于存储agent的配置文件
docker volume create -d local zabbix_agent
6.3 运行agent容器
我在另外一台服务器上(Ubuntu)部署agent
sudo docker run --name zabbix-agent -t \
-v zabbix_agent:/etc/zabbix \
-e ZBX_HOSTNAME="client-01" \
-e ZBX_SERVER_HOST="10.10.10.65" \
-e ZBX_SERVER_PORT=10051 \
-p 10050:10050 \
--restart=unless-stopped \
--privileged \
-d zabbix/zabbix-agent:alpine-6.2-latest
七、配置zabbix监控
7.1 创建主机
选择监测——>主机——>创建主机
7.2 配置主机
后期可以在网上查看更多设备对应的监控模板
首先自定义名称,选择模板——>Templates——> Linux by Zabbix agent
添加端口,选择Agent,并填入对应被采集的服务器IP地址,端口默认为10050
7.3 查看创建的主机(zabbix-agent1)
若没有显示主机信息,点击“重设”