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

Opsgenie Edge Connector を設定する

環境変数

前提条件
場所やパスなどの構成ファイル プロパティを設定するには、次の手順に従います。

  • まず、場所設定ファイルのいくつかの環境変数を設定する必要があります。
    設定ファイルを取得するには、ローカル ドライブからか git を使用するかの 2 つのオプションがあります。

ローカル ドライブから設定ファイルを読み取るには、次の手順に従います。

  • OEC_CONF_SOURCE_TYPE 変数と OEC_CONF_LOCAL_FILEPATH 変数を設定します。

Redhat 6/Centos 6 の場合は /etc/init.d/oec を編集しますファイルは、"start()" 関数の直前にこれらの 2 つのエクスポート コマンドを追加します。

/etc/init.d/oec

1 2 3 4 export OEC_CONF_SOURCE_TYPE="local" export OEC_CONF_LOCAL_FILEPATH="/home/opsgenie/oec/config.json" start().......

Redhat 7/Centos 7 と Debian/Ubuntu の場合は、[Service] キー内で /etc/systemd/system/oec.service ファイルを編集して、[install] キーの開始前に次の「環境」プロパティを追加します。

/etc/systemd/system/oec.service

1 2 3 4 5 6 7 8 ... [Service] ... ... Environment="OEC_CONF_SOURCE_TYPE=local" Environment="OEC_CONF_LOCAL_FILEPATH=~/oec/config.json" ... [Install]

Windows システムの場合は、[インストール] ページの指示に従ってダウンロードした zip ファイル内の oecService<32 | 64>.json ファイルを編集します。JSON には "Env" というキーが含まれており、値として配列を受け取り、"OEC_CONF_LOCAL_FILEPATH" と "OEC_CONF_SOURCE_TYPE" の値を "Env" キーの配列内にリストします。

JSON

1 2 3 4 5 6 7 8 ... ... "Env": [ "OEC_CONF_LOCAL_FILEPATH=C:\\opsgenie\\oec-win64\\config.json", "OEC_CONF_SOURCE_TYPE=local" ], ... ...

git リポジトリから設定ファイルを読み取るには、次の手順に従います。

  • OEC_CONF_GIT_URLOEC_CONF_GIT_FILEPATHOEC_CONF_GIT_PRIVATE_KEY_FILEPATHOEC_CONF_GIT_PASSPHRASE 変数を設定します。

パブリック リポジトリを使用している場合は、git URL の https 形式を使用する必要があります。非公開キーとパス フレーズを設定する必要はありません

  • OEC_API_KEY 変数 (オプション) を設定できます。このプロパティが環境内で設定されている場合は apiKey として、それ以外の場合は設定ファイル (後述) の apiKey が使用されます。

鍵 (キー)

値のプロパティ

OEC_CONF_SOURCE_TYPE

git → git から取得する場合

local → ローカル環境から取得する場合

OEC_CONF_SOURCE_TYPE=git
または
OEC_CONF_SOURCE_TYPE=local

OEC_CONF_LOCAL_FILEPATH

拡張子が (.yaml、.yml、または .json) のファイル パス
デフォルト: ~/oec/config.json

OEC_CONF_LOCAL_FILEPATH=/home/Opsgenie/OECConfig.yaml
または
OEC_CONF_LOCAL_FILEPATH=~/OECConfig.json

OEC_CONF_GIT_URL

git リポジトリの HTTPS または SSH URL

OEC_CONF_GIT_URL=git@bitbucket.com:metehan/test-private-conf-cem.git
または
OEC_CONF_GIT_URL=https://bitbucket.org/metehan_ozturk/test-conf-cem.git

OEC_CONF_GIT_FILEPATH

git リポジトリ フォルダ内のファイルパス (.yaml、yml、または .json)

OEC_CONF_GIT_FILEPATH=~/oec/config.json

OEC_CONF_GIT_PRIVATE_KEY_FILEPATH

ローカル ドライブにおける git ssh キーの場所

OEC_CONF_GIT_PRIVATE_KEY_FILEPATH=~/.ssh/id_rsa

OEC_CONF_GIT_PASSPHRASE

ssh パス フレーズ

OEC_CONF_GIT_PASSPHRASE=1234

OEC_LOG_FORMAT_TYPE

text→ logrus テキスト タイプ ログ
json → logrus json タイプ ログ
colored → 色つき logrus タイプ ログ (デフォルト)

OEC_LOG_FORMAT_TYPE=text

OEC_API_KEY

Opsgenie の OEC インテグレーション ページの API キー。このプロパティが設定されている場合は、設定ファイルで提供された apiKey を上書きします。

OEC_API_KEY=4XXXXXX7-XXXX-XXXX-XXXX-9XXXXXXXXXX4

'〜' 文字は、顧客のサーバーでユーザーとしてプログラムを実行するためのホーム ディレクトリとして使用できます。

Prometheus のデフォルト メトリックスは以下から取得できます。 

http://localhost:<port-number>/metrics

  • 同じ環境で複数の OEC を実行するには、-oec-metrics フラグを個別のポート番号の値として設定する必要があります。
    -oec-metrics <port-number>)

 

ログ

OEC ログ ファイルは次の場所にあります。

  • Windows の場合: var/log/opsgenie/oec<pid>.log

  • Linux の場合: /var/log/opsgenie/oec<pid>.log

  • ログのファイル名の最後に、実行中のプロセスを識別するためのプログラム ID (pid) があります。

 

設定ファイル

OEC は、フィールドを含む json と yaml のファイル拡張子をサポートしています。設定ファイルパスが設定されている必要があります 

OEC_CONF_LOCAL_FILEPATH

 または 

OEC_CONF_GIT_FILEPATH

ローカルまたは git の選択による。

 

 

フィールド

タイプ

(必須)

説明

API キー

文字列

true

Opsgenie の OEC インテグレーション ページからコピーされる API キー

ベース URL

文字列

false

Opsgenie ミラーの API URL
* デフォルト: 'https://api.opsgenie.com'

logLevel

文字列

false

OEC のログ レベル
既定: ‘info'
オプション: ‘info’、‘debug’、'trace’、‘error’、‘warn’

globalArgs

文字列のリスト

false

すべてのアクションに適用される引数を実行する

globalFlags

文字列 key-value のマップ

false

すべてのアクションに適用されるフラグを実行します。
マップ フィールドはフラグ キーと値で構成されます。
付与されたフラグは、アクション スクリプトまたは実行可能ファイルにおける解析が強制される場合があります。

globalEnv

文字列のリスト

false

各要素は、‘=’ 文字で区切られた 1 つの環境変数名と値を示します。すべてのアクションに適用されます (例: “ENV1=value”)。

actionMappings

文字列キーと mappedAction 値のマップ

true

アラート アクション マッピングのマップ
各マッピングには、Opsgenie で定義されたキーとしてアクション名 (文字列) があります (Create など)。
少なくとも 1 つのアクションが存在している必要があります。

actionMappingsmappedAction

マップ

true

各 mappedAction はアクションを表し、アクション プロパティ sourceType、filepath、gitOptions、環境変数が含まれています。

actionMappingsmappedActionsourceType

文字列

true

スクリプト ファイルの場所の種類は「ローカル」または「git」にできます

actionMappingsmappedActionfilepath

文字列

true

スクリプトまたは実行可能ファイルの場所
*「local」の場合はフルパスを指定する必要があります ('~' を使用できます)。「git」の場合は、ディレクトリのパスを提供する必要があります。

actionMappingsmappedActionstdout

文字列

false

アクションの stdout ファイルパス

actionMappingsmappedActionstderr

文字列

false

アクションの stderr ファイルパス

actionMappingsmappedActionargs

文字列のリスト

false

指定されたアクションに適用される引数を実行する

actionMappings → mappedAction → flags

文字列 key-value のマップ

false

指定されたアクションに適用されるフラグを実行します。
マップ フィールドは、フラグ キーと値で構成されます。
付与されたフラグは、アクション スクリプトまたは実行可能ファイルでの解析が強制される場合があります。

actionMappingsmappedActionenv

文字列のリスト

false

各要素は、‘=’ 文字で区切られた 1 つの環境変数名と値を示します。指定されたアクションに適用されます (例: “ENV1=value”)。

actionMappingsmappedActiongitOptions

マップ

git ソースには true です

このフィールドには、url (git リポジトリ URL)、
privateKeyFilePath (ssh キーファイル)、
passphrase (もしあれば) という 3 つの文字列プロパティがあります。
プロパティは、環境変数セクションと同じ git 環境変数です。
*soruceType が「git」の場合は gitOptions を設定する必要があります。

actionMappingsmappedActiongitOptionsurl

文字列

git ソースには true です

mappedAction の git リポジトリの HTTPS または SSH URL

actionMappings → mappedAction → gitOptions → privateKeyFilepath

文字列

false

mappedAction の git リポジトリの非公開キー ファイルパス (必要な場合)

actionMappingsmappedActiongitOptionspassphrase

文字列

false

mappedAction の git リポジトリのパスフレーズ (必要な場合)

pollerConf

マップ

false

このフィールドは、OEC の sqs キューをポーリングするポーラーの動作を指定する 3 つのすべての整数プロパティを取得します。

pollerConfpollingWaitIntervalInMillis

整数

false

キューまたは空きジョブ ワーカーに新しいメッセージがない場合のポーラーの待機時間。
デフォルト: 100 (ミリ秒)
このフィールドの値が小さいと (例: < 100 ms)、CPU 使用率が高くなる可能性があります。

pollerConfvisibilityTimeoutInSeconds

整数

false

sqs キューからポーリングされるメッセージの可視性タイムアウト
* デフォルト: 30 (秒)

pollerConf → maxNumberOfMessages

整数

false

一度に受信するメッセージの最大数
デフォルト: 10
最大制限は 10 です。

poolConf

マップ

false

このフィールドによって、人材を管理する人材プールの動作を指定する
5 つすべての整数プロパティを取得します (go routine)

poolConfmaxNumberOfWorker

整数

false

ワーカー処理アクションの最大数
デフォルト: 12
CPU バインドされたプロセスは maxNumberOfWorker の値を大きくする必要がない場合があります。
*maxNumberOfWorker の値を大きくすると、I/O バインドされたプロセスでは有用な場合がある。

poolConfminNumberOfWorker

整数

false

ワーカー処理アクションの最小数。
デフォルト: 4
アクティブなプロセスがあまりない場合、MinNumberOfWorker はアイドル ワーカー番号の下限を決定します。

poolConf → queueSize

整数

false

sqs キューから受信したメッセージの内部キュー サイズ
デフォルト: 0
すべてのワーカーがビジーの際は、メッセージを内部キューに保存できます。
* キュー サイズを有効にすることはお勧めしません。プログラムがクラッシュすると、データが失われる可能性があります。

poolConfkeepAliveTimeInMillis

整数

false

実際の人材数が minNumberOfWorker よりも多い際の、アイドル状態の人材の有効な時間制限
* 既定: 6,000 (ミリ秒)

poolConfmonitoringPeriodInMillis

整数

false

プール メトリックスを記録する監視間隔
*デフォルト: 15,000 (ミリ秒)

 

args、フラグ、env のローカル変数は、グローバル変数をオーバーライドします。

  • apiKeyopsgenieUrl (baseUrl)、payload (JSON としての OEC コールバック) は、フラグ形式として引数に渡されます。これらのフラグは、アクション スクリプトまたは実行可能ファイル内で解析する必要があります。

  • ペイロードは、アラート情報と統合固有のパラメーターで構成されています。「OEC 経由で送信」 オプションには、統合固有のパラメーターが存在します。

  • OEC は、1 分ごとに git リポジトリを定期的に更新します。

OEC インテグレーションは、実際のアクションを直接使用します (例: 作成閉じる確認など)。他の統合は関連した "mappedAction" を使用します (例: Jira インテグレーションの場合の addCommentToIssuecreateIssue など)。

JSON ファイルの例

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 { "appName": "OEC-Example", "apiKey" : "4w3a0df7-d5c8-40d7-96db-975986bx3cb4", "baseUrl" : "https://api.opsgenie.com", "logLevel" : "debug", "globalArgs" : ["globalArg"], "_globalFlags" : { "comment out" : "remove '_' sign to enable globalFlags", "flagKey" : "flagValue" }, "globalEnv" : ["globalEnv1=value"], "actionMappings" : { "Create" : { "sourceType" : "local", "filepath" : "~/Desktop/executable", "args" : ["arg"], "_flags": { "comment out" : "remove '_' sign to enable flags", "flagKey" : "flagValue" }, "env" : ["env1=value"], "stdout" : "~/Desktop/createOut.txt", "stderr" : "~/Desktop/createErr.txt" }, "Acknowledge" : { "sourceType" : "git", "filepath" : "/executable", "gitOptions" : { "url" : "https://bitbucket.org/example/example.git" }, "stdout" : "~/Desktop/ackOut.txt", "stderr" : "~/Desktop/ackErr.txt" }, "Custom" : { "sourceType" : "git", "filepath" : "/executable", "gitOptions" : { "url" : "git@gitlab.com:example/example.git", "privateKeyFilepath" : "~/.ssh/id_rsa", "passphrase" : "pass" } } }, "pollerConf" : { "pollingWaitIntervalInMillis" : 100, "visibilityTimeoutInSeconds" : 30, "maxNumberOfMessages" : 10 }, "poolConf" : { "maxNumberOfWorker": 12, "minNumberOfWorker": 4, "queueSize" : 0, "keepAliveTimeInMillis" : 6000, "monitoringPeriodInMillis" : 15000 } }

YAML ファイルの例

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 --- appName: OEC-Example apiKey: 4w3a0df7-d5c8-40d7-96db-975986bx3cb4 baseUrl: https://api.opsgenie.com logLevel: debug globalArgs: - globalArg _globalFlags: comment out: remove '_' sign to enable globalFlags flagKey: flagValue globalEnv: - globalEnv1=value actionMappings: Create: sourceType: local filepath: "~/Desktop/executable" args: - arg _flags: comment out: remove '_' sign to enable flags flagKey: flagValue env: - env1=value stdout: "~/Desktop/createOut.txt" stderr: "~/Desktop/createErr.txt" Acknowledge: sourceType: git filepath: "/executable" gitOptions: url: https://bitbucket.org/example/example.git stdout: "~/Desktop/ackOut.txt" stderr: "~/Desktop/ackErr.txt" Custom: sourceType: git filepath: "/executable" gitOptions: url: git@gitlab.com:example/example.git privateKeyFilepath: "~/.ssh/id_rsa" passphrase: pass pollerConf: pollingWaitIntervalInMillis: 100 visibilityTimeoutInSeconds: 30 maxNumberOfMessages: 10 poolConf: maxNumberOfWorker: 12 minNumberOfWorker: 4 queueSize: 0 keepAliveTimeInMillis: 6000 monitoringPeriodInMillis: 15000

 

その他のヘルプ