使用InfluxDB、cAdvisor、Grafana监控服务器性能
一、influxDB
1.安装
1)运行容器
docker pull tutum/influxdb docker run -di --name=influxsrv -p 8083:8083 -p 8086:8086 --expose 8090 --expose 8099 tutum/influxdb
端口概述: 8083端口:web访问端口,8086:数据写入端口,8090和8089为内部端口
2)访问http://192.168.25.129:8083/
2.influxdb常用操作
1)选择数据库
2)点击Query Templates下拉列表的各种操作模板,在Query文本框会出现相应sql语句
3)敲回车则执行该语句,例:
4)其他命令(用户授权)
grant WRITE on cadvisor to cadvisor grant READ on cadvisor to cadvisor
二、cAdvisor
1.拉取镜像
docker pull google/cadvisor
2.运行容器
docker run -v /:/rootfs:ro -v /var/run:/var/run:rw -v /sys:/sys:ro -v /var/lib/docker/:/var/lib/docker:ro -p 8080:8080 --detach=true --link influxsrv:influxsrv --name=cadvisor google/cadvisor -storage_driver=influxdb -storage_driver_db=cadvisor -storage_driver_host=influxsrv:8086
其中--link后跟要连接的influx容器名,-storage_driver_db后跟influxdb数据库名,-storage_driver_host后跟influx容器名:8086
3.访问http://192.168.25.129:8080/containers/,可看到cadvisor自带显示界面
4.在influxdb页面选择第2步指定的那个influxdb数据库,然后执行SHOW MEASUREMENTS
可看到cadvisor采集到的数据,其中memory_usage数据最为重要
三、Grafana
1.创建容器
docker pull grafana/grafana
2.创建influxdb用户
3.运行容器
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
其中INFLUXDB_NAME为influxdb数据库名,INFLUXDB_USER、INFLUXDB_PASS分别为使用的influxdb用户名、密码,--link后跟influx容器
4.访问http://192.168.25.129:3001,用户名密码均为admin
登陆后提示修改密码,我这里设置密码为bofeng
5.添加数据源
1)点击设置,DataSource
2)点击添加data source
3)为数据源起个名称,指定类型、地址、以及连接的数据库名、用户名和密码
点击保存,创建成功
6.添加内存监控仪表盘
1)选择Dashboards --Manage,点击添加dashboard
2)选择graph
3)点击Panel Title 选择Edit
4)选择General面板,然后定义标题等基础信息
5)选择Metrics面板,指定datasource为刚才创建的influxdb,指定查询内容和容器名
6)点击右上方的保存按钮
7)填写名称
7.预警通知设置
1)添加一个channel
然后点击add channel
2)填写名称,选择类型为webhook ,填写钩子地址(之前在rancher定义的微服务扩容地址)
3)点击SendTest 测试 观察基础微服务是否增加容器
4)点击save,然后按同样的方法添加缩容地址
8.仪表盘预警设置
1)再次打开刚刚编辑的仪表盘
2)点击 Create Alert
设置预警线
3)选择通知
保存更改