• 製品
  • 使用を開始する
  • 関連ドキュメント
  • リソース

Opsgenie を SaltStack と統合する

SaltStack のロゴ

Opsgenie が SaltStack ユーザーに提供するもの

Opsgenie の SaltStack 統合を使用し、Salt の状態またはイベントに応じて、Opsgenie でアラートを作成またはクローズします。Opsgenie は、オンコール スケジュールに基づいて通知する適切な担当者を決定します。メール、テキスト メッセージ (SMS)、電話、iOS および Android のプッシュ通知によって通知し、アラートが承認されるかクローズされるまでアラートをエスカレートします。

統合の機能性

  • アラートは、Salt 状態に応じて作成またはクローズされます。

  • アラートは、Salt の Event Reactor に従って作成またはクローズされます。

Opsgenie で SaltStack 統合を追加する

Opsgenie の Free プランまたは Essentials プランを使用している、または Jira Service Management の Standard プランで Opsgenie を使用している場合は、チーム ダッシュボードからのみこの統合を追加できます。このプランでは、[設定] の [統合] ページが利用できません。

  1. [チーム] に移動して自分のチームを選択します。

  2. 左側のナビゲーションで [統合] を選択し、[統合を追加] を選択します。

統合をチーム ダッシュボードから追加すると、そのチーム統合の所有者になります。Opsgenie では、この統合を通じて受信したアラートはそのチームのみに割り当てられます。このセクションの残りの手順に従って、統合を設定してください。

  1. [設定] > [統合] の順に移動します。SaltStack を検索して [追加] を選択します。

  2. [応答者] フィールドによって SaltStack アラートの通知先を指定します。入力し始めると、オートコンプリートの候補が表示されます。

  3. API キーをコピーします。

  4. [Save Integration (統合の保存)] を選択します。

SaltStack での設定

  • Opsgenie の実行モジュールをダウンロードします。

  • 別のドメイン (EU、サンドボックスなど) から Opsgenie を使用している場合、Opsgenie スクリプトで API_ENDPOINT 変数をアップデートします。既定では (https://api.opsgenie.com) として設定されています。

  • Salt ファイル サーバーのルートにある _modules という名前のディレクトリにモジュールを移動します。

  • Opsgenie の状態モジュールをダウンロードします。

  • Salt ファイル サーバーのルートにある _states という名前のディレクトリにモジュールを移動します。

  • 次のコマンドを実行して、これらのモジュールの変更をミニオンに適用します。

シェル

1 salt '*' saltutil.sync_all

Opsgenie と Salt States の統合

初期設定後、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前提条件 (onfailrequire) を使用しました。
設定が正常終了すると、Opsgenie でアラートが作成またはクローズされます。

フィールド

(必須)

説明

api_key

true

Opsgenie で統合を追加する際にコピーした API キーです。

理由

true

Opsgenie で、アラートの既定のメッセージとして使用されます。

name

false

アラートのエイリアスとして使用されます。クローズ機能を使用する場合は、この場合のように両方の状態の name フィールドを指定する必要があります。

Opsgenie と SaltStack の Event Reactor を統合する

初期設定後、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 のカスタム アクションを使用して、ノートの追加やアラートの確認などの目的で、このフィールドをカスタマイズできます。

SaltStack から送信されるペイロードのサンプル

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 と統合する」の章で作成したアラート:

Salt イベント アラートの例

Opsgenie と Salt の Event Reactor を統合する」の章で作成したアラート:

SaltStack Event Reactor アラートの例

 

その他のヘルプ