最简易的容器化部署zabbix+grafana,适合初次部署新手

友情提醒本文章较长,估计需要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

最简易的容器化部署zabbix+grafana,适合初次部署新手

2 更新 yum 仓库。

yum update

最简易的容器化部署zabbix+grafana,适合初次部署新手

3 安装 yum-util 进行 yum-config-manager 管理及驱动依赖。

yum install -y yum-utils device-mapper-persistent lvm2

最简易的容器化部署zabbix+grafana,适合初次部署新手

4 设置 yum 源。

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

最简易的容器化部署zabbix+grafana,适合初次部署新手

yum list docker-ce –showduplicate | sort -r

最简易的容器化部署zabbix+grafana,适合初次部署新手

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

最简易的容器化部署zabbix+grafana,适合初次部署新手

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

查看容器进程 docker ps

最简易的容器化部署zabbix+grafana,适合初次部署新手

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

最简易的容器化部署zabbix+grafana,适合初次部署新手

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,适合初次部署新手

三 设置 zabbix 及 grafana

因 grafana 用来连接 zabbix 取数据,默认 grafana 不带 zabbix 插件,所以需

要 docker 的 grafana 镜像下打插件

docker exec -it ebdb6ac0e0ca /bin/bash

grafana-cli plugins install alexanderzobnin-zabbix-app

最简易的容器化部署zabbix+grafana,适合初次部署新手

zabbix 添加监控对象省略,网上教程太多

grafana 连接 zabbix

注意 zabbix 的 api 接口地址
http://192.168.51.3:8080/api_jsonrpc.php

登录 grafana,找到到 zabbix 控件并激活然后选择 add data source 找到 zabbix,进行添

最简易的容器化部署zabbix+grafana,适合初次部署新手

保存并测试

最简易的容器化部署zabbix+grafana,适合初次部署新手

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

载,保存并测试

最简易的容器化部署zabbix+grafana,适合初次部署新手

最简易的容器化部署zabbix+grafana,适合初次部署新手

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

最简易的容器化部署zabbix+grafana,适合初次部署新手

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
XiSeaY的头像 - 鹿快
评论 共3条

请登录后发表评论