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で配布されるパッケージの代わりにローカルパッケージを使用できます。案数値には、ansibleが実行されるホストに保存された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 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を参照してください。

プロジェクトについて

Prometheus Alertmanager service

インストール
ansible-galaxy install cloudalchemy.alertmanager
ライセンス
mit
ダウンロード
1.7M
所有者
Setup your monitoring stack with ansible