使用 Grafana 处理日志和追踪
在本教程中,我们将使用 Docker Compose 设置一个展示 Quickwit 追踪信息的 Grafana 仪表板。
只需几分钟时间即可让 Grafana 与 Quickwit 配合工作并构建有意义的仪表板。
创建 Docker Compose 配方
让我们添加一个启用了 OTLP 服务的 Quickwit 实例。
version: '3.0'
services:
quickwit:
image: quickwit/quickwit
environment:
QW_ENABLE_OPENTELEMETRY_OTLP_EXPORTER: "true"
OTEL_EXPORTER_OTLP_ENDPOINT: "http://localhost:7281"
ports:
- 7280:7280
command: ["run"]
然后我们创建一个带有 Quickwit 数据源插件的 Grafana 服务。
grafana:
image: grafana/grafana-oss
container_name: grafana
ports:
- "${MAP_HOST_GRAFANA:-127.0.0.1}:3000:3000"
environment:
GF_INSTALL_PLUGINS: https://github.com/quickwit-oss/quickwit-datasource/releases/download/v0.3.1/quickwit-quickwit-datasource-0.3.1.zip;quickwit-quickwit-datasource
GF_AUTH_DISABLE_LOGIN_FORM: "true"
GF_AUTH_ANONYMOUS_ENABLED: "true"
GF_AUTH_ANONYMOUS_ORG_ROLE: Admin
保存并运行配方:
$ docker compose up
您应该能够通过 http://localhost:7280/
访问 Quickwit 的用户界面,以及通过 http://localhost:3000/
访问 Grafana 的用户界面。
配置数据源
在 Grafana 中,前往 数据源。如果插件安装正确,您应该能够在列表中找到 Quickwit。
我们将设置一个新的 Quickwit 数据源,用于查看 Quickwit 自身的 OpenTelemetry 追踪信息,让我们使用以下参数配置数据源:
- URL:
http://quickwit:7280/api/v1
这使用了 Docker 服务名称作为主机 - 索引 ID:
otel-traces-v0_7
保存并测试,您应该会收到确认消息,表明数据源已正确设置。
您还可以设置一个新的 Quickwit 数据源,用于查看 Quickwit 自身的 OpenTelemetry 日志(或您自己的日志索引),让我们使用以下参数配置数据源:
- URL:
http://quickwit:7280/api/v1
这使用了 Docker 服务名称作为主机 - 索引 ID:
otel-logs-v0_7
创建仪表板
然后您可以 创建一个新的仪表板 并添加可视化组件:在这里您应该可以选择追踪信息的 Quickwit 数据源。
Quickwit 会发送自身的追踪信息,因此您应该已经有数据可供显示。让我们配置一些面板!
- 一个表格,统计
span_name
的数量- Panel type:Table
- Query:空
- Metric:Count
- Group by:Terms :
span_name
: 按 Count 排序
- 一个柱状图,展示每小时 tantivy 搜索的数量:
- Panel type:Time Series
- Query:
span_name:tantivy_search
- Metric:Count
- Group by:Date Histogram :
span_start_timestamp_nanos
: 间隔 1 小时
- 一个柱状图,展示过去 6 小时内每小时 ERROR 日志的数量:
- Panel type:Bar Chart
- Query:
service_name:quickwit AND events.event_attributes.level:ERROR
- Metric:Count
- Group by:Terms :
span_start_timestamp_nanos
: 间隔 1 小时
- 在同一个柱状图上再添加一个查询,展示 WARN 日志的数量
结果
这是您的第一个仪表板可能的样子: