预配置连接器编辑

如果您在本地运行 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

键是连接器标识符,在此示例中为 my-slack1

actionTypeId 是操作类型标识符。

name 是预配置连接器的名称。

config 是特定于连接器类型的配置。

secrets 是特定于连接器类型的敏感配置,例如用户名、密码和密钥。

敏感属性(例如密码)也可以存储在Kibana 密钥库中。

查看预配置连接器编辑

打开主菜单时,单击堆栈管理 > 连接器。无论您在哪个空间中,预配置连接器都会出现。它们被标记为“预配置”,您无法删除它们。

Connectors managing tab with pre-configured

单击预配置连接器将显示描述,但不显示配置。

内置预配置连接器编辑

Kibana 提供以下内置预配置连接器

预配置的警报历史记录 Elasticsearch 索引连接器编辑

此功能处于技术预览阶段,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。

Kibana 提供了一个预配置的索引连接器,以便于将活动警报数据索引到 Elasticsearch 中。要使用此连接器,请将xpack.actions.preconfiguredAlertHistoryEsIndex设置为 true

随后创建规则时,您可以使用警报历史记录 Elasticsearch 索引(预配置)连接器。

Creating a rule action that uses the pre-configured alert history connector

使用预配置的架构对文档进行索引,该架构捕获规则可用的操作变量。默认情况下,这些文档被索引到 kibana-alert-history-default 索引中,但您可以指定其他索引。索引名称必须以 kibana-alert-history- 开头,才能利用预配置的警报历史记录索引模板。

  • 要将文档写入预配置的索引,您必须对 kibana-alert-history-* 索引具有 allwrite 权限。
  • 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 

D3 Security API 请求 URL。

D3 Security 令牌。

电子邮件连接器编辑

以下示例创建了一个电子邮件连接器

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 

电子邮件服务的名称。如果 serviceelastic_cloud(用于 Elastic Cloud 通知)或 Nodemailer 的知名电子邮件服务提供商之一,则 hostportsecure 属性将被忽略。如果 serviceother,则必须定义 hostport 属性。有关 gmail 服务值的更多信息,请参阅Nodemailer Gmail 文档。如果 serviceexchange_server,则需要 tenantIdclientIdclientSecret 属性,而不是 hostport

使用此连接器发送的所有电子邮件的电子邮件地址。必须以 user@host-name 格式指定。

服务提供商的主机名。

在服务提供商上连接到的端口。

如果为 true,则连接在连接到服务提供商时将使用 TLS。

如果为 true,则此连接器将需要在 secrets 配置中提供 userpassword 的值。默认为 true

用于身份验证的用户名。如果 hasAuth 设置为 true,则为必需项。

用于身份验证的密码。应存储在Kibana 密钥库中。如果 hasAuth 设置为 true,则为必需项。

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>

config.host 因地区而异

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>

某些组织将 Exchange 配置为验证 from 字段是否为有效的本地电子邮件帐户。

许多组织支持使用您的电子邮件地址作为您的用户名。如果您收到与身份验证相关的故障,请咨询您的系统管理员。

使用 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 配置为验证 from 字段是否为有效的本地电子邮件帐户。

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 提供程序,可以是 OpenAIAzure OpenAI

用于请求的默认模型。此设置是可选的,仅在 apiProviderOpenAI 时适用。

用于身份验证的 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 

要写入的 Elasticsearch 索引。

指示文档何时被索引的字段。

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' 

传入 Webhook 的 URL。

Opsgenie 连接器编辑

以下示例创建了一个 Opsgenie 连接器

xpack.actions.preconfigured:
  my-opsgenie:
    name: preconfigured-opsgenie-connector-type
    actionTypeId: .opsgenie
    config:
      apiUrl: https://api.opsgenie.com 
    secrets:
      apiKey: apikey 

Opsgenie URL。

用于 HTTP 基本身份验证的 Opsgenie API 身份验证密钥。

PagerDuty 连接器编辑

以下示例创建了一个 PagerDuty 连接器

xpack.actions.preconfigured:
  my-pagerduty:
    name: preconfigured-pagerduty-connector-type
    actionTypeId: .pagerduty
    config:
      apiUrl: https://test.host 
    secrets:
      routingKey: testroutingkey 

PagerDuty 事件 URL。

用于服务集成的 32 字符 PagerDuty 集成密钥,也称为路由密钥。

服务器日志连接器编辑

以下示例创建了一个 服务器日志连接器

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 私钥。如果它有密码,则还必须提供 privateKeyPassword

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。如果 usesTableApifalse,则应在 ServiceNow 中安装 Elastic 应用程序。

用户名。

密码。注意:此值应存储在 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 私钥。如果它有密码,则还必须提供 privateKeyPassword

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。如果 usesTableApi 为 false,则应在 ServiceNow 中安装 Elastic 应用程序。

用户名。

密码。注意:此值应存储在 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 私钥。如果它有密码,则还必须指定 privateKeyPassword

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' 

Slack Webhook URL。

以下示例使用 Web API 创建了一个 Slack 连接器

xpack.actions.preconfigured:
  my-slack:
    name: preconfigured-slack-api-connector-type
    actionTypeId: .slack_api
    secrets:
      token: 'xoxb-xxxx-xxxx-xxxx' 

Slack 机器人用户 OAuth 令牌。

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 

Tines 租户 URL。

用于登录 Tines 的电子邮件。

Tines API 令牌。

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 

Torq 中 Elastic Security 集成的端点 URL。

Webhook 身份验证标头的密钥。

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。如果您正在使用 xpack.actions.allowedHosts 设置,请确保将主机名添加到允许的主机中。

HTTP 请求方法,可以是 post(默认)或 put

一组作为标头随请求发送的键值对。

如果为 true,则此连接器将需要在 secrets 配置中提供 userpassword 的值。默认为 true

有效的用户名。在 hasAuth 设置为 true 时必填。

有效的密码。在 hasAuth 设置为 true 时必填。注意:此值应存储在 Kibana 密钥库 中。

预配置的 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 

如果为 true,则此连接器将需要在密钥配置中提供 userpassword 的值。

一组作为标头随请求发送的键值对。

用于在第三方系统中创建案例的 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 以创建案例评论。

用户名,在 hasAuthtrue 时必填。

密码,在 hasAuthtrue 时必填。

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 基本身份验证。如果为 true,则必须提供 userpassword 值。默认为 true

用于身份验证的用户名,当 usesBasictrue 时,此项为必填项。

用于身份验证的密码,当 usesBasictrue 时,此项为必填项。注意:此值应存储在 Kibana 密钥库 中。

以下示例使用 URL 身份验证创建一个 xMatters 连接器

xpack.actions.preconfigured:
  my-xmatters:
    name: preconfigured-xmatters-connector-type
    actionTypeId: .xmatters
    config:
      usesBasic: false 
    secrets:
      secretsUrl: https://test.host?apiKey=1234-abcd 

指示连接器是否使用 HTTP 基本身份验证。设置为 false 以使用 URL 身份验证。默认为 true

xMatters 中 Elastic Alerts 触发器的请求 URL,其中 API 密钥包含在 URL 中。