moira-trigger-role

moira-trigger-role

Если вы здесь впервые, рекомендуется ознакомиться с нашим основным README.

Роль Ansible для создания, обновления и удаления триггеров Moira на основе python-moira-client.

Использование роли

Установка

Конфигурация

Задачи роли

Установка

Ansible Galaxy

ansible-galaxy install moira-alert.moira-trigger-role

Ansible роль с Makefile

Поместите содержимое из примера в свой Makefile, чтобы загрузить роль из Ansible Galaxy и создать плейбук для управления триггерами с заранее установленными параметрами в ваших файлах vars:

- name: управлять триггерами moira
  hosts: имя_сервиса
  roles:
    - role: moira-alert.moira-trigger-role
      moira_api: http://localhost:8081/api
      moira_triggers: '{{ ServiceNameTriggers }}'
      delegate_to: 127.0.0.1
      run_once: True
      dry_run: False

Примечание: Все задачи должны выполняться с вашего управляющего компьютера Ansible.

Конфигурация

Заранее определите следующие параметры в ваших файлах vars. Рабочие примеры можно найти здесь.

Аутентификация

Параметр Описание Тип Обязательно Значение по умолчанию Пример
moira_api URL Moira API Строка Да N/A http://localhost/api/
moira_auth_custom Заголовки для пользовательской аутентификации Словарь Нет Нет Authorization: apiKey
moira_auth_user Пользователь для аутентификации (Basic Auth) Строка Нет Нет admin
moira_auth_pass Пароль для аутентификации (Basic Auth) Строка Нет Нет pass
moira_auth_login Логин для аутентификации (Basic Auth) Строка Нет Нет admin

Примечание: Используйте moira_auth_custom, если вы используете дополнительные механизмы аутентификации вместо
обычной базовой аутентификации. В противном случае используйте moira_auth_user, moira_auth_pass и moira_auth_login.
moira_auth_login должен содержать значение для заголовка X-Webauth-User.

Состояние триггера

Параметр Описание Тип Обязательно Выборы Значение по умолчанию Пример
state Желаемое состояние триггера Строка Да present
absent
N/A present
id Идентификатор триггера Строка Да N/A N/A trigger_1
name Имя триггера Строка Да N/A N/A Trigger 1
tags Список тегов триггера Список Да N/A N/A - Проект
- Сервис
targets Список целей триггера
Смотрите доступные функции Graphite
Список Да N/A N/A - prefix.*.postfix
warn_value Значение для установки статуса WARN Число с плавающей запятой Нет N/A Нет 300
error_value Значение для установки статуса ERROR Число с плавающей запятой Нет N/A Нет 600
trigger_type Тип триггера Строка Нет rising
falling
expression
N/A rising
expression C-подобное выражение Строка Нет N/A Пустая строка t1 >= 10 ? ERROR : (t1 >= 1 ? WARN : OK)
ttl Когда нет метрик для триггера, Moira переключает метрику в состояние TTLState через TTL секунд Целое число Нет N/A 600 600
ttl_state Состояние триггера по истечении 'ttl' Строка Нет NODATA
DEL
ERROR
WARN
OK
NODATA WARN
is_remote Использовать удаленное хранилище. Устарело, используйте trigger_source вместо Логический Нет True
False
False False
trigger_source Указать источник триггера, заменяет is_remote Строка Нет graphite_local
graphite_remote
prometheus_remote
Нет graphite_local
cluster_id Указать идентификатор кластера Строка Нет N/A Нет default
desc Описание триггера Строка Нет N/A Пустая строка описание тестового триггера
mute_new_metrics Если истина, первое событие NODATA → OK будет пропущено Логический Нет True
False
False False
disabled_days Дни, когда триггер будет в безмолвном режиме Список Нет N/A Пустой список - Пн
- Ср
timezone_offset Сдвиг часового пояса (в минутах) Целое число Нет N/A 0 -180
start_hour Время начала отправки оповещений Целое число Нет N/A 0 9
start_minute Время начала отправки оповещений (минуты) Целое число Нет N/A 0 0
end_hour Время окончания отправки оповещений Целое число Нет N/A 23 17
end_minute Время окончания отправки оповещений (минуты) Целое число Нет N/A 59 0
alone_metrics Установить некоторые цели как единственные метрики Объект, пример: Нет N/A {'t1': False, 't2': True, ... 'tN': True} {'t1': False, 't2': False}

Задачи роли

Управление зависимостями

Задача для проверки, установлен ли python-moira-client (через pip).

Управление триггерами

Используйте состояние 'present' для создания и редактирования существующих триггеров:

 - name: создать триггер
   moira_trigger:
      ...
      state: present
      ...  

Для удаления существующих триггеров используйте состояние 'absent':

 - name: удалить триггер
   moira_trigger:
      ...
      state: absent
      ...  
О проекте

Ansible role to create, update and delete Moira triggers

Установить
ansible-galaxy install moira-alert/moira-trigger-role
Лицензия
mit
Загрузки
16829
Владелец
Realtime alerting system based on Graphite data