- Heartbeat Reference: other versions:
- Overview
- Get started
- Set up and run
- Configure
- Monitors
- General settings
- Project paths
- Output
- SSL
- Index lifecycle management (ILM)
- Elasticsearch index template
- Processors
- Define processors
- add_cloud_metadata
- add_docker_metadata
- add_fields
- add_host_metadata
- add_id
- add_kubernetes_metadata
- add_labels
- add_locale
- add_observer_metadata
- add_process_metadata
- add_tags
- community_id
- convert
- copy_fields
- decode_base64_field
- decode_json_fields
- decompress_gzip_field
- dissect
- dns
- drop_event
- drop_fields
- extract_array
- fingerprint
- include_fields
- registered_domain
- rename
- truncate_fields
- Autodiscover
- Internal queue
- Logging
- HTTP endpoint
- Regular expression support
- heartbeat.reference.yml
- How to guides
- Exported fields
- Beat fields
- Cloud provider metadata fields
- Common heartbeat monitor fields
- Docker fields
- ECS fields
- Host fields
- HTTP monitor fields
- ICMP fields
- Jolokia Discovery autodiscover provider fields
- Kubernetes fields
- Process fields
- Host lookup fields
- SOCKS5 proxy fields
- Monitor summary fields
- TCP layer fields
- TLS encryption layer fields
- Monitor
- Secure
- Troubleshoot
- Contribute to Beats
Dissect strings
editDissect strings
editThe dissect
processor tokenizes incoming strings using defined patterns.
processors: - dissect: tokenizer: "%{key1} %{key2}" field: "message" target_prefix: "dissect"
The dissect
processor has the following configuration settings:
-
tokenizer
- The field used to define the dissection pattern.
-
field
-
(Optional) The event field to tokenize. Default is
message
. -
target_prefix
-
(Optional) The name of the field where the values will be extracted. When an empty
string is defined, the processor will create the keys at the root of the event. Default is
dissect
. When the target key already exists in the event, the processor won’t replace it and log an error; you need to either drop or rename the key before using dissect.
For tokenization to be successful, all keys must be found and extracted, if one of them cannot be found an error will be logged and no modification is done on the original event.
A key can contain any characters except reserved suffix or prefix modifiers: /
,&
, +
and ?
.
See Conditions for a list of supported conditions.
Dissect example
editFor this example, imagine that an application generates the following messages:
"App01 - WebServer is starting" "App01 - WebServer is up and running" "App01 - WebServer is scaling 2 pods" "App02 - Database is will be restarted in 5 minutes" "App02 - Database is up and running" "App02 - Database is refreshing tables"
Use the dissect
processor to split each message into two fields, for example,
service.name
and service.status
:
processors: - dissect: tokenizer: '"%{service.name} - %{service.status}"' field: "message" target_prefix: ""
This configuration produces fields like:
"service": { "name": "App01", "status": "WebServer is up and running" },
service.name
is an ECS keyword field, which means that you
can use it in Elasticsearch for filtering, sorting, and aggregations.
When possible, use ECS-compatible field names. For more information, see the Elastic Common Schema documentation.
On this page