atosatto.alertmanager

Ansibleロール: Alertmanager

ビルドステータス Galaxy

PrometheusのAlertmanagerをインストールし、設定します。

要件

Ansible 2.2以上のインストールが必要です。
このロールはAnsibleのjson_filterを使用し、Ansibleマシンにjmespathがインストールされている必要があります。 requirements.txtファイルには、ロールに必要なjmespathの特定のバージョンについての詳細が記載されています。

ロール変数

利用可能な変数は以下にリストされており、デフォルト値が示されています(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

著者情報

アンドレア・トサット(@_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