在 Ubuntu/Debian Linux 服务器搭建开源版本的 Grafana
Grafana 是一款数据可视化与监控分析平台,支持从多种数据源(如 Prometheus、InfluxDB 等)获取数据,能以直观的图表、仪表盘等形式展示数据,助力用户进行数据洞察和监控告警。包括付费的企业版和免费的开源版本。本文介绍在 Linux 服务器搭建开源版本的 Grafana。
下载 Grafana 🔗
Grafana 的下载页面 列出了不同版本和平台下的 Grafana 下载方式,如下图所示。对于开源版本而言,在 Edition 中选择 OSS 即可。注意,对于 ARM 平台,尽管页面上只出了 Linux on Arm64,但其实选中它之后,页面上也列出了 ARMv6 和 ARMv7 上的下载方式。
对于 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