Docker搭建zabbix+grafana监控系统
一、准备工作
1、mysql数据库:192.168.1.5
2、nginx服务:192.168.1.10
3、docker服务器:192.168.1.20
4、zabbix客户端若干
二、docker搭建zabbix
1、部署zabbix-server
先部署测试zabbix-server:
mkdir -p /home/docker/server/zabbix
docker pull zabbix/zabbix-server-mysql
docker run --name zabbix-server -p 10051:10051 \
-e DB_SERVER_HOST="192.168.1.5" \
-e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="123456" \
-itd zabbix/zabbix-server-mysql
docker cp zabbix-server:/etc/zabbix /home/docker/server/zabbix/zabbix-server #将zabbix配置文件放到服务器,为的是修改方便
docker rm -f zabbix-server
启动正式docker-server:
docker run --name zabbix-server -p 10051:10051 \
-e DB_SERVER_HOST="192.168.1.5" \
-e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="1234565" \
-v /home/docker/server/zabbix/server/zabbix_server.conf:/etc/zabbix/ zabbix_server.conf \
-v /home/docker/server/zabbix/server/alertscripts:/usr/lib/zabbix/alertscripts \
-v /home/docker/server/zabbix/server/externalscripts:/usr/lib/zabbix/externalscripts \
-v /home/docker/server/zabbix/server/modules:/var/lib/zabbix/modules \
-v /home/docker/server/zabbix/server/enc:/var/lib/zabbix/enc \
-v /home/docker/server/zabbix/server/ssh_keys:/var/lib/zabbix/ssh_keys \
-v /home/docker/server/zabbix/server/ssl/certs:/var/lib/zabbix/ssl/certs \
-v /home/docker/server/zabbix/server/ssl/keys:/var/lib/zabbix/ssl/keys \
-v /home/docker/server/zabbix/server/ssl/ssl_ca:/var/lib/zabbix/ssl/ssl_ca \
-v /home/docker/server/zabbix/server/snmptraps:/var/lib/zabbix/snmptraps \
-v /home/docker/server/zabbix/server/mibs:/var/lib/zabbix/mibs \
-itd zabbix/zabbix-server-mysql
注:-v 参数将容器文件映射到服务器,也是方便修改
2、部署zabbix-web
先部署测试zabbix-web:
docker pull zabbix/zabbix-web-nginx-mysql
docker run --name zabbix-web -p 8080:8080 -p 8443:8443 \
--link zabbix-server:zabbix-server \
-e DB_SERVER_HOST="192.168.1.5" \
-e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="123456" \
-e ZBX_SERVER_HOST="zabbix-server" \
-e PHP_TZ="Asia/Shanghai" \
-itd zabbix/zabbix-web-nginx-mysql
docker cp zabbix-web:/usr/share/zabbix /home/docker/server/zabbix/zabbix-web
注:--link 链接容器,可以互相通信,接收容器可以获取源容器的环境变量。 -e 设置环境变量。
启动正式zabbix-web:
docker run --name zabbix-web -p 8080:8080 -p 8443:8443 \
--link zabbix-server:zabbix-server \
-v /home/docker/server/zabbix/zabbix-web:/usr/share/zabbix \
-e DB_SERVER_HOST="192.168.1.5" \
-e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="123456" \
-e ZBX_SERVER_HOST="zabbix-server" \
-e PHP_TZ="Asia/Shanghai" \
-itd zabbix/zabbix-web-nginx-mysql
3、部署zabbix-agent
先部署测试zabbix-agent:
docker pull zabbix/zabbix-agent
docker run --name zabbix-agent -p 10050:10050 \
--link zabbix-server:zabbix-server \
-itd zabbix/zabbix-agent
docker cp zabbix-agent:/etc/zabbix /home/docker/server/zabbix/zabbix-agent
docker rm -f zabbix-agent
修改zabbix_agentd.conf配置文件:(有2种情况)
(1)zabbix-server和zabbix-agent在同一台服务器部署
Server=172.17.0.1 #docker容器的网关地址
(2)zabbix-server和zabbix-agent不在一台服务器
Server=192.168.1.20
ServerActive=192.168.1.20:10051
Hostname=主机名
启动正式zabbix-agent:
docker run --name zabbix-agent -p 10050:10050 \
--link zabbix-server:zabbix-server \
-v /home/docker/server/zabbix/zabbix-agent/zabbix_agentd.conf:/etc/zabbix/zabbix_agentd.conf \
-itd zabbix/zabbix-agent
在nginx配置域名访问:
server {
server_name zabbix.aa.com;
listen 80;
location /zabbix/ {
proxy_pass http://192.168.1.20:8080/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_next_upstream error timeout invalid_header;
}
}
访问url:http://zabbix.aa.com/zabbix 默认用户名密码:admin/zabbix
注:如果想在没有装docker环境的服务器安装zabbix客户端,直接下载zabbix-agent安装包就可以了。(总结来说docker部署的zabbix-agent不太好用,可以用zabbix+grafana实现所有监控功能:zabbix监控Linux服务,grafana监控容器服务)
三、zabbix页面配置
要配合Grafana做监控系统,所以下面选项中有创建触发器的操作就可以免除了。
1、提前准备
创建模板:


创建应用集:

添加主机:



2、监控端口
添加监控项:


创建触发器:


点完添加会出现下面这个条件选项:

3、url监控(不需要安装zabbix-agent)
创建web场景:



四、zabbix结合Grafana页面展示并邮件警报
因为之前写过docker部署Prometheus+Grafana,这里搭建grafana就可以了,还需要为grafana安装一个zabbix插件:
docker exec -it grafana grafana-cli plugins install alexanderzobnin-zabbix-app #进入容器执行命令
docker restart grafana #重启grafana
1、提前准备
访问Grafana:http://grafana.aa.com 用户名密码:admin/grafana123 在页面配置zabbix插件并添加数据源: 



保存并测试,如果成功说明和zabbix已经连接成功。
创建报警信息:(grafana自带的警报)


2、导入json仪表盘模板
根据自己需求下载:https://grafana.com/grafana/dashboards,下载完导入到grafana:

3、手动创建仪表板:
(1)监控端口并报警:





监控端口并报警配置完成。
(2)监控url并报警:




监控URL并报警配置完成。
报警邮件展示:

功能以及操作方面可能有所不足,还在研究,持续更新中!!!
人生确实没有意义,但人生有美。
Docker搭建zabbix+grafana监控系统的更多相关文章
- Docker搭建Prometheus+grafana监控系统
一.Prometheus简介 1.简介 Prometheus是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB). Prometheus使用Go语言开发,是Google BorgM ...
- Docker部署Zabbix+Grafana监控
Docker部署Zabbix+Grafana监控 环境 centos 7 ; Docker 17.12.0-ce ; docker-compose version 1.20.1 2018-4-1 当前 ...
- docker-compose 搭建 Prometheus+Grafana监控系统
有关监控选型之前有写过一篇文章: 监控系统选型,一文轻松搞定! 监控对象 Linux服务器 Docker Redis MySQL 数据采集 1).prometheus: 采集数据 2).node-ex ...
- docker-compose快速搭建 Prometheus+Grafana监控系统
一.说明Prometheus负责收集数据,Grafana负责展示数据.其中采用Prometheus 中的 Exporter含:1)Node Exporter,负责收集 host 硬件和操作系统数据.它 ...
- 搭建zabbix+grafana监控
编写一件安装脚本 #!/bin/sh echo "\033[32;1m脚本作者:fage\033[0m" #sleep 10 zabbix_version=4.0.2 zabbix ...
- [转帖]基于docker 搭建Prometheus+Grafana
基于docker 搭建Prometheus+Grafana https://www.cnblogs.com/xiao987334176/p/9930517.html need good study 一 ...
- Zabbix分布式监控系统实践
https://www.zabbix.com/wiki/howto/install/Ubuntu/ubuntuinstall 环境介绍OS: Ubuntu 10.10 Server 64-bitSer ...
- docker搭建zabbix
本次使用docker搭建zabbix的组合是mysql+docker+zabix-server 1 先安装数据库mysql docker run --name zabbix-mysql-server ...
- 使用Ubuntu系统编译安装Zabbix企业级监控系统
使用Ubuntu系统编译安装Zabbix企业级监控系统 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Ubuntu系统部署笔记:https://www.cnblogs.com/ ...
随机推荐
- Linux进阶之Jenkins持续集成介绍及安装演示
一.Jenkins介绍 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能. Jenkins功能包 ...
- IDEA 2019.2.4 破解安装教程
将下载的 IDEA 压缩包解压,找到 idealIU-2019.2.4.exe 安装文件,然后双击进行安装 安装完后不要运行,打开解压包中破解补丁与激活码文件夹,找到 jetbrains-agent. ...
- Python+Selenium - 浏览器驱动
Chrome \ Firefox 下载浏览器版本对应的驱动文件后,放在D:\Program Files (x86)\Python\Python38路径下,Python使用时用 driver = web ...
- Python+Selenium学习笔记10 - send_keys上传文件
在火狐浏览器上传文件 上传前,同一个HTML文件在火狐和Edge浏览器显示有些不同 这是Firefox浏览器的显示 这是Edge浏览器 上传后 1 # coding = utf-8 2 3 from ...
- 换硬盘,装win10系统小记
国庆在家给女朋友的电脑换了1T的固态,重装了系统,特此记录一下,方便后续有需要时查看. win10 激活问题 由于以前的系统就是正版 win10,即使重新装机也会自动激活,不需要做什么额外的步骤. 微 ...
- 汽车HUD(Head-up Display)的技术难点
汽车HUD(Head-up Display)的技术难点 首先解析一下HUD是什么原理吧.其实就是把车的前挡风玻璃当成反射镜,在驾驶员人眼前投射一个仪表盘的虚像.图像本身来自下方的电子发光屏,发出仪表盘 ...
- MindSpore技术理解(上)
MindSpore技术理解(上) 引言 深度学习研究和应用在近几十年得到了爆炸式的发展,掀起了人工智能的第三次浪潮,并且在图像识别.语音识别与合成.无人驾驶.机器视觉等方面取得了巨大的成功.这也对算法 ...
- Lidar激光雷达与Radar雷达
Lidar激光雷达与Radar雷达 自动驾驶技术正迅速成为汽车工业的驱动力.来自全球的汽车制造商正在与Google等顶级高科技巨头以及其他知名初创公司合作,共同开发下一代自动驾驶汽车.中国也开辟了自动 ...
- springMVC源码解读笔记
1: DispatcherServlet 的初始化流程(调用的init方法) a) 初始化spring高级容器,WebApplicationContext(容器初始化12个步骤) Servlet类的i ...
- fiddler选项卡-Statistc(统计)
Statistc Statistc是fiddler用来对session列表里的Session相关情况的统计,利用这个选项,可以对请求进行性能以及其他数据分析 1.界面 2.参数详解 建议:打开fidd ...