cloudalchemy.alertmanager
弃用
此角色已被弃用,推荐使用 prometheus-community/ansible 集合。
Ansible 角色:alertmanager
描述
使用 ansible 部署和管理 Prometheus alertmanager 服务。
需求
- Ansible >= 2.7(可能在早期版本上运行,但无法保证)
最好在某处安装 prometheus。
角色变量
所有可以重写的变量都存储在 defaults/main.yml 文件中,以及下表中。
名称 | 默认值 | 描述 |
---|---|---|
alertmanager_version |
0.21.0 | Alertmanager 软件包版本。也接受 latest 作为参数。 |
alertmanager_binary_local_dir |
"" | 允许使用本地软件包而不是 GitHub 上分发的包。接收一个参数,指定存储 alertmanager 和 amtool 二进制文件的目录。此参数将覆盖 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。
安装
ansible-galaxy install cloudalchemy.alertmanager
许可证
mit
下载
1.7M
拥有者
Setup your monitoring stack with ansible