Back to Kibana

Kibana connectors [action-types]

docs/reference/connectors-kibana.md

9.5.010.3 KB
Original Source

Kibana connectors [action-types]

:::{important} These Kibana connectors are used to connect to external services for GenAI, alerting, and case management use cases.

To learn about connectors for syncing data to {{es}} for search use cases, refer to content connectors. :::

Connectors provide a central place to store connection information for services and integrations with Elastic or third-party systems.

If you're using connectors for alerting or case management, you can create rules and add actions that use connectors to send notifications when conditions are met.

{{kib}} provides connectors for LLM providers, Elastic Stack features, and third-party alerting and case management platforms.

Required permissions [_required_permissions_2]

Access to connectors is granted based on your privileges to alerting-enabled features. For more information, go to Security.

Available connectors

{{kib}} provides the following connectors, grouped by category.

:::{dropdown} Generative AI

:::{include} connectors-kibana/_snippets/gen-ai-connectors-list.md :::

:::

:::{dropdown} Elastic Stack

:::{include} connectors-kibana/_snippets/elastic-connectors-list.md :::

:::

:::{dropdown} Alerting and case management

:::{include} connectors-kibana/_snippets/alerting-cases-connectors-list.md :::

:::

:::{dropdown} Data and context sources

:::{include} connectors-kibana/_snippets/data-context-sources-connectors-list.md :::

:::

::::{note} Some connector types are paid commercial features, while others are free. For a comparison of the Elastic subscription levels, go to the subscription page. ::::

Find available connectors [connectors-list]

In {{stack-manage-app}} > {{connectors-ui}}, you can find a list of the connectors in the current space. You can use the search bar to find specific connectors by name and type. The Type dropdown also enables you to filter to a subset of connector types.

:::{image} images/connector-filter-by-type.png :alt: Filtering the connector list by types of connectors :screenshot: :::

You can delete individual connectors using the trash icon. Alternatively, select multiple connectors and delete them in bulk using the Delete button.

:::{image} images/connector-delete.png :alt: Deleting connectors individually or in bulk :screenshot: :::

::::{note} You can delete a connector even if there are still actions referencing it. When this happens the action will fail to run and errors appear in the {{kib}} logs.

::::

Creating a new connector [creating-new-connector]

New connectors can be created with the Create connector button, which guides you to select the type of connector and configure its properties.

:::{image} images/connector-select-type.png :alt: Connector select type :width: 600px :screenshot: :::

After you create a connector, it is available for use any time you set up an action in the current space.

For out-of-the-box and standardized connectors, refer to preconfigured connectors.

::::{tip} You can also manage connectors as resources with the Elasticstack provider for Terraform. For more details, refer to the elasticstack_kibana_action_connector resource. ::::

Connector name and Connector ID [connector-id]

yaml
stack: ga 9.4+

When you create a connector, you set a Connector name (the display name in {{kib}}) and a Connector ID (the stable identifier used by APIs and integrations). {{kib}} suggests a connector ID by slugifying the connector name. It produces a value that uses only lowercase letters, numbers, and hyphens, then truncates it to at most 36 characters if needed. Spaces and most other characters become hyphens. You can edit that suggestion before you save.

The Connector ID must be unique among connectors available in the current {{kib}} space, including preconfigured connectors. After you save the connector, the connector ID cannot be changed. To use a different ID, create a new connector with the same type and configuration, choose the new ID, then update rules and other integrations to reference that connector.

To create a connector with the API, use Create a connector. Send POST /api/actions/connector (or POST /s/<space_id>/api/actions/connector outside the default space) to let {{kib}} generate an ID, or include the desired ID in the path: POST /api/actions/connector/<connector_id>. Custom IDs must follow the same rules as in the UI. They can only be 1–36 characters, and must use lowercase letters, numbers, and hyphens only.

Managing connectors [connector-management]

Rules use connectors to route actions to different destinations like log files, ticketing systems, and messaging tools. While each {{kib}} app can offer their own types of rules, they typically share connectors. {{stack-manage-app}} > {{connectors-ui}} offers a central place to view and manage all the connectors in the current space.

:::{image} images/connector-listing.png :alt: Example connector listing in the {{rules-ui}} UI :screenshot: :::

Preconfigured connectors

If you are running Kibana on-prem, you can preconfigure a connector to have all the information it needs prior to startup by adding it to the kibana.yml file. Refer to preconfigured connectors for more information.

Connector networking configuration [_connector_networking_configuration]

Use the action configuration settings to customize connector networking configurations, such as proxies, certificates, or TLS settings. You can set configurations that apply to all your connectors or use xpack.actions.customHostSettings to set per-host configurations.

Importing and exporting connectors [importing-and-exporting-connectors]

To import and export connectors, use the Saved Objects Management UI.

{applies_to}stack: ga 9.4+ If you import a connector and use Check for existing objects, and its connector ID matches a preconfigured connector, {{kib}} warns you that the preconfigured connector takes precedence and removes the imported connector. If you import with Create new objects with random IDs, {{kib}} keeps both objects and assigns a new id to the imported connector.

:::{image} images/connectors-import-banner.png :alt: Connectors import banner :screenshot: :width: 400px :::

If a connector is missing sensitive information after the import, a Fix button appears in {{connectors-ui}}.

:::{image} images/connectors-with-missing-secrets.png :alt: Connectors with missing secrets :screenshot: :::

Correlate connector traffic with a deployment or project [connector-user-agent-cloud]

{applies_to}
stack: ga 9.5+
serverless: ga
deployment:
  ess: ga
  self: unavailable

:::{important} When cloud deployment or project metadata is available, outbound connector HTTP requests include a deployment or project identifier in the User-Agent header. When that metadata is not available, connector requests do not add this fragment. The User-Agent stays at the default HTTP client value (for example, axios/1.7.2). :::

IT and information security teams can match outbound connector traffic in third-party audit or access logs to the originating deployment or project—for example, during incident response or when a vendor contacts Elastic about suspicious activity.

For every outbound HTTP request made by a connector (for example, to Slack, Google Workspace, or PagerDuty), {{kib}} sets a User-Agent header that includes an identifier for the deployment or project that originated the traffic. This is automatic and does not require connector configuration, networking settings, or other administrator actions.

Header format

The header starts with the underlying HTTP client name and version (for example, axios/1.7.2). When cloud metadata is available, an additional Elastic fragment is appended.

EnvironmentExample suffix in User-AgentMeaning
{{ech}}elastic (deployment:<deployment_id>)<deployment_id> is the deployment ID.
Elastic Cloud Serverlesselastic (project:<project_id>)<project_id> is the serverless project ID.

Look up the deployment or project from an identifier

{{ecloud}} organization administrators can look up deployment and {{serverless-full}} project identifiers across their organization. Users with other roles can look them up only for deployments and projects they have access to.

{{kib}} does not provide a UI or API to resolve the deployment or project values shown in connector User-Agent headers. Use the following steps instead:

  1. Copy the identifier from the header. The identifier is the substring after deployment: or project:.
  2. Open the {{ecloud}} console and sign in.
  3. Go to the Hosted (for {{ech}} deployments) or Serverless (for Serverless projects) page, and enter the ID in the search field to find the matching deployment or project.

Monitoring connectors [monitoring-connectors]

The Task Manager health API helps you understand the performance of all tasks in your environment. However, if connectors fail to run, they will report as successful to Task Manager. The failure stats will not accurately depict the performance of connectors.

For more information on connector successes and failures, refer to the Event log index.