Skip to content

Commit 3435ef0

Browse files
authored
[DOCS] Network community ID processor for ingest pipelines (#66592) (#70022)
1 parent 263e08b commit 3435ef0

File tree

2 files changed

+100
-0
lines changed

2 files changed

+100
-0
lines changed

docs/reference/ingest/ingest-node.asciidoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -875,6 +875,7 @@ See {plugins}/ingest.html[Ingest plugins] for information about the available in
875875
include::processors/append.asciidoc[]
876876
include::processors/bytes.asciidoc[]
877877
include::processors/circle.asciidoc[]
878+
include::processors/community-id.asciidoc[]
878879
include::processors/convert.asciidoc[]
879880
include::processors/csv.asciidoc[]
880881
include::processors/date.asciidoc[]
Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
[role="xpack"]
2+
[testenv="basic"]
3+
[[community-id-processor]]
4+
=== Community ID processor
5+
++++
6+
<titleabbrev>Community ID</titleabbrev>
7+
++++
8+
9+
Computes the Community ID for network flow data as defined in the
10+
https://github.com/corelight/community-id-spec[Community ID Specification].
11+
You can use a community ID to correlate network events related to a single
12+
flow.
13+
14+
The community ID processor reads network flow data from related
15+
{ecs-ref}[Elastic Common Schema (ECS)] fields by default. If you use the ECS, no
16+
configuration is required.
17+
18+
[[community-id-options]]
19+
.Community ID Options
20+
[options="header"]
21+
|======
22+
| Name | Required | Default | Description
23+
| `source_ip` | no | `source.ip` | Field containing the source IP address.
24+
| `source_port` | no | `source.port` | Field containing the source port.
25+
| `destination_ip` | no | `destination.ip` | Field containing the destination IP address.
26+
| `destination_port` | no | `destination.port` | Field containing the destination port.
27+
| `iana_number` | no | `network.iana_number` | Field containing the IANA number.
28+
| `icmp_type` | no | `icmp.type` | Field containing the ICMP type.
29+
| `icmp_code` | no | `icmp.code` | Field containing the ICMP code.
30+
| `transport` | no | `network.transport` | Field containing the transport protocol.
31+
Used only when the `iana_number` field is not present.
32+
| `target_field` | no | `network.community_id` | Output field for the community ID.
33+
| `seed` | no | `0` | Seed for the community ID hash. Must be between
34+
0 and 65535 (inclusive). The seed can prevent hash collisions between network domains, such as
35+
a staging and production network that use the same addressing scheme.
36+
| `ignore_missing` | no | `true` | If `true` and any required fields are missing,
37+
the processor quietly exits without modifying the document.
38+
39+
include::common-options.asciidoc[]
40+
|======
41+
42+
Here is an example definition of the community ID processor:
43+
44+
[source,js]
45+
--------------------------------------------------
46+
{
47+
"description" : "...",
48+
"processors" : [
49+
{
50+
"community_id": {
51+
}
52+
}
53+
]
54+
}
55+
--------------------------------------------------
56+
// NOTCONSOLE
57+
58+
When the above processor executes on the following document:
59+
60+
[source,js]
61+
--------------------------------------------------
62+
{
63+
"_source": {
64+
"source": {
65+
"ip": "123.124.125.126",
66+
"port": 12345
67+
},
68+
"destination": {
69+
"ip": "55.56.57.58",
70+
"port": 80
71+
},
72+
"network": {
73+
"transport": "TCP"
74+
}
75+
}
76+
}
77+
--------------------------------------------------
78+
// NOTCONSOLE
79+
80+
It produces this result:
81+
82+
[source,js]
83+
--------------------------------------------------
84+
"_source" : {
85+
"destination" : {
86+
"port" : 80,
87+
"ip" : "55.56.57.58"
88+
},
89+
"source" : {
90+
"port" : 12345,
91+
"ip" : "123.124.125.126"
92+
},
93+
"network" : {
94+
"community_id" : "1:9qr9Z1LViXcNwtLVOHZ3CL8MlyM=",
95+
"transport" : "TCP"
96+
}
97+
}
98+
--------------------------------------------------
99+
// NOTCONSOLE

0 commit comments

Comments
 (0)