sensu.sensu_go.hook 模块 – 管理 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.hook

注意

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

sensu.sensu_go 1.0.0 中的新增功能

概要

要求

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

  • python >= 2.7

参数

参数

注释

annotations

字典

自定义元数据字段,限制较少,作为键/值对。

这些字段由 Sensu 保留,但不能作为令牌或标识符访问,主要用于外部工具。

默认值: {}

auth

字典

身份验证参数。 也可以使用 ENV 定义它们中的每一个。

api_key

字符串

在 sensu.sensu_go 1.3.0 中添加

身份验证时应使用的 API 密钥。 如果未设置此项,将检查 SENSU_API_KEY 环境变量的值。

这取代了 auth.userauth.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 ←(默认)

command

字符串

触发钩子时要运行的命令。

如果 statepresent,则为必填项。

labels

字典

可以在 Sensu 中访问的自定义元数据字段,作为键/值对。

默认值: {}

name

字符串 / 必填

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

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

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

namespace

字符串

要在其中操作的 RBAC 命名空间。 如果未设置此项,将使用 SENSU_NAMESPACE 环境变量的值。

默认值: "default"

runtime_assets

列表 / elements=string

运行检查所需的运行时资产列表。

state

字符串

Sensu 对象的预期状态。

选择

  • "present" ←(默认)

  • "absent"

stdin

布尔值

控制 Sensu 是否将序列化的 JSON 数据写入进程的 stdin。

选择

  • false

  • true

timeout

整数

Hook 执行的超时时间,单位为秒(硬停止)。

如果 statepresent,则为必填项。

另请参阅

另请参阅

sensu.sensu_go.hook_info

列出 Sensu hook。

示例

- name: Rudimentary auto-remediation hook
  sensu.sensu_go.hook:
    auth:
      url: https://127.0.0.1:8080
    name: restart_nginx
    command: sudo systemctl start nginx
    timeout: 60
    stdin: false

- name: Capture the process tree
  sensu.sensu_go.hook:
    auth:
      url: https://127.0.0.1:8080
    name: process_tree
    command: ps aux
    timeout: 60
    stdin: false

- name: Delete a hook
  sensu.sensu_go.hook:
    name: process_tree
    state: absent

返回值

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

描述

对象

字典

表示 Sensu hook 的对象。

返回: 成功

示例: {"command": "sudo systemctl start nginx", "metadata": {"annotations": null, "labels": null, "name": "restart_nginx", "namespace": "default"}, "stdin": false, "timeout": 60}

作者

  • Paul Arthur (@flowerysong)

  • Aljaz Kosir (@aljazkosir)

  • Miha Plesko (@miha-plesko)

  • Tadej Borovsak (@tadeboro)