telekom_mms.icinga_director.icinga_service_apply 模块 – 在 Icinga2 中管理服务应用规则
注意
此模块是 telekom_mms.icinga_director 集合(版本 2.2.1)的一部分。
如果您正在使用 ansible
包,您可能已经安装了这个集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install telekom_mms.icinga_director
。
要在 playbook 中使用它,请指定:telekom_mms.icinga_director.icinga_service_apply
。
telekom_mms.icinga_director 1.0.0 中的新增功能
概要
通过 director API 添加或删除 Icinga2 的服务应用规则。
参数
参数 |
注释 |
---|---|
不要覆盖整个对象,而是追加定义的属性。 注意 - 无法追加到现有的 vars、imports 或任何其他列表/字典。您必须覆盖完整的列表/字典。 注意 - 即使未设置,默认设置的变量也将被应用。 选择
|
|
为具有指定自定义属性的所有对象评估应用规则。 例如,选择“host.vars.custom_attr”将生成“for (config in host.vars.array_var)”,其中可以通过“$config$”访问“config”。 注意 - 只有类型为“Array”的自定义变量符合条件。 |
|
服务应用规则将生效的筛选器。 |
|
检查命令定义。 |
|
您的常规检查间隔。 |
|
时间段的名称,它决定了何时应监视此对象。默认情况下不受限制。 |
|
检查命令超时(以秒为单位)。覆盖 CheckCommand 的 timeout 属性。 |
|
用于 SSL 客户端身份验证的 PEM 格式的证书链文件。 此文件也可以包含密钥,如果包含密钥,则不需要 |
|
包含用于 SSL 客户端身份验证的私钥的 PEM 格式文件。 如果 |
|
应在哪个主机上执行服务的命令。 |
|
服务应用规则的替代显示名称。 |
|
是否主动检查此对象。 选择
|
|
是否为此对象启用事件处理程序。 选择
|
|
是否为此对象发送通知。 选择
|
|
是否接受此对象的被动检查结果。 选择
|
|
是否处理此对象提供的性能数据。 选择
|
|
服务的事件命令,如果匹配以下条件之一,则在每次检查执行时调用 服务处于软状态 服务状态更改为硬状态 服务状态从软状态或硬状态恢复为 OK/Up |
|
如果 选择
|
|
应直接分配给此服务的服务组。 服务组在各种情况下都很有用。 它们有助于在 Icinga Web 2 中提供特定于服务类型的视图,无论是用于自定义仪表板还是作为强制实施限制的工具。 服务组可以直接分配给单个服务或服务模板。 默认: |
|
要标识的标头,通常出现在 Web 服务器日志中。 默认: |
|
可导入的模板,根据需要添加多个。 请注意,从多个模板导入属性时,顺序很重要 - 最后一个获胜。 |
|
定义在多少次检查尝试后达到新的硬状态。 |
|
此对象的其他注释。 |
|
Icinga 服务应用规则的名称。 |
|
重试间隔,除非达到下一个硬状态,否则将在状态更改后应用。 |
|
应用功能状态。 选择
|
|
HTTP、HTTPS 或 FTP URL,格式为 (http|https|ftp)://[user[:pass]]@host.domain[:port]/path |
|
用于 HTTP 基本身份验证的密码。 如果未指定 |
|
用于 HTTP 基本身份验证的用户名。 对于允许空密码的站点,可以使用此参数而不使用 |
|
使用 GSSAPI 执行身份验证,通常用于 Kerberos 或通过协商的 Kerberos 身份验证。 需要安装 Python 库 gssapi。 可以使用 即使已安装 NTLM 的 GSSAPI 机制,也不支持 NTLM 身份验证。 选择
|
|
如果为 选择
|
|
如果为 这只应在个人控制的使用自签名证书的站点上使用。 选择
|
|
服务应用规则的自定义属性。 默认值: |
注释
注意
此模块支持检查模式。
示例
- name: Add service apply rule to icinga
telekom_mms.icinga_director.icinga_service_apply:
state: present
url: "{{ icinga_url }}"
url_username: "{{ icinga_user }}"
url_password: "{{ icinga_pass }}"
object_name: "SERVICE_dummy"
assign_filter: 'host.name="foohost"'
check_command: hostalive
display_name: "dummy process"
check_interval: "10m"
check_period: "24/7"
check_timeout: "1m"
enable_active_checks: true
enable_event_handler: true
enable_notifications: true
enable_passive_checks: false
enable_perfdata: false
event_command: restart_httpd
max_check_attempts: "5"
retry_interval: "3m"
imports:
- fooservicetemplate
groups:
- fooservicegroup
vars:
http_address: "$address$"
http_port: "9080"
http_uri: "/ready"
http_string: "Ready"
http_expect: "Yes"
- name: Add service apply rule with command_endpoint
telekom_mms.icinga_director.icinga_service_apply:
state: present
url: "{{ icinga_url }}"
url_username: "{{ icinga_user }}"
url_password: "{{ icinga_pass }}"
object_name: "SERVICE_dummy"
assign_filter: 'host.name="foohost"'
check_command: hostalive
display_name: "dummy process"
check_interval: "10m"
check_period: "24/7"
check_timeout: "1m"
enable_active_checks: true
enable_event_handler: true
enable_notifications: true
enable_passive_checks: false
event_command: restart_httpd
max_check_attempts: "5"
retry_interval: "3m"
command_endpoint: "fooendpoint"
imports:
- fooservicetemplate
groups:
- fooservicegroup
- name: Update service apply rule with command_endpoint
telekom_mms.icinga_director.icinga_service_apply:
state: present
url: "{{ icinga_url }}"
url_username: "{{ icinga_user }}"
url_password: "{{ icinga_pass }}"
object_name: "SERVICE_dummy"
enable_perfdata: true
append: true