Create an agent policy without using the UIedit

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:

Option 1. Create an agent policy with the APIedit
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
Option 2. Create agent policies with preconfigurationedit

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:

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:
      - name: system-1
        id: default-system
        package:
          name: system

For more information about preconfiguration settings, refer to the Kibana documentation.