Create an agent policy without using the UI
For use cases where you want to provide a default agent policy or support automation, you can set up an agent policy without using the Fleet UI. To do this, either use the Fleet API or add a preconfigured policy to Kibana:
curl -u <username>:<password> --request POST \
--url <kibana_url>/api/fleet/agent_policies?sys_monitoring=true \
--header 'content-type: application/json' \
--header 'kbn-xsrf: true' \
--data '{"name":"Agent policy 1","namespace":"default","monitoring_enabled":["logs","metrics"]}'
In this API call:
sys_monitoring=true
adds the system integration to the agent policymonitoring_enabled
turns on Elastic Agent monitoring
For more information, refer to Kibana Fleet APIs.
Add preconfigured policies to kibana.yml
config.
For example, the following example adds a Fleet Server policy for self-managed setup:
xpack.fleet.packages:
- name: fleet_server
version: latest
xpack.fleet.agentPolicies:
- name: Fleet Server policy
id: fleet-server-policy
namespace: default
package_policies:
- name: fleet_server-1
package:
name: fleet_server
The following example creates an agent policy for general use, and customizes the period
setting for the system.core
data stream. You can find all available inputs and variables in the Integrations app in Kibana.
xpack.fleet.packages:
- name: system
version: latest
- name: elastic_agent
version: latest
xpack.fleet.agentPolicies:
- name: Agent policy 1
id: agent-policy-1
namespace: default
monitoring_enabled:
- logs
- metrics
package_policies:
- package:
name: system
name: System Integration 1
id: preconfigured-system-1
inputs:
system-system/metrics:
enabled: true
vars:
'[system.hostfs]': home/test
streams:
'[system.core]':
enabled: true
vars:
period: 20s
system-winlog:
enabled: false
For more information about preconfiguration settings, refer to the Kibana documentation.