
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.