有奖:文档满意度调查问卷,诚邀您填写> HOT
文档中心 > 日志服务 > 开发者指南 > 通过 Grafana 使用 CLS

操作场景

日志服务(Cloud Log Service,CLS)与 Grafana 打通,支持通过 Grafana 展示日志主题及指标主题数据并配置告警策略。本文以 CentOS 操作系统为例,指导您安装和配置 Grafana。
免腾讯云账号使用日志服务的方式概览
使用方式
功能支持
是否支持免腾讯云账号登录
开发工作量
账号权限管理
支持 CLS 的日志检索、仪表盘、告警功能
支持,独立部署,免密登录或密码鉴权登录
无/密码鉴权,支持多角色
只支持 Grafana 的仪表盘、告警功能
支持,数据接入 Grafana 使用
需要安装 CLS 插件
Grafana 的权限管理系统,支持多角色
其他旧方案

前提条件

安装 Grafana 8.0 以上版本,具体操作请参见 Grafana 官网文档。 若 Grafana 版本低于8.0,需进行配置备份和升级,详情请参见 Grafana 升级指南

操作步骤

步骤一:安装 CLS 插件到 Grafana(可选)

说明:
通过 Grafana 查看日志主题数据时需安装该插件,仅查看指标主题数据时无需安装插件,可跳过该步骤。
1. 进入 Grafana 的安装目录,执行以下命令,安装 日志服务插件
grafana-cli --pluginUrl https://github.com/TencentCloud/tencentcloud-monitor-grafana-app/releases/download/2.8.6/tencentcloud-monitor-app-2.8.6.zip plugins install tencentcloud-monitor-app

# 如果遇到安装后插件仍然无法找到,可能是由于插件目录配置不是默认值,可先进入插件安装目录,并执行以上命令

# 如果需要安装指定版本的插件,请在${VERSION}填入指定的版本,如2.8.2
grafana-cli --pluginUrl https://github.com/TencentCloud/tencentcloud-monitor-grafana-app/releases/download/${VERSION}/tencentcloud-monitor-app-${VERSION}.zip plugins install tencentcloud-monitor-app
2. 执行如下命令,重启 grafana 服务。
service grafana-server restart
3. 登录 Grafana,在左侧菜单栏中,选择设置图标,进入 Plugins 页面,选中 Tencent Cloud Monitor 插件,并在 Config 页面单击 Enable 启用该插件。

步骤二:配置数据源

日志主题
指标主题
1. Data Sources 页面,单击 Add data source
2. 选择 Tencent Cloud Monitor,按照页面内说明,填写数据源名称、鉴权方式,勾选日志服务(CLS),并单击保存。鉴权方式中的 SecretId 及 SecretKey 需跳转至 访问管理 页面获取。建议您单独创建一个子账号,使用该账号的 SecretId 及 SecretKey,权限策略可使用 推荐权限策略配置

指标主题兼容 Prometheus 数据模型及接口,可以直接作为 Prometheus 数据源接入 Grafana,相当于每个指标主题都是一个 Prometheus 实例。
1. 获取配置信息
1.1 登录 日志服务控制台,在左侧导航栏中,单击指标主题
1.2 在指标主题管理页面,单击需要添加的指标主题名称,进入指标主题基本信息页面。
1.3 在页面中,访问方式 > 数据查询 中的 URL 鉴权方式为在 Grafana 中添加数据源所需的配置信息,鉴权方式中的 SecretId 及 SecretKey 需跳转至 访问管理 页面获取。建议您单独创建一个子账号,使用该账号的 SecretId 及 SecretKey,权限策略可使用 推荐权限策略配置
2. Data Sources 页面,单击 Add data source
3. 选择 Prometheus,在表单中配置如下信息:

URL:即第1步获取配置信息中的 URL,Grafana 部署在腾讯云内网时(例如部署在 CVM 或 TKE 中)可使用内网地址,其它情况请使用外网地址。
Basic auth:打开该开关。
Basic Auth Details:即第1步获取配置信息中的鉴权方式,User 为 SecretId,Password 为 SecretKey。
Manage alerts via Alerting UI:关闭该开关,CLS 不兼容 Prometheus Alert 相关接口,不支持该功能。
4. 单击底部 Save & Test 测试配置信息是否正确并保存配置。

步骤三:在 Grafana 上查看数据

日志主题
指标主题
在 Grafana-Explore 中查看原始日志
1. 进入 Grafana-Explore ,数据源选择 Tencent Cloud Monitor 插件。
2. 插件类型选择日志服务,选择目标日志主题的所在地域、日志主题名称。
3. 检索语句中输入语句,单击右上角的 Run query,即可查看日志检索结果。



在 Grafana-Dashboard 中查看原始日志
1. 进入 Grafana-Dashboard ,单击添加图表
2. 在图表编辑页面,图表类型选择 Logs。数据源选择 Tencent Cloud Monitor 插件,插件类型选择日志服务,选择目标日志主题的所在地域、日志主题名称。
3. 检索语句中输入语句,单击右上角的刷新按钮,即可查看日志检索结果。



对于 Grafana v8.3 以上版本用户,也可通过 Transform 功能中的 Extract fields 功能,对检索返回内容进行字段提取,在 Table 中查看日志。



在 Grafana 上配置统计图表
1. 进入 Grafana-Dashboard ,单击添加图表。
2. 在图表编辑页面,选择目标图表类型。数据源选择 Tencent Cloud Monitor 插件,插件类型选择日志服务,选择目标日志主题的所在地域、日志主题名称。
3. 检索语句中输入SQL 语句,单击右上角的刷新按钮,即可查看统计图表结果。
绘制时序图的语句示例
* | select histogram( cast(TIMESTAMP as timestamp),interval 1 minute) as analytic_time, count(*) as log_count group by analytic_time order by analytic_time limit 1000
绘制饼图的语句示例
注意右侧图表配置项 Value Options - show 选择 All values
* | select try_cast(status as varchar) as status, count(*) as log_count group by status
1. 进入 Grafana-Explore ,数据源选择步骤2添加的 Prometheus 数据源。
2. 输入查询语句,单击右上角的 Run query,即可查看指标数据。


步骤四:在 Grafana 上配置监控告警

日志主题
指标主题
1. 进入 Grafana-Alert rules ,单击新建告警规则
2. 进入告警规则编辑页面,在 A 中,数据源选择 Tencent Cloud Monitor 插件,监控告警的统计时间范围按照需求选择。
3. A 中,插件类型选择日志服务,选择目标日志主题的所在地域、日志主题名称。
4. A 中,在检索语句中输入 SQL语句,其结果作为监控告警指标。
5. B 中,选择 A 中告警指标取值,示例中取最近一个值。
6. C 中,配置告警指标值的告警触发条件,示例中配置值大于100时触发告警。
7. 单击 Preview 预览告警结果。填写告警通知配置,单击保存

1. 进入 Grafana-Alert rules ,单击新建告警规则,由于指标主题不兼容 Prometheus Alert 相关接口,请使用【Grafana managed alert】
2. 进入告警规则编辑页面,在 A 中,数据源选择步骤2中添加的 Promethues 数据源。
3. A 中,填写指标查询语句。
4. B 中,选择 A 中告警指标取值,示例中取最近一个值。
5. C 中,配置告警指标值的告警触发条件,示例中配置小于1024时触发告警。
单击 Preview 预览告警结果。填写告警通知配置,单击保存


Grafana 常见问题

Grafana 图表出现超时报错怎么处理?

安装后,建议修改 grafana.ini 文件的 [dataproxy] 配置。 Grafana 默认超时时间为30s,在大数据量的检索时,可能导致 timeout 问题,详情请参见 Grafana proxy queries timeout after 30s with dataproxy。建议修改至60s,以最大限度发挥日志服务的能力。修改配置如下:
[dataproxy]
timeout = 60
dialTimeout = 60
keep_alive_seconds = 60

Grafana 如何安装更多可视化图表?

如需安装更多可视化图表(例如饼图、趋势速览图等),请执行对应的命令安装 grafana 插件
例如,您需要安装饼图(pie panel),可执行如下命令:
grafana-cli plugins install grafana-piechart-panel
service grafana-server restart

Grafana 如何配置地域与日志主题的变量?

在 Grafana 配置地域变量与日志主题变量,并在图表中引用。可以对仪表盘图表的地域和日志主题进行替换。其配置过程如下:



1. 进入 Grafana 仪表盘配置-Variables 菜单,选择新建 Variables。先配置地域变量,再配置日志主题变量。
2. Variables type 选择 Query。
3. Query optionsDataSource 选择 Tencent Cloud Monitor 插件。

4. Query 服务类型选择云监控,查询语句如下:
地域变量
Namespace=QCE/CLS&Action=DescribeRegions
日志主题变量
Namespace=QCE/CLS&Action=DescribeInstances&Region=$region&display=${TopicName} (${TopicId})
日志主题变量(只保留符合过滤条件的日志主题)
Namespace=QCE/CLS&Action=DescribeInstances&Region=$region&payload={"Filters":[{"Key":"topicName","Values":["过滤的内容"]}]}&display=${TopicName} (${TopicId})
5. 配置完成后,单击保存

Grafana 如何使用变量过滤日志数据?

在 Grafana 配置变量,并插入到图表的查询语句中。通过选择不同的变量值,实现对图表数据的过滤。此处以配置用户 IP 过滤器为例:
1. 进入 Grafana 仪表盘配置-Variables 菜单,选择新建 Variables
2. Variables type 选择 Query。
3. Query options DataSource 选择 Tencent Cloud Monitor 插件。



4. Query 服务类型选择日志服务查询语句如下 (以 remote_addr 为例,实际使用请替换为目标字段) :
* | select remote_addr group by remote_addr limit 1000
5. (可选)Selection options 勾选多选全选操作,全选的默认值填写为:*



6. 在语句中插入变量 ${IP} ,配置完成。




Grafana 时序图提示 Data is missing a time field 如何处理?




解决方法:
1. 点击切换到 Transform 的 Tab 页面,添加 Convert field type
2. 配置 Convert field type,Field 选择 SQL 里的时间字段,as 为 Time 类型。




更多模板变量配置