先说一个关键点:Grafana 本身并不包含现成的仪表盘,安装完 grafana-server 后不会自动展示任何面板——所有 dashboard 都需要登录 Web 界面后手动创建或导入。很多人卡在“装完了却看不到面板”这一步,90% 是因为误以为服务启动后就会自带 UI 资源。

那么,为什么装完 grafana-server 后看不到仪表盘?面板(dashboard)实际上是 Grafana 运行后的 UI 组件,安装包里并不包含。官方没有预置任何 dashboard,即使是最基础的系统监控模板,也需要你手动添加数据源、再导入对应的 ID(例如 Prometheus 的 186)。常见的误解包括:
- 以为
apt install grafana会自带首页仪表盘 - 使用 Docker 启动时没有挂载
/var/lib/grafana,导致容器重启后所有面板丢失 - 登录
https://localhost:3000后页面显示空白,其实是防火墙拦截了 3000 端口,或者 SELinux 阻止了数据源连接
使用 APT/YUM 安装 grafana-server 的关键步骤
不要自行下载 .deb/.rpm 手动安装,这样容易遗漏 systemd 注册。正确的流程是通过官方仓库安装,再执行 systemctl daemon-reload:
- Ubuntu/Debian:添加源后运行
apt install grafana,建议安装 OSS 版(功能完整)而非grafana-enterprise - RHEL/CentOS:使用
dnf install grafana(8+)或yum install grafana(7),不要直接用rpm -Uvh下载包(会跳过 GPG 校验) - 安装完成后立即执行
sudo systemctl daemon-reload,否则systemctl start grafana-server会报 “unit not found” - 服务默认监听
localhost:3000,如需外网访问,请修改conf/custom.ini中的http_addr和http_port配置项
Docker 部署时必须挂载 /var/lib/grafana
不挂载就等于白配置——容器一旦删除,用户、数据源、面板全部丢失。以下基础命令仅适合临时测试:
- 无持久化(测试环境):
docker run -d --name grafana -p 3000:3000 grafana/grafana:10.4.0 - 生产环境(必须持久化):
docker run -d --name grafana -p 3000:3000 -v /opt/grafana-data:/var/lib/grafana grafana/grafana:10.4.0 - 生产环境中避免使用
:latest标签:v10 默认关闭了匿名访问,而 v9 仍开启,镜像版本升级后可能导致登录失败
登录后页面空白或 404,先检查这三项
问题通常不在安装本身,而是环境配置拦截。快速验证方法:
- 防火墙:Ubuntu 执行
sudo ufw status,RHEL 执行sudo firewall-cmd --list-ports,确认 3000 端口已放行 - SELinux(RHEL/CentOS):运行
sudo setsebool -P httpd_can_network_connect 1,否则 Grafana 无法连接 Prometheus 等数据源 - 服务是否正常运行?执行
curl -v https://localhost:3000/api/health,返回{"commit":"","version":"10.4.0"}才说明服务正常
真正麻烦的其实不是安装环节,而是后续配置:数据源的 Access 模式选择错误(Browser vs Server)、Prometheus URL 写成 https://localhost:9090 却没有打通容器网络、面板导入后指标查不到——这些才是实际卡点。建议先确认数据源连通性,再逐步调试面板展示。
