alertmanager
Ansible Роль: Alertmanager
Установка и настройка 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