influxDB与cAdvisor与Grafana

三者之间的关系
cadvisor负责监控docker容器的状态,并将cadvisor监控到的状态写入到influxdb数据库中,grafana负责将influxdb中的数据读出来并通过图形化的界面展示出来

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

  1. 下载镜像
docker pull tutum/influxdb

2.创建容器

docker run -di \
   -p 8083:8083 \
   -p 8086:8086 \
   --expose 8090 \
   --expose 8099 \
   --name influxsrv \
   tutum/influxdb

端口概述: 8083端口:web访问端口 8086:数据写入端口
常用操作

  1. 创建数据库
CREATE DATABASE "cadvisor"

2.查看数据库

SHOW DATABASES

3.创建用户

CREATE USER "cadvisor" WITH PASSWORD 'cadvisor' WITH ALL PRIVILEGES

4.查看用户

SHOW USRES

5.用户授权

grant all privileges on cadvisor to cadvisor
grant WRITE on cadvisor to cadvisor
grant READ on cadvisor to cadvisor

6.切换到创建的cadvisor的数据库,查看采集的数据

SHOW MEASUREMENTS

什么是sAdvisor
Google开源的用于监控基础设施应用的工具,它是一个强大的监控工具,不需要任何配置就可以通过运行在Docker主机上的容器来监控Docker容器,而且可以监控Docker主机。更多详细操作和配置选项可以查看Github上的cAdvisor项目文档。

  1. 下载镜像
docker pull google/cadvisor

2.创建容器

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

-volume=/var/run:/var/run:rw:表示目录挂载,相当于-v
–publish=8080:8080:相当于-p,端口映射
influxsrv:influxsrv:表示刚刚创建的infludb容器的名称
-storage_driver=influxdb:表示存储的连接的数据库为influxdb
-storage_driver_db=cadvisor:表示存储的数据库名称为cadvisor

WEB前端访问地址

http://192.168.56.133:8080/containers/

性能指标含义参照如下地址

https://blog.csdn.net/ZHANG_H_A/article/details/53097084

再次查看influxDB,发现已经有很多数据被采集进去了。
什么是Grafana
Grafana是一个可视化面板(Dashboard),有着非常漂亮的图表和布局展示,功能齐全的度量仪表盘和图形编辑器。支持Graphite、zabbix、InfluxDB、Prometheus和OpenTSDB作为数据源。
Grafana主要特性:灵活丰富的图形化选项;可以混合多种风格;支持白天和夜间模式;多个数据源。
安装Grafana

  1. 下载镜像
docker pull grafana/grafana

2.创建容器

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

3.访问grafana
http://192.168.56.133:3001
4.添加数据库
5.添加仪表盘,添加DashBoard→manager
6.添加预警通知
选择菜单 alerting–> Notification channels
添加钩子地址→点击SendTest 测试 此时微服务容器数量会增加
仪表盘预警设置
1.再次打开刚刚编辑的仪表盘
2.点击 Create Alert ,设置预警线
3.选择通知,编辑通知信息

猜你喜欢

转载自blog.csdn.net/weixin_43794897/article/details/84704765