导出使用情况洞察日志
注意
通过将使用情况日志导出到 Loki,您可以直接查询它们,并创建对您最重要的信息(例如仪表盘错误、最活跃的组织或您使用最多的前 10 个查询)的仪表盘。在 Grafana Cloud 中,此配置已为您完成,并提供了预置的仪表盘。请参阅 Grafana Cloud 文档了解详情。
使用情况洞察日志
使用情况洞察日志是表示特定用户活动的 JSON 对象,例如:
- 用户打开仪表盘。
- 查询发送到数据源。
范围
每次发生以下情况时都会创建一个日志:
- 用户打开仪表盘。
- 在仪表盘视图中向数据源发送查询。
- 通过 Explore 执行查询。
格式
使用情况洞察日志包含以下字段,其中后面带有 * 的字段始终可用,其他字段取决于记录的事件:
字段名 | 类型 | 描述 |
---|---|---|
eventName * | string | 事件类型,可以是 data-request 或 dashboard-view 。 |
folderName * | string | 仪表盘文件夹的名称。 |
dashboardName * | string | 发生事件的仪表盘名称。 |
dashboardId * | number | 发生事件的仪表盘 ID。 |
datasourceName | string | 查询的数据源名称。 |
datasourceType | string | 查询的数据源类型。例如,prometheus 、elasticsearch 或 loki 。 |
datasourceId | number | 查询的数据源 ID。 |
panelId | number | 查询面板的 ID。 |
panelName | string | 查询面板的名称。 |
error | string | 查询返回的错误。 |
duration | number | 查询持续时间。 |
source | string | 查询来源。例如,dashboard 或 explore 。 |
orgId * | number | 用户组织的 ID。 |
orgName * | string | 用户组织的名称。 |
timestamp * | string | 发出请求的日期和时间,采用 RFC3339 格式的协调世界时 (UTC)。 |
tokenId * | number | 用户身份验证令牌的 ID。 |
username * | string | 发出请求的 Grafana 用户名。 |
userId * | number | 发出请求的 Grafana 用户 ID。 |
totalQueries * | number | 数据请求执行的查询总数。 |
cachedQueries * | number | 来自缓存的查询数量。 |
配置
要导出日志,请启用使用情况洞察功能并在配置文件中配置导出位置:
[usage_insights.export]
# Enable the usage insights export feature
enabled = true
# Storage type
storage = loki
存储类型的选项是 loki
和 logger
(在 Grafana Enterprise 8.2 中添加)。
如果存储类型设置为 loki
,您还需要配置 Grafana 以导出到 Loki 写入服务器。为此,您需要安装 Loki。有关如何安装 Loki 的说明,请参阅安装 Loki。
[usage_insights.export.storage.loki]
# Set the communication protocol to use with Loki (can be grpc or http)
type = grpc
# Set the address for writing logs to Loki (format must be host:port)
url = localhost:9095
# Defaults to true. If true, it establishes a secure connection to Loki
tls = true
# Set the tenant ID for Loki communication, which is disabled by default.
# The tenant ID is required to interact with Loki running in multi-tenant mode.
tenant_id =
使用 logger
会将使用情况洞察打印到您的Grafana 服务器日志中。没有用于配置 logger
存储类型的选项。
在 Grafana 中可视化 Loki 使用情况洞察
如果将日志导出到 Loki,您可以构建 Grafana 仪表盘来了解您的 Grafana 实例使用情况。
- 添加 Loki 作为数据源。请参阅Grafana 基础知识教程。
- 导入以下仪表盘之一:
- 使用情况洞察进行探索以理解它们
- 在 Explore 中,您可以使用查询
{datasource="gdev-loki",kind="usage_insights"}
来检索与您的gdev-loki
数据源相关的所有日志。 - 在仪表盘中,您可以使用查询
topk(10, sum by (error) (count_over_time({kind="usage_insights", datasource="gdev-prometheus"} | json | error != "" [$__interval])))
构建一个表格面板,以显示使用gdev-prometheus
数据源时用户遇到的前 10 个常见错误。 - 在仪表盘中,您可以使用查询
sum by(host) (count_over_time({kind="usage_insights"} | json | eventName="data-request" | error != "" [$__interval]))
和sum by(host) (count_over_time({kind="usage_insights"} | json | eventName="data-request" | error = "" [$__interval]))
构建一个图形面板,以显示数据请求数量随时间的变化。如果您为高可用性设置了 Grafana,使用by (host)
可以为您拥有的每个 Grafana 服务器提供更多信息。
- 在 Explore 中,您可以使用查询