
Tengo problemas para instalar la última versión de Prometheus en una instalación nueva de Ubuntu 16.04. Todas las guías que puedo encontrar son para 14.04 y el cambio de systemV a systemd hace que estas guías sean incompatibles (o al menos incompletas) al configurarlas en 16.04.
Puedo instalar Prometheus desde apt, pero instala la versión 0.16.2 y la versión actual es 1.0.2.
He estado usando el oficialguía de instalación de prometheus.ioyesta guía sobre Digital Ocean.
¿Alguien puede ayudarme con la configuración de systemd? Tengo relativamente experiencia con Ubuntu, pero el cambio de systemd me está lanzando una bola curva.
Respuesta1
El siguiente archivo de unidad funcionó para mí al instalar Prometheusservidorversión 1.x (a diferencia de un 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
Esto supone, por supuesto, que ha creado un usuario de Prometheus y le ha otorgado los permisos necesarios.
Luego use los comandos mencionados por WInfly.
$ sudo systemctl daemon-reload
$ sudo systemctl enable prometheus
$ sudo systemctl start prometheus
$ sudo systemctl status prometheus
He encontrado útil lo siguiente:
Prometeo:https://blog.svedr.in/posts/prometheus-quick-start.html
Páginas de manual para directivas de archivos de unidad:https://www.freedesktop.org/software/systemd/man/systemd.directives.html
Respuesta2
El nombre del argumento de almacenamiento del servidor cambió en la versión 2.x, sintaxis de trabajo:
[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
Respuesta3
Encontré mi respuesta enEste artículo. La parte específica que me faltaba al intentar configurar esto para que se ejecutara con systemd fue la creación del archivo de unidad. A continuación se crea el archivo unitario para node_exporter y luego se ejecuta como un servicio. ¡Espero que esto ayude a alguien más!
Cree el archivo de unidad:
$ 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
Luego inicie el servicio después de recargar el demonio o reinicie el servidor:
$ sudo systemctl daemon-reload
$ sudo systemctl enable node_exporter.service
$ sudo systemctl start node_exporter.service
$ sudo systemctl status node_exporter.service
Respuesta4
Si alguien todavía vuelve a esta pregunta, he codificado la instalación de prometheus, node_exporter y apache_exporter segúneste tutorial de DigitalOcean.
Puedes encontrar mis guiones aquí: https://github.com/icolwell/install_scripts
Los siguientes guiones pueden ser de su interés:
prometheus_install.bash
prometheus_node_exporter_install.bash
prometheus_apache_exporter_install.bash
Puede descargar y ejecutar los scripts usando lo siguiente:
wget https://raw.githubusercontent.com/icolwell/install_scripts/master/prometheus_install.bash
bash prometheus_install.bash
Tenga en cuenta que se anulará cualquier configuración existente de Prometheus.