如何在 16.04 上安装最新版本的 Prometheus?

如何在 16.04 上安装最新版本的 Prometheus?

我在全新安装的 Ubuntu 16.04 上安装最新版本的 Prometheus 时遇到了麻烦。我能找到的所有指南都是针对 14.04 的,从 systemV 转移到 systemd 使得这些指南在 16.04 上设置时不兼容(或至少不完整)。

我可以从 apt 安装 Prometheus,但它安装的是 0.16.2 版本,而当前版本是 1.0.2。

我一直在用官方的prometheus.io 安装指南Digital Ocean 上的本指南

有人能帮我设置 systemd 吗?我对 Ubuntu 比较熟悉,但 systemd 的更改让我很为难。

答案1

安装 prometheus 时,以下单元文件对我有用服务器版本 1.x(与导出器相反)。

# /etc/systemd/system/prometheus.service
[Unit]
Description=Prometheus Server
Documentation=https://prometheus.io/docs/introduction/overview/
After=network-online.target

[Service]
User=prometheus
Restart=on-failure
ExecStart=/usr/local/bin/prometheus-1.1.2.linux-amd64/prometheus \
                                -config.file=/etc/prometheus/prometheus.yml \
                                -storage.local.path=/var/lib/prometheus/data

[Install]
WantedBy=multi-user.target

当然,这假设您已经创建了 prometheus 用户并授予了必要的权限。

然后使用WInfly提到的命令。

$ sudo systemctl daemon-reload
$ sudo systemctl enable prometheus
$ sudo systemctl start prometheus
$ sudo systemctl status prometheus

我发现以下内容很有帮助:

普罗米修斯:https://blog.svedr.in/posts/prometheus-quick-start.html

单元文件指令的手册页:https://www.freedesktop.org/software/systemd/man/systemd.directives.html

答案2

服务器存储参数名称在 2.x 版本中发生了变化,工作语法:

[Unit]
Description=Prometheus Server
After=network-online.target

[Service]
User=root
Restart=on-failure
ExecStart=/usr/local/bin/prometheus-2.2.1.linux-amd64/prometheus \
                                --config.file=/etc/prometheus/prometheus.yml \
                                --storage.tsdb.path=/var/lib/prometheus/data

[Install]
WantedBy=multi-user.target

答案3

我找到了答案本文。我在尝试将其设置为使用 systemd 运行时缺少的特定部分是创建单元文件。下面是为 node_exporter 创建单元文件,然后将其作为服务运行。希望这对其他人有所帮助!

创建单元文件:

$ sudo vim /etc/systemd/system/node_exporter.service
[Unit]
Description=Node Exporter

[Service]
User=vxx
ExecStart=/home/vxx/Prometheus/node_exporter/node_exporter

[Install]
WantedBy=default.target

然后重新加载守护进程或重启服务器后启动服务:

$ sudo systemctl daemon-reload
$ sudo systemctl enable node_exporter.service
$ sudo systemctl start node_exporter.service
$ sudo systemctl status node_exporter.service

答案4

如果有人仍然回到这个问题,我已经根据以下脚本编写了 prometheus、node_exporter 和 apache_exporter 的安装本 DigitalOcean 教程

您可以在这里找到我的脚本: https://github.com/icolwell/install_scripts

下面的脚本可能会引起你的兴趣:

prometheus_install.bash
prometheus_node_exporter_install.bash
prometheus_apache_exporter_install.bash

您可以使用以下命令下载并运行脚本:

wget https://raw.githubusercontent.com/icolwell/install_scripts/master/prometheus_install.bash
bash prometheus_install.bash

请注意,任何现有的 prometheus 配置都将被覆盖。

相关内容