【云原生 • DevOps】influxDB、cAdvisor、Grafana 工具使用详解

本章学习目标:

  • 掌握时间序列数据库 influxDB 的安装与使用;
  • 掌握容器监控工具 cAdvisor 的安装与使用;
  • 掌握图表工具 Grafana 的安装与使用。

目录

一、时序数据库 influxDB

1. 什么是 influxDB

2. influxDB 的安装

3. influxDB 常用操作

二、容器监控工具 cAdvisor

1. 什么是 cAdvisor

2. cAdvisor 的安装

三、图表工具 Granfana

扫描二维码关注公众号,回复: 14413908 查看本文章

1. 什么是 Grafana

2. Grafana 的安装

3. Grafana 的常用操作


一、时序数据库 influxDB

1. 什么是 influxDB

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

实时信息之外的时序数据:比如当前的内存大小、CPU 的占用情况等。

2. influxDB 的安装

第一步:下载镜像;

docker pull tutum/influxdb

第二步:创建容器;

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

该容器中:8083 端口为 Web 访问端口,8086 端口为数据写入端口,8090 和 8099 是要求暴露出来的端口。

第三步:容器创建成功之后,在本地进行访问,显示如下界面即安装完成;

3. influxDB 常用操作

创建数据库

我们可以通过查询模板 “Query Templates” 快速输入相关命令;

输入命令后按下回车,即可创建成功;

创建用户并授权

--创建用户 majinjian,密码 990214,为该用户赋予所有权限
CREATE USER "majinjian" WITH PASSWORD '990214' WITH ALL PRIVILEGES

此时搜索用户,可以看到我们创建的新用户;

用户授权语法如下:on 数据库名 to 用户名

--在 majinjian 数据库中为用户 majinjian 授予所有权限
grant all privileges on majinjian to majinjian

--在 majinjian 数据库中为用户 majinjian 授予写权限
grant WRITE on majinjian to majinjian

--在 majinjian 数据库中为用户 majinjian 授予读权限
grant READ on majinjian to majinjian

查看采集的数据

查看采集数据需要使用指令 SHOW MEASUREMENTS;可以看到此时是没有内容的,因为我们的数据库刚刚创建,并没有产生数据。

二、容器监控工具 cAdvisor

1. 什么是 cAdvisor

cAdvisor 是 Google 开源的用于监控基础设施应用的工具,是一个强大的监控工具,不需要任何配置就可以通过运行在 Docker 主机上的容器来监控 Docker 容器,而且可以监控 Docker 主机。

该应用的主要作用就是监控,而监控所产生的数据均存储于时序数据库 influxDB 中。

2. cAdvisor 的安装

第一步:下载镜像;

docker pull google/cadvisor

第二步:创建容器并连接 influxDB;

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=majinjian -storage_driver_host=influxsrv:8086

-storage_driver_db=majinjian -storage_driver_host=influxsrv:8086 语法为连接 influxDB 数据库,此处的 majinjian 是我在 influxDB 中创建的数据库名。

第三步:在本地使用 虚拟机/服务器 IP:8080/containers/ 进行访问,看到以下界面即 cAdvisor 安装成功;

此时 cAdvisor 就已经处于运行状态了,它也会将监控产生的数据存入 influxDB 当中。

再次查看 influxDB 中的采集数据,可以看到已有数据产生;

三、图表工具 Granfana

1. 什么是 Grafana

通过上一节可以看到,在 influxDB 中查看数据时,数据比较凌乱且不够直观,而 Grafana 正是来解决这个问题的。

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

它的主要特性为:灵活丰富的图形化选项;可以混合多种风格;支持白天和夜间模式的切换;支持多个数据源。

2. Grafana 的安装

第一步:下载镜像;

docker pull grafana/grafana

第二步:创建容器并连接 influxDB;

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

-e INFLUXDB_NAME=majinjian 数据库名称

-e INFLUXDB_USER=majinjian 数据库用户名

-e INFLUXDB_PASS=majinjian 数据库密码

第三步:本地浏览器进行访问,初始界面如下;

输入用户名和密码登录,默认用户名为 admin,密码为 admin,首次登录后需要修改密码;

3. Grafana 的常用操作

添加数据源

点击设置 --> “Data sources”;

点击 “Add date source” 添加数据源,然后我们这里选择 influxDB;

设置相关参数;

点击 “save & test”,如下添加成功;

添加仪表盘

选择 “Dashboards” --> “Browse”;

点击 “New Dashboards” 添加,然后选择一种图表类型添加;

接下来就进入了图表编辑页面,可以设置数据源、图表标题、X轴、Y轴等各种属性;

如下是我按照容器名称索取的数据;

设置完成之后,点击 “save” 进行保存,如下为添加成功后图表;

当微服务开始运行后产生的数据便会体现在此图表上。

猜你喜欢

转载自blog.csdn.net/weixin_53072519/article/details/125921834