Loading

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 policy
  • monitoring_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.