ユーザーとして Opsgenie の利用を開始する
プロフィールの設定、Opsgenie からの通知の取得、オンコール スケジュールの表示に関するすべての方法を説明します。
Marid は廃止予定で、2022 年 11 月 21 日に完全に廃止されます。詳細はコミュニティの投稿をご覧ください。
アトラシアンの拡張性プラットフォームをこれまでご利用になられたことがない場合は「拡張性プラットフォームとしての Opsgenie Edge Connector」をご参照のうえ、Opsgenie アカウントで実行する方法をご確認ください。
Marid をご利用で Opsgenie Edge Connector に移行する場合は「Opsgenie Edge Connector に移行する必要がある理由」をご参照ください。
Marid には埋め込み Web サーバーがあり、Amazon SNS、Opsgenie などの外部システムからの Web リクエスト (HTTP/HTTPS) を受信して処理するために使用できます。
「概要とインストール」ドキュメントを参照して、Marid をインストールしてください。
Marid を使用して Web リクエスト経由でスクリプトを実行する際の設定パラメーターは、次のとおりです。
スクリプト ディレクトリ (残りのドキュメントでは SCRIPTS_DIR と表記されます)
Linuxの場合: /var/opsgenie/marid/scripts
Windows の場合: <MARID_HOME>/scripts
Script Executor Configuration
設定 | 説明 | (必須) | 既定値 |
---|---|---|---|
MaridKey | Marid キーは着信スクリプト実行リクエストを承認するために使用されて、値は任意のカスタム トークンにできます。指定しない場合、認証は行われません。設定した場合、スクリプト URL は maridKey パラメーターで呼び出されて、値は設定ファイル内で同じである必要があります。 | いいえ | changeme |
HTTP Web サーバーの構成設定
設定 | 説明 | (必須) | 既定値 |
---|---|---|---|
https.server.enabled | HTTPS Web サーバーを有効/無効化する | はい | false |
https.server.host | HTTPS Web サーバー ホスト | いいえ | 127.0.0.1 |
https.server.port | Https Web サーバー ホスト | いいえ | 8443 |
https.server.maxContentLength | 各リクエストの HTTPS リクエスト コンテンツの最大長。コンテンツの長さが大きいリクエストは、Web サーバーによって破棄されます (バイト単位)。 | いいえ | 2,000,000 |
https.server.keystore | HTTPS サーバー キーストア ファイル パス | いいえ | <MARID_HOME>/conf/.keystore |
https.server.keyPassword | HTTPS サーバー キーストア ファイル パスワード | いいえ | 123456 |
https.server.threadpool.size | 同時 HTTP 接続の最大数 | いいえ | 100 |
スクリプトの再読み込みは Marid によって自動で処理されます。次回の実行時にスクリプト ファイルが変更されると、Marid では実行状態に関係なく最新バージョンが使用します。
Marid は Web サーバー /script/<script_file_name> URLを介して groovy または ruby スクリプトを実行します。Marid は 各 Web リクエストの URL で指定されたスクリプト ファイルを実行します。これは、スクリプト ファイル拡張子を介してスクリプト エンジンを決定します。
たとえば、URL が次の場合です。
https://<server>:<port>/script/HelloWorld.groovy
その後、Groovy スクリプト エンジンは指定されたスクリプトを実行します。設定ファイルに MaridKey の設定が設定されている場合は、HTTP リクエストで渡して正常に実行する必要があります。デフォルトでは、次のパラメーターがスクリプトに渡されます。
パラメーター | 説明 |
---|---|
params | HTTP/S リクエストによって渡されたパラメーターにアクセスするためのマップ変数。 |
リクエスト | HTTP リクエストのオブジェクト。HTTP リクエストの内容、ヘッダー、メソッド、remoteAddress には、このパラメーターを介してアクセスできます。 |
回答 | 返される HTTP 応答。応答の content、contentType、status コードは、このパラメーターを使用して変更できます。 |
conf | 設定ファイルのプロパティへの参照。すべての設定プロパティには、このパラメーターを介してアクセスできます。 |
logger | ロギング ユーティリティ。すべてのスクリプト ログは、LOGS_DIR ディレクトリ内の script.log ファイルに書き込まれます。 |
Opsgenie | Opsgenie サーバー上で操作を実行するための変数。 |
パラメーターは Ruby スクリプトにグローバル変数として渡されるため、$parameter_name としてアクセスする必要があります。たとえば、ロガー パラメーターは Ruby スクリプトで $logger としてアクセスできます。
使用例:
構成ファイルに次のエントリを追加します。
sample.usage.prop1=prop1value
設定ファイルで maridKey を次のように設定します
maridKey=key1
CURL 経由で呼び出される URL
curl
1
curl -XPOST 'http://<marid_server>:<marid_port>/script/HelloWorld.groovy?maridKey=key1¶m1=value1¶m2=value2' -d 'content data'
Marid は実行スクリプト URL に async=true http パラメーターを追加することによって、使用できる非同期スクリプトの実行をサポートしています。
スクリプト ファイル
<SCRIPTS_DIR>/HelloWorld.groovy
groovy
1
2
3
4
5
logger.warn(params.param1)
logger.warn(params.param2)
logger.warn(request.content)
logger.warn(conf["sample.usage.prop1"])
response.content = "Hello yourself"
ログ ファイル <LOGS_DIR>/Script.log に予想される出力
groovy
1
2
3
4
12/06/18 16:44:08.288 WARN: value1
12/06/18 16:44:08.288 WARN: value2
12/06/18 16:44:08.292 WARN: content data
12/06/18 16:44:08.298 WARN: prop1value
予想されるカール出力
予想される出力
1
Hello yourself
Opsgenie は、Web アクセス可能な URL エンドポイントを呼び出してアクション データ (Webhook と呼ばれることが多い) を渡せます。Webhook URL は、Web からアクセスできる限り、任意のプラットフォーム、Web サーバーなどを指定できます。
Webhook は Opsgenie Webhook インテグレーション ページで作成できます。Webhook インテグレーションの詳細については、サポート ドキュメントをご参照ください。
上記のスクリプト実行機能によって、Marid を使用して Opsgenie から Web リクエストを受信して処理できます。Marid は Opsgenie ユーザー アクションの知見が織り込まれているため、簡単に設定できます。Marid を使用して Opsgenie ユーザー アクションを処理する際は、Webhook インテグレーションの Webhook URL を次のようにする必要があります。
https://<marid_server>:<marid_port>/alert/action
また、設定ファイルで maridKey 設定が設定されている場合、Webhook URL は次のようにする必要があります。
https://<marid_server>:<marid_port>/alert/action?maridKey=changeme
アラート アクション スクリプトに渡されるパラメーターについては、このドキュメントをご参照ください。
この内容はお役に立ちましたか?