ユーザーとして Opsgenie の利用を開始する
プロフィールの設定、Opsgenie からの通知の取得、オンコール スケジュールの表示に関するすべての方法を説明します。
前提条件
場所やパスなどの構成ファイル プロパティを設定するには、次の手順に従います。
まず、場所設定ファイルのいくつかの環境変数を設定する必要があります。
設定ファイルを取得するには、ローカル ドライブからか 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_URL、OEC_CONF_GIT_FILEPATH、OEC_CONF_GIT_PRIVATE_KEY_FILEPATH、OEC_CONF_GIT_PASSPHRASE 変数を設定します。
パブリック リポジトリを使用している場合は、git URL の https 形式を使用する必要があります。非公開キーとパス フレーズを設定する必要はありません。
OEC_API_KEY 変数 (オプション) を設定できます。このプロパティが環境内で設定されている場合は apiKey として、それ以外の場合は設定ファイル (後述) の apiKey が使用されます。
鍵 (キー) | 値のプロパティ | 例 |
---|---|---|
OEC_CONF_SOURCE_TYPE | git → git から取得する場合 | OEC_CONF_SOURCE_TYPE=git |
OEC_CONF_LOCAL_FILEPATH | 拡張子が (.yaml、.yml、または .json) のファイル パス | OEC_CONF_LOCAL_FILEPATH=/home/Opsgenie/OECConfig.yaml |
OEC_CONF_GIT_URL | git リポジトリの HTTPS または SSH URL | OEC_CONF_GIT_URL=git@bitbucket.com:metehan/test-private-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 テキスト タイプ ログ | 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 |
logLevel | 文字列 | false | OEC のログ レベル |
globalArgs | 文字列のリスト | false | すべてのアクションに適用される引数を実行する |
globalFlags | 文字列 key-value のマップ | false | すべてのアクションに適用されるフラグを実行します。 |
globalEnv | 文字列のリスト | false | 各要素は、‘=’ 文字で区切られた 1 つの環境変数名と値を示します。すべてのアクションに適用されます (例: “ENV1=value”)。 |
actionMappings | 文字列キーと mappedAction 値のマップ | true | アラート アクション マッピングのマップ |
actionMappings → mappedAction | マップ | true | 各 mappedAction はアクションを表し、アクション プロパティ sourceType、filepath、gitOptions、環境変数が含まれています。 |
actionMappings → mappedAction → sourceType | 文字列 | true | スクリプト ファイルの場所の種類は「ローカル」または「git」にできます |
actionMappings → mappedAction → filepath | 文字列 | true | スクリプトまたは実行可能ファイルの場所 |
actionMappings → mappedAction → stdout | 文字列 | false | アクションの stdout ファイルパス |
actionMappings → mappedAction → stderr | 文字列 | false | アクションの stderr ファイルパス |
actionMappings → mappedAction → args | 文字列のリスト | false | 指定されたアクションに適用される引数を実行する |
actionMappings → mappedAction → flags | 文字列 key-value のマップ | false | 指定されたアクションに適用されるフラグを実行します。 |
actionMappings → mappedAction → env | 文字列のリスト | false | 各要素は、‘=’ 文字で区切られた 1 つの環境変数名と値を示します。指定されたアクションに適用されます (例: “ENV1=value”)。 |
actionMappings → mappedAction → gitOptions | マップ | git ソースには true です | このフィールドには、url (git リポジトリ URL)、 |
actionMappings → mappedAction → gitOptions → url | 文字列 | git ソースには true です | mappedAction の git リポジトリの HTTPS または SSH URL |
actionMappings → mappedAction → gitOptions → privateKeyFilepath | 文字列 | false | mappedAction の git リポジトリの非公開キー ファイルパス (必要な場合) |
actionMappings → mappedAction → gitOptions → passphrase | 文字列 | false | mappedAction の git リポジトリのパスフレーズ (必要な場合) |
pollerConf | マップ | false | このフィールドは、OEC の sqs キューをポーリングするポーラーの動作を指定する 3 つのすべての整数プロパティを取得します。 |
pollerConf → pollingWaitIntervalInMillis | 整数 | false | キューまたは空きジョブ ワーカーに新しいメッセージがない場合のポーラーの待機時間。 |
pollerConf → visibilityTimeoutInSeconds | 整数 | false | sqs キューからポーリングされるメッセージの可視性タイムアウト |
pollerConf → maxNumberOfMessages | 整数 | false | 一度に受信するメッセージの最大数 |
poolConf | マップ | false | このフィールドによって、人材を管理する人材プールの動作を指定する |
poolConf → maxNumberOfWorker | 整数 | false | ワーカー処理アクションの最大数 |
poolConf → minNumberOfWorker | 整数 | false | ワーカー処理アクションの最小数。 |
poolConf → queueSize | 整数 | false | sqs キューから受信したメッセージの内部キュー サイズ |
poolConf → keepAliveTimeInMillis | 整数 | false | 実際の人材数が minNumberOfWorker よりも多い際の、アイドル状態の人材の有効な時間制限 |
poolConf → monitoringPeriodInMillis | 整数 | false | プール メトリックスを記録する監視間隔 |
args、フラグ、env のローカル変数は、グローバル変数をオーバーライドします。
apiKey、opsgenieUrl (baseUrl)、payload (JSON としての OEC コールバック) は、フラグ形式として引数に渡されます。これらのフラグは、アクション スクリプトまたは実行可能ファイル内で解析する必要があります。
ペイロードは、アラート情報と統合固有のパラメーターで構成されています。「OEC 経由で送信」 オプションには、統合固有のパラメーターが存在します。
OEC は、1 分ごとに git リポジトリを定期的に更新します。
OEC インテグレーションは、実際のアクションを直接使用します (例: 作成、閉じる、確認など)。他の統合は関連した "mappedAction" を使用します (例: Jira インテグレーションの場合の addCommentToIssue、createIssue など)。
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
この内容はお役に立ちましたか?