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

注意

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

sensu.sensu_go 1.0.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 的位置。如果未设置此 URL,则会检查 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 ← (默认)

check

字符串 / 必需

与该事件关联的检查的名称。它必须在创建事件之前存在。

check_attributes

字典

duration

浮点数

命令执行时间(秒)。

executed

整数

检查请求执行的时间。

history

列表 / 元素=字典

过去 21 次检查执行的检查状态历史记录。

issued

整数

检查请求发出时自 Unix 纪元以来的秒数。

last_ok

整数

检查最后一次返回 OK 状态 (0) 的时间(自 Unix 纪元以来的秒数)。

output

字符串

检查命令执行的输出。

state

字符串

检查的状态。

选项

  • "passing"

  • "failing"

  • "flapping"

status

字符串

检查生成的退出状态码。

选项

  • "ok"

  • "warning"

  • "critical"

  • "unknown"

total_state_change

整数

检查历史记录的总状态变化百分比。

entity

字符串 / 必需

与该事件关联的实体的名称。它必须在创建事件之前存在。

metric_attributes

字典

handlers

列表 / 元素=字符串

要用于检查创建的事件的 Sensu 处理程序数组。每个数组项必须是一个字符串。

points

列表 / 元素=字典

指标数据点,包括名称、时间戳、值和标签。

namespace

字符串

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

默认值: "default"

timestamp

整数

事件发生时的 UNIX 时间。

注释

注意

另请参阅

另请参阅

sensu.sensu_go.event_info

列出 Sensu 事件。

示例

- name: Create an event
  sensu.sensu_go.event:
    auth:
      url: https://127.0.0.1:8080
    entity: awesome_entity
    check: awesome_check
    check_attributes:
      duration: 1.945
      executed: 1522100915
      history:
        - executed: 1552505193
          status: 1
      issued: 1552506034
      last_ok: 1552506033
      output: '10'
      state: 'passing'
      status: 'ok'
      total_state_change: 0
    metric_attributes:
      handlers:
        - handler1
        - handler2
      points:
        - name: "sensu-go-sandbox.curl_timings.time_total"
          tags:
            - name: "response_time_in_ms"
              value: 101
          timestamp: 1552506033
          value: 0.005
        - name: "sensu-go-sandbox.curl_timings.time_namelookup"
          tags:
            - name: "namelookup_time_in_ms"
              value: 57
          timestamp: 1552506033
          value: 0.004

返回值

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

描述

对象

字典

表示 Sensu 事件的对象(已弃用)。

返回:成功

示例: {"check": {"check_hooks": null, "command": "check-cpu.sh -w 75 -c 90", "duration": 1.07055808, "env_vars": null, "executed": 1552594757, "handlers": [], "high_flap_threshold": 0, "history": [{"executed": 1552594757, "status": 0}], "interval": 60, "metadata": {"name": "check-cpu", "namespace": "default"}, "occurrences": 1, "occurrences_watermark": 1, "output": "CPU OK - Usage:3.96", "subscriptions": ["linux"], "timeout": 0, "total_state_change": 0, "ttl": 0}, "entity": {"deregister": false, "deregistration": {}, "entity_class": "agent", "last_seen": 1552594641, "metadata": {"name": "sensu-centos", "namespace": "default"}}, "id": "3a5948f3-6ffd-4ea2-a41e-334f4a72ca2f", "metadata": {"namespace": "default"}, "sequence": 1, "timestamp": 1552594758}

作者

  • Paul Arthur (@flowerysong)

  • Aljaz Kosir (@aljazkosir)

  • Manca Bizjak (@mancabizjak)

  • Tadej Borovsak (@tadeboro)