
Ich habe Probleme, die neueste Version von Prometheus auf einer Neuinstallation von Ubuntu 16.04 zu installieren. Alle Anleitungen, die ich finden kann, beziehen sich auf 14.04 und der Wechsel von systemV zu systemd macht diese Anleitungen bei der Einrichtung auf 16.04 inkompatibel (oder zumindest unvollständig).
Ich kann Prometheus von apt aus installieren, aber es installiert Version 0.16.2 und die aktuelle Version ist 1.0.2.
Ich benutze die offizielleprometheus.io InstallationsanleitungUnddieser Leitfaden zu Digital Ocean.
Kann mir jemand bei der Einrichtung von systemd helfen? Ich habe relativ viel Erfahrung mit Ubuntu, aber die Änderung von systemd ist für mich eine echte Herausforderung.
Antwort1
Die folgende Unit-Datei hat bei mir bei der Installation von Prometheus funktioniert.ServerVersion 1.x (im Gegensatz zu einem Exporter).
# /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
Dies setzt natürlich voraus, dass Sie einen Prometheus-Benutzer erstellt und die erforderlichen Berechtigungen erteilt haben.
Verwenden Sie dann die von WInfly genannten Befehle.
$ sudo systemctl daemon-reload
$ sudo systemctl enable prometheus
$ sudo systemctl start prometheus
$ sudo systemctl status prometheus
Folgendes hat mir geholfen:
Prometheus:https://blog.svedr.in/posts/prometheus-quick-start.html
Manpages für Unit-Dateianweisungen:https://www.freedesktop.org/software/systemd/man/systemd.directives.html
Antwort2
Der Name des Serverspeicherarguments wurde in Version 2.x geändert, funktionierende Syntax:
[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
Antwort3
Die Antwort fand ich inDieser Artikel. Der spezielle Teil, der mir beim Versuch, dies für die Ausführung mit systemd einzurichten, fehlte, war das Erstellen der Unit-Datei. Unten wird die Unit-Datei für node_exporter erstellt und dann als Dienst ausgeführt. Ich hoffe, das hilft jemand anderem!
Erstellen Sie die Unit-Datei:
$ 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
Starten Sie anschließend den Dienst, nachdem Sie den Daemon neu geladen haben, oder starten Sie den Server neu:
$ sudo systemctl daemon-reload
$ sudo systemctl enable node_exporter.service
$ sudo systemctl start node_exporter.service
$ sudo systemctl status node_exporter.service
Antwort4
Falls jemand noch auf diese Frage zurückkommt, habe ich die Installation von Prometheus, Node_Exporter und Apache_Exporter basierend aufdieses DigitalOcean-Tutorial.
Meine Skripte findet ihr hier: https://github.com/icolwell/install_scripts
Die folgenden Skripte könnten von Interesse sein:
prometheus_install.bash
prometheus_node_exporter_install.bash
prometheus_apache_exporter_install.bash
Sie können die Skripte wie folgt herunterladen und ausführen:
wget https://raw.githubusercontent.com/icolwell/install_scripts/master/prometheus_install.bash
bash prometheus_install.bash
Beachten Sie, dass alle vorhandenen Prometheus-Konfigurationen überschrieben werden.