当前位置: 首页 > news >正文

InfluxDB+cAdvisor+Grafana容器管理

  • InfluxDB

InfluxDB是一个分布式时间序列数据库。cAdvisor仅仅显示实时信息,但是不存储监视数据。因此,需要提供实时数据库用于存储cAdvisor组件所提供的监控信息,以便显示除实时信息之外的时序数据。

1.InfluxDB的安装

下载镜像

docker  pull  tutum/influxdb

创建容器

docker  run  -di  \

-p  8083:8083  \

-p  8086:8086  \

--expose  8099  \

--expose  8099  \

--name  influxsrv  \

tutum/influxdb

上面,8083端口是web访问端口,8086是数据写入端口。

安装好,浏览器访问192.xxx.xx.xxx:8083

2.使用influxDB

通过query  templates下拉选项可以快速使用命令语句。

创建数据库

CREATE  DATABASE  "cadvisor"

查看所有数据库

SHOW  DATABASES

创建用户

CREATE  USER  "zhangsan"  WITH  PASSWORD  'password'  WITH  ALL PRIVILEGES

查看用户

SHOW  USERS

用户授权

grant  all  privileges  on  cadvisor  to  zhangsan

grant  write  on  cadvisor  to  zhangsan

grant  READ  on  cadvisor  to  zhangsan

查看采集的数据

切换到cadvisor数据库,使用命令采集数据

SHOW  MEASUREMENTS

  • cAdvisor软件

cAdvisor是google开源的用于监控基础设施应用的工具,功能强大,不需要任何配置就可以通过运行在docker主机上的容器来监控docker容器,也可以监控docker主机。

下载镜像

docker  pull  google/cadvisor

创建容器

docker run \

  --volume=/:/rootfs:ro \

  --volume=/var/run:/var/run:rw \

  --volume=/sys:/sys:ro \

  --volume=/var/lib/docker/:/var/lib/docker:ro \

  --publish=8080:8080 \

  --detach=true \

  --name=cadvisor \

  google/cadvisor \

  -storage_driver=influxdb \

  -storage_driver_db=cadvisor \

  -storage_driver_host=influxsrv:8086

或者

docker  run  --volume=/:/rootfs:ro  --volume=/var/run:/var/run:rw  --volume=/sys:/sys:ro --volume=/var/lib/docker/:/var/lib/docker:ro  --publish=8080:8080  --detach=true  --link  influxsrv:influxsrv   --name=cadvisor  google/cadvisor -storage_driver=influxdb  -storage_driver_db=cadvisor  -storage_driver_host=influxsrv:8086

cadvisor容器启动闪退的解决方法:

mount  -o  remount,rw  '/sys/fs/cgroup'

ln  -s  /sys/fs/cgroup/cpu,cpuacct /sys/fs/cgroup/cpuacct,cpu

浏览器访问192.xxx.xx.xxx:8080/containers/

在此查看influxDB,可以看到cAdvisor采集的数据。

  • Grafana

Grafana是一个可视化面板,拥有图表和布局展示,功能齐全的度量仪表盘和图形编辑器。支持Graphite、zabbix、influxDB\Prometheus和OpenTSDB作为数据源。

下载镜像

docker  pull  grafana/grafana

创建容器

docker  run  -d  -p  3001:3000  -e  INFLUXDB_HOST=influxsrv  -e  INFLUXDB_PORT=8086  -e  INFLUXDB_NAME=cadvisor  -e  INFLUXDB_USER=root  -e  INFLUXDB_PASS=root  --link  influxsrv:influxsrv  --name  grafana  grafana/grafana

访问http://192.xxx.xx.xxx:3001用户名和密码都是admin

添加数据源

点击设置,data  source,添加数据源,设置name为influxdb,type选择InfluxDB,url改为192.xxx.xx.xx:8086,

数据库设置为cadvisor,设置用户名和密码。

添加仪表盘

选择dashboards,点击manager,点击添加按钮,点击graph图标。

新增图表后,点击panel title右边的下拉选择edit。General,修改名称;metrics,选择data source为influxdb,选择表,比如memory_usage,where条件选择容器;Axes,修改x轴y轴。设置完毕,点击保存,设置名称。

预警通知设置

选择菜单,alerting,选择notification  channels;点击add  channel按钮;设置名称,选择类型为webhook,url使用rancher中容器接收器的hook的地址;http方式为POST。

在图表中使用预警,进入图表面板,选择edit,点击预警图表,添加预警。设置IS ABOVE值,send  to选择需要出发的预警。点击保存。

相关文章:

  • serviceComb[No schema defined for start.servicecomb.io:]异常
  • ServiceComb
  • kubernetes
  • 生产报redis连接满的问题
  • 一、Linux入门简述
  • 二、Linux入门之文件管理及相关命令
  • 3、Linux命令小例:用户权限管理、ls、cp、tr
  • 三、Linux入门之标准I/O重定向、管道、用户管理
  • 三、Linux入门之文件权限
  • 二、Linux入门之VIM编辑器
  • 四、Linux入门之文件查看命令
  • 4、Linux入门之文本处理小练习
  • 五、Linux入门之文件查找与打包解压缩
  • Linux入门之文本处理三剑客grep、sed、akw
  • 5、Linux入门之小练习
  • 【译】JS基础算法脚本:字符串结尾
  • download使用浅析
  • ES6核心特性
  • laravel5.5 视图共享数据
  • React Native移动开发实战-3-实现页面间的数据传递
  • Vue小说阅读器(仿追书神器)
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 等保2.0 | 几维安全发布等保检测、等保加固专版 加速企业等保合规
  • 高度不固定时垂直居中
  • 工作踩坑系列——https访问遇到“已阻止载入混合活动内容”
  • 基于web的全景—— Pannellum小试
  • 模仿 Go Sort 排序接口实现的自定义排序
  • 前嗅ForeSpider中数据浏览界面介绍
  • 使用SAX解析XML
  • 通信类
  • 微信小程序:实现悬浮返回和分享按钮
  • 用jquery写贪吃蛇
  • 2017年360最后一道编程题
  • 阿里云移动端播放器高级功能介绍
  • ​html.parser --- 简单的 HTML 和 XHTML 解析器​
  • # 透过事物看本质的能力怎么培养?
  • #我与Java虚拟机的故事#连载12:一本书带我深入Java领域
  • $.ajax,axios,fetch三种ajax请求的区别
  • (13)Latex:基于ΤΕΧ的自动排版系统——写论文必备
  • (2021|NIPS,扩散,无条件分数估计,条件分数估计)无分类器引导扩散
  • (2022 CVPR) Unbiased Teacher v2
  • (6)设计一个TimeMap
  • (BFS)hdoj2377-Bus Pass
  • (笔试题)合法字符串
  • (动手学习深度学习)第13章 计算机视觉---微调
  • (附源码)spring boot北京冬奥会志愿者报名系统 毕业设计 150947
  • (数据结构)顺序表的定义
  • (转)C#开发微信门户及应用(1)--开始使用微信接口
  • (转)ORM
  • .Net Core webapi RestFul 统一接口数据返回格式
  • .net core使用ef 6
  • .NET 简介:跨平台、开源、高性能的开发平台
  • .NET 中的轻量级线程安全
  • .NET高级面试指南专题十一【 设计模式介绍,为什么要用设计模式】