Grafana
概述
Grafana 是一个开源的可视化和分析平台,主要用于监控和数据展示。它支持多种数据源,允许用户通过动态仪表板实时查看和分析数据。
核心能力:
- 支持 Prometheus、MySQL、Elasticsearch、InfluxDB 等 30+ 种数据源
- 丰富的图表类型和可视化面板
- 灵活的告警规则配置与通知
- 支持用户权限管理和团队协作
典型应用场景:
- IT 基础设施监控(结合 Prometheus)
- 业务数据分析和运营大屏
- 日志分析可视化(结合 Elasticsearch)
- 应用程序性能监控(APM)
部署准备
1. 系统要求
| 项目 | 最低配置 | 推荐配置 |
|---|---|---|
| CPU | 1 核 | 2 核+ |
| 内存 | 512 MB | 2 GB+ |
| 硬盘 | 5 GB | 20 GB+ |
2. 创建 Docker Compose 编排文件
docker-compose.yaml:
services:
grafana:
image: grafana/grafana:10.1.2
container_name: grafana
restart: always
environment:
- TZ=Asia/Shanghai
- GF_SECURITY_ADMIN_PASSWORD=admin
ports:
- "3000:3000"
volumes:
- grafana_conf:/etc/grafana
- grafana_data:/var/lib/grafana
deploy:
resources:
limits:
cpus: "1"
memory: "2G"
volumes:
grafana_data:
grafana_conf:3. 环境变量说明
| 变量 | 说明 |
|---|---|
TZ |
设置时区为 Asia/Shanghai |
GF_SECURITY_ADMIN_PASSWORD |
设置管理员初始密码(默认用户名为 admin) |
启动服务
docker compose up -d查看启动日志:
docker logs grafana -f --tail=50验证访问
curl http://127.0.0.1:3000在浏览器中打开 http://<服务器IP>:3000 即可访问 Grafana。
默认登录信息:
- 用户名:
admin - 密码:
admin(或环境变量中配置的密码)
首次登录后会提示修改密码,建议立即修改。
常用数据源配置
Prometheus
Name: Prometheus
Type: Prometheus
URL: http://prometheus:9090
Access: Server (default)MySQL
Name: MySQL
Type: MySQL
Host: mysql:3306
Database: grafana
User: root
Password: your_passwordElasticsearch
Name: Elasticsearch
Type: Elasticsearch
URL: http://elasticsearch:9200
Index name: [logstash-]YYYY.MM.DD
Time field: @timestamp
Version: 7.x常用管理命令
| 操作 | 命令 |
|---|---|
| 启动 Grafana | docker compose up -d |
| 停止 Grafana | docker compose stop |
| 重启 Grafana | docker compose restart |
| 查看状态 | docker compose ps |
| 查看日志 | docker logs grafana -f --tail=100 |
| 进入容器 | docker exec -it grafana /bin/bash |
| 重置管理员密码 | docker exec -it grafana grafana-cli admin reset-admin-password newpassword |
配置持久化
数据存储于 Docker Volume 中,如需备份或迁移数据:
# 查看 Volume 位置
docker volume inspect grafana_grafana_data
docker volume inspect grafana_grafana_conf
# 备份数据
docker run --rm -v grafana_grafana_data:/data alpine tar czf /tmp/grafana_data.tar.gz -C /data .
# 恢复数据
docker run --rm -v grafana_grafana_data:/data alpine tar xzf /tmp/grafana_data.tar.gz -C /data常见问题
Q:登录时提示用户名或密码错误?
- 确认默认密码是否正确(初始密码为
admin或GF_SECURITY_ADMIN_PASSWORD设置的值) - 如忘记密码,可通过命令行重置:
docker exec -it grafana grafana-cli admin reset-admin-password new_passwordQ:如何添加告警通知?
- 进入 Alerting > Contact points 创建通知渠道
- 支持 Email、Webhook、钉钉、企业微信、Slack 等
- 在面板配置中设置告警规则并关联通知渠道
Q:Grafana 启动慢或内存占用高?
检查以下几点:
- 确认
docker-compose.yaml中内存限制是否合理 - 初次启动需要初始化数据库,需等待片刻
- 如数据源配置过多,建议分批加载
Q:如何备份仪表板配置?
进入 Dashboard > Share > Export 可导出 JSON 配置文件。
批量导出所有仪表板:
# 通过 API 导出
curl -u admin:admin http://localhost:3000/api/search?type=dash-db | jq '.[] | .uri'Q:如何更换管理员密码?
# 方式一:通过命令行重置
docker exec -it grafana grafana-cli admin reset-admin-password your_new_password
# 方式二:在配置文件初始化时设置
# docker-compose.yaml 中添加
# - GF_SECURITY_ADMIN_PASSWORD=your_new_password