在 Ubuntu/Debian Linux 服务器搭建开源版本的 Grafana

2025-02-08#Grafana#Linux

Grafana 是一款数据可视化与监控分析平台,支持从多种数据源(如 Prometheus、InfluxDB 等)获取数据,能以直观的图表、仪表盘等形式展示数据,助力用户进行数据洞察和监控告警。包括付费的企业版和免费的开源版本。本文介绍在 Linux 服务器搭建开源版本的 Grafana。

下载 Grafana 🔗

Grafana 的下载页面 列出了不同版本和平台下的 Grafana 下载方式,如下图所示。对于开源版本而言,在 Edition 中选择 OSS 即可。注意,对于 ARM 平台,尽管页面上只出了 Linux on Arm64,但其实选中它之后,页面上也列出了 ARMv6 和 ARMv7 上的下载方式。

下载 Grafana

对于 Linux 系统,既可以使用 Grafana 提供的软件包(比如 DEB、RPM 格式等)自动地安装和配置,也可以下载二进制的压缩包自定安装配置。通常情况下,使用软件包安装最为方便,它不仅安装相应的软件,还会创建所需的用户。但是为了可控性,我选择通过二进制压缩包进行安装。

鉴于服务器是 ARM64 平台,因此使用如下命令下载:

wget https://dl.grafana.com/oss/release/grafana-11.5.1.linux-arm64.tar.gz

安装 🔗

解压二进制软件包 🔗

假定期望将 Grafana 安装到 /usr/local/lib/grafana 目录。因此将压缩包解压到该目录即可:

tar zxvf grafana-11.5.1.linux-arm64.tar.gz -C /usr/local/lib/grafana

注意这其实将 Grafana 解压到了 /usr/local/lib/grafana/grafana-v11.5.1 下。

运行 Grafana 的可执行文件位于解压后的 bin/ 目录下。包括:

  • grafana
  • grafana-cli
  • grafana-server

运行 Grafana 只需要 grafana 可执行文件。为此,在 /usr/local/bin 目录创建一个软连接,指向它:

ln -s /usr/local/lib/grafana/grafana-v11.5.1/bin/grafana /usr/local/bin/grafana

创建用户 🔗

接下来会以服务的形式运行 Grafana。出于安全考虑,应该使用低权限用户运行它。因此创建一个专有用户,比如名称为 grafana

adduser grafana

创建配置文件 🔗

运行 Grafana 的命令如下,它使用的是默认的配置文件,会将数据存储在安装目录下的 data/ 目录中(即 /var/local/lib/grafana/grafana-v11.5.1/data):

grafana server

如果想将数据存储到其他位置,那么可以创建自定义的配置文件。比如,假定期望将数据和日志存储到 /mnt/data/apps/grafana/data 目录下,那么可以创建一个配置文件,内容如下:

[paths]
data = /mnt/data/apps/grafana/data
logs = /mnt/data/apps/grafana/data/log

然后在启动 Grafana 时候,通过 --config 参数传入它的路径。假定配置文件的路径为 /mnt/data/apps/grafana/config.ini,那么启动命令为:

grafana server --config /mnt/data/apps/grafana/config.ini

创建 systemd 服务单元文件 🔗

创建 systemd 的服务单元文件 /usr/lib/systemd/system/grafana.service ,内容如下:

[Unit]
Description=Grafana
After=network.target

[Service]
Type=simple
User=grafana
WorkingDirectory=/usr/local/lib/grafana/grafana-v11.5.1
ExecStart=grafana server --config /mnt/data/apps/grafana/config.ini
Restart=on-failure

[Install]
WantedBy=multi-user.target

运行 🔗

通过 systemctl 运行 Grafana 服务:

systemctl restart grafana.service

检查服务状态:

systemctl status grafana.service

如果没有错误,那么通过默认的 3000 端口访问 Grafana。最后让服务开机运行:

systemctl enable grafana.service

加载中...