下面为你准备了一篇系统化、可直接发布的 《Grafana 安装配置实践》 中文教程,包含安装、配置、数据源、仪表盘、告警与常见问题,适合入门到生产环境部署。
Grafana 安装配置实践(完整版)
Grafana 是当今最流行的可视化监控平台之一,与 Prometheus、Loki、InfluxDB、Elasticsearch 等监控与日志系统搭配使用非常广泛。本篇文章将从 安装 → 基础配置 → 数据源接入 → 仪表盘管理 → 告警配置 → 最佳实践 全流程讲透 Grafana。
一、Grafana 的安装方式
Grafana 提供多种安装方式,本文重点介绍最常用的三种:
1. 使用 Docker 安装(推荐,最快)
Docker 是部署 Grafana 最轻松的方式:
docker run -d \
-p 3000:3000 \
--name=grafana \
grafana/grafana:latest
访问:
http://localhost:3000
默认账号:
用户名:admin
密码:admin(首次登录会强制修改)
2. Linux 原生命令安装(Ubuntu/Debian)
sudo apt-get install -y apt-transport-https
sudo apt-get install -y software-properties-common wget
wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
echo "deb https://packages.grafana.com/oss/deb stable main" \
| sudo tee -a /etc/apt/sources.list.d/grafana.list
sudo apt-get update
sudo apt-get install grafana
sudo systemctl enable grafana-server
sudo systemctl start grafana-server
3. 二进制包安装(适合无公网/内网环境)
在 Grafana 官网下载对应系统的 tar.gz:
tar -zxvf grafana-10.x.x.linux-amd64.tar.gz
cd grafana-10.x.x
./bin/grafana-server web
二、Grafana 初次配置
登录后可进行系统核心设置:
1. 修改管理员密码
进入:
Configuration → Users → admin
2. 配置组织(Organization)
可以用来划分团队、业务线。
Configuration → Organizations
3. 配置 SMTP(支持告警邮件)
修改配置文件:
/etc/grafana/grafana.ini
开启 SMTP:
[smtp]
enabled = true
host = smtp.xxx.com:465
user = no-reply@xxx.com
password = your_password
skip_verify = true
from_address = alert@xxx.com
重启服务:
sudo systemctl restart grafana-server
三、数据源配置(Data Sources)
Grafana 支持几十种数据源,本教程用最常用的 Prometheus 举例:
添加 Prometheus 数据源
路径:
Configuration → Data sources → Add data source
选择 Prometheus,填写地址:
http://localhost:9090
点击 Save & Test。
常用数据源包括:
| 数据源 | 用途 |
|---|---|
| Prometheus | 指标监控(K8s、服务器、应用) |
| Loki | 日志 |
| InfluxDB | 时序数据库 |
| MySQL/Postgres | 业务数据报表 |
| Elasticsearch | 搜索与日志 |
| Jaeger | 链路追踪 |
四、创建仪表盘(Dashboard)
Grafana 的 Dashboard 是核心可视化功能。
1. 创建新的 Dashboard
Dashboards → New → New Dashboard
添加 Panel(图表):
- Time series
- Gauge
- Bar Gauge
- Stat
- Table
- Pie chart
2. 常见 Prometheus 查询示例
CPU 使用率:
100 - avg(irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100
内存使用率:
(node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes) / node_memory_MemTotal_bytes * 100
磁盘剩余空间:
node_filesystem_free_bytes / node_filesystem_size_bytes * 100
五、告警规则(Alerting)
Grafana 8 以后整合了统一告警。
1. 创建告警规则
路径:
Alerting → Alert rules → New alert rule
添加条件,例如:
- CPU 使用率 > 80% 持续 5m
- 磁盘使用率 > 90%
- 服务响应时间过高
2. 告警通知渠道(Contact points)
支持:
- Webhook
- Slack
- Telegram
- 钉钉 / 飞书(插件)
示例:Webhook 通知
{
"message": "Alert fired: {{ .Title }} - value: {{ .Value }}"
}
六、用户与权限管理
企业中需要进行权限控制:
1. 用户角色
| 角色 | 权限 |
|---|---|
| Admin | 全部权限 |
| Editor | 编辑仪表盘 |
| Viewer | 仅查看 |
2. 团队(Teams)
用于大规模监控体系的权限切分:
Configuration → Teams
3. 单点登录 SSO
支持:
- LDAP
- OAuth
- GitHub / Google
- Azure AD
通过 grafana.ini 配置。
七、Grafana 最佳实践(生产环境)
本节非常重要!
1. 持久化存储(Docker)
volumes:
- grafana-storage:/var/lib/grafana
避免容器重启导致数据丢失。
2. 备份 Grafana 数据
备份目录:
/var/lib/grafana
/etc/grafana
/var/log/grafana
3. 配置反向代理 + HTTPS
例如通过 Nginx:
proxy_pass http://127.0.0.1:3000;
4. 使用 API 自动化管理仪表盘
例如获取所有 dashboard:
curl -H "Authorization: Bearer API_KEY" http://grafana/api/search
5. 对仪表盘做版本管理(GitOps 推荐)
可使用:
- Grafana Provisioning
- Grafana API
- json 模式存储 dashboard
八、常见问题 FAQ
1. Grafana 无法显示图表?
检查:
- 数据源是否连接成功
- 查询语句是否返回数据
- 时间范围是否正确(右上角 TimePicker)
2. 登录提示 502/无法访问?
检查:
- 防火墙是否开放 3000 端口
- Grafana 服务是否启动:
systemctl status grafana-server - 反代(Nginx)配置是否正确
3. Grafana Dashboard 不保存?
检查文件夹的权限:
/var/lib/grafana
总结
本篇教程从安装、配置、数据源、仪表盘、告警,到生产级实践,完整覆盖了 Grafana 的实际部署流程。只要按照本文步骤,你即可快速构建一个可用的监控平台,并逐步拓展到企业级监控体系。
发表回复