Loki 数据源
Grafana Loki 是一套可以组合成功能齐全的日志记录栈的组件。与其他日志记录系统不同,Loki 的构建理念是仅索引日志的元数据:标签(就像 Prometheus 标签一样)。日志数据本身会被压缩并存储在对象存储(如 S3 或 GCS),甚至本地文件系统中的块中。
以下指南将帮助您开始使用 Loki
支持的 Loki 版本
此数据源支持以下 Loki 版本
- v2.8+
添加数据源
有关如何在 Grafana 中添加数据源的说明,请参阅管理文档 只有具有组织管理员角色的用户才能添加数据源。管理员还可以通过 YAML 配置数据源使用 Grafana 的配置系统。
添加 Loki 数据源后,您可以配置它,以便您的 Grafana 实例的用户可以在其查询编辑器中创建查询,当他们构建仪表盘,使用Explore,以及标注可视化效果。
注意
要排查配置及其他问题,请检查位于
/var/log/grafana/grafana.log
(Unix 系统)或<grafana_install_dir>/data/log
(其他平台和手动安装)的日志文件。
配置数据源
您可以在 YAML 文件中定义和配置数据源,作为 Grafana 配置系统的一部分。有关配置的更多信息以及可用的配置选项,请参阅配置 Grafana。
配置示例
apiVersion: 1
datasources:
- name: Loki
type: loki
access: proxy
url: https://:3100
jsonData:
timeout: 60
maxLines: 1000
使用基本认证和派生字段
您必须转义美元符号 ($
) 字符,因为在 YAML 值中它可能用于插值环境变量
apiVersion: 1
datasources:
- name: Loki
type: loki
access: proxy
url: https://:3100
basicAuth: true
basicAuthUser: my_user
jsonData:
maxLines: 1000
derivedFields:
# Field with internal link pointing to data source in Grafana.
# datasourceUid value can be anything, but it should be unique across all defined data source uids.
- datasourceUid: my_jaeger_uid
matcherRegex: "traceID=(\\w+)"
name: TraceID
# url will be interpreted as query for the datasource
url: '$${__value.raw}'
# optional for URL Label to set a custom display label for the link.
urlDisplayLabel: 'View Trace'
# Field with external link.
- matcherRegex: "traceID=(\\w+)"
name: TraceID
url: 'https://:16686/trace/$${__value.raw}'
secureJsonData:
basicAuthPassword: test_password
使用 Jaeger 数据源
在此示例中,Jaeger 数据源的uid
值应与 Loki 数据源的datasourceUid
值匹配。
datasources:
- name: Jaeger
type: jaeger
url: http://jaeger-tracing-query:16686/
access: proxy
# UID should match the datasourceUid in derivedFields.
uid: my_jaeger_uid
查询数据源
Loki 数据源的查询编辑器帮助您创建使用 Loki 查询语言LogQL的日志和指标查询。
有关详细信息,请参阅查询编辑器文档。
使用模板变量
您可以使用变量,而不是在指标查询中硬编码诸如服务器、应用程序和传感器名称之类的详细信息。Grafana 会在仪表盘顶部的下拉选择框中列出这些变量,帮助您更改仪表盘中显示的数据。Grafana 将此类变量称为模板变量。
有关详细信息,请参阅模板变量文档。