预配置连接器
编辑预配置连接器编辑
如果您在本地运行 Kibana,您可以通过将连接器添加到 kibana.yml
文件中,预先配置连接器以使其在启动之前拥有所需的所有信息。
Elasticsearch Service 提供了一个预配置的电子邮件连接器,但您无法创建其他预配置的连接器。
预配置连接器具有以下优势
- 无需设置。运行操作所需的配置和凭据是预定义的,包括连接器名称和 ID。
- 出现在所有空间中,因为它们不是已保存的对象。
- 无法编辑或删除。
创建预配置连接器编辑
将 xpack.actions.preconfigured
设置添加到您的 kibana.yml
文件中。设置因您添加的连接器类型而异。请参阅预配置连接器设置。
此示例显示了 Slack 连接器和 Webhook 连接器的有效配置
xpack.actions.preconfigured: my-slack1: actionTypeId: .slack name: 'Slack #xyz' secrets: webhookUrl: 'https://hooks.slack.com/services/abcd/efgh/ijklmnopqrstuvwxyz' webhook-service: actionTypeId: .webhook name: 'Email service' config: url: 'https://email-alert-service.elastic.co' method: post headers: header1: value1 header2: value2 secrets: user: elastic password: changeme
键是连接器标识符,在此示例中为 |
|
|
|
|
|
|
|
|
敏感属性(例如密码)也可以存储在Kibana 密钥库中。
查看预配置连接器编辑
打开主菜单时,单击堆栈管理 > 连接器。无论您在哪个空间中,预配置连接器都会出现。它们被标记为“预配置”,您无法删除它们。
单击预配置连接器将显示描述,但不显示配置。
内置预配置连接器编辑
Kibana 提供以下内置预配置连接器
预配置的警报历史记录 Elasticsearch 索引连接器编辑
此功能处于技术预览阶段,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。
Kibana 提供了一个预配置的索引连接器,以便于将活动警报数据索引到 Elasticsearch 中。要使用此连接器,请将xpack.actions.preconfiguredAlertHistoryEsIndex
设置为 true
。
随后创建规则时,您可以使用警报历史记录 Elasticsearch 索引(预配置)
连接器。
使用预配置的架构对文档进行索引,该架构捕获规则可用的操作变量。默认情况下,这些文档被索引到 kibana-alert-history-default
索引中,但您可以指定其他索引。索引名称必须以 kibana-alert-history-
开头,才能利用预配置的警报历史记录索引模板。
- 要将文档写入预配置的索引,您必须对
kibana-alert-history-*
索引具有all
或write
权限。 kibana-alert-history-*
索引未配置为使用 ILM,因此必须手动维护。如果索引大小变得很大,请考虑使用按查询删除 API 清理索引中的旧文档。
示例编辑
Amazon Bedrock 连接器编辑
以下示例创建了一个Amazon Bedrock 连接器
xpack.actions.preconfigured: my-bedrock: name: preconfigured-bedrock-connector-type actionTypeId: .bedrock config: apiUrl: https://bedrock-runtime.us-east-1.amazonaws.com defaultModel: anthropic.claude-3-sonnet-20240229-v1:0 secrets: accessKey: key-value secret: secret-value
Amazon Bedrock 请求 URL。 |
|
用于请求的默认模型。目前支持 Anthropic Claude 模型,默认为 Claude 2。 |
|
用于身份验证的 AWS 访问密钥。 |
|
用于身份验证的 AWS 密钥。 |
D3 Security 连接器编辑
以下示例创建了一个D3 Security 连接器
xpack.actions.preconfigured: my-d3security: name: preconfigured-d3security-connector-type actionTypeId: .d3security config: url: https://testurl.com/elasticsearch/VSOC/api/Data/Kibana/Security%20Operations/CreateEvents secrets: token: superlongtoken
电子邮件连接器编辑
以下示例创建了一个电子邮件连接器
xpack.actions.preconfigured: my-email: name: preconfigured-email-connector-type actionTypeId: .email config: service: other from: [email protected] host: validhostname port: 8080 secure: false hasAuth: true secrets: user: testuser password: passwordkeystorevalue
电子邮件服务的名称。如果 |
|
使用此连接器发送的所有电子邮件的电子邮件地址。必须以 |
|
服务提供商的主机名。 |
|
在服务提供商上连接到的端口。 |
|
如果为 true,则连接在连接到服务提供商时将使用 TLS。 |
|
如果为 |
|
用于身份验证的用户名。如果 |
|
用于身份验证的密码。应存储在Kibana 密钥库中。如果 |
Amazon SES(简单电子邮件服务)编辑
使用以下电子邮件连接器配置从Amazon 简单电子邮件服务 (SES) SMTP 服务发送电子邮件
config: service: ses // `host`, `port` and `secure` have the following default values and do not need to set: // host: email-smtp.us-east-1.amazonaws.com // port: 465 // secure: true secrets: user: <username> password: <password>
Gmail编辑
使用以下电子邮件连接器配置从Gmail SMTP 服务发送电子邮件
config: service: gmail // `host`, `port` and `secure` have the following default values and do not need to set: // host: smtp.gmail.com // port: 465 // secure: true secrets: user: <username> password: <password>
使用基本身份验证的 Microsoft Exchange编辑
[7.16.0] 已弃用于 7.16.0。此 Microsoft Exchange 配置已弃用,稍后将被删除,因为 Microsoft 正在弃用基本身份验证。
config: service: other host: <your exchange server> port: 465 secure: true from: <email address of service account> secrets: user: <email address of service account> password: <password>
使用 OAuth 2.0 的 Microsoft Exchange编辑
使用以下电子邮件连接器配置从 Microsoft Exchange 发送电子邮件
config: service: exchange_server clientId: <The Application (client) ID> tenantId: <The directory tenant ID, in GUID format.> from: <email address of service account> secrets: clientSecret: <URL-encoded string>
此应用程序信息位于Azure 门户 – 应用注册。 |
|
某些组织将 Exchange 配置为验证 |
Outlook.com编辑
使用以下电子邮件连接器配置从Outlook.com SMTP 服务发送电子邮件
config: service: outlook365 // `host`, `port` and `secure` have the following default values and do not need to set: // host: smtp.office365.com // port: 587 // secure: false secrets: user: <email.address> password: <password>
OpenAI 连接器编辑
以下示例创建了一个 OpenAI 连接器
xpack.actions.preconfigured: my-open-ai: name: preconfigured-openai-connector-type actionTypeId: .gen-ai config: apiUrl: https://api.openai.com/v1/chat/completions apiProvider: 'OpenAI' defaultModel: gpt-4 secrets: apiKey: superlongapikey
OpenAI 请求 URL。 |
|
OpenAI API 提供程序,可以是 |
|
用于请求的默认模型。此设置是可选的,仅在 |
|
用于身份验证的 OpenAI 或 Azure OpenAI API 密钥。 |
IBM Resilient 连接器编辑
以下示例创建了一个 IBM Resilient 连接器
xpack.actions.preconfigured: my-resilient: name: preconfigured-resilient-connector-type actionTypeId: .resilient config: apiUrl: https://elastic.resilient.net orgId: ES secrets: apiKeyId: testuser apiKeySecret: tokenkeystorevalue
IBM Resilient 实例 URL。 |
|
IBM Resilient 组织标识符。 |
|
用于 HTTP 基本身份验证的身份验证密钥 ID。 |
|
用于 HTTP 基本身份验证的身份验证密钥密码。注意:此值应存储在 Kibana 密钥库 中。 |
索引连接器编辑
以下示例创建了一个 索引连接器
xpack.actions.preconfigured: my-index: name: preconfigured-index-connector-type actionTypeId: .index config: index: .kibana executionTimeField: my-field
Jira 连接器编辑
以下示例创建了一个 Jira 连接器
xpack.actions.preconfigured: my-jira: name: preconfigured-jira-connector-type actionTypeId: .jira config: apiUrl: https://elastic.atlassian.net projectKey: ES secrets: email: testuser apiToken: tokenkeystorevalue
Jira 实例 URL。 |
|
Jira 项目密钥。 |
|
用于 HTTP 基本身份验证的帐户电子邮件。 |
|
用于 HTTP 基本身份验证的 API 身份验证令牌。注意:此值应存储在 Kibana 密钥库 中。 |
Microsoft Teams 连接器编辑
以下示例创建了一个 Microsoft Teams 连接器
xpack.actions.preconfigured: my-teams: name: preconfigured-teams-connector-type actionTypeId: .teams secrets: webhookUrl: 'https://outlook.office.com/webhook/abcd@0123456/IncomingWebhook/abcdefgh/ijklmnopqrstuvwxyz'
Opsgenie 连接器编辑
以下示例创建了一个 Opsgenie 连接器
xpack.actions.preconfigured: my-opsgenie: name: preconfigured-opsgenie-connector-type actionTypeId: .opsgenie config: apiUrl: https://api.opsgenie.com secrets: apiKey: apikey
PagerDuty 连接器编辑
以下示例创建了一个 PagerDuty 连接器
xpack.actions.preconfigured: my-pagerduty: name: preconfigured-pagerduty-connector-type actionTypeId: .pagerduty config: apiUrl: https://test.host secrets: routingKey: testroutingkey
服务器日志连接器编辑
以下示例创建了一个 服务器日志连接器
xpack.actions.preconfigured: my-server-log: name: preconfigured-server-log-connector-type actionTypeId: .server-log
ServiceNow ITOM 连接器编辑
以下示例使用基本身份验证创建了一个 ServiceNow ITOM 连接器
xpack.actions.preconfigured: my-servicenow-itom: name: preconfigured-servicenow-connector-type actionTypeId: .servicenow-itom config: apiUrl: https://example.service-now.com/ secrets: username: testuser password: passwordkeystorevalue
ServiceNow 实例 URL。 |
|
用户名。 |
|
密码。注意:此值应存储在 Kibana 密钥库 中。 |
以下示例使用 OAuth 身份验证创建了一个 ServiceNow ITOM 连接器
xpack.actions.preconfigured: my-servicenow: name: preconfigured-oauth-servicenow-connector-type actionTypeId: .servicenow-itom config: apiUrl: https://example.service-now.com/ isOAuth: true userIdentifierValue: [email protected] clientId: abcdefghijklmnopqrstuvwxyzabcdef jwtKeyId: fedcbazyxwvutsrqponmlkjihgfedcba secrets: clientSecret: secretsecret privateKey: -----BEGIN RSA PRIVATE KEY-----\nprivatekeyhere\n-----END RSA PRIVATE KEY---
指定连接器使用基本身份验证还是 OAuth 身份验证。 |
|
用户标识符。 |
|
分配给您的 OAuth 应用程序的客户端标识符。 |
|
分配给您的 OAuth 应用程序的 JWT 验证器映射的密钥标识符。 |
|
分配给您的 OAuth 应用程序的客户端密钥。 |
|
RSA 私钥。如果它有密码,则还必须提供 |
ServiceNow ITSM 连接器编辑
以下示例使用基本身份验证创建了一个 ServiceNow ITSM 连接器
xpack.actions.preconfigured: my-servicenow: name: preconfigured-servicenow-connector-type actionTypeId: .servicenow config: apiUrl: https://example.service-now.com/ usesTableApi: false secrets: username: testuser password: passwordkeystorevalue
ServiceNow 实例 URL。 |
|
指定连接器使用表 API 还是导入集 API。如果 |
|
用户名。 |
|
密码。注意:此值应存储在 Kibana 密钥库 中。 |
以下示例使用 OAuth 身份验证创建了一个 ServiceNow ITSM 连接器
xpack.actions.preconfigured: my-servicenow: name: preconfigured-oauth-servicenow-connector-type actionTypeId: .servicenow config: apiUrl: https://example.service-now.com/ usesTableApi: false isOAuth: true userIdentifierValue: [email protected] clientId: abcdefghijklmnopqrstuvwxyzabcdef jwtKeyId: fedcbazyxwvutsrqponmlkjihgfedcba secrets: clientSecret: secretsecret privateKey: -----BEGIN RSA PRIVATE KEY-----\nprivatekeyhere\n-----END RSA PRIVATE KEY---
指定连接器使用基本身份验证还是 OAuth 身份验证。 |
|
用户标识符。 |
|
分配给您的 OAuth 应用程序的客户端标识符。 |
|
分配给您的 OAuth 应用程序的 JWT 验证器映射的密钥 ID。 |
|
分配给 OAuth 应用程序的客户端密钥。 |
|
RSA 私钥。如果它有密码,则还必须提供 |
ServiceNow SecOps 连接器编辑
以下示例使用基本身份验证创建了一个 ServiceNow SecOps 连接器
xpack.actions.preconfigured: my-servicenow-sir: name: preconfigured-servicenow-connector-type actionTypeId: .servicenow-sir config: apiUrl: https://example.service-now.com/ usesTableApi: false secrets: username: testuser password: passwordkeystorevalue
ServiceNow 实例 URL。 |
|
指定连接器使用表 API 还是导入集 API。如果 |
|
用户名。 |
|
密码。注意:此值应存储在 Kibana 密钥库 中。 |
以下示例使用 OAuth 身份验证创建了一个 ServiceNow SecOps 连接器
xpack.actions.preconfigured: my-servicenow: name: preconfigured-oauth-servicenow-connector-type actionTypeId: .servicenow-sir config: apiUrl: https://example.service-now.com/ usesTableApi: false isOAuth: true userIdentifierValue: [email protected] clientId: abcdefghijklmnopqrstuvwxyzabcdef jwtKeyId: fedcbazyxwvutsrqponmlkjihgfedcba secrets: clientSecret: secretsecret privateKey: -----BEGIN RSA PRIVATE KEY-----\nprivatekeyhere\n-----END RSA PRIVATE KEY---
指定连接器使用基本身份验证还是 OAuth 身份验证。 |
|
用户标识符。 |
|
分配给 OAuth 应用程序的客户端标识符。 |
|
分配给您的 OAuth 应用程序的 JWT 验证器映射的密钥 ID。 |
|
分配给 OAuth 应用程序的客户端密钥。 |
|
RSA 私钥。如果它有密码,则还必须指定 |
Slack 连接器编辑
以下示例使用 Webhook 创建了一个 Slack 连接器
xpack.actions.preconfigured: my-slack: name: preconfigured-slack-webhook-connector-type actionTypeId: .slack secrets: webhookUrl: 'https://hooks.slack.com/services/xxxx/xxxx/xxxx'
以下示例使用 Web API 创建了一个 Slack 连接器
xpack.actions.preconfigured: my-slack: name: preconfigured-slack-api-connector-type actionTypeId: .slack_api secrets: token: 'xoxb-xxxx-xxxx-xxxx'
Swimlane 连接器编辑
以下示例创建了一个 Swimlane 连接器
xpack.actions.preconfigured: my-swimlane: name: preconfigured-swimlane-connector-type actionTypeId: .swimlane config: apiUrl: https://elastic.swimlaneurl.us appId: app-id mappings: alertIdConfig: fieldType: text id: agp4s key: alert-id name: Alert ID caseIdConfig: fieldType: text id: ae1mi key: case-id name: Case ID caseNameConfig: fieldType: text id: anxnr key: case-name name: Case Name commentsConfig: fieldType: comments id: au18d key: comments name: Comments descriptionConfig: fieldType: text id: ae1gd key: description name: Description ruleNameConfig: fieldType: text id: avfsl key: rule-name name: Rule Name severityConfig: fieldType: text id: a71ik key: severity name: severity secrets: apiToken: tokenkeystorevalue
Swimlane 实例 URL。 |
|
Swimlane 应用程序标识符。 |
|
属性的字段映射,例如警报标识符、严重性和规则名称。 |
|
用于 HTTP 基本身份验证的 API 身份验证令牌。注意:此值应存储在 Kibana 密钥库 中。 |
Tines 连接器编辑
以下示例创建了一个 Tines 连接器
xpack.actions.preconfigured: my-tines: name: preconfigured-tines-connector-type actionTypeId: .tines config: url: https://some-tenant-2345.tines.com secrets: email: [email protected] token: ausergeneratedapitoken
Torq 连接器编辑
以下示例创建了一个 Torq 连接器
xpack.actions.preconfigured: my-torq: name: preconfigured-torq-connector-type actionTypeId: .torq config: webhookIntegrationUrl: https://hooks.torq.io/v1/somehook secrets: token: mytorqtoken
Webhook 连接器编辑
以下示例使用基本身份验证创建了一个 Webhook 连接器
xpack.actions.preconfigured: my-webhook: name: preconfigured-webhook-connector-type actionTypeId: .webhook config: url: https://test.host method: post headers: testheader: testvalue hasAuth: true secrets: user: testuser password: passwordkeystorevalue
Web 服务请求 URL。如果您正在使用 |
|
HTTP 请求方法,可以是 |
|
一组作为标头随请求发送的键值对。 |
|
如果为 |
|
有效的用户名。在 |
|
有效的密码。在 |
预配置的 Webhook 连接器不支持 SSL 身份验证。
Webhook - 案例管理连接器编辑
以下示例创建了一个 Webhook - 案例管理连接器
xpack.actions.preconfigured: my-case-management-webhook: name: Case Management Webhook Connector actionTypeId: .cases-webhook config: hasAuth: true headers: 'content-type': 'application/json' createIncidentUrl: 'https://example.com/rest/api/2/issue' createIncidentMethod: 'post' createIncidentJson: '{"fields":{"summary":{{{case.title}}},"description":{{{case.description}}},"labels":{{{case.tags}}}' getIncidentUrl: 'https://example.com/rest/api/2/issue/{{{external.system.id}}}' getIncidentResponseExternalTitleKey: 'key' viewIncidentUrl: 'https://example.com/browse/{{{external.system.title}}}' updateIncidentUrl: 'https://example.com/rest/api/2/issue/{{{external.system.id}}}' updateIncidentMethod: 'put' updateIncidentJson: '{"fields":{"summary":{{{case.title}}},"description":{{{case.description}}},"labels":{{{case.tags}}}' createCommentMethod: 'post', createCommentUrl: 'https://example.com/rest/api/2/issue/{{{external.system.id}}}/comment', createCommentJson: '{"body": {{{case.comment}}}}', secrets: user: testuser password: passwordvalue
如果为 |
|
一组作为标头随请求发送的键值对。 |
|
用于在第三方系统中创建案例的 REST API URL 字符串。 |
|
用于在第三方系统中创建案例的 REST API HTTP 请求方法。 |
|
带有 Mustache 变量的字符串化 JSON 有效负载,该有效负载被发送到创建案例 URL 以创建案例。 |
|
带有外部服务 ID Mustache 变量的 REST API URL 字符串,用于从第三方系统获取案例。 |
|
获取案例方法的响应正文中的字符串,对应于外部服务标题。 |
|
带有外部服务 ID 或外部服务标题 Mustache 变量的 URL 字符串,用于在外部系统中查看案例。 |
|
用于按 ID 更新第三方系统中的案例的 REST API URL。 |
|
用于更新第三方系统中的案例的 REST API HTTP 请求方法。 |
|
带有 Mustache 变量的字符串化 JSON 有效负载,该有效负载被发送到更新案例 URL 以更新案例。 |
|
用于在第三方系统中创建案例评论的 REST API HTTP 请求方法。 |
|
用于按 ID 在第三方系统中创建案例评论的 REST API URL 字符串。 |
|
带有 Mustache 变量的字符串化 JSON 有效负载,该有效负载被发送到创建评论 URL 以创建案例评论。 |
|
用户名,在 |
|
密码,在 |
xMatters 连接器编辑
以下示例使用基本身份验证创建一个 xMatters 连接器
xpack.actions.preconfigured: my-xmatters: name: preconfigured-xmatters-connector-type actionTypeId: .xmatters config: configUrl: https://test.host usesBasic: true secrets: user: testuser password: passwordkeystorevalue
xMatters 中 Elastic Alerts 触发器的请求 URL。 |
|
指示连接器是否使用 HTTP 基本身份验证。如果为 |
|
用于身份验证的用户名,当 |
|
用于身份验证的密码,当 |
以下示例使用 URL 身份验证创建一个 xMatters 连接器