友情提醒本文章较长,估计需要20-30分钟能看完。文章部分内容资料来源于网络
作为一个从事多年动力环境的老兵来说,动力环境监控最重大的就是实时性:实时数据
显示、实时告警通知。动力环境监控算是一个比较综合的专业,涉及网络、自动化、弱电、
数据库等等,所以就是什么都会一点 什么都不专业,哈哈。既然动力环境监控实现了对基
础设施风水电环境监控,那么上层的服务器、网络设备及上面跑的应用、服务、数据库等
运行情况能否也进行实时监控了?
市面上的开源监控软件许多列如 Zabbix,Prometheus 等,本着学习态度前面在某 BABA 的
园区测试部署了 zabbix 及钉钉推送告警监控动环的 20 台左右应用服务器及数据库服务器及
10 多台 H3C L3 交换机,期间发生几次服务器硬件故障及动环 API 接口故障都能及时钉一下
基于前期直接在 linux 部署及前端展示效果不太好的缘由,这次进行了优化,改为 docker
容器化部署 zabbix 及 grafana,达到便捷部署及进行大屏首页可视化展示
准备条件:
1、centos 7.9 虚拟机
2、需要能上网
实施步骤(一直使用的是 SSH 工具是 mobaxterm,挺好用)
一、安装 docker
1 检查内核版本,需要高于 3.10。
uname -r

2 更新 yum 仓库。
yum update

3 安装 yum-util 进行 yum-config-manager 管理及驱动依赖。
yum install -y yum-utils device-mapper-persistent lvm2

4 设置 yum 源。
yum-config-manager –add-repo
https://download.docker.com/linux/cenos/docker-ce.repo5 查看 docker 版本

yum list docker-ce –showduplicate | sort -r

6 安装 docker。此处省略截图,不想再安装一遍了。hoho
yum install docker
7 将 docker 加入自动启动
systemctl enable docker 和 systemctl start docker
二、安装 zabbix 及 grafana,由于是 docker 方式安装配置很便捷,直接 pull 就完啦。
1、pull 镜像
docker pull mysql:5.7
docker pull zabbix/zabbix-server-mysql:centos-latest
docker pull zabbix/zabbix-web-nginx-mysql:latest
docker pull zabbix/zabbix-java-gateway:latest
docker pull grafana/Grafana

安装时候未截图,下面图片凑合看下了。注意安装好了进程要设置成和容器一起启动
查看容器进程 docker ps

将进程设置成和容器一起启动命令。举例grafana进程 docker update –restart=always ebdb6ac0e0ca

2、部署
创建一个 docker 网络 docker network create -d bridge zabbix_net
1 运行 mysql 镜像,创建 mysql 容器
docker run -dit -p 3306:3306 –name zabbix-mysql –network zabbix_net –restart always -v /etc/localtime:/etc/localtime -e
MYSQL_DATABASE=”zabbix” -e MYSQL_USER=”zabbix” -e MYSQL_PASSWORD=”zabbix123″ -e MYSQL_ROOT_PASSWORD=”root123″ mysql:5.7
说明:
MYSQL_DATABASE=”zabbix”
在 msql 中创建的数据库的名
MYSQL_USER=”zabbix”
创建 msql 的登录账户名
MYSQL_PASSWORD=”zabbix123″
设置创建 msql 的登录账户的密码
MYSQL_ROOT_PASSWORD=”root123″
设置 msql 数据库 root 的密码
–network zabbix_net 是将容器加入到 zabbix_net 网络中,
-v
/etc/localtime:/etc/localtime 是同步服务器和容器内部的时区,
–restart always 设置自启动 ;-e MYSQL_DATABASE=”zabbix”,创建环境变量;–name zabbix-m ysql,命名
2 运行 zabbix-java-gateway 镜像,创建 zabbix-server-mysql 容器
docker run -v /etc/localtime:/etc/localtime -dit –restart=always –name=zabbix-java-gateway –network zabbix_net zabbix/zabbix-java-gateway:latest
3 运行 zabbix-server-mysql 镜像,创建 zabbix-server-mysql 容器
第一创建数据库 docker volume create zabbix-server-vol
启动 zabbix-server-mysql 容器
docker run -dit -p 10051:10051 –mount source=zabbix-server-vol,target=/etc/zabbix -v /etc/localtime:/etc/localtime -v /usr/lib/zabbix/alertscripts:/usr/lib/zabbix/alertscripts –name=zabbix-server-mysql –restart=always –network zabbix_net -e DB_SERVER_HOST=”zabbix-mysql” -e MYSQL_DATABASE=”zabbix” -e MYSQL_USER=”zabbix” -e MYSQL_PASSWORD=”zabbix123″ -e MYSQL_ROOT_PASSWORD=”root123″ -e ZBX_JAVAGATEWAY=”zabbix-java-gateway” zabbix/zabbix-server-mysql:centos-latest
说明:
此处的以下内容与 运行 mysql 镜像,创建 mysql 容器设置的内容要一致
MYSQL_DATABASE=”zabbix”
MYSQL_USER=”zabbix”
MYSQL_PASSWORD=”zabbix123″
MYSQL_ROOT_PASSWORD=”root123″
4 运行 zabbix-web-nginx-mysql 镜像,创建 zabbix-web-nginx-mysql 容器
docker run -dit -p 8080:8080 -v /etc/localtime:/etc/localtime –name zabbix-web-nginx-mysql –restart=always –network zabbix_net -e DB_SERVER_HOST=”zabbix-mysql” -e MYSQL_DATABASE=”zabbix” -e MYSQL_USER=”zabbix” -e MYSQL_PASSWORD=”zabbix123″ -e MYSQL_ROOT_PASSWORD=”root123″ -e ZBX_SERVER_HOST=”zabbix-server-mysql” zabbix/zabbix-web-nginx-mysql:latest
此处的以下内容与 运行 mysql 镜像,创建 mysql 容器设置的内容要一致
说明
MYSQL_DATABASE=”zabbix”
MYSQL_USER=”zabbix”
MYSQL_PASSWORD=”zabbix123″
MYSQL_ROOT_PASSWORD=”root123″5 运行 grafana 镜像,创建 grafana 容器
docker run -d -p 3000:3000 grafana/grafana
至此,以上 5 所有镜像全部创建设置启动成功

三 设置 zabbix 及 grafana
因 grafana 用来连接 zabbix 取数据,默认 grafana 不带 zabbix 插件,所以需
要 docker 的 grafana 镜像下打插件
docker exec -it ebdb6ac0e0ca /bin/bash
grafana-cli plugins install alexanderzobnin-zabbix-app

zabbix 添加监控对象省略,网上教程太多
grafana 连接 zabbix
注意 zabbix 的 api 接口地址
http://192.168.51.3:8080/api_jsonrpc.php
登录 grafana,找到到 zabbix 控件并激活然后选择 add data source 找到 zabbix,进行添

加
保存并测试

下面就是随意添加了,添加了一个主机的信息,效果如下,网上还有各种模板可以自行下载
载,保存并测试


下面就是随意添加了,添加了一个主机的信息,效果如下,网上还有各种模板可以自行下载
















- 最新
- 最热
只看作者