telekom_mms.icinga_director.icinga_command_template 模块 – 在 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_command_template。
telekom_mms.icinga_director 1.1.0 中的新增功能
概要
- 通过 Director API 在 Icinga2 中添加或删除命令模板。 
参数
| 参数 | 注释 | 
|---|---|
| 不要覆盖整个对象,而是追加定义的属性。 注意 - 无法追加到现有的 vars、imports 或任何其他 list/dict。您必须覆盖完整的 list/dict。 注意 - 即使未设置,默认设置的变量也将被应用。 选择 
 | |
| 命令模板的参数。 每个参数可以接受字符串、json 或字典 当使用字典作为参数值时,支持以下属性。 
 | |
| 用于 SSL 客户端身份验证的 PEM 格式证书链文件。 此文件也可以包含密钥,如果包含密钥,则不需要  | |
| 包含您的私钥的 PEM 格式文件,用于 SSL 客户端身份验证。 如果  | |
| Icinga 应运行的命令。 接受提供的绝对路径,相对路径以“PluginDir + ”为前缀,允许类似的常量前缀。 空格将导致命令路径和独立参数分离。 请注意,这意味着我们目前不支持插件名称和路径中的空格。 | |
| 禁用的对象将不会被部署。 选择 
 | |
| 如果  选择 
 | |
| 要标识为的标头,通常出现在 Web 服务器日志中。 默认:  | |
| 可导入的模板,添加任意数量。请注意,从多个模板导入属性时,顺序很重要 - 最后一个获胜。 默认:  | |
| 当针对您的基础设施运行检查时,您需要的是插件检查命令。 通知命令将在通知用户时使用。 事件命令允许您在发生问题时触发特定操作。 有些人将它们用于自动修复机制,例如在特定阈值下重新启动服务或重新启动系统。 选择 
 | |
| 命令模板的名称。 | |
| 应用功能状态。 选择 
 | |
| 可选的命令超时时间。允许的值为秒或带有特定单位的持续时间(例如 1m 或 3m 30s)。 | |
| HTTP、HTTPS 或 FTP URL,格式为 (http|https|ftp)://[user[:pass]]@host.domain[:port]/path | |
| 用于 HTTP 基本身份验证的密码。 如果未指定  | |
| 用于 HTTP 基本身份验证的用户名。 对于允许空密码的站点,可以在没有  | |
| 使用 GSSAPI 执行身份验证,通常用于 Kerberos 或通过 Negotiate 身份验证的 Kerberos。 需要安装 Python 库 gssapi。 GSSAPI 的凭据可以使用  即使安装了 NTLM 的 GSSAPI 机制,也 不支持 NTLM 身份验证。 选择 
 | |
| 如果为  选择 
 | |
| 如果为  这只应在个人控制的、使用自签名证书的站点上使用。 选择 
 | |
| 命令模板的自定义属性。 默认值:  | |
| Icinga 集群区域。允许手动覆盖 Director 关于将配置部署到何处的决策。 除非您对 Icinga 集群堆栈的工作方式有深入的了解,否则您应该考虑不要这样做。 | 
备注
注意
- 此模块支持检查模式。 
示例
- name: Create command template
  telekom_mms.icinga_director.icinga_command_template:
    state: present
    url: "{{ icinga_url }}"
    url_username: "{{ icinga_user }}"
    url_password: "{{ icinga_pass }}"
    arguments:
      '--authpassphrase':
        value: $snmpv3_priv_key$
      '--authprotocol':
        value: $snmpv3_auth_protocol$
      '--critical':
        value: $centreon_critical$
      '--filter':
        value: $centreon_filter$
      '--hostname':
        value: $snmp_address$
      '--maxrepetitions':
        value: $centreon_maxrepetitions$
      '--mode':
        value: $centreon_mode$
      '--plugin':
        value: $centreon_plugin$
      '--privpassphrase':
        value: $snmpv3_auth_key$
      '--privprotocol':
        value: $snmpv3_priv_protocol$
      '--snmp-community':
        value: $snmp_community$
      '--snmp-timeout':
        value: $snmp_timeout$
      '--snmp-username':
        value: $snmpv3_user$
      '--snmp-version':
        value: $snmp_version$
      '--subsetleef':
        value: $centreon_subsetleef$
      '--verbose':
        set_if: $centreon_verbose$
      '--warning':
        value: $centreon_warning$
      '--dummy-arg':
        description: "dummy arg using Icinga DSL code"
        value:
          type: "Function"
          body: 'return macro("$dummy_var$")'
    command: "/opt/centreon-plugins/centreon_plugins.pl"
    command_type: "PluginCheck"
    object_name: centreon-plugins-template
    disabled: false
    vars:
      centreon_maxrepetitions: 20
      centreon_subsetleef: 20
      centreon_verbose: false
      snmp_address: $address$
      snmp_timeout: 60
      snmp_version: '2'
      snmpv3_auth_key: authkey
      snmpv3_priv_key: privkey
      snmpv3_user: user
- name: Update command template
  telekom_mms.icinga_director.icinga_command_template:
    state: present
    url: "{{ icinga_url }}"
    url_username: "{{ icinga_user }}"
    url_password: "{{ icinga_pass }}"
    object_name: centreon-plugins-template
    timeout: "2m"
    append: true
