docs: update README and architecture for v1.0.3 flat JSON structure
- docs: update README.md with flat JSON output example - docs: update architecture.yml correlated_log schema - docs: update ClickHouse schema to use fields JSON column - breaking: document migration from apache/network to fields Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
10
README.md
10
README.md
@ -176,6 +176,8 @@ Exemple complet dans `config.example.yml`.
|
|||||||
|
|
||||||
### Log corrélé (sortie)
|
### Log corrélé (sortie)
|
||||||
|
|
||||||
|
**Version 1.0.3+** - Structure JSON plate (flat) :
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"timestamp": "2024-01-01T12:00:00Z",
|
"timestamp": "2024-01-01T12:00:00Z",
|
||||||
@ -184,11 +186,15 @@ Exemple complet dans `config.example.yml`.
|
|||||||
"dst_ip": "10.0.0.1",
|
"dst_ip": "10.0.0.1",
|
||||||
"dst_port": 80,
|
"dst_port": 80,
|
||||||
"correlated": true,
|
"correlated": true,
|
||||||
"apache": {"method": "GET", "path": "/api/test"},
|
"method": "GET",
|
||||||
"network": {"ja3": "abc123def456"}
|
"path": "/api/test",
|
||||||
|
"ja3": "abc123def456",
|
||||||
|
"ja4": "xyz789"
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Tous les champs des sources A et B sont fusionnés au même niveau. Les champs de corrélation (`src_ip`, `src_port`, `dst_ip`, `dst_port`, `correlated`, `orphan_side`) sont toujours présents, et tous les autres champs des logs sources sont ajoutés directement à la racine.
|
||||||
|
|
||||||
## Schema ClickHouse
|
## Schema ClickHouse
|
||||||
|
|
||||||
```sql
|
```sql
|
||||||
|
|||||||
@ -312,7 +312,8 @@ schema:
|
|||||||
correlated_log:
|
correlated_log:
|
||||||
description: >
|
description: >
|
||||||
Structure du log corrélé émis vers les sinks (fichier, ClickHouse). Contient
|
Structure du log corrélé émis vers les sinks (fichier, ClickHouse). Contient
|
||||||
les informations de corrélation, les infos communes et les contenus de A/B.
|
les informations de corrélation et tous les champs des sources A et B fusionnés
|
||||||
|
dans une structure JSON plate (flat).
|
||||||
fields:
|
fields:
|
||||||
- name: timestamp
|
- name: timestamp
|
||||||
type: time.Time
|
type: time.Time
|
||||||
@ -330,22 +331,20 @@ schema:
|
|||||||
type: bool
|
type: bool
|
||||||
- name: orphan_side
|
- name: orphan_side
|
||||||
type: string
|
type: string
|
||||||
- name: apache
|
- name: "*"
|
||||||
type: map[string]any
|
type: map[string]any
|
||||||
optional: true
|
description: >
|
||||||
- name: network
|
Tous les champs additionnels provenant de A et B sont fusionnés
|
||||||
type: map[string]any
|
directement à la racine du JSON (structure plate, sans subdivisions).
|
||||||
optional: true
|
|
||||||
- name: extra
|
|
||||||
type: map[string]any
|
|
||||||
description: Champs dérivés éventuels.
|
|
||||||
|
|
||||||
clickhouse_schema:
|
clickhouse_schema:
|
||||||
strategy: external_ddls
|
strategy: external_ddls
|
||||||
description: >
|
description: >
|
||||||
logcorrelator ne gère pas les ALTER TABLE. La table ClickHouse doit être
|
logcorrelator ne gère pas les ALTER TABLE. La table ClickHouse doit être
|
||||||
créée/modifiée en dehors du service. logcorrelator remplit les colonnes
|
créée/modifiée en dehors du service. logcorrelator remplit les colonnes
|
||||||
existantes qu’il connaît et met NULL si un champ manque.
|
existantes qu'il connaît et met NULL si un champ manque.
|
||||||
|
Depuis la version 1.0.3, les champs apache et network sont remplacés par
|
||||||
|
une colonne unique fields JSON contenant tous les champs fusionnés.
|
||||||
base_columns:
|
base_columns:
|
||||||
- name: timestamp
|
- name: timestamp
|
||||||
type: DateTime64(9)
|
type: DateTime64(9)
|
||||||
@ -361,9 +360,7 @@ clickhouse_schema:
|
|||||||
type: UInt8
|
type: UInt8
|
||||||
- name: orphan_side
|
- name: orphan_side
|
||||||
type: String
|
type: String
|
||||||
- name: apache
|
- name: fields
|
||||||
type: JSON
|
|
||||||
- name: network
|
|
||||||
type: JSON
|
type: JSON
|
||||||
dynamic_fields:
|
dynamic_fields:
|
||||||
mode: map_or_additional_columns
|
mode: map_or_additional_columns
|
||||||
|
|||||||
Reference in New Issue
Block a user