cloudalchemy.alertmanager

弃用

此角色已被弃用,推荐使用 prometheus-community/ansible 集合。

Ansible 角色:alertmanager

构建状态 许可证 Ansible 角色 GitHub 标签

描述

使用 ansible 部署和管理 Prometheus alertmanager 服务。

需求

  • Ansible >= 2.7(可能在早期版本上运行,但无法保证)

最好在某处安装 prometheus。

角色变量

所有可以重写的变量都存储在 defaults/main.yml 文件中,以及下表中。

名称 默认值 描述
alertmanager_version 0.21.0 Alertmanager 软件包版本。也接受 latest 作为参数。
alertmanager_binary_local_dir "" 允许使用本地软件包而不是 GitHub 上分发的包。接收一个参数,指定存储 alertmanageramtool 二进制文件的目录。此参数将覆盖 alertmanager_version 参数。
alertmanager_web_listen_address 0.0.0.0:9093 alertmanager 监听的地址。
alertmanager_web_external_url http://localhost:9093/ alertmanager 的外部可用地址。当在反向代理后面时非常有用。例如:example.org/alertmanager
alertmanager_config_dir /etc/alertmanager alertmanager 配置的目录路径。
alertmanager_db_dir /var/lib/alertmanager alertmanager 数据库的目录路径。
alertmanager_config_file alertmanager.yml.j2 用于提供自定义 alertmanager 配置文件的变量,采用 ansible 模板格式。
alertmanager_config_flags_extra {} 启动时传递给 prometheus 二进制文件的额外配置标志。
alertmanager_template_files ['alertmanager/templates/*.tmpl'] ansible 查找模板文件的文件夹列表,这些文件将被复制到 {{ alertmanager_config_dir }}/templates/。文件必须具有 *.tmpl 扩展名。
alertmanager_resolve_timeout 3m 声明警报已解决的时间。
alertmanager_smtp {} SMTP(电子邮件)配置。
alertmanager_http_config {} 用于使用自定义 Webhook 的 HTTP 配置。
alertmanager_slack_api_url "" Slack Webhook URL。
alertmanager_pagerduty_url "" PagerDuty Webhook URL。
alertmanager_opsgenie_api_key "" OpsGenie Webhook 密钥。
alertmanager_opsgenie_api_url "" OpsGenie Webhook URL。
alertmanager_victorops_api_key "" VictorOps Webhook 密钥。
alertmanager_victorops_api_url "" VictorOps Webhook URL。
alertmanager_hipchat_api_url "" Hipchat Webhook URL。
alertmanager_hipchat_auth_token "" Hipchat 身份验证令牌。
alertmanager_wechat_url "" 企业微信 Webhook URL。
alertmanager_wechat_secret "" 企业微信密钥令牌。
alertmanager_wechat_corp_id "" 企业微信公司 ID。
alertmanager_cluster {listen-address: ""} HA 集群网络配置,默认禁用。更多信息请参见 alertmanager 说明
alertmanager_receivers [] 通知接收者列表。配置与 官方文档 相同。
alertmanager_inhibit_rules [] 抑制规则列表。与 官方文档 相同。
alertmanager_route {} 警报路由。更多信息请参见 官方文档
alertmanager_amtool_config_file amtool.yml.j2 amtool 配置的模板。
alertmanager_amtool_config_alertmanager_url alertmanager_web_external_url alertmanager 的 URL。
alertmanager_amtool_config_output extended 扩展输出,使用 "" 表示简化输出。

示例

Playbook

---
  hosts: all
  roles:
    - ansible-alertmanager
  vars:
    alertmanager_version: latest
    alertmanager_slack_api_url: "http://example.com"
    alertmanager_receivers:
      - name: slack
        slack_configs:
          - send_resolved: true
            channel: '#alerts'
    alertmanager_route:
      group_by: ['alertname', 'cluster', 'service']
      group_wait: 30s
      group_interval: 5m
      repeat_interval: 3h
      receiver: slack

演示网站

我们提供基于 prometheus 和 grafana 的完整监控解决方案的演示网站。包含代码的仓库及运行实例的链接在 GitHub 上可查找,网站托管在 DigitalOcean

本地测试

本地测试此角色的首选方法是使用 Docker 和 molecule(v3.x)。您需要在系统上安装 Docker。有关适合您系统的 Docker 包,请参见“开始”。运行测试只需执行 molecule test

持续集成

结合 molecule 和 circle CI 使我们能够测试新 PR 在多种 ansible 版本和多种操作系统下的表现。这也让我们可以为不同的角色配置创建测试场景。结果是我们有一个相当大的测试矩阵,这可能需要比本地测试更长的时间,所以请耐心等待。

贡献

请参见 贡献指南

故障排除

请参见 故障排除

许可证

本项目根据 MIT 许可证授权。有关更多详细信息,请参见 LICENSE

关于项目

Prometheus Alertmanager service

安装
ansible-galaxy install cloudalchemy.alertmanager
许可证
mit
下载
1.7M
拥有者
Setup your monitoring stack with ansible