1.1. インスタンスのスケールアウト実施¶
1.1.1. 今回のシナリオで自動化する作業について¶
- 作業A インスタンスをスケールアウトする作業 
リクエスト数が閾値を超過したとき。ただし、稼働するインスタンス数は3台まで
1台稼働の閾値である50リクエスト/minを超えたとき2台稼働の閾値である100リクエスト/minを超えたとき
1.1.2. 具体的な設定の検討¶
- 設定a 外部サービスからイベントを収集する設定 
- 設定b 収集したイベントの中から、リクエスト数超過に関するイベントを特定する設定 
- 設定c リクエスト数超過に関するイベントの中から自動化する作業Aの条件に合うイベントを検知する条件の設定 
- 設定d 自動化する作業Aの登録 
- 設定e 設定cで設定した振り分け条件と設定dで登録した作業を紐づける設定 
- イベント収集設定 
- ラベルの設定 
- OASEエージェントの設定 
- ルールの設定 
1.1.3. イベント収集設定¶
Tip
1.1.3.1. イベント収集設定¶
 
| イベント収集設定名 | 接続方式 | リクエストメソッド | 接続先 | 認証情報 | TTL | |
|---|---|---|---|---|---|---|
| ユーザー名 | パスワード | |||||
| リクエスト監視 | IMAP パスワード認証 | IMAP: Plaintext | **.***.**.*** | *****@**.*** | ** | 60 | 
Tip
1.1.4. ラベルの設定¶
| ラベルキー | 利用目的 | 
|---|---|
| subject | イベントの内容を特定できるようにするラベル | 
| requestcount | 基準となった閾値を把握するためのラベル | 
| instance | 作業Aの作業結果を示すためのラベル | 
注釈
1.1.4.1. ラベルの作成¶
 
| ラベルキー | カラーコード | 
|---|---|
| subject | #FBFF00 | 
| requestcount | #7F76F9 | 
| instance | #00FF33 | 
注釈
1.1.4.2. ラベルを付与する条件の設定¶
 
| ラベリング設定名 | イベント収集設定名 | 検索条件 | ラベル | ||||
|---|---|---|---|---|---|---|---|
| キー | 値のデータ型 | 比較方法 | 比較する値 | キー | 値 | ||
| 通知名 | リクエスト監視 | subject | 文字列 | == | [alert] Requests: Threshold reached | subject | リクエスト数超過 | 
| リクエスト数監視 | リクエスト監視 | body.plain | その他 | RegExp | RequestCount . (\d{2,3}) | requestcount | \1 | 
Tip
1.1.5. OASEエージェントの設定¶
注釈
1.1.5.1. .envの設定¶
exastro-docker-compose/ita_ag_oase/.env に下記の内容を入力します。 
| 項目名 | 設定値 | 
|---|---|
| AGENT_NAME | ita-oase-agent-01 | 
| EXASTRO_URL | http://******** | 
| EXASTRO_ORGANIZATION_ID | ******** | 
| EXASTRO_WORKSPACE_ID | ******** | 
| EXASTRO_USERNAME | ******** | 
| EXASTRO_PASSWORD | ******** | 
| EVENT_COLLECTION_SETTINGS_NAMES | リクエスト監視 | 
| EXECUTE_INTERVAL | 5 | 
| LOG_LEVEL | INFO | 
Tip
1.1.5.2. エージェントの実行¶
警告
docker compose up -d --wait
docker-compose up -d --wait
docker compose logs -f
docker-compose logs -f
1.1.6. ルールの設定¶
注釈
| 通知内容 | リクエスト数超過 | 
|---|---|
| 件名 | [alert] Requests: Threshold reached | 
| 本文 | リクエスト数が、閾値を超えました。 RequestCount > 50 | 
1.1.6.1. フィルターの設定¶
注釈
 
| 有効 | フィルター名 | フィルター条件 | 検索方法 | 
|---|---|---|---|
| True | request_limit | [["subject", "==", "リクエスト数超過"], ["requestcount", "≠", "150"]] | ユニーク | 
Tip
注釈
 
警告
1.1.6.2. アクションの設定¶
 
| アクション名 | Conductor名称 | オペレーション名 | ホスト | 
|---|---|---|---|
| イベント連携 | |||
| scale-out | インスタンススケールアウト | インスタンススケールアウト | false | 
Tip
警告
 
1.1.6.3. ルールの設定¶
注釈
 
| 有効 | ルール名 | ルールラベル名 | 優先順位 | 条件 | アクション | 結論イベント | |||
|---|---|---|---|---|---|---|---|---|---|
| フィルターA | アクションID | 元イベントのラベル継承 | 結論ラベル設定 | TTL | |||||
| アクション | イベント | ||||||||
| True | スケールアウト | スケールアウト | 1 | request_limit | scale-out | True | False | ["instance", "scale-out"] | 60 | 
Tip
警告
 
1.1.6.4. 結果の確認¶
Tip
| 通知内容 | リクエスト数超過 | 
|---|---|
| 件名 | [alert] Requests: Threshold reached | 
| 本文 | リクエスト数が、閾値を超えました。 RequestCount > 50 | 
 
| 通知内容 | リクエスト数超過 | 
|---|---|
| 件名 | [alert] Requests: Threshold reached | 
| 本文 | リクエスト数が、閾値を超えました。 RequestCount > 100 | 
