Kibana Fleet API
编辑Kibana Fleet API
编辑您可以在我们生成的 Kibana API 文档中找到所有可用的 Fleet API 端点的详细信息。
在本节中,我们将提供一些常用 Fleet API 的示例。
使用控制台
编辑您可以通过 Kibana 控制台运行 Fleet API 请求。
- 打开 Kibana 菜单并转到 管理 → Dev Tools。
-
在您的请求中,在您的 Fleet API 端点前面加上
kbn:
,例如GET kbn:/api/fleet/agent_policies
有关使用 Kibana 控制台的更多详细信息,请参阅运行 API 请求。
身份验证
编辑发送 Fleet API 请求需要进行身份验证。有关更多信息,请参阅 身份验证。
创建代理策略
编辑要在 Fleet 中创建新的代理策略,请调用 POST /api/fleet/agent_policies
。
此 cURL 示例在默认命名空间中创建一个名为 Agent policy 1
的代理策略。
curl --request POST \ --url 'https://my-kibana-host:9243/api/fleet/agent_policies?sys_monitoring=true' \ --header 'Accept: */*' \ --header 'Authorization: ApiKey yourbase64encodedkey' \ --header 'Cache-Control: no-cache' \ --header 'Connection: keep-alive' \ --header 'Content-Type: application/json' \ --header 'kbn-xsrf: xxx' \ --data '{ "name": "Agent policy 1", "description": "", "namespace": "default", "monitoring_enabled": [ "logs", "metrics" ] }'
示例响应
{ "item": { "id": "2b820230-4b54-11ed-b107-4bfe66d759e4", "name": "Agent policy 1", "description": "", "namespace": "default", "monitoring_enabled": [ "logs", "metrics" ], "status": "active", "is_managed": false, "revision": 1, "updated_at": "2022-10-14T00:07:19.763Z", "updated_by": "1282607447", "schema_version": "1.0.0" } }
创建集成策略
编辑要创建集成策略(也称为包策略)并将其添加到现有的代理策略,请调用 POST /api/fleet/package_policies
。
您可以使用 Fleet API 来 创建和自定义 Elastic Defend 策略。
此 cURL 示例为 Nginx 创建一个集成策略,并将其添加到上一个示例中创建的代理策略
curl --request POST \ --url 'https://my-kibana-host:9243/api/fleet/package_policies' \ --header 'Authorization: ApiKey yourbase64encodedkey' \ --header 'Content-Type: application/json' \ --header 'kbn-xsrf: xx' \ --data '{ "name": "nginx-demo-123", "policy_id": "2b820230-4b54-11ed-b107-4bfe66d759e4", "package": { "name": "nginx", "version": "1.5.0" }, "inputs": { "nginx-logfile": { "streams": { "nginx.access": { "vars": { "tags": [ "test" ] } }, "nginx.error": { "vars": { "tags": [ "test" ] } } } } } }'
示例响应(为方便阅读而截断)
{ "item" : { "created_at" : "2022-10-15T00:41:28.594Z", "created_by" : "1282607447", "enabled" : true, "id" : "92f33e57-3165-4dcd-a1d5-f01c8ffdcbcd", "inputs" : [ { "enabled" : true, "policy_template" : "nginx", "streams" : [ { "compiled_stream" : { "exclude_files" : [ ".gz$" ], "ignore_older" : "72h", "paths" : [ "/var/log/nginx/access.log*" ], "processors" : [ { "add_locale" : null } ], "tags" : [ "test" ] }, "data_stream" : { "dataset" : "nginx.access", "type" : "logs" }, "enabled" : true, "id" : "logfile-nginx.access-92f33e57-3165-4dcd-a1d5-f01c8ffdcbcd", "release" : "ga", "vars" : { "ignore_older" : { "type" : "text", "value" : "72h" }, "paths" : { "type" : "text", "value" : [ "/var/log/nginx/access.log*" ] }, "preserve_original_event" : { "type" : "bool", "value" : false }, "processors" : { "type" : "yaml" }, "tags" : { "type" : "text", "value" : [ "test" ] } } }, { "compiled_stream" : { "exclude_files" : [ ".gz$" ], "ignore_older" : "72h", "multiline" : { "match" : "after", "negate" : true, "pattern" : "^\\d{4}\\/\\d{2}\\/\\d{2} " }, "paths" : [ "/var/log/nginx/error.log*" ], "processors" : [ { "add_locale" : null } ], "tags" : [ "test" ] }, "data_stream" : { "dataset" : "nginx.error", "type" : "logs" }, "enabled" : true, "id" : "logfile-nginx.error-92f33e57-3165-4dcd-a1d5-f01c8ffdcbcd", "release" : "ga", "vars" : { "ignore_older" : { "type" : "text", "value" : "72h" }, "paths" : { "type" : "text", "value" : [ "/var/log/nginx/error.log*" ] }, "preserve_original_event" : { "type" : "bool", "value" : false }, "processors" : { "type" : "yaml" }, "tags" : { "type" : "text", "value" : [ "test" ] } } } ], "type" : "logfile" }, ... { "enabled" : true, "policy_template" : "nginx", "streams" : [ { "compiled_stream" : { "hosts" : [ "http://127.0.0.1:80" ], "metricsets" : [ "stubstatus" ], "period" : "10s", "server_status_path" : "/nginx_status" }, "data_stream" : { "dataset" : "nginx.stubstatus", "type" : "metrics" }, "enabled" : true, "id" : "nginx/metrics-nginx.stubstatus-92f33e57-3165-4dcd-a1d5-f01c8ffdcbcd", "release" : "ga", "vars" : { "period" : { "type" : "text", "value" : "10s" }, "server_status_path" : { "type" : "text", "value" : "/nginx_status" } } } ], "type" : "nginx/metrics", "vars" : { "hosts" : { "type" : "text", "value" : [ "http://127.0.0.1:80" ] } } } ], "name" : "nginx-demo-123", "namespace" : "default", "package" : { "name" : "nginx", "title" : "Nginx", "version" : "1.5.0" }, "policy_id" : "d625b2e0-4c21-11ed-9426-31f0877749b7", "revision" : 1, "updated_at" : "2022-10-15T00:41:28.594Z", "updated_by" : "1282607447", "version" : "WzI5OTAsMV0=" } }
获取注册令牌
编辑要从 Fleet 获取有效注册令牌的列表,请调用 GET /api/fleet/enrollment_api_keys
。
此 cURL 示例返回注册令牌的列表。
curl --request GET \ --url 'https://my-kibana-host:9243/api/fleet/enrollment_api_keys' \ --header 'Authorization: ApiKey N2VLRDA0TUJIQ05MaGYydUZrN1Y6d2diMUdwSkRTWGFlSm1rSVZlc2JGQQ==' \ --header 'Content-Type: application/json' \ --header 'kbn-xsrf: xx'
示例响应(格式化为方便阅读)
{ "items" : [ { "active" : true, "api_key" : "QlN2UaA0TUJlMGFGbF8IVkhJaHM6eGJjdGtyejJUUFM0a0dGSwlVSzdpdw==", "api_key_id" : "BSvR04MBe0aFl_HVHIhs", "created_at" : "2022-10-14T00:07:21.420Z", "id" : "39703af4-5945-4232-90ae-3161214512fa", "name" : "Default (39703af4-5945-4232-90ae-3161214512fa)", "policy_id" : "2b820230-4b54-11ed-b107-4bfe66d759e4" }, { "active" : true, "api_key" : "Yi1MSTA2TUJIQ05MaGYydV9kZXQ5U2dNWFkyX19sWEdSemFQOUfzSDRLZw==", "api_key_id" : "b-LI04MBHCNLhf2u_det", "created_at" : "2022-10-13T23:58:29.266Z", "id" : "e4768bf2-55a6-433f-a540-51d4ca2d34be", "name" : "Default (e4768bf2-55a6-433f-a540-51d4ca2d34be)", "policy_id" : "ee37a8e0-4b52-11ed-b107-4bfe66d759e4" }, { "active" : true, "api_key" : "b3VLbjA0TUJIQ04MaGYydUk1Z3Q6VzhMTTBITFRTmnktRU9IWDaXWnpMUQ==", "api_key_id" : "luKn04MBHCNLhf2uI5d4", "created_at" : "2022-10-13T23:21:30.707Z", "id" : "d18d2918-bb10-44f2-9f98-df5543e21724", "name" : "Default (d18d2918-bb10-44f2-9f98-df5543e21724)", "policy_id" : "c3e31e80-4b4d-11ed-b107-4bfe66d759e4" }, { "active" : true, "api_key" : "V3VLRTa0TUJIQ05MaGYydVMx4S06WjU5dsZ3YzVRSmFUc5xjSThImi1ydw==", "api_key_id" : "WuKE04MBHCNLhf2uS1E-", "created_at" : "2022-10-13T22:43:27.139Z", "id" : "aad31121-df89-4f57-af84-7c43f72640ee", "name" : "Default (aad31121-df89-4f57-af84-7c43f72640ee)", "policy_id" : "72fcc4d0-4b48-11ed-b107-4bfe66d759e4" }, ], "page" : 1, "perPage" : 20, "total" : 4 }