rmohr.vdsm-prometheus
vdsm-prometheus
Diese Rolle installiert die neueste Version von vdsm-prometheus
aus
copr,
konfiguriert systemd, die Firewall und startet schließlich vdsm-prometheus.
Wenn die Rolle auf einem Host angewendet wird, können die von VDSM gesammelten Metriken im Prometheus-Format über den Port 8181
abgerufen werden. Standardmäßig wird TLS und die Authentifizierung mit Client-Zertifikaten verwendet, um den Zugriff auf vdsm-prometheus
zu sichern. Jedes Client-Zertifikat, das von der ovirt-engine CA signiert ist, wird von vdsm-prometheus
akzeptiert.
Es ist möglich, die Konfiguration von vdsm-prometheus
in Playbooks anzupassen.
Besuchen Sie die vdsm-prometheus-Rollenseite auf github, um die Quellen zu sehen oder um Probleme bezüglich der Ansible-Rolle zu melden.
Besuchen Sie die vdsm-prometheus-Seite auf
github, um die Quellen zu sehen oder um
Probleme bezüglich vdsm-prometheus
zu melden.
Anforderungen
Keine.
Rollenvariablen
Die einzige verfügbare Variable ist die opts
-Variable in
vars/main.yml. Mit dieser Variable können Sie Kommandozeilenargumente für vdsm-prometheus
auf dem Host setzen. Diese Argumente werden an vdsm-prometheus
übergeben, wenn es von systemd
gestartet wird. Um alle möglichen Konfigurationsoptionen zu sehen, führen Sie vdsm-prometheus --help
aus.
Abhängigkeiten
Keine.
Beispiel-Playbook
Um vdsm-prometheus
in der Hostgruppe vdsm
mit den Kommandozeilenargumenten -no-verify
zu installieren, führen Sie das folgende Playbook aus:
---
- hosts: vdsm
roles:
- { role: vdsm-prometheus, opts: "-no-verify" }
Ein Beispiel mit deaktiviertem TLS und ohne Authentifizierung mit Client-Zertifikaten würde so aussehen:
---
- hosts: vdsm
roles:
- { role: vdsm-prometheus, opts: "-no-verify -no-prom-auth" }
Führen Sie vdsm-prometheus --help
aus, um alle möglichen Konfigurationsoptionen für
vdsm-prometheus
zu sehen.
oVirt Inventar
Um ein initiales oVirt-Inventar zu erstellen, verwenden Sie die ovirt-engine REST-API:
export ENGINE_HOST=http://localhost:8080
export ENGINE_PWD=engine
echo "[vdsm]" > hosts && \
curl -H "Accept: application/json" -H "Content-type: application/json" -X GET --user admin@internal:$ENGINE_PWD $ENGINE_HOST/ovirt-engine/api/hosts \
| jq '.host[].address' -r >> hosts
Die Verwendung von Ansible auf diesen Hosts ist einfach. oVirt hat dort bereits einen SSH-Schlüssel installiert, und aufgrund von VDSM ist der Python-Interpreter auch auf dem Host installiert.
Der folgende Befehl führt das Beispiel-Playbook mit dem SSH-Schlüssel des Engines aus:
ansible-playbook -i hosts -u root --private-key $ENGINE_HOME/etc/pki/ovirt-engine/keys/engine_id_rsa vdsm-prometheus.yml
Lizenz
GPLv3
Autoreninformationen
Roman Mohr rmohr@redhat.com
Install vdsm-prometheus agent for monitoring VMs with Prometheus
ansible-galaxy install rmohr.vdsm-prometheus