Spec-Zone.ru › Ansible

telekom_mms.icinga_director.icinga_command модуль — Управление командами в Icinga2

Примечание

Этот модуль входит в коллекцию telekom_mms.icinga_director (версия 2.1.2).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install telekom_mms.icinga_director.

Чтобы использовать его в плейбуке, укажите: telekom_mms.icinga_director.icinga_command.

Добавлен в telekom_mms.icinga_director 1.0.0

  • Обзор
  • Параметры
  • Примечания
  • Примеры

Обзор

  • Добавление или удаление команды в Icinga2 через API директора.

Параметры

Параметр

Комментарии

append

boolean

added in telekom_mms.icinga_director 1.25.0

Не перезаписывать весь объект, а добавлять определенные свойства.

Примечание - Добавление к существующим переменным, импортам или любому другому списку/словарю невозможно. Вы должны перезаписать весь список/словарь.

Примечание - Переменные, установленные по умолчанию, также будут применены, даже если они не установлены.

Варианты:

  • false
  • true

arguments

dictionary

Аргументы команды.

Каждый аргумент может принимать строку, JSON или словарь.

При использовании словаря в качестве значения аргумента поддерживаются следующие свойства: skip_key, repeat_key, required, order, description), set_if, value.

Свойство value может быть строкой, JSON или словарем. При использовании в виде словаря, вы можете определить его type как Function и установить его свойство body как фрагмент конфигурации Icinga DSL.

client_cert

path

Файл цепочки сертификатов в формате PEM, который будет использоваться для проверки подлинности клиента SSL.

Этот файл также может включать ключ, и если ключ включен, client_key не требуется.

client_key

path

Файл в формате PEM, содержащий ваш закрытый ключ, который будет использоваться для проверки подлинности клиента SSL.

Если client_cert содержит как сертификат, так и ключ, этот параметр не требуется.

command

string

Команда, которую должен выполнить Icinga. Требуется, когда состояние равно present.

Абсолютные пути принимаются как есть, относительные пути добавляются с префиксом «PluginDir + », допускаются аналогичные постоянные префиксы.

Пробелы приведут к разделению пути к команде и автономным аргументам.

Обратите внимание, что это означает, что мы сейчас не поддерживаем пробелы в именах и путях плагинов.

disabled

boolean

Отключенные объекты не будут развернуты.

Варианты:

  • false ← (default)
  • true

force

boolean

Если yes не получают кэшированную копию.

Варианты:

  • false ← (default)
  • true

force_basic_auth

boolean

Учетные данные, указанные с помощью url_username и url_password, должны передаваться в HTTP-заголовке.

Варианты:

  • false ← (default)
  • true

http_agent

string

Заголовок для идентификации, обычно отображается в логах веб-сервера.

По умолчанию: "ansible-httpget"

imports

list / elements=string

Импортируемые шаблоны, добавьте столько, сколько хотите. Обратите внимание, что порядок важен при импорте свойств из нескольких шаблонов - последний выигрывает.

По умолчанию: []

methods_execute

aliases: command_type

string

Команды проверки плагинов необходимы при выполнении проверок вашей инфраструктуры.

Команды уведомления будут использоваться, когда дело доходит до уведомления ваших пользователей.

Команды событий позволяют запускать определенные действия при возникновении проблем.

Некоторые люди используют их для механизмов автоматического исправления, таких как перезапуск служб или перезагрузка систем при определенных пороговых значениях.

Варианты:

  • "PluginCheck" ← (default)
  • "PluginNotification"
  • "PluginEvent"

object_name

aliases: name

string / required

Имя команды.

state

string

Применить состояние функции.

Варианты:

  • "present" ← (default)
  • "absent"

timeout

string

Необязательное время ожидания команды. Допустимые значения - секунды или длительность с суффиксом в виде определенной единицы (например, 1m или 3m 30s).

url

string / required

URL HTTP, HTTPS или FTP в формате (http|https|ftp)://[user[:pass]]@host.domain[:port]/path

url_password

string

Пароль для использования в HTTP-авторизации.

Если параметр url_username не указан, параметр url_password использоваться не будет.

url_username

string

Имя пользователя для использования в аутентификации HTTP basic.

Этот параметр может быть использован без url_password для сайтов, допускающих пустые пароли.

use_gssapi

boolean

добавлен в ansible-core 2.11

Использовать GSSAPI для выполнения аутентификации, обычно это для Kerberos или Kerberos через аутентификацию Negotiate.

Требуется установка библиотеки Python gssapi.

Утверждения для GSSAPI могут быть указаны с помощью url_username/url_password или с помощью переменной среды GSSAPI KRB5CCNAME, которая определяет пользовательский кэш учетных данных Kerberos.

Аутентификация NTLM не поддерживается, даже если механизм GSSAPI для NTLM был установлен.

Варианты:

  • false ← (по умолчанию)
  • true

use_proxy

boolean

Если no, прокси не будет использоваться, даже если он определен в переменной среды на целевых хостах.

Варианты:

  • false
  • true ← (по умолчанию)

validate_certs

boolean

Если no, сертификаты SSL не будут проверены.

Это следует использовать только на контролируемых вами сайтах, использующих самозаверенные сертификаты.

Варианты:

  • false
  • true ← (по умолчанию)

vars

dictionary

Пользовательские свойства команды.

По умолчанию: {}

zone

string

Зона кластера Icinga. Позволяет вручную переопределить решения директора о том, куда развернуть вашу конфигурацию.

Следует избегать этого, если вы не имеете глубокого понимания работы стека кластера Icinga.

Примечания

Примечание

  • Этот модуль поддерживает режим проверки.

Примеры

- name: Create command
  telekom_mms.icinga_director.icinga_command:
    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"
    disabled: false
    object_name: centreon-plugins
    imports:
      - centreon-plugins-template
    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
  telekom_mms.icinga_director.icinga_command:
    state: present
    url: "{{ icinga_url }}"
    url_username: "{{ icinga_user }}"
    url_password: "{{ icinga_pass }}"
    object_name: centreon-plugins
    timeout: "1m"
    append: true

- name: Create event command
  telekom_mms.icinga_director.icinga_command:
    state: present
    url: "{{ icinga_url }}"
    url_username: "{{ icinga_user }}"
    url_password: "{{ icinga_pass }}"
    command: "/opt/scripts/restart_httpd"
    object_name: "restart_httpd"
    command_type: "PluginEvent"
    arguments:
      '-s':
        value: $service.state$
      '-t':
        value: $service.state_type$
      '-a':
        set_if: $service.check_attempt$
        value: $restart_service$

Авторы

  • Sebastian Gumprich (@rndmh3ro)

Ссылки на сборку

  • Отслеживание проблем
  • Репозиторий (исходные коды)

© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/telekom_mms/icinga_director/icinga_command_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API