54 lines
2.1 KiB
Markdown
54 lines
2.1 KiB
Markdown
# 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:
|
|
|
|
```bash
|
|
docker compose exec openvox curl -s http://openvoxdb:8080/pdb/query/v4/nodes
|
|
```
|
|
|
|
**Beispiel-Ausgabe (gekürzt):**
|
|
|
|
```json
|
|
[
|
|
{
|
|
"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.
|
|
|
|
```bash
|
|
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](https://puppet.com/docs/puppetdb/latest/api/query/v4/overview.html)
|