Cadvisor-InfluxDB-Grafana监控实现

前言

这一段时间研究docker监控,上次为大家展示如何让Grafana与influxdb产生联系,这次小编简述docker监控一系列的流程包括监控报警措施


Cadvisor

Cadvisor提供了对使用容器用户对资源使用的理解,性能在集装箱中跑,他是一个运行的收获进程,用于收集,聚合,处理,导出关于容器运行的信息,具体来说,他都保留资源隔离的参数和历史上的资源用户,历史上直方图资源用法和网络统计,此数据有容器和机器导出
Cadvisor是可以支持本地的docker容器,并且它还支持其他类型的容器开箱就可以使用,如果没有这个案件,我们支持你可以随时的打开一个问题。Cadvisor容器抽象基于imctfy,所以容器本质是被分级嵌套


Cadvisor在docker上运行

让cadvisor很快的在你的docker上运行,我有一个docker镜像,其中它包含了很多你开始时需要的东西,你可以运行一个cadvisor来监控整个机器,简单的例子
Cadvisor是用的8080的端口

sudo docker run \
  --volume=/:/rootfs:ro \
  --volume=/var/run:/var/run:rw \
  --volume=/sys:/sys:ro \
  --volume=/var/lib/docker/:/var/lib/docker:ro \
  --volume=/dev/disk/:/dev/disk:ro \
  --publish=8080:8080 \
  --detach=true \
  --name= dc50d241bb91 \
  google/cadvisor:latest

这些设置是关于docker的目录状态,CAdvisor要去遵守它
如果docker的进程使用了用户名空间,则你需要上上述加上Userns=host选择一个docker容器,以便Cadvisor监控他,否则Cadvisor是不能监控docker进程的

Cadvisor在docker上运行Cadvisor绑定

如果你安装的docker是非常版本非常老,那么也不需要担心,因为Cadvisor会自动的减低自己的版本,然后去访问你的机器

Cadvisor在docker上运行Cadvisor独立

Cadvisor是对立的,他没有外部的依赖,当你运行他的时候只需要运行它就可以了,注意有些数据源可能需要根目录的权限,而这个时候Cadvisor会降低权限让你使用相应的功能


InfluxDB 时间序列监控

他是一个分布式时间序列数据库,CAdvisor仅仅显示实时信息,但是不存储信息监控的信息,所以我们需要提供时序数据库用于存储CAdvisor所监控的信息

“`
1. 下载命令为:docker run -d -p 8083:8083 -p 8086:8086 –expose 8090 –expose 8099 –name influxsrv tutum/influxdb:0.9

![这里写图片描述](https://img-blog.csdn.net/20170913192840929?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZHR0dHlj/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)

在query中进行操作

# 创建数据库 create database 'cadvisor'; 
# 创建用户 CREATE USER 'cadvisor' WITH PASSWORD 'cadvisor'
# 用户授权 grant all privileges on 'cadvisor' to 'cadvisor' 
# 授予读写权限 grant WRITE on 'cadvisor' to 'cadvisor' grant READ on 'cadvisor' to 'cadvisor'

这里写图片描述

Influxdb具体操作请查看:http://blog.csdn.net/huwh_/article/details/77899197

Grafana图形显示

Grafana是用于图形显示,他必须与Indexofdb进行关联才可以,从indexofdb中获得信息,然后显示在grafana中
下载grafana的安装命令

docker run -d -p 80:3000 -e INFLUXDB_HOST=localhost -e INFLUXDB_PORT=8086 -e INFLUXDB_NAME=cadvisor -e INFLUXDB_USER=root -e INFLUXDB_PASS=root \
-e GF_SMTP_ENABLED=true -e GF_SMTP_SKIP_VERIFY=true -e GF_SMTP_HOST=smtp.163.com:25 -e GF_SMTP_USER=fkcloudstack@163.com \
-e GF_SMTP_PASSWORD=fuck123 -e GF_SMTP_FROM_ADDRESS=fkcloudstack@163.com --link influxsrv:influxsrv --name grafana-alerting grafana/grafana

数据源
Cadvisor-InfluxDB-Grafana监控实现_第1张图片


报警
Cadvisor-InfluxDB-Grafana监控实现_第2张图片


连接邮件
Cadvisor-InfluxDB-Grafana监控实现_第3张图片


制作面板
Cadvisor-InfluxDB-Grafana监控实现_第4张图片


Cadvisor-InfluxDB-Grafana监控实现_第5张图片


Cadvisor-InfluxDB-Grafana监控实现_第6张图片


Cadvisor-InfluxDB-Grafana监控实现_第7张图片


警告配置
Cadvisor-InfluxDB-Grafana监控实现_第8张图片


警告显示(邮件)
Cadvisor-InfluxDB-Grafana监控实现_第9张图片


总结

简单

你可能感兴趣的:(数据,性能)