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)
|
||||
|
||||
**Version 1.0.3+** - Structure JSON plate (flat) :
|
||||
|
||||
```json
|
||||
{
|
||||
"timestamp": "2024-01-01T12:00:00Z",
|
||||
@ -184,11 +186,15 @@ Exemple complet dans `config.example.yml`.
|
||||
"dst_ip": "10.0.0.1",
|
||||
"dst_port": 80,
|
||||
"correlated": true,
|
||||
"apache": {"method": "GET", "path": "/api/test"},
|
||||
"network": {"ja3": "abc123def456"}
|
||||
"method": "GET",
|
||||
"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
|
||||
|
||||
```sql
|
||||
|
||||
@ -312,7 +312,8 @@ schema:
|
||||
correlated_log:
|
||||
description: >
|
||||
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:
|
||||
- name: timestamp
|
||||
type: time.Time
|
||||
@ -330,22 +331,20 @@ schema:
|
||||
type: bool
|
||||
- name: orphan_side
|
||||
type: string
|
||||
- name: apache
|
||||
- name: "*"
|
||||
type: map[string]any
|
||||
optional: true
|
||||
- name: network
|
||||
type: map[string]any
|
||||
optional: true
|
||||
- name: extra
|
||||
type: map[string]any
|
||||
description: Champs dérivés éventuels.
|
||||
description: >
|
||||
Tous les champs additionnels provenant de A et B sont fusionnés
|
||||
directement à la racine du JSON (structure plate, sans subdivisions).
|
||||
|
||||
clickhouse_schema:
|
||||
strategy: external_ddls
|
||||
description: >
|
||||
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
|
||||
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:
|
||||
- name: timestamp
|
||||
type: DateTime64(9)
|
||||
@ -361,9 +360,7 @@ clickhouse_schema:
|
||||
type: UInt8
|
||||
- name: orphan_side
|
||||
type: String
|
||||
- name: apache
|
||||
type: JSON
|
||||
- name: network
|
||||
- name: fields
|
||||
type: JSON
|
||||
dynamic_fields:
|
||||
mode: map_or_additional_columns
|
||||
|
||||
Reference in New Issue
Block a user