moira-alert.moira-trigger-role
moira-trigger-role
ここに新しい場合は、まず私たちの主なREADMEをチェックしてください。
これは、python-moira-clientに基づいて、Moiraトリガーを作成、更新、削除するためのAnsibleロールです。
ロールの使用法
インストール
Ansible Galaxy
ansible-galaxy install moira-alert.moira-trigger-role
Makefileを使ったAnsibleロール
exampleから内容を自分のMakefileに配置し、Ansible Galaxyからロールをダウンロードします。
また、事前定義されたパラメータでトリガーを管理するプレイブックを作成します。
- name: manage moira triggers
hosts: serviceName
roles:
- role: moira-alert.moira-trigger-role
moira_api: http://localhost:8081/api
moira_triggers: '{{ ServiceNameTriggers }}'
delegate_to: 127.0.0.1
run_once: True
dry_run: False
注意: すべてのタスクはあなたのansibleコントロールマシンから実行する必要があります。
設定
以下のパラメータをvarsファイルに事前定義してください。動作例はこちらにあります。
認証
パラメータ | 説明 | タイプ | 必須 | デフォルト | 例 |
---|---|---|---|---|---|
moira_api | Moira APIのURL | 文字列 | はい | N/A | http://localhost/api/ |
moira_auth_custom | カスタム認証ヘッダー | 辞書 | いいえ | なし | Authorization: apiKey |
moira_auth_user | 認証ユーザー(基本認証) | 文字列 | いいえ | なし | admin |
moira_auth_pass | 認証パスワード(基本認証) | 文字列 | いいえ | なし | pass |
moira_auth_login | 認証ログイン(基本認証) | 文字列 | いいえ | なし | admin |
注意: 基本認証以外の追加認証メカニズムを使用している場合は、moira_auth_customを使用してください。
そうでない場合はmoira_auth_user、moira_auth_pass、moira_auth_loginを使用してください。
moira_auth_loginにはX-Webauth-Userヘッダーの値を含める必要があります。
トリガーの状態
パラメータ | 説明 | タイプ | 必須 | 選択肢 | デフォルト | 例 |
---|---|---|---|---|---|---|
state | トリガーの望ましい状態 | 文字列 | はい | present absent |
N/A | present |
id | トリガーID | 文字列 | はい | N/A | N/A | trigger_1 |
name | トリガー名 | 文字列 | はい | N/A | N/A | Trigger 1 |
tags | トリガータグのリスト | リスト | はい | N/A | N/A | - Project - Service |
targets | トリガーターゲットのリスト 利用可能なグラファイト関数を見る |
リスト | はい | N/A | N/A | - prefix.*.postfix |
warn_value | WARNステータスを設定するための値 | フロート | いいえ | N/A | なし | 300 |
error_value | ERRORステータスを設定するための値 | フロート | いいえ | N/A | なし | 600 |
trigger_type | トリガーのタイプ | 文字列 | いいえ | rising falling expression |
N/A | rising |
expression | C言語風の式 | 文字列 | いいえ | N/A | 空の文字列 | t1 >= 10 ? ERROR : (t1 >= 1 ? WARN : OK) |
ttl | トリガーにメトリックがない場合、MoiraはTTL秒後にメトリックをTTLState状態に切り替えます | 整数 | いいえ | N/A | 600 | 600 |
ttl_state | 'ttl'の期限が切れたときのトリガー状態 | 文字列 | いいえ | NODATA DEL ERROR WARN OK |
NODATA | WARN |
is_remote | リモートストレージを使用 | ブール | いいえ | 真 偽 |
偽 | 偽 |
trigger_source | トリガーのソースを指定し、is_remoteをオーバーライドします | 文字列 | いいえ | graphite_local graphite_remote prometheus_remote |
なし | graphite_local |
cluster_id | クラスターIDを指定します | 文字列 | いいえ | N/A | なし | default |
desc | トリガーの説明 | 文字列 | いいえ | N/A | 空の文字列 | trigger test description |
mute_new_metrics | もし真なら、最初のNODATA → OKイベントは省略されます | ブール | いいえ | 真 偽 |
偽 | 偽 |
disabled_days | トリガーをサイレントモードにする日 | リスト | いいえ | N/A | 空のリスト | - Mon - Wed |
timezone_offset | タイムゾーンオフセット(分) | 整数 | いいえ | N/A | 0 | -180 |
start_hour | アラートを送信する開始時刻 | 整数 | いいえ | N/A | 0 | 9 |
start_minute | アラートを送信する開始分 | 整数 | いいえ | N/A | 0 | 0 |
end_hour | アラートを送信する終了時刻 | 整数 | いいえ | N/A | 23 | 17 |
end_minute | アラートを送信する終了分 | 整数 | いいえ | N/A | 59 | 0 |
alone_metrics | 特定のターゲットを単一メトリクスとして設定 | オブジェクト、例: | いいえ | N/A | {'t1': 偽, 't2': 真, ... 'tN': 真} | {'t1': 偽, 't2': 偽} |
ロールのタスク
依存関係の管理
python-moira-clientがインストールされているか確認するタスク(pip経由)
トリガーの管理
状態「present」を使用して、新しいトリガーを作成または既存のトリガーを編集します:
- name: create trigger
moira_trigger:
...
state: present
...
既存のトリガーを削除するには、状態「absent」を使用します:
- name: remove trigger
moira_trigger:
...
state: absent
...