sensu.sensu_go.check 模块 – 管理 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.check
。
注意
由于违反了 Ansible 包含要求,sensu.sensu_go 集合将在 Ansible 12 中移除。该集合存在 未解决的完整性测试失败。请参阅 讨论主题 以了解更多信息。
sensu.sensu_go 1.0.0 中的新增功能
概要
创建、更新或删除 Sensu Go 检查。
更多信息,请参考 Sensu Go 文档:https://docs.sensu.io/sensu-go/latest/reference/checks/.
要求
执行此模块的主机需要以下要求。
python >= 2.7
参数
参数 |
注释 |
---|---|
具有较少限制的自定义元数据字段,作为键值对。 这些由 Sensu 保留,但不能作为令牌或标识符访问,主要用于外部工具。 默认值: |
|
身份验证参数。也可以使用 ENV 定义每个参数。 |
|
身份验证时应使用的 API 密钥。如果未设置此项,则将检查 SENSU_API_KEY 环境变量的值。 此参数替换了 *auth.user* 和 *auth.password* 参数。 有关 API 密钥的更多信息,请参阅 Sensu 官方文档:https://docs.sensu.io/sensu-go/latest/guides/use-apikey-feature/. |
|
应用于验证后端证书的 CA 捆绑包的路径。 如果未设置此参数,模块将使用 python 使用的 CA 捆绑包。 也可以通过 *SENSU_CA_PATH* 环境变量设置此参数。 |
|
Sensu 用户的密码。如果未设置此项,则将检查 SENSU_PASSWORD 环境变量的值。 如果设置了 *auth.api_key* 参数,则忽略此参数。 默认值: |
|
Sensu 后端 API 的位置。如果未设置此项,则将检查 SENSU_URL 环境变量的值。 默认值: |
|
用于连接到 Sensu API 的用户名。如果未设置此项,则将检查 SENSU_USER 环境变量的值。 如果设置了 *auth.api_key* 参数,则忽略此参数。 默认值: |
|
控制证书验证的标志。 如果您使用的是自签名证书,则可以将此参数设置为 仅在开发场景中使用此参数!如果您在生产环境中使用自签名证书,请参阅 *auth.ca_path* 参数。 也可以通过 *SENSU_VERIFY* 环境变量设置此参数。 选项
|
|
响应代码与挂钩的映射,代理在返回该代码时将运行这些挂钩。 请注意,此参数的结构与 https://docs.sensu.io/sensu-go/latest/reference/checks/#check-hooks-attribute 中描述的结构略有不同。 有关精确映射结构的更多信息,请参阅下面的检查挂钩示例。 |
|
要运行的检查命令。 如果 *state* 为 |
|
使用 crontab 语法安排检查请求。 不能与 *interval* 选项一起使用。 |
|
要与命令执行一起使用的环境变量名称和值的映射。 |
|
接收检查结果的处理程序列表。 |
|
高波动阈值。 |
|
检查请求间隔。 不能与 *cron* 选项一起使用。 |
|
可在 Sensu 中访问的自定义元数据字段,作为键值对。 默认值: |
|
低波动阈值。 |
|
Sensu 资源的名称。此名称(在适用情况下与命名空间结合使用)唯一标识 Ansible 操作的资源。 如果已存在具有所选名称的资源,Ansible 模块将更新它以匹配任务中的规范。 有关有效名称和其他限制的更多详细信息,请参阅 https://docs.sensu.io/sensu-go/latest/reference/ 上游文档中的name 元数据属性规范。 |
|
要操作的 RBAC 命名空间。如果未设置此值,则将使用 SENSU_NAMESPACE 环境变量的值。 默认值: |
|
启用从此检查的输出中以指定格式解析指标。 选项
|
|
接收检查结果的处理程序列表。我不确定为什么存在这个。 |
|
将此检查与之关联的实体名称,而不是运行它的代理。 |
|
允许您根据其 entity_attributes 将检查分配给多个实体运行。 |
|
用于确定应针对哪些代理实体安排此检查的属性检查列表。 |
|
启用或禁用检查请求调度的分散。 选项
|
|
分散检查的 |
|
启用或禁用检查请求的计划发布。 选项
|
|
一个用于命令执行的环境变量数组。 选项
|
|
运行检查所需的运行时资产列表。 |
|
命令可用的秘密列表。 |
|
将包含敏感数据的变量名称。 |
|
包含敏感数据的秘密的名称。 |
|
Sensu 对象的目标状态。 选项
|
|
启用将序列化 JSON 数据写入检查命令的 stdin。 仅可用于专门为 Sensu Go 编写的检查。 选项
|
|
接收检查请求的订阅列表。 如果 *state* 为 |
|
检查执行超时。 |
|
检查结果被视为过时的时间量。 |
另请参见
另请参见
- sensu.sensu_go.check_info
列出 Sensu 检查。
示例
- name: Check executing command every 30 seconds
sensu.sensu_go.check:
name: check
command: check-cpu.sh -w 75 -c 90
subscriptions:
- checks
interval: 30
publish: yes
- name: Check executing command with cron scheduler
sensu.sensu_go.check:
name: check
command: check-cpu.sh -w 75 -c 90
subscriptions:
- systems
handlers:
- slack
cron: "* * * * *"
publish: yes
- name: Ad-hoc scheduling
sensu.sensu_go.check:
name: check
command: check-cpu.sh -w 75 -c 90
subscriptions:
- systems
handlers:
- slack
interval: 60
publish: no
- name: Report events under proxy entity name instead of agent entity
sensu.sensu_go.check:
name: check
command: http_check.sh https://sensu.io
subscriptions:
- proxy
handlers:
- slack
interval: 60
proxy_entity_name: sensu-site
round_robin: yes
publish: yes
- name: Event that triggers hooks
sensu.sensu_go.check:
name: check
command: http_check.sh https://sensu.io
subscriptions: [ proxy ]
# The upstream JSON payload for the hooks below would look like this:
#
# "check_hooks": [
# {"0": ["passing-hook", "always-run-this-hook"]},
# {"critical": ["failing-hook", "always-run-this-hook"]}
# ]
#
# Ansible task simplifies this structure into a simple mapping:
check_hooks:
"0":
- passing-hook
- always-run-this-hook
critical:
- failing-hook
- always-run-this-hook
- name: Remove check
sensu.sensu_go.check:
name: my-check
state: absent
返回值
常见的返回值已在 此处 记录,以下是此模块特有的字段
键 |
描述 |
---|---|
表示 Sensu 检查的对象。 返回:成功 示例: |