sensu.sensu_go.datastore 模块 – 管理 Sensu 外部数据存储提供程序

注意

此模块是 sensu.sensu_go 集合 (版本 1.14.0) 的一部分。

如果您使用的是 ansible 软件包,则可能已经安装了此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用: ansible-galaxy collection install sensu.sensu_go。您需要其他要求才能使用此模块,有关详细信息,请参见 要求

要在 playbook 中使用它,请指定: sensu.sensu_go.datastore

注意

由于违反了 Ansible 包含要求,sensu.sensu_go 集合将在 Ansible 12 中移除。该集合存在 未解决的健全性测试失败。有关更多信息,请参见 讨论主题

sensu.sensu_go 1.1.0 中的新增功能

概要

要求

执行此模块的主机需要以下要求。

  • python >= 2.7

参数

参数

注释

auth

字典

身份验证参数。也可以使用 ENV 定义每个参数。

api_key

字符串

在 sensu.sensu_go 1.3.0 中添加

进行身份验证时应使用的 API 密钥。如果未设置此参数,则会检查 SENSU_API_KEY 环境变量的值。

这将替换 *auth.user* 和 *auth.password* 参数。

有关 API 密钥的更多信息,请参阅 Sensu 官方文档:https://docs.sensu.io/sensu-go/latest/guides/use-apikey-feature/

ca_path

路径

在 sensu.sensu_go 1.5.0 中添加

应用于验证后端证书的 CA 捆绑包的路径。

如果未设置此参数,模块将使用 python 使用的 CA 捆绑包。

也可以通过 *SENSU_CA_PATH* 环境变量设置此参数。

password

字符串

Sensu 用户的密码。如果未设置此参数,则会检查 SENSU_PASSWORD 环境变量的值。

如果设置了 *auth.api_key* 参数,则忽略此参数。

默认值: "P@ssw0rd!"

url

字符串

Sensu 后端 API 的位置。如果未设置此参数,则会检查 SENSU_URL 环境变量的值。

默认值: "https://127.0.0.1:8080"

user

字符串

用于连接到 Sensu API 的用户名。如果未设置此参数,则会检查 SENSU_USER 环境变量的值。

如果设置了 *auth.api_key* 参数,则忽略此参数。

默认值: "admin"

verify

布尔值

在 sensu.sensu_go 1.5.0 中添加

控制证书验证的标志。

如果您使用的是自签名证书,可以将此参数设置为 false

仅在开发场景中使用此参数!如果您在生产环境中使用自签名证书,请参见 *auth.ca_path* 参数。

也可以通过 *SENSU_VERIFY* 环境变量设置此参数。

选项

  • false

  • true ← (默认)

batch_buffer

整数

在内存中缓冲的最大请求数。

默认值: 0

batch_size

整数

PostgreSQL 配置中指定的每个 PostgreSQL 写事务中的请求数。

默认值: 1

batch_workers

整数

向 PostgreSQL 发送数据的 Goroutine 数,如 PostgreSQL 配置中指定。

默认为当前 PostgreSQL 池大小。

dsn

字符串

指定数据源名称为 URL 或 PostgreSQL 连接字符串的属性。有关连接字符串的更多信息,请参见 PostgreSQL 文档。

enable_round_robin

布尔值

启用 PostgreSQL 上的轮询调度。

任何现有的轮询调度都将停止并迁移到 PostgreSQL,因为实体会使用 keepalives 进行检查。

随着 etcd 调度程序密钥上的 keepalives 过期,Sensu 将逐渐删除现有的 etcd 调度程序状态。

选项

  • false ← (默认)

  • true

max_conn_lifetime

字符串

连接在销毁之前可以持续的最长时间。

max_idle_conns

整数

要保留的空闲连接的最大数量。

默认值: 2

name

字符串 / 必需

Sensu 资源的名称。此名称(在适用情况下与命名空间结合使用)唯一标识 Ansible 操作的资源。

如果具有所选名称的资源已存在,Ansible 模块将更新它以匹配任务中的规范。

有关有效名称和其他限制的更多详细信息,请参阅上游文档中关于 *name* 元数据属性规范的说明:https://docs.sensu.io/sensu-go/latest/reference/

pool_size

整数

在 PostgreSQL 连接池中保留的最大连接数。

state

字符串

Sensu 对象的目标状态。

选项

  • "present" ← (默认)

  • "absent"

strict

布尔值

创建 PostgresConfig 资源时,配置验证将包括连接到 PostgreSQL 数据库并执行查询,以确认连接的用户是否具有创建数据库表的权限。

Sensu-backend 将尝试无限期地以 5 秒的间隔连接到 PostgreSQL,而不是在 3 次尝试后恢复到 etcd。

我们建议在大多数情况下将 strict 设置为 true。如果连接失败或用户没有创建数据库表的权限,资源配置将失败,并且配置将不会持久化。此扩展配置在您不确定配置是否正确或数据库是否正常工作时,对于调试非常有用。

选项

  • false ← (默认)

  • true

注释

注意

  • 目前,一次只能激活一个外部数据存储。如果此操作会破坏该不变性,则模块将无法执行其操作。

另请参见

另见

sensu.sensu_go.datastore_info

列出外部 Sensu 数据存储提供程序。

示例

- name: Add external datastore
  sensu.sensu_go.datastore:
    name: my-postgres
    dsn: postgresql://user:secret@host:port/dbname

- name: Remove external datastore
  sensu.sensu_go.datastore:
    name: my-postgres
    state: absent

- name: Add external datastore with pool_size and max_conn_lifetime specified
  sensu.sensu_go.datastore:
    name: my-postgres
    dsn: postgresql://user:secret@host:port/dbname
    pool_size: 1
    max_conn_lifetime: "5m30s"

返回值

常见的返回值已在 此处 记录,以下是此模块特有的字段

描述

对象

字典

表示外部数据存储提供程序的对象。

返回:成功

示例: {"batch_buffer": 0, "batch_size": 1, "batch_workers": 0, "dsn": "postgresql://user:secret@host:port/dbname", "enable_round_robin": true, "max_conn_lifetime": "5m", "max_idle_conns": 2, "metadata": {"name": "my-postgres"}, "pool_size": 20, "strict": true}

作者

  • Manca Bizjak (@mancabizjak)

  • Tadej Borovsak (@tadeboro)