JavaEE:InfluxDB/cAdvisor/Grafana安装与使用

说明:

influxDB是分布式时间序列数据库,用于存储运营数据,使用cAdvisor采集数据。

cAdvisor用于监控docker容器,采集数据,并保存在influxDB中。

Grafana用图表方式显示信息,使用influxDB作为数据源。

一、InfluxDB安装/使用:

1.InfluxDB安装:

(1)下载InfluxDB镜像:

[root@localhost ~]# docker pull tutum/influxdb

(2)创建/启动InfluxDB容器(此处名为my_inf):

[root@localhost ~]# docker run -di -p 8083:8083 -p 8086:8086 --expose 8090 --expose 8099 --name=my_inf docker.io/tutum/influxdb:latest

2.打开Web页面增删改查操作(点击右侧"Query Templates"倒下角,选中某一项SQL操作命令,按回车键执行):

打开命令操作页面:http://192.168.233.128:8083

(1)数据库操作:

创建数据库:

CREATE DATABASE "mydb"

显示数据库:

SHOW DATABASES

(2)用户操作:

创建管理员用户:

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

查看用户:

SHOW USERS

用户授权:

#授予root用户mydb所有权限
grant all privileges on mydb to root
#授予root用户mydb写权限
grant write on root to root
#授予root用户mydb读权限
grant read on root to root

(3)查看采集的数据(需要cAdvisor采集数据):

SHOW MEASUREMENTS

二、cAdvisor安装/使用:

1.cAdvisor安装:

(1)下载cAdvisor镜像:

[root@localhost ~]# docker pull google/cadvisor

(2)创建cAdvisor容器(此处名为my_cad),并连接InfluxDB:

说明:

my_inf为InfluxDB容器名称
publish映射供外部访问的端口
--link表示连接InfluxDB容器
-storage_driver=influxdb设置InfluxDB连接驱动
storage_driver_db设置InfluxDB里自已创建的数据库名称
-storage_driver_host设置InfluxDB连接端口
[root@localhost ~]# 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 my_inf:my_inf \
--name=my_cad google/cadvisor \
-storage_driver=influxdb -storage_driver_db=mydb -storage_driver_host=my_inf:8086

(3)查看cAdvisor容器(此处名为my_cad)是否运行:

[root@localhost ~]# docker ps

如果没有运行,则输入以下2种,再启动就可以了:

[root@localhost ~]# sudo mount -o remount,rw '/sys/fs/cgroup'
[root@localhost ~]# sudo ln -s /sys/fs/cgroup/cpu,cpuacct /sys/fs/cgroup/cpuacct,cpu
#再启动容器就可以了
[root@localhost ~]# docker start my_cad

2.查看web页面,如图:

http://192.168.233.128:8080/containers/

三、Grafana安装/使用:

1.安装:

(1)下载Grafana镜像:

[root@localhost ~]# docker pull grafana/grafana

(2)创建/启动Grafana容器(此处为my_gra):

#my_inf为InfluxDB容器名称
[root@localhost ~]# docker run -d -p 3001:3000 -e INFLUXDB_HOST=my_inf -e INFLUXDB_PORT=8086 -e INFLUXDB_NAME=mydb -e INFLUXDB_USER=root -e INFLUXDB_PASS=root --link my_inf:my_inf --name=my_gra docker.io/grafana/grafana

(3)访问web页面(首次访问会让修改密码),如图:

登录账号/密码:admin/admin
http://192.168.233.128:3001

2.添加数据源:

(1)左侧设置图标 -> Data Sources -> 中间点击Add data source:

(2)在弹出列表中选择InfluxDB作为数据源:

(3)在新增界面,配置如下:

Name=InfluxDB
URL=http://192.168.233.128:8086
Database=mydb
User=root
Password=root

3.添加监控仪表盘:

(1)点左侧四方图标 -> 点列表Manage -> 点New Dashboard -> Add new panel,新增仪表盘,会进入进入编辑界面:

(2)编辑界面滑动到底部,选择Query选项卡 -> 选择InfluxDB -> 在A条中配置:FROM default memory_usage WHERE container_name = r-develop-mall-mall-usercenter-1-1857f8c1,如图:

#memory_usage方式监控内存,container_name为容器名称,在列表中选择要监控的微服务/容器
A.From default memory_usage WHERE container_name = 容器名称

(3)编辑完成,点右上角保存按钮,确认保存弹窗中输入名称,点Save:

(4)查看已创建的监控项,左侧四方图标 -> 列表Manage -> 中间窗口显示了新增的监控项:

4.添加预警通知:

(1)点左侧响铃图标 -> 点列表Notification Channels -> 点Add channel,创建一个通知:

(2)在新建界面,配置通知类别为webhook,url为扩容请求地址,httpmethod为POST方式等,当触发通知时自动调用扩容请求:

name=任意名称
Type=webhook
Url=http://192.168.233.128:9090/v1-webhooks/endpoint?key=cJjCzbxIQmMWavaR4jXfAEK1qGarmwWtoBSJ73U6&projectId=1a14
Http Method=POST
Username=a526001650a
Password=123456

(3)将新建的通知配置到监控仪表盘中,回到监控仪表盘,点标题倒三角 -> 下拉列表选中"Edit",进入编辑界面,点击Alert选项卡,Rule.Name中输入名称,Coditions中配置触发条件,Notifications.Send to中选择之前创建的通知,然后保存:

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值