To debug configurations that include variable substitution and conditions, use
the inspect
command. This command shows the configuration that’s generated
after variables are replaced and conditions are applied.
First run the {agent}. For this example, we’ll use the following agent policy:
outputs:
default:
type: elasticsearch
hosts: [127.0.0.1:9200]
apikey: <my-api-key>
providers:
local_dynamic:
items:
- vars:
key: value1
processors:
- add_fields:
fields:
custom: match1
target: dynamic
- vars:
key: value2
processors:
- add_fields:
fields:
custom: match2
target: dynamic
- vars:
key: value3
processors:
- add_fields:
fields:
custom: match3
target: dynamic
inputs:
- id: unique-logfile-id
type: logfile
enabled: true
streams:
- paths:
- /var/log/${local_dynamic.key}
Then run elastic-agent inspect --variables
to see the generated configuration. For
example:
$ ./elastic-agent inspect --variables
inputs:
- enabled: true
id: unique-logfile-id-local_dynamic-0
original_id: unique-logfile-id
processors:
- add_fields:
fields:
custom: match1
target: dynamic
streams:
- paths:
- /var/log/value1
type: logfile
- enabled: true
id: unique-logfile-id-local_dynamic-1
original_id: unique-logfile-id
processors:
- add_fields:
fields:
custom: match2
target: dynamic
streams:
- paths:
- /var/log/value2
type: logfile
- enabled: true
id: unique-logfile-id-local_dynamic-2
original_id: unique-logfile-id
processors:
- add_fields:
fields:
custom: match3
target: dynamic
streams:
- paths:
- /var/log/value3
type: logfile
outputs:
default:
apikey: <my-api-key>
hosts:
- 127.0.0.1:9200
type: elasticsearch
providers:
local_dynamic:
items:
- processors:
- add_fields:
fields:
custom: match1
target: dynamic
vars:
key: value1
- processors:
- add_fields:
fields:
custom: match2
target: dynamic
vars:
key: value2
- processors:
- add_fields:
fields:
custom: match3
target: dynamic
vars:
key: value3
---