alertmanager

Ansible Роль: Alertmanager

Статус сборки
Galaxy

Установка и настройка Prometheus Alertmanager.

Требования

Установка Ansible 2.2 или выше.
Эта роль использует фильтр Ansible json_filter, который требует установки jmespath на машине с Ansible. Смотрите файл requirements.txt для получения дополнительной информации о конкретной версии jmespath, требуемой этой ролью.

Переменные роли

Доступные переменные перечислены ниже, вместе с значениями по умолчанию (см. defaults/main.yml):

alertmanager_release_tag: "latest"

Версия Alertmanager, которую нужно установить. По умолчанию будет установлена последняя версия, опубликованная на https://github.com/prometheus/alertmanager/releases.

alertmanager_release_url: ""

Если указано, роль загрузит Alertmanager с предоставленного URL вместо использования URL загрузки, указанного в метаданных релиза Alertmanager на Github.

alertmanager_user: "alertmanager"
alertmanager_group: "alertmanager"

Системный пользователь и группа Alertmanager.

alertmanager_install_path: "/opt"

Каталог, в котором хранятся загруженные артефакты релиза Alertmanager.

alertmanager_bin_path: "/usr/local/bin"

Каталог, в который будут созданы символические ссылки на бинарные файлы Alertmanager.

alertmanager_config_path: "/etc/alertmanager"
alertmanager_config_file: "alertmanager.yml"

Файл конфигурации и каталог Alertmanager.

alertmanager_config: {}

Словарь YAML, содержащий конфигурацию Alertmanager. Полная справка по конфигурации Alertmanager доступна на https://prometheus.io/docs/alerting/configuration/.
ПРИМЕЧАНИЕ: предоставленная конфигурация Alertmanager будет объединена с конфигурацией по умолчанию, определенной в vars/main.yml.

alertmanager_templates_path: "{{ alertmanager_config_path }}/templates"
alertmanager_templates: {}

Каталог и определения шаблонов Alertmanager.

alertmanager_config:
  templates:
    - "{{ alertmanager_templates_path }}/*.tmpl"
alertmanager_templates:
  "example": "{{ define "slack.myorg.text" }}https://internal.myorg.net/wiki/alerts/{{ .GroupLabels.app }}/{{ .GroupLabels.alertname }}{{ end}}"

Пример выше показывает, как создать example.tmpl в каталоге alertmanager_templates_path и как настроить Alertmanager для его загрузки.

alertmanager_listen_address: "127.0.0.1:9093"

IP-адрес и порт, на которых будет слушать веб-сервер Alertmanager.
ПРИМЕЧАНИЕ: метрики Alertmanager будут доступны по адресу {{ alertmanager_listen_address }}/metrics.

alertmanager_storage_path: "/var/lib/alertmanager"
alertmanager_storage_retention: "120h"

Каталог, используемый для хранения состояний и молчаний уведомлений Alertmanager. По умолчанию, старые данные будут удалены через 120 часов.

alertmanager_log_level: "info"

Уровень подробности логов демона Alertmanager.

alertmanager_additional_cli_args: ""

Дополнительные аргументы командной строки, которые будут добавлены к юниту сервиса Alertmanager. Для полного справочника доступных аргументов CLI, пожалуйста, обратитесь к выводу команды alertmanager --help.

Зависимости

Отсутствуют.

Примеры Playbook

$ cat playbook.yml
- name: "Установка и настройка Prometheus Alertmanager"
  hosts: all
  roles:
    - { role: atosatto.alertmanager }

Тестирование

Тестирование автоматизировано с помощью Molecule.

$ pip install tox

Чтобы протестировать все сценарии, выполните

$ tox

Чтобы выполнить произвольную команду molecule

$ tox -e py27-ansible29 -- molecule test -s alertmanager-latest

Лицензия

MIT

Информация об авторе

Андреа Тосатто (@_hilbert_)

О проекте

Install and Configure Prometheus Alertmanager

Установить
ansible-galaxy install atosatto/ansible-alertmanager
Лицензия
mit
Загрузки
1615
Владелец
Automation fan-boy. Head in the ☁️. Loving Containers, Micro-Services, OpenSource, Golang and Python