ubuntn18 docker zabbix+grafana安装和使用
在ubuntu docker inflxudb(安装 使用 备份 还原 以及python编码) telegraf Grafana我采用telegraf采集数据, 本文计划采用zabbix来才采集数据,仍然用grafana来展示数据(为了节约资源我把telegraf先停掉)
sudo systemctl enable --now telegraf #添加到开机启动
sudo systemctl disable --now telegraf #从开机启动移除
systemctl status telegraf #查看telegraf状态
zabbix
模块介绍
Zabbix Server:负责接收agent发送的报告信息的核心组件,所有配置,统计数据及操作数据均由其组织进行.
Zabbix Agent:部署在被监控主机上,负责收集本地数据发往Server端或Proxy端.
Database Storage:用户存储所有配置信息,以及存储由Zabbix Server收集到的数据.
Web Interface: Zabbix的GUI接口,通常与Server运行在同一台主机上
Zabbix Proxy:常用于分布监控环境中,代理Server收集部分被监控的监控数据并统一发往Server端.
原理介绍
Agentd安装在被监控的主机上,Agent负责定期收集客户端本地各项数据,并发送至Zabbix Server端,Zabbix Server收到数据,将数据存储到数据库中,用户基于Zabbix WEB可以看到数据在前端展现图像.
当Zabbix监控某个具体的项目,改项目会设置一个触发器阈值,当被监控的指标超过该触发器设定的阈值,会进行一些必要的动作,动作包括:发送信息(邮件、微信、短信)、发送命令(SHELL命令、Reboot、Restart、Install等).
环境安装
zabbix需要zabbix-server、zabbix-agent、mysql.
其中mysql已经在本机安装了,在dockercompose文件中
写上对应的host、user、pwd即可.
在mysql中创建zabbix数据库,为了后期储存数据使用.
使用docker安zabbix装,docker-compose.yaml文件如下:
version: ''
services:
zabbix-server-service:
image: monitoringartist/zabbix-xxl:3.2.
container_name: zabbix-server-service
restart: always
ports:
- "9999:80"
environment:
- ZS_DBHost=192.168.100.3
- ZS_DBUser=root
- ZS_DBPassword=root
zabbix-agent-a:
image: zabbix/zabbix-agent:ubuntu-3.2.
links:
- zabbix-server-service:zabbixserverhost
container_name: zabbix-agent-a
restart: always
depends_on:
- zabbix-server-service
environment:
- ZBX_HOSTNAME=zabbix-agent-service-a
- ZBX_SERVER_HOST=zabbixserverhost
zabbix-agent-b:
image: zabbix/zabbix-agent:ubuntu-3.2.
links:
- zabbix-server-service:zabbixserverhost
container_name: zabbix-agent-b
restart: always
depends_on:
- zabbix-server-service
environment:
- ZBX_HOSTNAME=zabbix-agent-service-b
- ZBX_SERVER_HOST=zabbixserverhost
启动命令: docker-compose up -d



查看日志命令: docker logs -f zabbix-server-service
若果mysql是8.0 zabbix 是3.*的版本可能会有如下错误 syntax to use near 'identified by 'root'':

网上说下载最新版本也是扯淡,建议用mysql5.7 就能解决了

在这个过程中千万不要重启容器 当看到如下图就表示服务已经启动了

大概启动后1到2分钟登录zabbix web地址,http://192.169.100.3:9999,出现如下页面说明安装成功.

默认账号:Admin,密码:zabbix,登录后出现如下页面.

配置
修改语言
默认的语言是英文的,点击头像后展示修改语言选项,选择中文并且更新即可.

zabbix-agent配置
之前配置两个zabbix-agent-a和zabbix-agent-b,所以要添加两个zabbix-agent来采集数据并发送给zabbix-server.
在配置,选择主机,创建主机.

配置zabbix-agent需要其容器内的ip地址,可以通过
docker exec -it zabbix-agent-b ip addr命令查看.

在创建页面填写其ip和选择群组,点击保存即可.

此时添加了两台zabbix-agent.

另外还需要给zabbix-agent配置监控模版,在模版中选择Template OS Linux并且添加即可.(这里要点击添加按钮)

配置模版完成后,在主机列表中ZBX显示绿色说明添加完成.

添加监控数据
在首页仪表盘上,选择常用的图形.,在创建页面选择zabbix-agent-server-b主机和cpu jumps监控项.

监控数据可以控制缩放比例和时间段.

grafana
简介
grafana是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示.
配置
安装grafana
可以使用grafana展示zabbix的数据,制作图表展示.
使用docker启动grafana.
docker run -d --name=grafana2 -p 3000:3000 -v /var/lib/grafana:/var/lib/grafana grafana/grafana:3.0.4
启动镜像完成后,等大概1到2分钟,在浏览器访问:http://192.168.100.3:300 admin默认账号和密码都是.
安装zabbix插件
安装zabbix插件,进入grafana容器执行如下命令
docker exec -it grafana /bin/bash #进入容器
grafana-cli plugins install alexanderzobnin-zabbix-app
docker restart grafana #重启容器
在插件中的app中,出现zabbix说明zabbix插件安装成功.


这里需要启动该插件

zabbix数据源
在Data Sources中新增一个数据源.
数据源配置:type=Zabbix、url、Zabbix的账号、Zabbix的密码.
url格式为:http://192.168.100.3:9999/api_jsonrpc.php

然后点击

grafana面板
在Dashboards中新建一个面板.
把Panel data source数据源改成zabbix数据源. 可用内存设置面板中参数如下:
Group=Linux servers (这个参数在zabbix设置过)
Host=zabbix-agent-service-a
Application=Memory
Item=Available memory

grafana使用模版
在https://grafana.com/grafana/dashboards中提供很多第三方模版 Servers Linux这个模版


下载模版的json文件.

配置模版信息.


(我不知道为什么必须要把Zabbix数据源设置为default,不然选择不了)最终在一个面板中展示了当前cpu、内存等,相对原始的数据展示更加直观.

参考:
https://testerhome.com/topics/18364
https://www.lengyuewusheng.com/2018/03/18/00032_influxdb-telegraf-Grafana%E7%9B%91%E6%8E%A7%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88%E4%B8%8Ezabbix%E7%9B%91%E6%8E%A7%E7%9A%84%E5%AF%B9%E6%AF%94/
ubuntn18 docker zabbix+grafana安装和使用的更多相关文章
- Docker部署Zabbix+Grafana监控
Docker部署Zabbix+Grafana监控 环境 centos 7 ; Docker 17.12.0-ce ; docker-compose version 1.20.1 2018-4-1 当前 ...
- Docker搭建zabbix+grafana监控系统
一.准备工作 1.mysql数据库:192.168.1.5 2.nginx服务:192.168.1.10 3.docker服务器:192.168.1.20 4.zabbix客户端若干 二.docker ...
- grafana安装使用及与zabbix集成
grafana简介Grafana是一个完全开源的度量分析与可视化平台,可对来自各种各种数据源的数据进行查询.分析.可视化处理以及配置告警. Grafana支持的数据源:官方:Graphite,Infl ...
- Zabbix安装 Grafana安装
每天学习一点点 编程PDF电子书免费下载: http://www.shitanlife.com/code 前提: 先需要安装好 lamp环境. 官方文档: https://www.zabbix.com ...
- docker环境下的Grafana安装
一.参考资源:https://grafana.com/docs/grafana/latest/installation/docker/ 二.过程 1.安装grafana 查看可用image [root ...
- Zabbix+Grafana打造高逼格监控系统
第一章 zabbix监控的意义 1.1 为什么要监控 业务安全性的保障 系统的保障 产品持续性的运行 1.2 监控的内容 1.3 zabbix的选择性 [x] 纯命令监控太局限性 [x] 监控三剑客( ...
- zabbix server安装详解
简介 zabbix(音同 zæbix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以 ...
- 使用 Docker 部署 Grafana + Prometheus 监控 MySQL 数据库
一.背景 在平时开发过程当中需要针对 MySQL 数据库进行监控,这里我们可以使用 Grafana 和 Prometheus 来实现监控功能.Grafana 是一款功能强大的仪表盘面板,支持多种数据源 ...
- zabbix的安装部署及自定义监控的实现
此篇感谢我的小师傅. 1. Zabbix主要功能和优劣势说明 1. Zabbix主要功能和优劣势说明 1.1 Zabbix主要功能: 1)Application monitoring 应用监控 数据库 ...
随机推荐
- Vue.js最佳实践--给大量子孙组件传值(provide/inject)
开发中有个需求,有个Parent组件(例如div)下,输入框,下拉框,radiobutton等可编辑的子孙组件几百个,根据某个值统一控制Parent下面的所有控件的disabled状态 类似于这样,给 ...
- 软件架构的演进,了解单体架构,垂直架构,SOA架构和微服务架构的变化历程
软件架构演进 软件架构的发展经历了从单体结构.垂直架构.SOA架构到微服务架构的过程,博客里写到了这四种架它们的特点以及优缺点分析,个人学习之用,仅供参考! 1.1.1 单体架构 特点: 1 ...
- rac启动维护笔记
Ohasd.bin将产生4个代理启动相关的资源 (1) oraagent:负责ora.asm.ora.evmd.ora.gipcd.ora.gpnpd.ora.mdnsd的启动和管理 (2) ...
- Linux Firewalld 基础介绍
互联网上提供了各种网络服务,而防火墙可以设置各种规则来限制访问,保护服务器. 概述 Linux的防火墙体系主要工作在网络层,针对TCP/IP数据包实施过滤和限制,属于典型的包过滤防火墙. Linux系 ...
- Mysql数据库之慢查询
一.简介 开启慢查询日志,可以让MySQL记录下查询超过指定时间的语句,通过定位分析性能的瓶颈,才能更好的优化数据库系统的性能. 二.参数说明 slow_query_log 慢查询开启状态 slow_ ...
- HTTP协议那些事儿
HTTP协议简介 超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式.协作式和超媒体信息系统的应用层协议.HTTP是万维网的数据通信的基础. ...
- 对象存储服务 OSS(Object Storage Service),知识点(待补充上仓库代码)
资料 网址 官方文档 https://help.aliyun.com/product/31815.html?spm=a2c4g.11186623.3.1.3e1459669xRokl OSS Brow ...
- POJ2239-Selecting Courses-(匈牙利算法)
题意:n门课,每门各自有t个开课时间,在不冲突的情况下选最多课. 题解:把周p第q节课转化为数值sum,表示在一周7*12节课中排第几节,用二分图最大匹配. #include<stdio.h&g ...
- js闭包理解与使用场景
要理解闭包首先要知道什么是函数的作用域链 因为有函数的作用域链存在,所以函数无论在哪里调用,函数都可以使用函数外部作用域的变量. 当一个函数被调用时,会创建一个执行环境及相应的作用域链.然后使用arg ...
- npm执行gulp提示编译错误
script如下 "test":"gulp --gulpfile test.js" 运行 npm run test ,提示编译错误 解决办法如下: 增加scri ...