community.digitalocean.digital_ocean_monitoring_alerts 模块 – 以编程方式检索指标并根据这些指标配置警报策略

注意

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

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

要安装它,请使用: ansible-galaxy collection install community.digitalocean

要在 playbook 中使用它,请指定: community.digitalocean.digital_ocean_monitoring_alerts

community.digitalocean 1.10.0 中的新增功能

概要

  • DigitalOcean 监控 API 允许以编程方式检索指标以及基于这些指标配置警报策略。

  • 监控 API 可以帮助您深入了解应用程序的性能和资源消耗情况。

参数

参数

注释

alerts

字典

警报对象,对于 state=present 来说是必需的

支持 email["email1", "email2", ...]slack[{"channel1", "url1"}, {"channel2", "url2"}, ...]

compare

字符串

警报比较,对于 state=present 来说是必需的

选项

  • "GreaterThan"

  • "LessThan"

description

字符串

警报描述,对于 state=present 来说是必需的

enabled

布尔值

已启用或未启用,对于 state=present 来说是必需的

选项

  • false

  • true

entities

列表 / 元素=字符串

警报实体,对于 state=present 来说是必需的

oauth_token

别名:API_TOKEN

字符串 / 必需

DigitalOcean OAuth 令牌;可以在 DO_API_KEYDO_API_TOKENDO_OAUTH_TOKEN 环境变量中指定

state

字符串

通常的,present 用于创建,absent 用于销毁

选项

  • "present" ← (默认)

  • "absent"

tags

列表 / 元素=字符串

警报标签,对于 state=present 来说是必需的

type

字符串

警报类型,对于 state=present 来说是必需的

请参阅 https://docs.digitalocean.com/reference/api/api-reference/#operation/create_alert_policy 以了解有效的类型

选项

  • "v1/insights/droplet/load_1"

  • "v1/insights/droplet/load_5"

  • "v1/insights/droplet/load_15"

  • "v1/insights/droplet/memory_utilization_percent"

  • "v1/insights/droplet/disk_utilization_percent"

  • "v1/insights/droplet/cpu"

  • "v1/insights/droplet/disk_read"

  • "v1/insights/droplet/disk_write"

  • "v1/insights/droplet/public_outbound_bandwidth"

  • "v1/insights/droplet/public_inbound_bandwidth"

  • "v1/insights/droplet/private_outbound_bandwidth"

  • "v1/insights/droplet/private_inbound_bandwidth"

uuid

字符串

警报 uuid,对于 state=absent 来说是必需的

value

浮点数

警报阈值,对于 state=present 来说是必需的

window

字符串

警报窗口,对于 state=present 来说是必需的

选项

  • "5m"

  • "10m"

  • "30m"

  • "1h"

示例

- name: Create Droplet Monitoring alerts policy
  community.digitalocean.digital_ocean_monitoring_alerts:
    state: present
    oauth_token: "{{ lookup('ansible.builtin.env', 'DO_API_TOKEN') }}"
    alerts:
      email: ["[email protected]"]
      slack: []
    compare: GreaterThan
    description: Droplet load1 alert
    enabled: true
    entities: ["{{ droplet_id }}"]
    tags: ["my_alert_tag"]
    type: v1/insights/droplet/load_1
    value: 3.14159
    window: 5m
  register: monitoring_alert_policy

- name: Delete Droplet Monitoring alerts policy
  community.digitalocean.digital_ocean_monitoring_alerts:
    state: absent
    oauth_token: "{{ lookup('ansible.builtin.env', 'DO_API_TOKEN') }}"
    uuid: "{{ monitoring_alert_policy.data.uuid }}"

返回值

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

描述

data

字典

DigitalOcean 监控警报策略

返回:changed

示例: {"alerts": {"email": ["[email protected]"], "slack": []}, "compare": "GreaterThan", "description": "Droplet load1 alert", "enabled": true, "entities": ["262383737"], "tags": ["my_alert_tag"], "type": "v1/insights/droplet/load_1", "uuid": "9f988f00-4690-443d-b638-ed5a99bbad3b", "value": 3.14159, "window": "5m"}

作者

  • Mark Mercado (@mamercad)