下面为你准备了一篇系统化、可直接发布的 《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)

支持:

  • Email
  • 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 的实际部署流程。只要按照本文步骤,你即可快速构建一个可用的监控平台,并逐步拓展到企业级监控体系。