Back to Elasticsearch

Community ID processor [community-id-processor]

docs/reference/enrich-processor/community-id-processor.md

9.4.03.4 KB
Original Source

Community ID processor [community-id-processor]

Computes the Community ID for network flow data as defined in the Community ID Specification. You can use a community ID to correlate network events related to a single flow.

The community ID processor reads network flow data from related Elastic Common Schema (ECS) fields by default. If you use the ECS, no configuration is required.

$$$community-id-options$$$

NameRequiredDefaultDescription
source_ipnosource.ipField containing the source IP address.
source_portnosource.portField containing the source port.
destination_ipnodestination.ipField containing the destination IP address.
destination_portnodestination.portField containing the destination port.
iana_numbernonetwork.iana_numberField containing the IANA number.
icmp_typenoicmp.typeField containing the ICMP type.
icmp_codenoicmp.codeField containing the ICMP code.
transportnonetwork.transportField containing the transport protocol name or number.Used only when the iana_number field is not present. The following protocol names are currently supported:ICMP, IGMP, TCP, UDP, GRE, ICMP IPv6, EIGRP, OSPF, PIM, and SCTP.
target_fieldnonetwork.community_idOutput field for the community ID.
seedno0Seed for the community ID hash. Must be between0 and 65535 (inclusive). The seed can prevent hash collisions between network domains, such asa staging and production network that use the same addressing scheme.
ignore_missingnotrueIf true and any required fields are missing,the processor quietly exits without modifying the document.
descriptionno-Description of the processor. Useful for describing the purpose of the processor or its configuration.
ifno-Conditionally execute the processor. See Conditionally run a processor.
ignore_failurenofalseIgnore failures for the processor. See Handling pipeline failures.
on_failureno-Handle failures for the processor. See Handling pipeline failures.
tagno-Identifier for the processor. Useful for debugging and metrics.

Here is an example definition of the community ID processor:

js
{
  "description" : "...",
  "processors" : [
    {
      "community_id": {
      }
    }
  ]
}

% NOTCONSOLE

When the above processor executes on the following document:

js
{
  "_source": {
    "source": {
      "ip": "123.124.125.126",
      "port": 12345
    },
    "destination": {
      "ip": "55.56.57.58",
      "port": 80
    },
    "network": {
      "transport": "TCP"
    }
  }
}

% NOTCONSOLE

It produces this result:

js
"_source" : {
  "destination" : {
    "port" : 80,
    "ip" : "55.56.57.58"
  },
  "source" : {
    "port" : 12345,
    "ip" : "123.124.125.126"
  },
  "network" : {
    "community_id" : "1:9qr9Z1LViXcNwtLVOHZ3CL8MlyM=",
    "transport" : "TCP"
  }
}

% NOTCONSOLE