telekom_mms.icinga_director.icinga_scheduled_downtime 模块 – 在 Icinga2 中管理停机时间

注意

此模块是 telekom_mms.icinga_director 集合(版本 2.2.1)的一部分。

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

要安装它,请使用:ansible-galaxy collection install telekom_mms.icinga_director

要在剧本中使用它,请指定:telekom_mms.icinga_director.icinga_scheduled_downtime

telekom_mms.icinga_director 1.25.0 中的新增功能

概要

  • 通过 Director API 向 Icinga2 添加或删除停机时间。

参数

参数

注释

append

布尔值

在 telekom_mms.icinga_director 1.25.0 中添加

不覆盖整个对象,而是追加定义的属性。

注意 - 无法追加到现有的 vars、imports 或任何其他列表/字典。您必须覆盖完整的列表/字典。

注意 - 默认设置的变量也将被应用,即使没有设置。

选择

  • false

  • true

apply_to

字符串

此依赖项应影响主机还是服务

如果 statepresent,则为必填项。

选择

  • "host"

  • "service"

assign_filter

字符串

停机时间将生效的过滤器。

author

字符串

停机时间作者的姓名。

如果 statepresent,则为必填项。

client_cert

路径

用于 SSL 客户端身份验证的 PEM 格式证书链文件。

此文件也可以包含密钥,如果包含密钥,则不需要 client_key

client_key

路径

包含用于 SSL 客户端身份验证的私钥的 PEM 格式文件。

如果 client_cert 同时包含证书和密钥,则不需要此选项。

comment

字符串

停机时间的描述性注释。

如果 statepresent,则为必填项。

disabled

布尔值

禁用的对象将不会被部署。

选择

  • false ← (默认)

  • true

duration

字符串

停机时间持续多久。仅对灵活(非固定)停机时间有效。时间以秒为单位,支持的后缀包括 ms(毫秒)、s(秒)、m(分钟)、h(小时)和 d(天)。要表达“90 分钟”,您可能需要写 1h 30m

fixed

布尔值

此停机时间是固定还是灵活。如果不确定,请查看相关文档 https://icinga.com/docs/icinga2/latest/doc/08-advanced-topics/#downtimes

如果 statepresent,则为必填项。

选择

  • false ← (默认)

  • true

force

布尔值

如果 yes,则不获取缓存副本。

选择

  • false ← (默认)

  • true

force_basic_auth

布尔值

使用 url_usernameurl_password 指定的凭据应在 HTTP 标头中传递。

选择

  • false ← (默认)

  • true

http_agent

字符串

用于标识的标头,通常出现在 Web 服务器日志中。

默认值: "ansible-httpget"

object_name

别名:name

字符串 / 必填

此停机时间的 Icinga 对象名称。

ranges

字典

应该停机的时期

默认值: {}

state

字符串

应用功能状态。

选择

  • "present" ← (默认)

  • "absent"

url

字符串 / 必填

形式为 (http|https|ftp)://[user[:pass]]@host.domain[:port]/path 的 HTTP、HTTPS 或 FTP URL

url_password

字符串

用于 HTTP 基本身份验证的密码。

如果未指定 url_username 参数,则不会使用 url_password 参数。

url_username

字符串

用于 HTTP 基本身份验证的用户名。

此参数可以在不使用 url_password 的情况下用于允许空密码的站点

use_gssapi

布尔值

在 ansible-core 2.11 中添加

使用 GSSAPI 执行身份验证,通常用于 Kerberos 或通过协商身份验证的 Kerberos。

需要安装 Python 库 gssapi

可以使用 url_username/url_password 来指定 GSSAPI 的凭据,或者使用指定自定义 Kerberos 凭据缓存的 GSSAPI 环境变量 KRB5CCNAME

即使安装了 NTLM 的 GSSAPI 机制,也支持 NTLM 身份验证。

选择

  • false ← (默认)

  • true

use_proxy

布尔值

如果设置为 no,则即使在目标主机上的环境变量中定义了代理,也不会使用代理。

选择

  • false

  • true ← (默认)

validate_certs

布尔值

如果设置为 no,则不会验证 SSL 证书。

这只应该在个人控制的使用自签名证书的站点上使用。

选择

  • false

  • true ← (默认)

with_services

布尔值

是否只对主机进行停机,或者同时添加一些服务。

选择

  • false

  • true ← (默认)

备注

注意

  • 此模块支持检查模式。

示例

- name: create icinga_scheduled_downtime
  telekom_mms.icinga_director.icinga_scheduled_downtime:
    url: "{{ icinga_url }}"
    url_username: "{{ icinga_user }}"
    url_password: "{{ icinga_pass }}"
    disabled: false
    object_name: "foodowntime"
    state: present
    author: testuser
    comment: test
    fixed: true
    with_services: true
    apply_to: host
    assign_filter: 'host.name="foohost"'
    duration: 500
    ranges:
      "tuesday": "00:00-24:00"

- name: create icinga_scheduled_downtime2
  telekom_mms.icinga_director.icinga_scheduled_downtime:
    url: "{{ icinga_url }}"
    url_username: "{{ icinga_user }}"
    url_password: "{{ icinga_pass }}"
    disabled: false
    object_name: "foodowntime2"
    state: present
    author: testuser
    comment: test
    fixed: false
    with_services: false
    apply_to: host
    assign_filter: 'host.name="foohost"'
    duration: 500
    ranges:
      "tuesday": "00:00-24:00"

- name: update icinga_scheduled_downtime2
  telekom_mms.icinga_director.icinga_scheduled_downtime:
    url: "{{ icinga_url }}"
    url_username: "{{ icinga_user }}"
    url_password: "{{ icinga_pass }}"
    object_name: "foodowntime2"
    state: present
    duration: 1000
    append: true
    apply_to: host
    with_services: false

作者

  • Daniel Uhlmann (@xFuture603)