在ubuntu docker inflxudb(安装 使用 备份 还原 以及python编码) telegraf Grafana 我采用telegraf采集数据, 本文计划采用zabbix来才采集数据,仍然用grafana来展现数据(为了节约资源我把telegraf先停掉)php
sudo systemctl enable --now telegraf #添加到开机启动
sudo systemctl disable --now telegraf #从开机启动移除
systemctl status telegraf #查看telegraf状态html
Zabbix Server:负责接收agent发送的报告信息的核心组件,全部配置,统计数据及操做数据均由其组织进行.前端
Zabbix Agent:部署在被监控主机上,负责收集本地数据发往Server端或Proxy端.python
Database Storage:用户存储全部配置信息,以及存储由Zabbix Server收集到的数据.mysql
Web Interface: Zabbix的GUI接口,一般与Server运行在同一台主机上web
Zabbix Proxy:经常使用于分布监控环境中,代理Server收集部分被监控的监控数据并统一发往Server端.sql
Agentd安装在被监控的主机上,Agent负责按期收集客户端本地各项数据,并发送至Zabbix Server端,Zabbix Server收到数据,将数据存储到数据库中,用户基于Zabbix WEB能够看到数据在前端展示图像.docker
当Zabbix监控某个具体的项目,改项目会设置一个触发器阈值,当被监控的指标超过该触发器设定的阈值,会进行一些必要的动做,动做包括:发送信息(邮件、微信、短信)、发送命令(SHELL命令、Reboot、Restart、Install等).数据库
zabbix须要zabbix-server、zabbix-agent、mysql.
其中mysql已经在本机安装了,在dockercompose文件中
写上对应的host、user、pwd便可.json
在mysql中建立zabbix数据库,为了后期储存数据使用.
使用docker安zabbix装,docker-compose.yaml文件以下:
version: '2' services: zabbix-server-service: image: monitoringartist/zabbix-xxl:3.2.6 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.6 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.6 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-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展现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插件,进入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
而后点击
在Dashboards中新建一个面板.
把Panel data source数据源改为zabbix数据源. 可用内存设置面板中参数以下:
Group=Linux servers (这个参数在zabbix设置过)
Host=zabbix-agent-service-a
Application=Memory
Item=Available memory
在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/