Skip to content

Commit c2354f6

Browse files
committed
docs: add document about docker monitoring
1 parent d420443 commit c2354f6

File tree

26 files changed

+930
-548
lines changed

26 files changed

+930
-548
lines changed

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
"start": "cd src/server && cross-env NODE_ENV=production node ./dist/src/server/main.js",
1111
"start:docker": "pnpm start:docker:db && pnpm start",
1212
"start:docker:db": "cd src/server && pnpm db:migrate:apply && pnpm db:migrate:script",
13+
"website": "cd website && pnpm dev",
1314
"example": "cd example/web && pnpm dev",
1415
"test": "vitest",
1516
"build": "pnpm build:tracker && pnpm build:app && pnpm build:geo",
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
---
2+
sidebar_position: 20
3+
---
4+
5+
# Docker Container Monitoring Configuration
6+
7+
## Default Monitoring Behavior
8+
9+
When you install Tianji using Docker or Docker Compose, the system automatically enables built-in server monitoring functionality. By default:
10+
11+
- **Tianji automatically monitors its own container's** system resource usage
12+
- Monitoring data includes: CPU usage, memory usage, disk usage, network traffic, etc.
13+
- This data is automatically reported to the default workspace without additional configuration
14+
- The container will appear as `tianji-container` in the monitoring dashboard
15+
16+
## Monitoring All Docker Services on the Host Machine
17+
18+
If you want Tianji to monitor all Docker containers and services running on the host machine, not just Tianji itself, you need to map the Docker Socket into the container.
19+
20+
### Configuration Method
21+
22+
Add the following volumes configuration to the `tianji` service section in your `docker-compose.yml` file:
23+
24+
```yaml
25+
services:
26+
tianji:
27+
image: moonrailgun/tianji
28+
# ... other configurations ...
29+
volumes:
30+
- /var/run/docker.sock:/var/run/docker.sock
31+
# ... other configurations ...
32+
```
33+
34+
### Complete docker-compose.yml Example
35+
36+
```yaml
37+
version: '3'
38+
services:
39+
tianji:
40+
image: moonrailgun/tianji
41+
build:
42+
context: ./
43+
dockerfile: ./Dockerfile
44+
ports:
45+
- "12345:12345"
46+
environment:
47+
DATABASE_URL: postgresql://tianji:tianji@postgres:5432/tianji
48+
JWT_SECRET: replace-me-with-a-random-string
49+
ALLOW_REGISTER: "false"
50+
ALLOW_OPENAPI: "true"
51+
volumes:
52+
- /var/run/docker.sock:/var/run/docker.sock # Add this line
53+
depends_on:
54+
- postgres
55+
restart: always
56+
postgres:
57+
# ... postgres configuration ...
58+
```
59+
60+
### Using Docker Run Command
61+
62+
If you start Tianji using the `docker run` command, you can add the following parameter:
63+
64+
```bash
65+
docker run -d \
66+
--name tianji \
67+
-p 12345:12345 \
68+
-v /var/run/docker.sock:/var/run/docker.sock \
69+
moonrailgun/tianji
70+
```
71+
72+
## Effects After Configuration
73+
74+
After adding the Docker Socket mapping, Tianji will be able to:
75+
76+
- Monitor all Docker containers running on the host machine
77+
- Obtain container resource usage information
78+
- Display container status information
79+
- Provide a more comprehensive system monitoring view

website/i18n/de/docusaurus-plugin-content-docs/current/api/authentication.md

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
---
22
sidebar_position: 2
3-
_i18n_hash: f7563684ea7eed2924aecf5898530c93
3+
_i18n_hash: a82bcf148feb70ec31d10a96cffc2795
44
---
55
# Authentifizierung
66

7-
Dieses Dokument bietet detaillierte Anweisungen zur Authentifizierung mit der Tianji-API, einschließlich des Erhalts, der Verwendung und Verwaltung von API-Schlüsseln.
7+
Dieses Dokument bietet detaillierte Anweisungen, wie Sie sich mit der Tianji API authentifizieren, einschließlich des Erhaltens, Verwaltens und Verwendens von API-Schlüsseln.
88

99
## Authentifizierungsmethode
1010

11-
Die Tianji-API verwendet die **Bearer-Token**-Authentifizierung. Sie müssen Ihren API-Schlüssel im HTTP-Header jeder API-Anfrage einschließen.
11+
Die Tianji API verwendet die **Bearer Token**-Authentifizierung. Sie müssen Ihren API-Schlüssel im HTTP-Header jeder API-Anfrage einfügen.
1212

1313
### HTTP-Header-Format
1414

@@ -18,21 +18,21 @@ Authorization: Bearer <YOUR_API_KEY>
1818

1919
## Erhalt von API-Schlüsseln
2020

21-
1. Melden Sie sich bei Ihrer Tianji-Instanz an
22-
2. Klicken Sie auf Ihr Avatar in der oberen rechten Ecke
23-
4. Suchen Sie den Abschnitt **API-Schlüssel**
24-
5. Klicken Sie auf die + Taste, um einen neuen API-Schlüssel zu erstellen
25-
6. Benennen Sie Ihren API-Schlüssel und speichern Sie ihn
21+
1. Melden Sie sich bei Ihrem Tianji-Instanz an
22+
2. Klicken Sie in der oberen rechten Ecke auf Ihr Avatar
23+
3. Finden Sie den Abschnitt **API-Schlüssel**
24+
4. Klicken Sie auf die Schaltfläche +, um einen neuen API-Schlüssel zu erstellen
25+
5. Benennen Sie Ihren API-Schlüssel und speichern Sie ihn
2626

2727
## Verwaltung von API-Schlüsseln
2828

29-
### Bestehende Schlüssel anzeigen
29+
### Vorhandene Schlüssel ansehen
3030

31-
Im Abschnitt **API-Schlüssel** können Sie sehen:
32-
- API-Schlüsselname/Beschreibung
31+
Im Abschnitt **API-Schlüssel** können Sie Folgendes sehen:
32+
- Name/Beschreibung des API-Schlüssels
3333
- Erstellungsdatum
34-
- Zuletzt verwendete Uhrzeit
35-
- Nutzungsstatistiken
34+
- Zeitpunkt der letzten Verwendung
35+
- Nutzungshäufigkeitsstatistiken
3636

3737
### API-Schlüssel löschen
3838

@@ -41,21 +41,21 @@ Wenn Sie einen API-Schlüssel widerrufen müssen:
4141
2. Klicken Sie auf die Schaltfläche **Löschen**
4242
3. Bestätigen Sie den Löschvorgang
4343

44-
:::warnung Hinweis
44+
:::Warnung Hinweis
4545
Nach dem Löschen eines API-Schlüssels können alle Anwendungen, die diesen Schlüssel verwenden, nicht mehr auf die API zugreifen.
4646
:::
4747

4848
## Verwendung von API-Schlüsseln
4949

50-
### cURL-Beispiel
50+
### cURL Beispiel
5151

5252
```bash
5353
curl -X GET "https://your-tianji-domain.com/open/global/config" \
5454
-H "Authorization: Bearer <your_api_key_here>" \
5555
-H "Content-Type: application/json"
5656
```
5757

58-
### JavaScript/Node.js-Beispiel
58+
### JavaScript/Node.js Beispiel
5959

6060
```javascript
6161
const apiKey = '<your_api_key_here>';
@@ -66,20 +66,20 @@ const headers = {
6666
'Content-Type': 'application/json'
6767
};
6868

69-
// Verwenden von fetch
69+
// Verwendung von fetch
7070
const response = await fetch(`${baseUrl}/global/config`, {
7171
method: 'GET',
7272
headers: headers
7373
});
7474

75-
// Verwenden von axios
75+
// Verwendung von axios
7676
const axios = require('axios');
7777
const response = await axios.get(`${baseUrl}/global/config`, {
7878
headers: headers
7979
});
8080
```
8181

82-
### Python-Beispiel
82+
### Python Beispiel
8383

8484
```python
8585
import requests
@@ -97,7 +97,7 @@ response = requests.get(f'{base_url}/global/config', headers=headers)
9797
data = response.json()
9898
```
9999

100-
### PHP-Beispiel
100+
### PHP Beispiel
101101

102102
```php
103103
<?php
@@ -127,18 +127,18 @@ $data = json_decode($response, true);
127127

128128
API-Schlüssel erben alle Berechtigungen ihres Erstellers, einschließlich:
129129
- Zugriff auf alle Daten in den Arbeitsbereichen des Benutzers
130-
- Ausführung aller Operationen, für die der Benutzer Berechtigungen hat
131-
- Verwaltung von Ressourcen, die von diesem Benutzer erstellt wurden
130+
- Ausführung aller Operationen, für die der Benutzer berechtigt ist
131+
- Verwaltung der vom Benutzer erstellten Ressourcen
132132

133-
### Zugriff auf Arbeitsbereiche
133+
### Zugang zu Arbeitsbereichen
134134

135-
API-Schlüssel können nur auf Arbeitsbereiche zugreifen, denen der Benutzer angehört. Wenn Sie auf mehrere Arbeitsbereiche zugreifen müssen, stellen Sie sicher, dass Ihr Benutzerkonto über die entsprechenden Berechtigungen für diese Arbeitsbereiche verfügt.
135+
API-Schlüssel können nur auf Arbeitsbereiche zugreifen, denen der Benutzer angehört. Wenn Sie Zugriff auf mehrere Arbeitsbereiche benötigen, stellen Sie sicher, dass Ihr Benutzerkonto die entsprechenden Berechtigungen für diese Arbeitsbereiche hat.
136136

137137
## Fehlerbehandlung
138138

139139
### Häufige Authentifizierungsfehler
140140

141-
#### 401 Unauthorisiert
141+
#### 401 Unauthorized
142142

143143
```json
144144
{
@@ -150,10 +150,10 @@ API-Schlüssel können nur auf Arbeitsbereiche zugreifen, denen der Benutzer ang
150150
```
151151

152152
**Ursachen**:
153-
- Kein Autorisierungsheader bereitgestellt
153+
- Kein Authorization-Header bereitgestellt
154154
- Falsches API-Schlüsselformat
155155

156-
#### 403 Verboten
156+
#### 403 Forbidden
157157

158158
```json
159159
{
@@ -166,11 +166,11 @@ API-Schlüssel können nur auf Arbeitsbereiche zugreifen, denen der Benutzer ang
166166

167167
**Ursachen**:
168168
- Ungültiger oder gelöschter API-Schlüssel
169-
- Benutzer hat keine Berechtigung für den Zugriff auf die angeforderte Ressource
169+
- Der Benutzer hat keine Berechtigung, auf die angeforderte Ressource zuzugreifen
170170

171171
### Debugging von Authentifizierungsproblemen
172172

173-
1. **Prüfen Sie das API-Schlüsselformat**: Stellen Sie sicher, dass Sie das Format `Bearer token_here` verwenden
174-
2. **Überprüfen Sie die Schlüsselgültigkeit**: Bestätigen Sie, dass der Schlüssel noch in der Tianji-Oberfläche vorhanden ist
175-
3. **Überprüfen Sie die Berechtigungen**: Stellen Sie sicher, dass das Benutzerkonto Berechtigungen für den Zugriff auf die Zielressource hat
176-
4. **Testen Sie einfache Endpunkte**: Beginnen Sie mit dem Testen öffentlicher Endpunkte wie `/global/config`
173+
1. **Überprüfen Sie das API-Schlüsselformat**: Stellen Sie sicher, dass Sie das Format `Bearer token_here` verwenden
174+
2. **Schlüsselgültigkeit überprüfen**: Bestätigen Sie, dass der Schlüssel in der Tianji-Schnittstelle noch vorhanden ist
175+
3. **Berechtigungen überprüfen**: Stellen Sie sicher, dass das Benutzerkonto berechtigt ist, auf die Zielressource zuzugreifen
176+
4. **Einfache Endpunkte testen**: Beginnen Sie mit dem Testen öffentlicher Endpunkte wie `/global/config`

website/i18n/de/docusaurus-plugin-content-docs/current/api/getting-started.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
---
22
sidebar_position: 1
3-
_i18n_hash: a144af118d2aa2c5e95b1cee1897ae7a
3+
_i18n_hash: 2a8dfc997c42846304cde1b51f4d6145
44
---
5-
# API Erste Schritte
5+
# Erste Schritte mit der API
66

7-
Tianji bietet eine vollständige REST-API, die Ihnen ermöglicht, programmatisch auf alle Funktionen von Tianji zuzugreifen und diese zu bedienen. Dieser Leitfaden hilft Ihnen, schnell mit der Tianji-API zu beginnen.
7+
Tianji bietet eine vollständige REST-API, mit der Sie programmatisch auf alle Funktionen von Tianji zugreifen und diese bedienen können. Dieser Leitfaden hilft Ihnen, schnell mit der Tianji-API zu starten.
88

99
## Überblick
1010

11-
Die Tianji-API basiert auf der REST-Architektur und verwendet das JSON-Format für den Datenaustausch. Alle API-Anfragen müssen über HTTPS gestellt werden und erfordern eine ordnungsgemäße Authentifizierung.
11+
Die Tianji-API basiert auf der REST-Architektur und verwendet das JSON-Format für den Datenaustausch. Alle API-Anfragen müssen über HTTPS erfolgen und erfordern eine entsprechende Authentifizierung.
1212

1313
### API-Basis-URL
1414

@@ -22,28 +22,28 @@ https://your-tianji-domain.com/open
2222

2323
- Website-Analysedaten verwalten
2424
- Überwachungsprojekte erstellen und verwalten
25-
- Informationen zum Serverstatus abrufen
25+
- Serverstatusinformationen abrufen
2626
- Umfragen verwalten
27-
- Telemetriedaten bearbeiten
28-
- Arbeitsbereiche erstellen und verwalten
27+
- Telemetriedaten betreiben
28+
- Arbeitsräume erstellen und verwalten
2929

3030
## Schnellstart
3131

3232
### 1. API-Schlüssel erhalten
3333

3434
Bevor Sie die API verwenden, müssen Sie einen API-Schlüssel erhalten:
3535

36-
1. Melden Sie sich bei Ihrem Tianji-Exemplar an
36+
1. Melden Sie sich bei Ihrer Tianji-Instanz an
3737
2. Klicken Sie auf Ihr Avatar in der oberen rechten Ecke
38-
3. Suchen Sie den Abschnitt **API-Keys**
39-
4. Klicken Sie auf die + Schaltfläche, um einen neuen API-Schlüssel zu erstellen
38+
3. Finden Sie den Bereich **API-Schlüssel**
39+
4. Klicken Sie auf die Schaltfläche +, um einen neuen API-Schlüssel zu erstellen
4040
5. Benennen Sie Ihren API-Schlüssel und speichern Sie ihn
4141

4242
### 2. OpenAPI aktivieren
4343

44-
Stellen Sie sicher, dass Ihr Tianji-Exemplar den OpenAPI-Zugriff aktiviert hat:
44+
Stellen Sie sicher, dass Ihre Tianji-Instanz den Zugang zu OpenAPI aktiviert hat:
4545

46-
Setzen Sie in Ihren Umgebungsvariablen:
46+
Setzen Sie dies in Ihren Umgebungsvariablen:
4747
```bash
4848
ALLOW_OPENAPI=true
4949
```
@@ -61,5 +61,5 @@ curl -X GET "https://your-tianji-domain.com/open/global/config" \
6161
## Nächste Schritte
6262

6363
- Überprüfen Sie die [Authentifizierungsdokumentation](./authentication.md) für detaillierte Authentifizierungsmethoden
64-
- Stöbern Sie in der [API-Referenzdokumentation](/api) nach allen verfügbaren Endpunkten
64+
- Durchstöbern Sie die [API-Referenzdokumentation](/api) für alle verfügbaren Endpunkte
6565
- Verwenden Sie das [OpenAPI SDK](./openapi-sdk.md) für typsichere API-Aufrufe
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
---
2+
sidebar_position: 20
3+
_i18n_hash: e85199043ed7e89d1e71ea95a75b08df
4+
---
5+
# Docker-Container-Überwachungskonfiguration
6+
7+
## Standardüberwachungsverhalten
8+
9+
Wenn Sie Tianji mit Docker oder Docker Compose installieren, aktiviert das System automatisch die integrierte Serverüberwachung. Standardmäßig:
10+
11+
- **Überwacht Tianji automatisch die Nutzung der Systemressourcen seines eigenen Containers**
12+
- Zu den Überwachungsdaten gehören: CPU-Auslastung, Speicherauslastung, Festplattenauslastung, Netzwerkverkehr usw.
13+
- Diese Daten werden ohne zusätzliche Konfiguration automatisch an den Standardarbeitsbereich gemeldet
14+
- Der Container erscheint im Überwachungs-Dashboard als `tianji-container`
15+
16+
## Überwachung aller Docker-Dienste auf dem Host-Maschine
17+
18+
Wenn Sie möchten, dass Tianji alle Docker-Container und -Dienste überwacht, die auf dem Host-Maschine laufen, nicht nur sich selbst, müssen Sie den Docker-Socket in den Container einbinden.
19+
20+
### Konfigurationsmethode
21+
22+
Fügen Sie folgende Volumes-Konfiguration zum `tianji`-Dienstabschnitt in Ihrer `docker-compose.yml` Datei hinzu:
23+
24+
```yaml
25+
services:
26+
tianji:
27+
image: moonrailgun/tianji
28+
# ... andere Konfigurationen ...
29+
volumes:
30+
- /var/run/docker.sock:/var/run/docker.sock
31+
# ... andere Konfigurationen ...
32+
```
33+
34+
### Vollständiges Beispiel für docker-compose.yml
35+
36+
```yaml
37+
version: '3'
38+
services:
39+
tianji:
40+
image: moonrailgun/tianji
41+
build:
42+
context: ./
43+
dockerfile: ./Dockerfile
44+
ports:
45+
- "12345:12345"
46+
environment:
47+
DATABASE_URL: postgresql://tianji:tianji@postgres:5432/tianji
48+
JWT_SECRET: replace-me-with-a-random-string
49+
ALLOW_REGISTER: "false"
50+
ALLOW_OPENAPI: "true"
51+
volumes:
52+
- /var/run/docker.sock:/var/run/docker.sock # Diese Zeile hinzufügen
53+
depends_on:
54+
- postgres
55+
restart: always
56+
postgres:
57+
# ... postgres Konfiguration ...
58+
```
59+
60+
### Verwendung des Docker-Run-Befehls
61+
62+
Wenn Sie Tianji mit dem `docker run` Befehl starten, können Sie folgenden Parameter hinzufügen:
63+
64+
```bash
65+
docker run -d \
66+
--name tianji \
67+
-p 12345:12345 \
68+
-v /var/run/docker.sock:/var/run/docker.sock \
69+
moonrailgun/tianji
70+
```
71+
72+
## Auswirkungen nach der Konfiguration
73+
74+
Nach dem Hinzufügen der Docker-Socket-Einstellung kann Tianji:
75+
76+
- Alle auf dem Host-Maschine laufenden Docker-Container überwachen
77+
- Ressourcenverbrauchsinformationen der Container abrufen
78+
- Statusinformationen der Container anzeigen
79+
- Eine umfassendere Systemüberwachungsansicht bereitstellen

0 commit comments

Comments
 (0)