Skip to content

Grafana RPM 二进制安装指南 | 兼容 CentOS/RHEL

Grafana RPM 安装示意图

前言

Grafana 作为最流行的开源数据可视化平台,在监控领域有着广泛的应用。在部署 Grafana 时,除了 Kubernetes + Helm 的云原生方案外,RPM 包安装仍然是最直接、最传统的方式,尤其适合以下场景:

  • 开发测试环境:快速验证 Grafana 功能,无需部署完整的 Kubernetes 集群
  • 单机监控:只需要监控几台物理机或虚拟机,搭建轻量级监控平台
  • 资源受限环境:没有足够的资源运行 Kubernetes 集群,但需要可视化监控能力
  • 传统运维习惯:更熟悉 RPM 包管理方式,希望保持简单可控的部署流程

本文详细记录在 CentOS/RHEL 系统上通过 RPM 包安装 Grafana OSS 开源版的完整流程,从下载、安装、配置、防火墙开放到服务管理,涵盖所有关键步骤和排障经验。

💡 版本选择提示

Grafana 提供 OSS(开源版)Enterprise(企业版) 两个版本。本文使用 OSS 开源版进行演示,它包含了 Grafana 的核心可视化、告警和数据源等全部基础功能,完全满足个人开发、测试及大部分生产场景。Enterprise 企业版则额外提供报表、RBAC、SAML 等高级功能,适用于有企业级需求的环境。两者安装流程完全一致,您可以根据自身需要替换下载链接。

无论您是运维工程师、开发人员还是 Homelab 爱好者,都可以通过本文快速搭建一个可用的 Grafana 监控平台。

环境说明

项目信息
操作系统CentOS 7+ / RHEL 7+
架构x86_64 (amd64)
Grafana 版本13.2.0
安装方式RPM 包
服务管理systemd

第一部分:下载 Grafana RPM 包

1.1 从 GitHub Releases 下载

bash
# 进入临时目录
cd /tmp

# 下载 Grafana 13.2.0 RPM 包(企业版)
wget https://github.com/grafana/grafana/releases/download/v13.2.0/grafana-enterprise_13.2.0_linux_amd64.rpm

# 或下载 OSS 开源版
wget https://github.com/grafana/grafana/releases/download/v13.2.0/grafana_13.2.0_linux_amd64.rpm

1.2 从 Grafana 官方 YUM 仓库下载(备选)

bash
# 添加 Grafana 官方 YUM 仓库
cat > /etc/yum.repos.d/grafana.repo <<'EOF'
[grafana]
name=grafana
baseurl=https://packages.grafana.com/oss/rpm
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://packages.grafana.com/gpg.key
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
EOF

# 从仓库安装
yum install grafana -y

1.3 版本选择建议

版本类型适用场景说明
OSS(开源版)开发测试、个人 Homelab完全开源,功能足够大多数场景,无需 License
Enterprise(企业版)企业生产环境包含高级商业功能,需申请 License

第二部分:安装 RPM 包

2.1 首次安装

bash
# 安装 RPM 包
rpm -ivh grafana_13.2.0_linux_amd64.rpm

预期输出:

Preparing...                          ################################# [100%]
Updating / installing...
   1:grafana-13.2.0-1                 ################################# [100%]

2.2 升级安装

如果系统已安装旧版本 Grafana:

bash
# 使用 -U 参数升级
rpm -Uvh grafana_13.2.0_linux_amd64.rpm

2.3 验证安装

bash
# 查看安装的文件列表
rpm -ql grafana

# 查看版本
/usr/sbin/grafana-server -v
# 输出:Version 13.2.0 (commit: f681b1359f, branch: HEAD)

# 查看 Grafana CLI 版本
/usr/sbin/grafana-cli -v

第三部分:配置 Grafana

3.1 默认配置文件位置

文件路径说明
主配置文件/etc/grafana/grafana.iniGrafana 核心配置
Systemd 服务/usr/lib/systemd/system/grafana-server.service服务管理
数据目录/var/lib/grafana存储数据(默认)
日志目录/var/log/grafana日志文件
插件目录/var/lib/grafana/plugins插件存放位置
默认配置文件/usr/share/grafana/conf/defaults.ini默认配置参考

3.2 修改配置文件

bash
# 备份原配置
cp /etc/grafana/grafana.ini /etc/grafana/grafana.ini.bak

# 编辑配置
vim /etc/grafana/grafana.ini

关键配置项

ini
[server]
# Protocol (http, https, h2, socket, socket_h2)
protocol = http

# Minimum TLS version allowed. By default, this value is empty. Accepted values are: TLS1.2, TLS1.3. If nothing is set TLS1.2 would be taken
;min_tls_version = ""

# The ip address to bind to, empty will bind to all interfaces
http_addr =

# The http port to use
http_port = 3000

# The public facing domain name used to access grafana from a browser
domain = 192.168.0.231

3.3 修改数据目录权限

bash
# 确保 Grafana 用户有权限
chown -R grafana:grafana /var/lib/grafana
chown -R grafana:grafana /var/log/grafana

第四部分:启动 Grafana 服务

4.1 使用 systemd 管理

bash
# 重新加载 systemd 配置
systemctl daemon-reload

# 启动服务
systemctl start grafana-server

# 设置开机自启
systemctl enable grafana-server

# 查看服务状态
systemctl status grafana-server

4.2 验证服务正常运行

bash
# 查看端口监听
netstat -lntp | grep 3000

# 预期输出:
# tcp  0  0 0.0.0.0:3000  0.0.0.0:*  LISTEN  12345/grafana-server

# 或使用 ss 命令
ss -lntp | grep 3000

# 测试本地访问
curl http://192.168.0.231:3000 | head -20

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

第五部分:开放防火墙

这是最容易忽略的一步,也是导致外部无法访问的主要原因。

5.1 使用 firewalld(CentOS 7+/RHEL 7+)

bash
# 开放 3000 端口
firewall-cmd --zone=public --add-port=3000/tcp --permanent

# 重新加载防火墙规则
firewall-cmd --reload

# 验证规则已添加
firewall-cmd --list-ports

# 预期输出:3000/tcp

5.2 使用 iptables(旧版系统)

bash
# 添加规则
iptables -A INPUT -p tcp --dport 3000 -j ACCEPT

# 保存规则
service iptables save
# 或
iptables-save > /etc/sysconfig/iptables

5.3 关闭防火墙(仅测试环境)

bash
# 临时关闭
systemctl stop firewalld

# 永久关闭(不推荐生产环境)
systemctl disable firewalld

第六部分:SELinux 配置

如果系统启用了 SELinux,可能需要额外配置。

6.1 检查 SELinux 状态

bash
getenforce
# Enforcing - 启用
# Permissive - 警告模式
# Disabled - 禁用

6.2 临时关闭(测试用)

bash
setenforce 0

6.3 永久配置(推荐)

bash
# 允许 Grafana 绑定端口
semanage port -a -t http_port_t -p tcp 3000

# 允许 Grafana 访问网络
setsebool -P httpd_can_network_connect 1

# 设置文件上下文
chcon -t httpd_sys_content_t /usr/share/grafana/public -R

第七部分:访问 Grafana

7.1 Web 登录

bash
# 浏览器访问
http://<服务器IP>:3000

# 默认凭证
用户名: admin
密码: admin

7.2 首次登录

首次登录会强制要求修改密码,建议设置强密码。

7.3 验证 API

bash
# 检查 Grafana 健康状态
curl http://localhost:3000/api/health

# 预期返回:
# {
#   "database": "ok",
#   "version": "13.2.0",
#   "commit": "f681b1359f6a0b8ecb9f2c49a88ac72b75bde73b"
# }

第八部分:常见问题与排障

Q1:rpm -ivh 报文件冲突

file /etc/grafana from install of grafana-13.2.0-1.x86_64 conflicts with file from package grafana-5.2.2-1.x86_64

原因:系统已安装旧版本 Grafana。

解决方案

bash
# 方式一:使用 -U 升级
rpm -Uvh grafana_13.2.0_linux_amd64.rpm

# 方式二:先卸载旧版本
rpm -e grafana-5.2.2-1.x86_64
rpm -ivh grafana_13.2.0_linux_amd64.rpm

Q2:服务启动失败,端口被占用

bash
# 检查端口占用
lsof -i:3000
netstat -tlnp | grep 3000

# 杀死占用进程
kill -9 <PID>
systemctl start grafana-server

Q3:外部无法访问(Connection refused)

检查顺序

bash
# 1. 服务是否运行
systemctl status grafana-server

# 2. 端口是否监听
netstat -lntp | grep 3000

# 3. 防火墙是否开放
firewall-cmd --list-ports

# 4. 配置是否绑定 0.0.0.0
cat /etc/grafana/grafana.ini | grep http_addr

# 5. SELinux 是否阻止
getenforce
setenforce 0

Q4:忘记 admin 密码

bash
# 重置密码为 admin
/usr/sbin/grafana-cli admin reset-admin-password admin

# 重启服务
systemctl restart grafana-server

第九部分:常用管理命令速查

操作命令
启动服务systemctl start grafana-server
停止服务systemctl stop grafana-server
重启服务systemctl restart grafana-server
查看状态systemctl status grafana-server
设置开机自启systemctl enable grafana-server
查看日志journalctl -u grafana-server -f
查看版本/usr/sbin/grafana-server -v
重置密码/usr/sbin/grafana-cli admin reset-admin-password <新密码>
安装插件/usr/sbin/grafana-cli plugins install <插件名>
查看配置cat /etc/grafana/grafana.ini
验证配置/usr/sbin/grafana-cli admin config-check

第十部分:升级指南

10.1 查看当前版本

bash
/usr/sbin/grafana-server -v

10.2 下载新版本

bash
wget https://github.com/grafana/grafana/releases/download/v13.2.0/grafana_13.2.0_linux_amd64.rpm

10.3 执行升级

bash
# 停止服务
systemctl stop grafana-server

# 备份配置和数据
cp -r /etc/grafana /etc/grafana.bak
cp -r /var/lib/grafana /var/lib/grafana.bak

# 升级安装
rpm -Uvh grafana_13.2.0_linux_amd64.rpm

# 启动服务
systemctl start grafana-server

# 验证版本
/usr/sbin/grafana-server -v

第十一部分:与其他安装方式的对比

对比项RPM 安装Helm 部署
适用场景单机/少量节点Kubernetes 集群
依赖Kubernetes + Helm
安装速度极快(分钟级)较慢(需要集群环境)
可扩展性手动管理自动扩缩容
配置管理手动修改配置文件values.yaml 统一管理
升级回滚手动 rpm -UvhHelm 原生支持
高可用需额外配置原生支持
学习曲线中高
适合场景开发测试、小规模生产大规模

结语

通过本文,您已经掌握了在 CentOS/RHEL 系统上通过 RPM 包安装 Grafana 的完整流程:

  1. 下载并安装 Grafana RPM 包
  2. 配置 Grafana(绑定了 0.0.0.0,允许外部访问)
  3. 使用 systemd 管理服务
  4. 开放防火墙和 SELinux 配置
  5. 访问 Grafana Web 界面
  6. 常见问题排障
  7. 版本升级流程

RPM 安装方式的核心优势:简单、快速、可控,是单机和传统运维场景下的最佳选择。


相关资源

本文全部操作在 CentOS 7/8 环境下验证通过,适用 RHEL 及兼容发行版。

最后更新2026/08/23 11:22
如果你觉得这篇文章有帮助,或者想聊聊技术、工作,欢迎通过下面方式联系我:
contact fishfinal