ClickHouse
Verbinden
Verbinde ClickHouse aus dem Terminal. Mit --help siehst du die Flags, die ClickHouse akzeptiert, dazu --no-browser für Umgebungen ohne Browser.
polylane cloud connect --provider clickhouseEine API-Key-ID und ein Secret aus den Einstellungen deiner ClickHouse Cloud-Organisation.
ClickHouse Cloud wird mit einem API-Key verbunden, den du in deinen Organisationseinstellungen erstellst. Ein API-Key gehört zu genau einer Organisation, ein Key verbindet also eine Organisation, und jede Organisation wird einmal mit einem Workspace verbunden. Keys werden vor dem Speichern verschlüsselt, und der Agent sieht sie nie.
- Öffne ClickHouse Cloud und gehe in deiner Organisation zu API Keys.
- Klicke auf New API key und wähle die Rolle Developer (nur lesend): Polylane liest während des Syncs nur.
- Kopiere sowohl die Key-ID als auch das Key-Secret; das Secret wird nur einmal angezeigt.
- Füge beide Werte in Polylane ein.
- Polylane prüft den Key und startet den Sync.
Polylane entdeckt deine Services, inklusive Zustand, Tier, Region, Cloud-Anbieter, ClickHouse-Version, Replica-Größe und Verbindungsendpunkten. Verbindungs-Hostnamen dienen der Cloud-übergreifenden Verknüpfung, Anwendungen, die einen Service über eine Umgebungsvariable erreichen, werden auf der Karte also mit ihm verbunden.
Das Monitoring eröffnet ein Issue, wenn Services degraded, failed, stopped oder nur teilweise laufen; idle und aufwachende Services sind für Idle-skalierte Services normaler Lebenszyklus und bleiben gesund. Die Control Plane von ClickHouse Cloud meldet Metriken als Live-Snapshot ohne Historie, Agents lesen aktuelle Werte deshalb bei Bedarf, und Services tragen keine Metrik-Diagramme.
Fehlerbehebung
Fehler "Invalid API key"
- Key-ID und Key-Secret sind beide erforderlich; eines allein kann sich nicht authentifizieren.
- Prüfe, ob der Key in den API-Key-Einstellungen von ClickHouse Cloud gelöscht oder deaktiviert wurde.
- Keys mit Ablaufdatum funktionieren nach dem Ablauf nicht mehr; erstelle einen frischen Key und rotiere ihn in Polylane.
Fehlende Ressourcen
- ClickHouse Cloud kann einige Minuten brauchen, bis alles synchronisiert ist.
- Starte über den Kontokopf einen manuellen Sync, um zu aktualisieren.
Rate Limits
- ClickHouse Cloud erlaubt 10 API-Anfragen pro 10 Sekunden pro Key. Ein eigener Key für Polylane vermeidet, dieses Budget mit anderem Tooling zu teilen.
Verbindung trennen
Trenne das Konto in Polylane, dann lösche den API-Key in den Einstellungen deiner ClickHouse Cloud-Organisation.
Verbinde ClickHouse aus einem CI-Job oder einer anderen Umgebung ohne Browser.
Für die Verbindung mit ClickHouse Cloud braucht es keinen Browser: Derselbe Endpunkt, den die Konsole aufruft, passt in einen CI-Job. Ein authentifizierter POST erstellt die Verbindung und startet den ersten Sync.
Voraussetzungen
- Ein Polylane-API-Schlüssel mit den Scopes
cloud_accounts:writeundcloud_accounts:read. Siehe API-Schlüssel und OAuth. - Deine Workspace-ID, die mit
ws_beginnt. Lies sie mit demselben Schlüssel ausGET /v1/workspaces. - Eine ClickHouse Cloud-API-Key-ID und ein Secret aus den API Keys deiner Organisation, erstellt mit der Rolle Developer (nur lesend).
Verbindung erstellen
curl -X POST https://api.polylane.com/v1/cloud_accounts \
-H "x-api-key: $POLYLANE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"provider": "clickhouse",
"workspaceId": "ws_0abc123",
"keyId": "<key-id>",
"keySecret": "<key-secret>"
}'
Ein API-Key gehört zu genau einer Organisation, ein Aufruf verbindet also eine Organisation.
Die Antwort listet auf, was verbunden wurde, der erste Sync läuft bereits. Gekürzt auf die zwei Felder, die der Rest des Ablaufs liest:
{
"success": true,
"result": {
"provider": "clickhouse",
"accounts": [{ "id": "acc_34gky74ibc92h8t2efn8csrh", "status": "syncing" }],
"failures": []
}
}
Ein bereits verbundenes Konto landet in failures statt in accounts, ein wiederholter Aufruf dupliziert also nie eine Verbindung.
Auf den ersten Sync warten
Frage jedes zurückgegebene Konto über seine id ab, bis status ready erreicht (new bei der Registrierung, syncing, während Ressourcen einlaufen):
until [ "$(curl -s "https://api.polylane.com/v1/cloud_accounts/$WORKSPACE_ID/$ACCOUNT_ID" \
-H "x-api-key: $POLYLANE_API_KEY" | jq -r '.result.status')" = "ready" ]; do
sleep 15
done
Gib der Schleife eine Frist, damit ein fehlgeschlagenes Verbinden den Job fehlschlagen lässt, statt ihn hängen zu lassen. Sobald das Konto ready ist, sind seine Ressourcen in der Topologie, und Polylane hat seinen ersten Check gestartet.
Über die API trennen
Das Löschen der Verbindung stoppt jeden Sync und Check und löscht die Zugangsdaten, die Polylane gespeichert hatte. Der Aufruf braucht den Scope cloud_accounts:delete:
curl -X DELETE "https://api.polylane.com/v1/cloud_accounts/$WORKSPACE_ID/$ACCOUNT_ID" \
-H "x-api-key: $POLYLANE_API_KEY"
Widerrufe dann die ClickHouse Cloud-Zugangsdaten auf Anbieterseite, wie unten unter Trennen beschrieben.
Trennen
Beim Trennen stoppen alle Syncs und Checks, und die Zugangsdaten, die Polylane gespeichert hatte, werden gelöscht. Alles, was Polylane in ClickHouse eingerichtet hat, wird ebenfalls entfernt; nichts bleibt zurück.
polylane cloud disconnect <id>Tools
3Operationen, die Agents in Threads ausführen können.
Unterstützte Ressourcen
1Ressourcentypen, die in deinem Infrastrukturgraphen erscheinen.