Files
openvox-docker/README.md
2025-12-08 18:50:29 +01:00

2.1 KiB

PuppetDB API Abfragen

Dieses Dokument beschreibt, wie man die PuppetDB-API direkt über curl abfragt, um Informationen über den Status der Puppet-Clients zu erhalten.

Alle Befehle werden innerhalb des openvox (Puppet Master) Containers ausgeführt.

Alle aktiven Clients (Nodes) auflisten

Um eine Liste aller von PuppetDB verwalteten Clients zu erhalten, die aktiv sind, verwenden Sie den folgenden Befehl:

docker compose exec openvox curl -s http://openvoxdb:8080/pdb/query/v4/nodes

Beispiel-Ausgabe (gekürzt):

[
  {
    "certname": "arch-2.lxd",
    "latest_report_status": "changed",
    "facts_environment": "production",
    ...
  }
]

Dies zeigt Ihnen den certname jedes Clients, den Sie für weitere Abfragen verwenden können.

Reports für einen bestimmten Client abrufen

Um zu sehen, was auf einem bestimmten Client gelaufen ist, können Sie dessen Reports abfragen. Ersetzen Sie arch-2.lxd mit dem certname des gewünschten Clients.

docker compose exec openvox curl -s -G http://openvoxdb:8080/pdb/query/v4/reports --data-urlencode 'query=["=","certname","arch-2.lxd"]'

Interpretation der Report-Ausgabe

Die Ausgabe ist ein JSON-Array von Reports. Jeder Report enthält wichtige Informationen:

  • "status": Zeigt das Ergebnis des Puppet-Laufs.
    • "changed": Der Lauf war erfolgreich und es wurden Änderungen am System vorgenommen.
    • "unchanged": Der Lauf war erfolgreich, es waren aber keine Änderungen nötig.
    • "failed": Der Lauf ist fehlgeschlagen (z.B. wegen eines Kompilierungsfehlers).
  • "logs": Enthält die Log-Meldungen des Puppet-Agenten während des Laufs. Hier finden Sie Details zu Fehlern oder erfolgreichen Aktionen.
  • "resource_events": Zeigt im Detail, welche Ressourcen geändert wurden.

Anhand dieser Reports können Sie genau nachvollziehen, welche Aktionen auf einem Client erfolgreich waren und welche nicht.

Weiterführende Informationen

Für komplexere Abfragen können Sie die offizielle Dokumentation der PuppetDB API konsultieren: PuppetDB Query API Documentation