Skip to content

关于本页

本页介绍更夫所基于的开源内核 Keep 的通用能力。更夫在其上提供国内化增强:钉钉/企业微信/飞书通知、国产大模型接入、LDAP 认证与值班管理。部署与上手请看快速上手。

TIP

有关提供商配置的任何问题或问题,请加入我们的 Slack 社区。

Keep 中的提供商配置允许您动态设置和管理数据提供商。此功能使您能够配置 Keep 可以交互的各种数据源,例如监控系统、数据库或其他服务。

配置提供商 ​

要配置提供商及其去重规则,我们可以通过环境变量进行配置。有两种方式:

  1. 使用 KEEP_PROVIDERS 环境变量,它可以包含 JSON 字符串或包含提供商配置的 JSON 文件路径。
  2. 使用 KEEP_PROVIDERS_DIRECTORY 环境变量,它包含包含提供商配置的目录路径(通过 YAML 文件配置)。这是推荐的方法。

::: note Keep 不允许同时使用 KEEP_PROVIDERS 和 KEEP_PROVIDERS_DIRECTORY 环境变量。 :::

::: note Keep 可以自动为支持 webhooks 的提供商安装 webhooks。此行为取决于配置和使用的配置方法。 :::

TIP

请注意:去重规则对于提供商分发不是必需的。

使用 KEEP_PROVIDERS 配置提供商 ​

提供商配置 JSON 示例:

json
{
  "keepVictoriaMetrics": {
    "type": "victoriametrics",
    "authentication": {
      "VMAlertHost": "http://localhost",
      "VMAlertPort": 1234
    },
    "install_webhook": true,
    "deduplication_rules": {
      "deduplication rule name example 1": {
        "description": "deduplication rule name example 1",
        "fingerprint_fields": ["fingerprint", "source", "service"],
        "full_deduplication": true,
        "ignore_fields": ["name", "lastReceived"]
      },
      "deduplication rule name example 2": {
        "description": "deduplication rule name example 2",
        "fingerprint_fields": ["fingerprint", "source", "service"],
        "full_deduplication": false,
      }
    }
  },
  "keepClickhouse1": {
    "type": "clickhouse",
    "authentication": {
      "host": "http://localhost",
      "port": 1234,
      "username": "keep",
      "password": "keep",
      "database": "keep-db"
    }
  }
}

使用此 KEEP_PROVIDERS 值启动 Keep:

json
# ENV
KEEP_PROVIDERS={"keepVictoriaMetrics":{"type":"victoriametrics","authentication":{"VMAlertHost":"http://localhost","VMAlertPort": 1234},"install_webhook":true},"keepClickhouse1":{"type":"clickhouse","authentication":{"host":"http://localhost","port":"4321","username":"keep","password":"1234","database":"keepdb"}}}

默认情况下,使用 KEEP_PROVIDERS 配置时,会自动为支持 webhooks 的提供商安装 webhooks,除非将 install_webhook 标志设置为 false。

使用 KEEP_PROVIDERS_DIRECTORY 配置提供商 ​

指定包含提供商配置的目录路径:

bash
# ENV
KEEP_PROVIDERS_DIRECTORY=/path/to/providers

该目录应包含带提供商配置的 YAML 文件。

提供商配置 YAML 文件示例:

yaml
name: keepVictoriaMetrics
type: victoriametrics
authentication:
  VMAlertHost: http://localhost
  VMAlertPort: 1234
install_webhook: false
deduplication_rules:
  deduplication_rule_name_example_1:
    description: deduplication rule name example 1
    fingerprint_fields:
      - fingerprint
      - source
      - service
    full_deduplication: true
    ignore_fields:
      - name
      - lastReceived

install_webhook 字段控制 Keep 是否自动为该提供商设置 webhooks。默认情况下,使用 KEEP_PROVIDERS_DIRECTORY 配置时,webhook 安装是禁用的,除非明确设置为 true。

支持的提供商 ​

Keep 支持多种提供商类型。每种提供商类型都有其特定的配置要求。 要查看支持的提供商完整列表及其详细配置选项,请参阅我们全面的提供商文档。

更新已配置的提供商 ​

使用 KEEP_PROVIDERS ​

可以通过更改 KEEP_PROVIDERS 环境变量来动态更新提供商配置。

每次重启时,Keep 都会读取此环境变量,并确定需要添加或删除哪些提供商。

此过程允许灵活管理数据源,无需手动干预。只需更新 KEEP_PROVIDERS 变量并重启应用程序,即可高效地添加新提供商、删除现有提供商或修改其配置。

高级配置机制:

  1. Keep 读取 KEEP_PROVIDERS 值。
  2. Keep 检查是否有已配置的提供商不再在 KEEP_PROVIDERS 值中,并删除它们。
  3. Keep 从 KEEP_PROVIDERS 值安装所有提供商。

使用 KEEP_PROVIDERS_DIRECTORY ​

可以通过更改 KEEP_PROVIDERS_DIRECTORY 目录中的 YAML 文件来动态更新提供商配置。

每次重启时,Keep 都会读取 KEEP_PROVIDERS_DIRECTORY 目录中的 YAML 文件,并确定需要添加或删除哪些提供商。

高级配置机制:

  1. Keep 读取 KEEP_PROVIDERS_DIRECTORY 目录中的 YAML 文件。
  2. Keep 检查是否有已配置的提供商不再在 YAML 文件中,并删除它们。
  3. Keep 从 YAML 文件安装所有提供商。

基于 MIT 协议开源的 Keep · 由更夫社区维护