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で配布されるパッケージの代わりにローカルパッケージを使用できます。案数値には、ansibleが実行されるホストに保存された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 | Ansibleテンプレートの形でカスタムAlertmanager設定ファイルを提供するために使用する変数。 |
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 |
"" | 企業向けWeChat WebhookのURL。 |
alertmanager_wechat_secret |
"" | 企業向けWeChat秘密トークン。 |
alertmanager_wechat_corp_id |
"" | 企業向けWeChat法人ID。 |
alertmanager_cluster |
{listen-address: ""} | HAクラスターのネットワーク設定。デフォルトでは無効です。詳細はalertmanager readmeを参照してください。 |
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 | 拡張出力。単純な出力には"" を使用します。 |
例
プレイブック
---
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に基づいた完全な監視ソリューションのデモサイトを提供しています。コードを含んだリポジトリと実行中のインスタンスへのリンクはこちらで利用可能で、サイトはDigitalOceanにホストされています。
ローカルテスト
ローカルでロールをテストするための推奨方法は、Dockerとmolecule (v3.x)を使用することです。システムにDockerをインストールする必要があります。「始めに」を参照して、システムに適したDockerパッケージを見つけてください。テストの実行はmolecule test
を実行するだけで簡単です。
継続的インテグレーション
MoleculeとCircleCIを組み合わせることで、新しいPRが複数のAnsibleバージョンや複数のオペレーティングシステムでどのように動作するかをテストできます。また、さまざまなロール構成のテストシナリオを作成することも可能です。その結果、かなり大きなテストマトリックスが生成され、ローカルテストよりも時間がかかる場合がありますので、忍耐強くお待ちください。
貢献
貢献者ガイドラインを参照してください。
トラブルシューティング
トラブルシューティングを参照してください。
ライセンス
このプロジェクトはMITライセンスの下でライセンスされています。詳細はLICENSEを参照してください。
インストール
ansible-galaxy install cloudalchemy.alertmanager
ライセンス
mit
ダウンロード
1.7M
所有者
Setup your monitoring stack with ansible