atosatto.alertmanager

Ansible 角色:Alertmanager

构建状态 Galaxy

安装和配置 Prometheus Alertmanager。

要求

需要安装 Ansible 2.2 或更高版本。
此角色使用了需要安装 jmespath 的 Ansible json_filter。 有关该角色所需的特定版本 jmespath 的更多详细信息,请参见 requirements.txt 文件。

角色变量

可用变量如下所示,连同默认值(见 defaults/main.yml):

alertmanager_release_tag: "latest"

要安装的 Alertmanager 版本。 默认情况下,最新版本发布在 https://github.com/prometheus/alertmanager/releases。

alertmanager_release_url: ""

如果设置,则角色将从提供的 URL 下载 Alertmanager,而不是使用 Alertmanager Github 发布元数据中指示的下载 URL。

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: {}

存储 Alertmanager 配置的 YAML 字典。 完整的 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}}"

上面的示例展示了如何在 alertmanager_templates_path 目录中创建 example.tmpl,以及如何配置 Alertmanager 加载它。

alertmanager_listen_address: "127.0.0.1:9093"

Alertmanager Web 服务器监听的 IP 地址和端口。
注意: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 命令的输出。

依赖关系

无。

示例剧本

$ 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

作者信息

Andrea Tosatto (@_hilbert_)

关于项目

Install and Configure Prometheus Alertmanager

安装
ansible-galaxy install atosatto.alertmanager
许可证
mit
下载
1.6k
拥有者
Automation fan-boy. Head in the ☁️. Loving Containers, Micro-Services, OpenSource, Golang and Python