Grafana 是一个开源的数据可视化和监控平台,它能够连接多种数据源,创建丰富的可视化图表,并支持告警功能。本教程将帮助你掌握 Grafana 的核心功能和高级特性。
安装和配置
Docker 安装
使用 Docker 运行 Grafana 是最简单的方式:
docker run -d \
--name=grafana \
-p 3000:3000 \
grafana/grafana-enterprise
Docker Compose 安装
创建 docker-compose.yml 文件:
version: '3'
services:
grafana:
image: grafana/grafana-enterprise
ports:
- "3000:3000"
volumes:
- grafana-storage:/var/lib/grafana
environment:
- GF_SECURITY_ADMIN_PASSWORD=admin
- GF_USERS_ALLOW_SIGN_UP=false
volumes:
grafana-storage:
运行命令:
docker-compose up -d
基础配置
初始登录
访问 http://localhost:3000
默认用户名:admin
默认密码:admin
首次登录会要求修改密码
配置数据源
Grafana 支持多种数据源:
添加 Prometheus 数据源:
Configuration > Data Sources > Add data source
选择 Prometheus
URL: http://prometheus:9090
点击 “Save & Test”
添加 InfluxDB 数据源:
选择 InfluxDB
URL: http://influxdb:8086
Database: your_database
User & Password(如果需要)
创建仪表板
基础操作
创建新仪表板:
点击 “+” > Dashboard
选择 “Add new panel”
配置面板:
选择数据源
编写查询
设置可视化类型
配置面板选项
查询编辑器
不同数据源的查询示例:
Prometheus 查询:
rate(http_requests_total[5m])
InfluxDB 查询:
SELECT mean("value") FROM "cpu" WHERE $timeFilter GROUP BY time($__interval)
可视化类型
Grafana 提供多种可视化类型:
时间序列图:
适用于展示趋势数据
支持多种渲染模式
可配置阈值和告警
仪表盘:
显示单个指标
支持阈值颜色
可自定义范围
状态图:
展示系统状态
支持多种颜色映射
可配置阈值
热力图:
展示数据分布
支持自定义颜色
可调整桶大小
高级特性
变量和模板
定义变量:
name = hostname
type = query
query = label_values(node_cpu_seconds_total, instance)
使用变量:
node_memory_used_bytes{instance="$hostname"}
告警配置
创建告警规则:
编辑面板
Alert 标签页
配置条件和通知
# 告警条件示例
WHEN avg() OF query(A, 5m, now) IS ABOVE 90
配置通知渠道:
Alerting > Notification channels
支持 Email、Slack、WebHook 等
仪表板导入/导出
导出仪表板:
Dashboard settings
JSON Model
复制或下载 JSON
导入仪表板:
”+” > Import
粘贴 JSON 或上传文件
配置变量映射
用户和权限管理
用户管理
创建用户:
Server Admin > Users
New user
设置权限级别
角色配置:
Admin:完全访问权限
Editor:可以编辑仪表板
Viewer:只能查看
团队管理
创建团队:
Configuration > Teams
New Team
添加成员
权限设置:
仪表板级别权限
文件夹级别权限
数据源权限
性能优化
查询优化
使用适当的时间间隔:
rate(http_requests_total[$__interval])
限制时间范围:
使用 $__timeFilter
合理设置刷新间隔
缓存配置
查询缓存:
[caching]
enabled = true
ttl = 3600
图像渲染缓存:
[rendering]
cache_ttl = 3600
最佳实践
仪表板组织
使用文件夹:
按应用分组
按团队分组
按环境分组
命名约定:
使用清晰的命名
包含必要的元信息
保持一致性
可视化建议
配色方案:
使用对比色
考虑色盲友好
保持一致性
布局优化:
重要面板置顶
相关面板分组
保持简洁
常见问题解决
1. 连接问题
检查数据源配置
验证网络连接
查看错误日志
2. 查询超时
优化查询语句
调整超时设置
使用缓存
3. 权限问题
检查用户权限
验证数据源访问权限
查看审计日志
总结
Grafana 提供了强大的数据可视化能力:
支持多种数据源
丰富的可视化类型
灵活的配置选项
完善的权限管理
通过本教程,你应该已经掌握:
基础安装和配置
仪表板创建和管理
高级特性使用
性能优化方法
最佳实践和问题排查
建议从简单的仪表板开始,逐步探索更多高级特性,打造适合你需求的监控可视化平台。