跳到主要内容

Grafana仪表板创建

介绍

Grafana仪表板是监控和可视化数据的核心工具,能够将Loki收集的日志数据转化为直观的图表和面板。本章将指导您从零开始创建动态仪表板,并展示如何与Loki数据源交互。

备注

在开始前,请确保:

  1. 已安装并配置Grafana(版本8.0+)
  2. Loki数据源已正确连接到Grafana

基础仪表板创建

步骤1:新建仪表板

  1. 登录Grafana,点击左侧菜单的 "Dashboards" > "New"
  2. 选择 "Add an empty panel"

步骤2:配置数据源

在面板编辑器中:

plaintext
1. 顶部选择数据源为 "Loki"
2. 在查询框输入LogQL表达式(例如:`{job="varlogs"}`)

步骤3:选择可视化类型

Grafana支持多种图表类型:

  • 时间序列图(适合展示日志频率)
  • 表格视图(原始日志查看)
  • 统计面板(关键指标摘要)
提示

初次尝试建议使用 "Time series",它能自动处理时间戳数据。


实际案例:监控HTTP错误日志

场景描述

假设我们需要监控Nginx服务中状态码≥400的错误日志。

操作步骤

  1. 编写LogQL查询
plaintext
{job="nginx"} |= "error" | pattern `<ip> - - <_> "<method> <uri> <_>" <status> <_>`
| status >= 400
  1. 转换为指标
plaintext
count_over_time(
{job="nginx"} |= "error" | status >= 400 [1m]
)
  1. 配置面板

效果展示

最终面板将显示每分钟HTTP错误的数量,并用红色标记超过阈值的时段。


高级功能

变量使用

创建动态筛选器(如按环境过滤):

  1. 进入仪表板设置 "Variables"
  2. 添加查询变量:
plaintext
Name: env
Type: Query
Data source: Loki
Query: label_values(env)

注释与标记

在时间轴上添加事件标记:

plaintext
1. 点击面板标题 > "Edit" > "Annotations"
2. 添加查询:{job="deployer"} |= "deploy"

总结

通过本指南,您已经学会:

  • 创建基础仪表板并连接Loki数据源
  • 使用LogQL进行日志分析和可视化
  • 实现动态过滤和事件注释
常见问题
  1. 无数据显示?检查Loki数据源权限和时间范围
  2. 图表加载慢?优化LogQL查询或减少时间范围

延伸练习

  1. 创建一个展示不同日志级别(ERROR/WARN/INFO)占比的饼图
  2. 添加变量实现按主机名动态过滤日志

附加资源