community.general.datadog_monitor 模块 – 管理 Datadog 监控器

注意

此模块是 community.general 集合(版本 10.1.0)的一部分。

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

要安装它,请使用:ansible-galaxy collection install community.general。您需要其他要求才能使用此模块,请参阅 要求 了解详细信息。

要在 playbook 中使用它,请指定:community.general.datadog_monitor

概要

要求

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

  • datadog

参数

参数

注释

api_host

字符串

在 community.general 0.2.0 中添加

Datadog API 的 URL。默认值为 https://api.datadoghq.com

此值也可以使用 DATADOG_HOST 环境变量设置。

api_key

字符串 / 必需

您的 Datadog API 密钥。

app_key

字符串 / 必需

您的 Datadog 应用程序密钥。

escalation_message

字符串

包含在重新通知中的消息。支持我们在其他地方允许的 @username’ 通知。

如果 renotify_interval=none,则不适用。

evaluation_delay

字符串

延迟评估的时间(以秒为单位)。

对稀疏值有效。

id

字符串

警报的 ID。

如果设置,将使用它代替名称来查找警报。

include_tags

布尔值

在 community.general 1.3.0 中添加

来自此监控器的通知是否会自动将其触发标签插入到标题中。

选项

  • false

  • true ←(默认)

locked

布尔值

是否应将对此监控器的更改限制为创建者或管理员。

选项

  • false ←(默认)

  • true

name

字符串 / 必需

警报的名称。

new_host_delay

字符串

一个正整数,表示在评估新主机的监控器之前等待的秒数。

这给主机充分初始化时间。

no_data_timeframe

字符串

当数据停止报告时,监控器会通知的分钟数。

对于指标警报,必须至少是监控时间范围的 2 倍,对于服务检查,必须至少 2 分钟。

如果未指定,则默认为指标的时间范围的 2 倍,服务为 2 分钟。

notification_message

字符串

包含在此监控器通知中的消息。

可以使用与事件相同的 @username’ 表示法将电子邮件通知发送给特定用户。

可以使用双中括号访问监控器消息模板变量,即“[[”和“]]”。

notification_preset_name

字符串

在 community.general 7.1.0 中添加

切换监控通知中发送的附加内容的显示。

选项

  • "show_all"

  • "hide_query"

  • "hide_handles"

  • "hide_all"

notify_audit

布尔值

是否会在更改此监控器时通知标记的用户。

选项

  • false ←(默认)

  • true

notify_no_data

布尔值

当数据停止报告时,此监控器是否会通知。

选项

  • false ←(默认)

  • true

priority

整数

在 community.general 4.6.0 中添加

从 1(高)到 5(低)的整数,表示警报严重性。

query

字符串

要通知的监控查询。

语法因您创建的监控器类型而异。

renotify_interval

字符串

在上次通知后,监控器将在当前状态下重新通知的分钟数。

它只会在未解决时重新通知。

renotify_occurrences

整数

在 community.general 7.1.0 中添加

应在提供的重新通知间隔内针对当前状态发送重新通知消息的次数。

renotify_statuses

列表 / 元素=字符串

在 community.general 7.1.0 中添加

发送重新通知消息的监控器状态类型。

选项

  • "alert"

  • "warn"

  • "no data"

require_full_window

布尔值

此监控器是否需要在评估之前获得完整的数据窗口。

我们强烈建议您将稀疏指标的此项设置为 False,否则将跳过一些评估。

选项

  • false

  • true

silenced

字典

要静音的作用域的字典,带有时间戳或 None。

如果值为 None,则每个作用域都将静音直到给定的 POSIX 时间戳或永远静音。

state

字符串 / 必需

监控器的指定状态。

选项

  • “存在”

  • “不存在”

  • “静音”

  • “取消静音”

标签

列表 / 元素=字符串

创建或更新监控器时要关联的标签列表。

这可以帮助您分类和筛选监控器。

阈值

字典

按状态划分的阈值字典。

仅适用于服务检查和指标警报。

因为它们中的每一个都可以有多个阈值,我们不直接在查询中定义它们。

如果未指定,则默认为:{'ok': 1, 'critical': 1, 'warning': 1}

timeout_h

字符串

监控器在触发状态下自动解析之前不报告数据的时数。

类型

字符串

监控器的类型。

类型 query alerttrace-analytics alertrum alert 已在 community.general 2.1.0 中添加。

类型 composite 已在 community.general 3.4.0 中添加。

类型 event-v2 alert 已在 community.general 4.8.0 中添加。

选项

  • “指标 警报”

  • “服务 检查”

  • “事件 警报”

  • “事件-v2 警报”

  • “进程 警报”

  • “日志 警报”

  • “查询 警报”

  • “跟踪分析 警报”

  • “RUM 警报”

  • “复合”

属性

属性

支持

描述

check_mode

支持:

可以在 check_mode 中运行,并返回更改的状态预测,而无需修改目标。

diff_mode

支持:

当处于差异模式时,将返回已更改(或可能需要在 check_mode 中更改)的详细信息。

示例

- name: Create a metric monitor
  community.general.datadog_monitor:
    type: "metric alert"
    name: "Test monitor"
    state: "present"
    renotify_interval: 30
    renotify_occurrences: 1
    renotify_statuses: ["warn"]
    notification_preset_name: "show_all"
    query: "datadog.agent.up.over('host:host1').last(2).count_by_status()"
    notification_message: "Host [[host.name]] with IP [[host.ip]] is failing to report to datadog."
    api_key: "9775a026f1ca7d1c6c5af9d94d9595a4"
    app_key: "87ce4a24b5553d2e482ea8a8500e71b8ad4554ff"

- name: Deletes a monitor
  community.general.datadog_monitor:
    name: "Test monitor"
    state: "absent"
    api_key: "9775a026f1ca7d1c6c5af9d94d9595a4"
    app_key: "87ce4a24b5553d2e482ea8a8500e71b8ad4554ff"

- name: Mutes a monitor
  community.general.datadog_monitor:
    name: "Test monitor"
    state: "mute"
    silenced: '{"*":None}'
    api_key: "9775a026f1ca7d1c6c5af9d94d9595a4"
    app_key: "87ce4a24b5553d2e482ea8a8500e71b8ad4554ff"

- name: Unmutes a monitor
  community.general.datadog_monitor:
    name: "Test monitor"
    state: "unmute"
    api_key: "9775a026f1ca7d1c6c5af9d94d9595a4"
    app_key: "87ce4a24b5553d2e482ea8a8500e71b8ad4554ff"

- name: Use datadoghq.eu platform instead of datadoghq.com
  community.general.datadog_monitor:
    name: "Test monitor"
    state: "absent"
    api_host: https://api.datadoghq.eu
    api_key: "9775a026f1ca7d1c6c5af9d94d9595a4"
    app_key: "87ce4a24b5553d2e482ea8a8500e71b8ad4554ff"

作者

  • Sebastian Kornehl (@skornehl)