Skip to content

Commit c8916bc

Browse files
committed
docs: update i18n support for docs
1 parent b38b500 commit c8916bc

File tree

24 files changed

+863
-90
lines changed

24 files changed

+863
-90
lines changed
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
---
2+
sidebar_position: 2
3+
_i18n_hash: f5e0cd17d30a2d7438fa8962eadfd7b5
4+
---
5+
# Kanäle
6+
7+
Kanäle sind Container für Ereignisse. Sie können mehrere Kanäle für verschiedene Produkte/Teams/Umgebungen erstellen.
8+
9+
## Einen Kanal erstellen
10+
11+
Konsole → Feed → Kanal hinzufügen.
12+
13+
Felder
14+
15+
- name: Anzeigename
16+
- notifyFrequency: Steuern, wie oft Benachrichtigungen für diesen Kanal gesendet werden
17+
- notificationIds: Wählen Sie bestehende Benachrichtigungsziele aus, um eine Verbreitung zu erhalten
18+
19+
## Einen Kanal bearbeiten
20+
21+
Sie können Name, notificationIds, notifyFrequency aktualisieren und eine optionale webhookSignature festlegen. Sobald eine Signatur festgelegt ist, muss jeder öffentliche Webhook zu diesem Kanal die Kopfzeile `x-webhook-signature` mit demselben Wert enthalten.
22+
23+
## API
24+
25+
- Kanäle auflisten: GET `/open/workspace/{workspaceId}/feed/channels`
26+
- Kanalinfo: GET `/open/workspace/{workspaceId}/feed/{channelId}/info`
27+
- Aktualisieren: POST `/open/workspace/{workspaceId}/feed/{channelId}/update`
28+
- Erstellen: POST `/open/workspace/{workspaceId}/feed/createChannel`
29+
- Löschen: DELETE `/open/workspace/{workspaceId}/feed/{channelId}/del`
30+
31+
Beispiel (Benachrichtigungsziele aktualisieren)
32+
33+
```bash
34+
curl -X POST \
35+
"$BASE_URL/workspace/$WORKSPACE_ID/feed/$CHANNEL_ID/update" \
36+
-H "Authorization: Bearer $TOKEN" \
37+
-H "Content-Type: application/json" \
38+
-d '{
39+
"name": "Ops",
40+
"notifyFrequency": 60,
41+
"notificationIds": ["notif_123", "notif_456"]
42+
}'
43+
```
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
---
2+
sidebar_position: 5
3+
_i18n_hash: 2ebf85a054d427b1cfc8e50c237bede0
4+
---
5+
# Integrationen
6+
7+
Tianji bietet integrierte Webhook-Adapter, um Drittanbieter-Payloads in Feed-Ereignisse umzuwandeln.
8+
9+
## GitHub
10+
11+
Endpoint
12+
13+
POST `/open/feed/{channelId}/github`
14+
15+
Anmerkungen
16+
17+
- Verwenden Sie den Inhaltstyp "application/json".
18+
- Der Header `X-GitHub-Event` ist erforderlich von GitHub und wird vom Adapter verarbeitet.
19+
- Unterstützte Typen: `push`, `star`, `issues` (geöffnet/geschlossen). Andere werden als unbekannt protokolliert.
20+
21+
## Stripe
22+
23+
Endpoint
24+
25+
POST `/open/feed/{channelId}/stripe`
26+
27+
Anmerkungen
28+
29+
- Konfigurieren Sie einen Stripe-Webhook-Endpoint, der auf die obige URL zeigt.
30+
- Unterstützte Typen: `payment_intent.succeeded`, `payment_intent.canceled`, `customer.subscription.created`, `customer.subscription.deleted`.
31+
32+
## Sentry
33+
34+
Endpoint
35+
36+
POST `/open/feed/{channelId}/sentry`
37+
38+
Anmerkungen
39+
40+
- Der Header `Sentry-Hook-Resource: event_alert` und die Aktion `triggered` werden auf Feed-Ereignisse abgebildet.
41+
- Siehe Schritt-für-Schritt-Screenshots in "Integration mit Sentry".
42+
43+
## Tencent Cloud Alarm
44+
45+
Endpoint
46+
47+
POST `/open/feed/{channelId}/tencent-cloud/alarm`
48+
49+
Anmerkungen
50+
51+
- Unterstützt Alarmtypen `event` und `metric`. Payload wird validiert; ungültige Anfragen werden abgelehnt.
52+
53+
## Webhook Playground
54+
55+
Endpoint
56+
57+
POST `/open/feed/playground/{workspaceId}`
58+
59+
Anmerkungen
60+
61+
- Echo-Header/Körper/Methode/URL an den Echtzeit-Arbeitsbereichs-Playground zur Fehlersuche bei Integrationen.
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
---
2+
sidebar_position: 0
3+
_i18n_hash: 2279fcf53ed0422cb00d2f89e2a43ac7
4+
---
5+
# Feed Übersicht
6+
7+
Feed ist ein leichtgewichtiges Ereignis-Stream für Ihren Arbeitsbereich. Es hilft Teams, wichtige Ereignisse aus verschiedenen Systemen in Kanäle zu aggregieren, um Vorfälle zu bearbeiten und Stakeholder informiert zu halten.
8+
9+
## Konzepte
10+
11+
- Kanal: Ein logischer Stream, um Ereignisse zu sammeln und zu organisieren. Jeder Kanal kann mit einem oder mehreren Benachrichtigungszielen verbunden werden und kann optional eine Webhook-Signatur erfordern.
12+
- Ereignis: Ein einzelner Eintrag mit Name, Inhalt, Tags, Quelle, Absenderidentität, Wichtigkeit und optionalem Payload. Ereignisse können archiviert oder entarchiviert werden.
13+
- Zustand: Eine spezielle Art von laufendem Ereignis, das mit einer stabilen Ereignis-ID wiederholt eingefügt oder aktualisiert werden kann und bei Abschluss gelöst wird.
14+
- Integration: Integrierte Webhook-Adapter, die Nutzlasten von Drittanbietern (z.B. GitHub, Stripe, Sentry, Tencent Cloud Alarm) in Feed-Ereignisse umwandeln.
15+
- Benachrichtigung: Kanäle können Ereignisse an konfigurierte Benachrichtigungen weiterleiten; die Lieferhäufigkeit kann durch die Kanaleinstellungen angepasst werden.
16+
17+
## Typische Anwendungsfälle
18+
19+
- Produkt- und Infrastruktur-Ereignisstream über mehrere Dienste hinweg
20+
- CI/CD-Deployments und Release-Mitteilungen
21+
- Abrechnungs- und Abonnement-Signale
22+
- Sicherheits-, Überwachungs- und Fehlerwarnungen
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
---
2+
sidebar_position: 4
3+
_i18n_hash: 0a395db245537dd2e052b4525326e318
4+
---
5+
# Status (laufende Vorfälle)
6+
7+
Der Status-Feed modelliert laufende Vorfälle mit einer unveränderlichen `eventId`. Sie können wiederholt Updates zur gleichen `eventId` einfügen, bis sie gelöst ist.
8+
9+
## Endpunkte
10+
11+
- Status einfügen (öffentlich): `POST /open/feed/{channelId}/state/upsert`
12+
- Status lösen (authentifiziert): `POST /open/workspace/{workspaceId}/feed/{channelId}/state/resolve`
13+
- Laufende Status auflisten (authentifiziert): `GET /open/workspace/{workspaceId}/feed/state/all?channelId=...&limit=...`
14+
15+
## Einfügeinhalt
16+
17+
```json
18+
{
19+
"eventId": "deploy#2025-08-12",
20+
"eventName": "deploy_progress",
21+
"eventContent": "Rollout 60%",
22+
"tags": ["prod"],
23+
"source": "ci",
24+
"senderId": "runner-42",
25+
"senderName": "GitHub Actions",
26+
"important": true,
27+
"payload": {"stage": "canary"}
28+
}
29+
```
30+
31+
Wenn der Kanal mit einer `webhookSignature` konfiguriert ist, müssen Sie den Header `x-webhook-signature` einfügen.
32+
33+
## Lösebeispiel
34+
35+
```bash
36+
curl -X POST \
37+
"$BASE_URL/workspace/$WORKSPACE_ID/feed/$CHANNEL_ID/state/resolve" \
38+
-H "Authorization: Bearer $TOKEN" \
39+
-H "Content-Type: application/json" \
40+
-d '{"stateId": "STATE_ID"}'
41+
```
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
---
2+
sidebar_position: 1
3+
_i18n_hash: ce8b2ef04235ac36f0637772cc3b720a
4+
---
5+
# Bereitstellung von Reporter als DaemonSet
6+
7+
Wenn Sie Tianji innerhalb von Kubernetes ausführen, möchten Sie möglicherweise die Systemmetriken jedes Knotens erfassen. Der einfachste Weg ist, `tianji-reporter` als DaemonSet auszuführen, sodass es auf jedem Knoten läuft.
8+
9+
1. Bearbeiten Sie `docker/k8s/reporter-daemonset.yaml` und ersetzen Sie die Werte `TIANJI_SERVER_URL` und `TIANJI_WORKSPACE_ID` durch Ihre tatsächliche Serveradresse und Arbeitsbereichs-ID.
10+
2. Wenden Sie das Manifest an:
11+
12+
```bash
13+
kubectl apply -f docker/k8s/reporter-daemonset.yaml
14+
```
15+
16+
Jeder Knoten startet einen `tianji-reporter` Container, der Systemstatistiken an Ihre Tianji-Instanz meldet. Sie können die Protokolle eines bestimmten Pods überprüfen, um sicherzustellen, dass es funktioniert:
17+
18+
```bash
19+
kubectl logs -l app=tianji-reporter -f
20+
```
21+
22+
Sobald die Pods laufen, wird die Seite **Server** in Tianji Ihre Kubernetes-Knoten wie normale Maschinen auflisten.
Lines changed: 26 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,69 +1,72 @@
11
---
22
sidebar_position: 1
3-
_i18n_hash: d9dd1597f6c275ebc68c7421c31b29fe
3+
_i18n_hash: 21a5dc8265605536c8c328c551abdcc9
44
---
5-
# Serverstatus Reporter
5+
# Server-Status-Reporter
66

7-
Sie können den Status Ihres Servers ganz einfach mit dem Tianji Reporter melden.
7+
Sie können den Status Ihres Servers ganz einfach mit dem Tianji-Reporter melden.
88

9-
Sie können es von [https://github.com/msgbyte/tianji/releases](https://github.com/msgbyte/tianji/releases) herunterladen.
9+
Sie können ihn herunterladen von: [https://github.com/msgbyte/tianji/releases](https://github.com/msgbyte/tianji/releases)
1010

1111
## Verwendung
1212

1313
```
1414
Verwendung von tianji-reporter:
1515
--interval int
16-
Geben Sie das INTERVALL ein, in Sekunden (Standard 5)
16+
Intervall in Sekunden eingeben (Standard 5)
1717
--mode http
1818
Der Sendemodus der Berichtsdaten, Sie können wählen: `http` oder `udp`, Standard ist `http` (Standard "http")
1919
--name string
2020
Der Identifikationsname für diese Maschine
2121
--url string
2222
Die HTTP-URL von Tianji, zum Beispiel: https://tianji.msgbyte.com
2323
--vnstat
24-
Verwenden Sie vnstat für Verkehrsstatistiken, nur Linux
24+
Verwenden Sie vnstat für Verkehrsstatistiken, nur für Linux
2525
--workspace string
26-
Die Arbeitsbereich-ID für Tianji, dies sollte eine UUID sein
26+
Die Workspace-ID für Tianji, dies sollte eine UUID sein
2727
```
2828

29-
Die **URL** und der **Arbeitsbereich** sind erforderlich, das bedeutet, Sie werden Ihren Dienst zu welchem Host und Arbeitsbereich melden.
29+
Die **URL** und **Workspace** sind erforderlich, das bedeutet, dass Sie angeben, zu welchem Host und welchem Workspace Sie Ihre Dienste berichten.
3030

31-
Standardmäßig ist der Serverknotenname derselbe wie der Hostname; daher können Sie mit `--name` einen benutzerdefinierten Namen festlegen, der Ihnen hilft, den Server zu identifizieren.
31+
Standardmäßig ist der Name eines Serverknotens identisch mit dem Hostnamen, Sie können jedoch Ihren Namen mit `--name` anpassen, was Ihnen hilft, den Server zu identifizieren.
3232

33-
## Automatisches Installationsskript
33+
## Auto-Installationsskript
3434

35-
Sie können Ihr automatisches Installationsskript erhalten in `Tianji` -> `Server` -> `Hinzufügen` -> Registerkarte `Auto`.
35+
Sie können Ihr Auto-Installationsskript unter `Tianji` -> `Servers` -> `Add` -> `Auto` Tab erhalten.
3636

37-
Es wird automatisch den Reporter herunterladen und einen Linux-Dienst auf Ihrer Maschine erstellen, daher sind Root-Berechtigungen erforderlich.
37+
Es lädt automatisch den Reporter herunter und erstellt einen Linux-Dienst auf Ihrer Maschine, hierfür sind Root-Rechte erforderlich.
3838

3939
### Deinstallation
4040

41-
Wenn Sie den Reports-Dienst deinstallieren möchten, können Sie diesen Befehl verwenden:
42-
41+
Wenn Sie den Reporterdienst deinstallieren möchten, können Sie diesen Befehl verwenden:
4342
```bash
4443
curl -o- https://tianji.example.com/serverStatus/xxxxxxxxxxxxxxxxxxx/install.sh?url=https://tianji.example.com | sudo bash -s uninstall
45-
```
44+
```
45+
46+
Die Hauptänderung besteht darin, `-s uninstall` zu Ihrem Installationsbefehl hinzuzufügen.
47+
48+
## Kubernetes
4649

47-
Die Hauptänderung besteht darin, `-s uninstall` an Ihren Installationsbefehl anzuhängen.
50+
Wenn Ihre Server in einem Kubernetes-Cluster laufen, können Sie den Reporter als DaemonSet bereitstellen, sodass jeder Knoten die Metriken automatisch meldet. Siehe [Reporter als DaemonSet bereitstellen](./kubernetes/reporter-daemonset.md) für Details.
4851

49-
## F&A
52+
## Q&A
5053

51-
### Wie überprüfe ich das Tianji Reporter Dienstprotokoll?
54+
### Wie überprüfe ich das Tianji-Reporter-Service-Log?
5255

53-
Wenn Sie mit dem automatischen Installationsskript installieren, wird Tianji Ihnen helfen, einen Dienst mit dem Namen `tianji-reporter` auf Ihrer Linux-Maschine zu installieren.
56+
Wenn Sie mit dem Auto-Installationsskript installieren, hilft Ihnen Tianji dabei, einen Dienst zu installieren, der auf Ihrer Linux-Maschine `tianji-reporter` heißt.
5457

55-
Sie können diesen Befehl verwenden, um das Tianji Reporter Protokoll zu überprüfen:
58+
Sie können diesen Befehl verwenden, um das Tianji-Reporter-Log zu überprüfen:
5659

5760
```bash
5861
journalctl -fu tianji-reporter.service
5962
```
6063

61-
### Ihre Maschine wird nicht im Server-Tab gefunden, obwohl der Bericht Erfolg zeigt
64+
### Warum ist meine Maschine nicht im Server-Tab, obwohl der Bericht als erfolgreich angezeigt wird?
6265

6366
Vielleicht befindet sich Ihr Tianji hinter einem Reverse-Proxy, zum Beispiel `nginx`.
6467

65-
Bitte stellen Sie sicher, dass Ihr Reverse-Proxy Websocket-Unterstützung hinzufügt.
68+
Bitte stellen Sie sicher, dass Ihr Reverse-Proxy WebSocket-Unterstützung hinzufügt.
6669

6770
## Warum ist meine Maschine immer offline?
6871

69-
Bitte überprüfen Sie das Datum und die Uhrzeit Ihres Servers.
72+
Bitte überprüfen Sie die Datum-Uhrzeit Ihres Servers.
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
---
2+
sidebar_position: 2
3+
_i18n_hash: f5e0cd17d30a2d7438fa8962eadfd7b5
4+
---
5+
# Canaux
6+
7+
Les canaux sont des conteneurs d'événements. Vous pouvez créer plusieurs canaux pour différents produits/équipes/environnements.
8+
9+
## Créer un canal
10+
11+
Console → Flux → Ajouter un canal.
12+
13+
Champs
14+
15+
- nom: Nom d'affichage
16+
- notifyFrequency: Contrôle la fréquence à laquelle les notifications sont envoyées pour ce canal
17+
- notificationIds: Sélectionnez les cibles de notification existantes pour recevoir la diffusion
18+
19+
## Modifier un canal
20+
21+
Vous pouvez mettre à jour le nom, les notificationIds, la notifyFrequency et définir une webhookSignature optionnelle. Une fois qu'une signature est définie, tout webhook public pour ce canal doit inclure l'en-tête `x-webhook-signature` avec la même valeur.
22+
23+
## API
24+
25+
- Lister les canaux : GET `/open/workspace/{workspaceId}/feed/channels`
26+
- Infos du canal : GET `/open/workspace/{workspaceId}/feed/{channelId}/info`
27+
- Mettre à jour : POST `/open/workspace/{workspaceId}/feed/{channelId}/update`
28+
- Créer : POST `/open/workspace/{workspaceId}/feed/createChannel`
29+
- Supprimer : DELETE `/open/workspace/{workspaceId}/feed/{channelId}/del`
30+
31+
Exemple (mettre à jour les cibles de notification)
32+
33+
```bash
34+
curl -X POST \
35+
"$BASE_URL/workspace/$WORKSPACE_ID/feed/$CHANNEL_ID/update" \
36+
-H "Authorization: Bearer $TOKEN" \
37+
-H "Content-Type: application/json" \
38+
-d '{
39+
"name": "Ops",
40+
"notifyFrequency": 60,
41+
"notificationIds": ["notif_123", "notif_456"]
42+
}'
43+
```
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
---
2+
sidebar_position: 5
3+
_i18n_hash: 2ebf85a054d427b1cfc8e50c237bede0
4+
---
5+
# Intégrations
6+
7+
Tianji propose des adaptateurs de webhook intégrés pour convertir les charges utiles tierces en événements Feed.
8+
9+
## GitHub
10+
11+
Point de terminaison
12+
13+
POST `/open/feed/{channelId}/github`
14+
15+
Notes
16+
17+
- Utilisez le type de contenu "application/json".
18+
- L'en-tête `X-GitHub-Event` est requis par GitHub et utilisé par l'adaptateur.
19+
- Types pris en charge : `push`, `star`, `issues` (ouvert/fermé). Les autres seront enregistrés comme inconnus.
20+
21+
## Stripe
22+
23+
Point de terminaison
24+
25+
POST `/open/feed/{channelId}/stripe`
26+
27+
Notes
28+
29+
- Configurez un point de terminaison webhook Stripe pointant vers l'URL ci-dessus.
30+
- Types pris en charge : `payment_intent.succeeded`, `payment_intent.canceled`, `customer.subscription.created`, `customer.subscription.deleted`.
31+
32+
## Sentry
33+
34+
Point de terminaison
35+
36+
POST `/open/feed/{channelId}/sentry`
37+
38+
Notes
39+
40+
- L'en-tête `Sentry-Hook-Resource: event_alert` et l'action `triggered` sont mappés aux événements Feed.
41+
- Voir les captures d'écran étape par étape dans "Intégration avec Sentry".
42+
43+
## Alarme Tencent Cloud
44+
45+
Point de terminaison
46+
47+
POST `/open/feed/{channelId}/tencent-cloud/alarm`
48+
49+
Notes
50+
51+
- Prend en charge les types d'alarme `event` et `metric`. La charge utile est validée ; les requêtes invalides sont rejetées.
52+
53+
## Terrain de jeu Webhook
54+
55+
Point de terminaison
56+
57+
POST `/open/feed/playground/{workspaceId}`
58+
59+
Notes
60+
61+
- Renvoie les en-têtes/le corps/la méthode/l'URL au terrain de jeu en temps réel de l'espace de travail pour le débogage des intégrations.

0 commit comments

Comments
 (0)