跳到主要内容

Grafana 安装部署

2.1 Grafana 作用

Grafana 用于展示监控指标、日志和告警结果,最常见的场景是作为 Prometheus 的可视化入口。

常见用途:

  • 展示主机、中间件、业务服务监控面板。
  • 通过变量进行环境、集群、实例筛选。
  • 在 Explore 中调试 PromQL 查询。
  • 统一查看监控告警和趋势。

2.2 安装方式

常见安装方式:

方式说明适用场景
RPM / DEB官方仓库安装,升级维护方便物理机 / 虚拟机
二进制包手工安装,可控性高特殊环境
Docker / Compose部署快,便于测试和小规模使用测试环境 / 容器环境
Helm ChartKubernetes 内快速部署云原生环境

本文以 RPM / DEB + systemd 为主,同时补充 Docker Compose 示例。

2.3 环境准备

建议配置:

  • 测试环境:2C 2G 起步。
  • 生产环境:按数据源数量、面板复杂度、用户并发评估。
  • 持久化目录建议独立磁盘或独立数据卷。

常用端口:

端口说明
3000Grafana Web 默认端口

2.4 RPM / DEB 安装

2.4.1 RHEL / Rocky / AlmaLinux

添加仓库:

cat > /etc/yum.repos.d/grafana.repo <<'EOF' # 写入 Grafana YUM 仓库配置
[grafana] # 仓库 ID
name=grafana # 仓库名称
baseurl=https://rpm.grafana.com # Grafana 官方 RPM 仓库地址
repo_gpgcheck=1 # 启用仓库元数据 GPG 校验
enabled=1 # 启用该仓库
gpgcheck=1 # 启用安装包 GPG 校验
gpgkey=https://rpm.grafana.com/gpg.key # Grafana 官方 GPG 公钥地址
sslverify=1 # 启用 SSL 证书校验
sslcacert=/etc/pki/tls/certs/ca-bundle.crt # CA 证书路径
EOF

安装:

dnf makecache # 刷新软件仓库缓存
dnf install -y grafana # 安装 Grafana

2.4.2 Ubuntu / Debian

安装依赖:

apt update # 更新软件源
apt install -y wget gpg apt-transport-https software-properties-common # 安装仓库管理依赖

导入仓库密钥:

mkdir -p /etc/apt/keyrings # 创建 APT keyrings 目录
wget -q -O - https://apt.grafana.com/gpg.key | gpg --dearmor | tee /etc/apt/keyrings/grafana.gpg > /dev/null # 下载并导入 Grafana 仓库 GPG 公钥

添加仓库:

cat > /etc/apt/sources.list.d/grafana.list <<'EOF' # 写入 Grafana APT 仓库配置
deb [signed-by=/etc/apt/keyrings/grafana.gpg] https://apt.grafana.com stable main # Grafana 官方 APT 仓库
EOF

安装:

apt update # 刷新软件源
apt install -y grafana # 安装 Grafana

2.5 启动与开机自启

systemd 启动:

systemctl daemon-reload # 重新加载 systemd 配置
systemctl enable --now grafana-server # 设置 Grafana 开机自启并立即启动
systemctl status grafana-server # 查看 Grafana 服务状态

查看日志:

journalctl -u grafana-server -f # 实时查看 Grafana 服务日志

访问地址:

http://服务器IP:3000

2.6 默认目录说明

常见目录:

路径说明
/etc/grafana/grafana.ini主配置文件
/var/lib/grafana数据目录
/var/log/grafana日志目录
/usr/share/grafana程序安装目录

2.7 Grafana 主配置

主配置文件:

/etc/grafana/grafana.ini
[server]
; protocol = http
; http_addr =
; http_port = 3000
; domain = localhost
; root_url = %(protocol)s://%(domain)s:%(http_port)s/

[security]
; admin_user = admin
; admin_password = admin

[users]
; allow_sign_up = false

[paths]
; data = /var/lib/grafana
; logs = /var/log/grafana

配置说明:

  • http_port:Grafana Web 监听端口。
  • domain:对外访问域名。
  • root_url:反向代理或子路径部署时必须设置。
  • admin_user:初始化管理员账号。
  • admin_password:初始化管理员密码。
  • allow_sign_up:是否允许用户自行注册。
  • data:Grafana 数据目录。
  • logs:Grafana 日志目录。

2.8 常用配置示例

2.8.1 修改监听地址和端口

/etc/grafana/grafana.ini
[server]
http_addr = 0.0.0.0
http_port = 3000
domain = grafana.example.com
root_url = http://grafana.example.com:3000/

2.8.2 禁止用户自注册

/etc/grafana/grafana.ini
[users]
allow_sign_up = false

2.8.3 修改管理员密码

/etc/grafana/grafana.ini
[security]
admin_user = admin
admin_password = ChangeMe_123

修改后重启:

systemctl restart grafana-server # 重启 Grafana 服务使配置生效
systemctl status grafana-server # 查看 Grafana 服务状态

2.9 Docker Compose 安装

docker-compose.yml
services: # Compose 服务列表
grafana: # Grafana 服务
image: grafana/grafana:12.3.0 # 使用固定版本 Grafana 镜像
container_name: grafana # 容器名称
restart: unless-stopped # 容器异常退出后自动重启,手动停止除外
ports: # 端口映射
- "3000:3000" # 暴露 Grafana Web 端口
environment: # Grafana 环境变量
GF_SECURITY_ADMIN_USER: admin # 初始化管理员用户名
GF_SECURITY_ADMIN_PASSWORD: ChangeMe_123 # 初始化管理员密码
volumes: # 数据卷挂载
- grafana_data:/var/lib/grafana # 持久化 Grafana 数据

volumes: # Compose 数据卷定义
grafana_data: # Grafana 数据卷

启动:

docker compose up -d # 后台启动 Grafana
docker compose logs -f grafana # 查看 Grafana 容器日志

2.10 首次登录

默认登录地址:

http://服务器IP:3000/login

首次登录通常会要求修改管理员密码。

建议初始化后立刻完成:

  • 修改管理员密码。
  • 关闭匿名访问。
  • 关闭自注册。
  • 配置 HTTPS 或通过反向代理接入。
  • 配置组织、团队和权限。

2.11 Prometheus 数据源对接

页面路径:

Connections -> Data sources -> Add data source -> Prometheus

常用配置:

配置项示例
NamePrometheus
URLhttp://prometheus:9090
AccessServer

自动化配置:

provisioning/datasources/prometheus.yml
apiVersion: 1 # Grafana provisioning API 版本

datasources: # 数据源列表
- name: Prometheus # 数据源名称
type: prometheus # 数据源类型
access: proxy # 由 Grafana 服务端访问 Prometheus
url: http://prometheus:9090 # Prometheus 地址
isDefault: true # 设置为默认数据源
editable: true # 允许在页面编辑

2.12 常见问题

2.12.1 页面无法访问

排查:

systemctl status grafana-server # 查看 Grafana 服务状态
ss -lntp | grep 3000 # 检查 3000 端口监听状态
curl http://localhost:3000/api/health # 检查 Grafana 健康状态

2.12.2 忘记管理员密码

重置密码:

grafana-cli admin reset-admin-password NewPass_123 # 重置 Grafana 管理员密码

2.12.3 配置修改未生效

排查:

grafana-server -v # 查看 Grafana 版本
grep -n '^[^;]' /etc/grafana/grafana.ini # 查看主配置中实际启用的配置项
systemctl restart grafana-server # 重启 Grafana 服务
journalctl -u grafana-server -n 200 --no-pager # 查看最近日志

2.13 参考资料