ユーザーとして Opsgenie の利用を開始する
プロフィールの設定、Opsgenie からの通知の取得、オンコール スケジュールの表示に関するすべての方法を説明します。
Opsgenie の SaltStack 統合を使用し、Salt の状態またはイベントに応じて、Opsgenie でアラートを作成またはクローズします。Opsgenie は、オンコール スケジュールに基づいて通知する適切な担当者を決定します。メール、テキスト メッセージ (SMS)、電話、iOS および Android のプッシュ通知によって通知し、アラートが承認されるかクローズされるまでアラートをエスカレートします。
アラートは、Salt 状態に応じて作成またはクローズされます。
アラートは、Salt の Event Reactor に従って作成またはクローズされます。
Opsgenie の Free プランまたは Essentials プランを使用している、または Jira Service Management の Standard プランで Opsgenie を使用している場合は、チーム ダッシュボードからのみこの統合を追加できます。このプランでは、[設定] の [統合] ページが利用できません。
[チーム] に移動して自分のチームを選択します。
左側のナビゲーションで [統合] を選択し、[統合を追加] を選択します。
統合をチーム ダッシュボードから追加すると、そのチーム統合の所有者になります。Opsgenie では、この統合を通じて受信したアラートはそのチームのみに割り当てられます。このセクションの残りの手順に従って、統合を設定してください。
[設定] > [統合] の順に移動します。SaltStack を検索して [追加] を選択します。
[応答者] フィールドによって SaltStack アラートの通知先を指定します。入力し始めると、オートコンプリートの候補が表示されます。
API キーをコピーします。
[Save Integration (統合の保存)] を選択します。
Opsgenie の実行モジュールをダウンロードします。
別のドメイン (EU、サンドボックスなど) から Opsgenie を使用している場合、Opsgenie スクリプトで API_ENDPOINT 変数をアップデートします。既定では (https://api.opsgenie.com) として設定されています。
Salt ファイル サーバーのルートにある _modules という名前のディレクトリにモジュールを移動します。
Opsgenie の状態モジュールをダウンロードします。
Salt ファイル サーバーのルートにある _states という名前のディレクトリにモジュールを移動します。
次のコマンドを実行して、これらのモジュールの変更をミニオンに適用します。
シェル
1
salt '*' saltutil.sync_all
初期設定後、Opsgenie の状態モジュールは、Salt 状態ファイル (SLS) で使用できます。
ミニオンのディスク使用量に応じてアラートを作成したり閉じたりするユース ケースの例を見てみましょう。disk.sls という名前のファイルを作成します。このファイルは、Salt ファイル サーバーのルートにあります。
YAML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
used_space:
disk.status:
- name: /
- maximum: 79%
- minimum: 10%
opsgenie_create_action_sender:
opsgenie.create_alert:
- api_key: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
- reason: 'Disk capacity is out of designated range.'
- name: disk.status
- onfail:
- disk: used_space
opsgenie_close_action_sender:
opsgenie.close_alert:
- api_key: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
- name: disk.status
- require:
- disk: used_space
Salt 状態ファイルの作成後、以下のコマンドを使用して試してみましょう。
シェル
1
salt salt-minion state.apply disk
Opsgenie の状態モジュールをトリガーするために、SaltStack の前提条件 (onfail、require) を使用しました。
設定が正常終了すると、Opsgenie でアラートが作成またはクローズされます。
フィールド | (必須) | 説明 |
---|---|---|
api_key | true | Opsgenie で統合を追加する際にコピーした API キーです。 |
理由 | true | Opsgenie で、アラートの既定のメッセージとして使用されます。 |
name | false | アラートのエイリアスとして使用されます。クローズ機能を使用する場合は、この場合のように両方の状態の name フィールドを指定する必要があります。 |
初期設定後、Opsgenie の実行モジュールは Salt のEvent Reactor で使用できます。
Salt のイベント バスに送信されたイベントに応じてアラートを作成したり閉じたりするユース ケースの例を見てみましょう。
Salt の Event Reactor を初めて使用する場合は、以下の設定を Salt master の設定に追加します。
/etc/salt/master
既定で。Salt の Event Reactor に習熟している場合は、必要に応じて既存のリアクター設定を編集します。
YAML
1
2
3
reactor:
- 'og-tag':
- /srv/salt/reactor/og-reactor.sls
Salt 状態ファイル
og-reactor.sls
/srv/salt/reactor/ にあり、以下の YAML コンテンツを貼り付けます。
YAML
1
2
3
4
5
6
7
8
opsgenie_event_poster:
local.opsgenie.post_data:
- tgt: 'salt-minion'
- kwarg:
name: event.reactor
api_key: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
reason: {{ data['data']['reason'] }}
action_type: Create
以下のコマンドを使用し、カスタム タグ
'og-tag'
が付いたイベントを送信します。
シェル
1
salt-call event.send 'og-tag' '{"reason" : "Overheating CPU!"}'
設定が正常終了すると、Opsgenie でアラートが作成またはクローズされます。
フィールド | (必須) | 説明 |
---|---|---|
api_key | true | Opsgenie で統合を追加する際にコピーした API キーです。 |
理由 | true | Opsgenie で、アラートの既定のメッセージとして使用されます。 |
name | false | アラートのエイリアスとして使用されます。クローズ機能を使用する場合は、この場合のように両方の状態の name フィールドを指定する必要があります。 |
action_type | true | Opsgenie は、action_type の既定値 Create/Close をサポートします。Opsgenie のカスタム アクションを使用して、ノートの追加やアラートの確認などの目的で、このフィールドをカスタマイズできます。 |
JSON
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{
"username": "root",
"kernel": "Linux",
"uuid": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"name": "event.reactor",
"kernelRelease": "4.12.13-300.fc26.x86_64",
"saltVersion": "2017.7.1",
"fqdn": "localhost.localdomain",
"saltPath": "/usr/lib/python2.7/site-packages/salt",
"cpuArch": "x86_64",
"reason": "Overheating CPU!",
"actionType": "Create",
"host": "localhost",
"master": "127.0.0.1",
"os": "Fedora",
"id": "salt-minion",
"cpuModel": "Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz"
}
「Opsgenie を Salt States と統合する」の章で作成したアラート:
「Opsgenie と Salt の Event Reactor を統合する」の章で作成したアラート:
この内容はお役に立ちましたか?