Como instalo a versão mais recente do Prometheus em 16.04?

Como instalo a versão mais recente do Prometheus em 16.04?

Estou tendo problemas para instalar a versão mais recente do Prometheus em uma nova instalação do Ubuntu 16.04. Todos os guias que posso encontrar são para 14.04 e a mudança de systemV para systemd torna esses guias incompatíveis (ou pelo menos incompletos) ao configurá-los em 16.04.

Posso instalar o Prometheus do apt, mas ele instala a versão 0.16.2 e a versão atual é 1.0.2.

Eu tenho usado o oficialGuia de instalação do prometheus.ioeeste guia sobre Digital Ocean.

Alguém pode me ajudar com a configuração do systemd? Tenho relativamente experiência com o Ubuntu, mas a mudança no sistema está me deixando confuso.

Responder1

O seguinte arquivo de unidade funcionou para mim ao instalar o prometheusservidorversão 1.x (em oposição a um exportador).

# /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

Isso pressupõe, é claro, que você criou um usuário prometheus e concedeu as permissões necessárias.

Em seguida, use os comandos mencionados pelo WINfly.

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

Achei o seguinte útil:

Prometeu:https://blog.svedr.in/posts/prometheus-quick-start.html

Páginas de manual para diretivas de arquivo de unidade:https://www.freedesktop.org/software/systemd/man/systemd.directives.html

Responder2

O nome do argumento de armazenamento do servidor foi alterado na versão 2.x, sintaxe funcional:

[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

Responder3

Encontrei minha resposta emEste artigo. A parte específica que estava faltando ao tentar configurar isso para rodar com o systemd foi a criação do arquivo de unidade. Abaixo está a criação do arquivo de unidade para node_exporter e a execução dele como um serviço. Espero que isso ajude outra pessoa!

Crie o arquivo da unidade:

$ 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

Em seguida, inicie o serviço após recarregar o daemon ou reinicialize o servidor:

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

Responder4

Se alguém ainda estiver voltando a esta questão, criei um script para a instalação do prometheus, node_exporter e apache_exporter com base emeste tutorial DigitalOcean.

Você pode encontrar meus scripts aqui: https://github.com/icolwell/install_scripts

Os seguintes scripts podem ser interessantes:

prometheus_install.bash
prometheus_node_exporter_install.bash
prometheus_apache_exporter_install.bash

Você pode baixar e executar os scripts usando o seguinte:

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

Observe que qualquer configuração existente do prometheus será substituída.

informação relacionada