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

注意

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

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

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

要在剧本中使用它,请指定: 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 中添加

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

选项

  • "警报"

  • "警告"

  • "无 数据"

require_full_window

布尔值

此监控器是否需要完整的数据窗口才能进行评估。

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

选项

  • false

  • true

silenced

字典

要静默的范围字典,带有时间戳或 None。

每个范围都将被静默,直到给定的 POSIX 时间戳,如果值为 None,则永远静默。

state

字符串 / 必需

监控器的指定状态。

选项

  • "存在"

  • "不存在"

  • "静默"

  • "取消静默"

tags

列表 / 元素=字符串

创建或更新时与监控器关联的一组标签。

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

thresholds

字典

按状态划分的阈值字典。

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

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

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

timeout_h

字符串

监控器未报告数据的时长(小时),超过此时长后,将自动从触发状态恢复。

type

字符串

监控器的类型。

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

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

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

选项

  • "指标 警报"

  • "服务 检查"

  • "事件 警报"

  • "event-v2 警报"

  • "进程 警报"

  • "日志 警报"

  • "查询 警报"

  • "追踪分析 警报"

  • "RUM 警报"

  • "复合"

属性

属性

支持

描述

check_mode

支持:不支持

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

diff_mode

支持:不支持

处于 diff 模式时,将返回有关已更改内容(或可能需要在 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)