シナリオ: ログ・データの警告
コネクタ・ハブ、ロギング、およびモニタリングの各サービスを使用して、ログ・データに対してアラームを設定します。
このシナリオでは、コネクタとアラームを作成します。コネクタ(コネクタ・ハブ) は、受信したログ・データによってトリガーされると、アラーム が起動する間、ロギングのログ・データを処理および移動します。
必要なIAMポリシー
このシナリオの設定
設定はコンソールで行うと簡単です。または、Oracle Cloud Infrastructure CLIまたはAPIを使用して、各操作を自分で実行できます。
コンソールの使用
この項では、コンソールを使用したコネクタおよびアラームの作成と、アラームで作成したトピックの更新について説明します。
トラブルシューティングのヘルプは、コネクタのトラブルシューティングおよび通知のトラブルシューティングを参照してください。
この例では、コンソールを使用した、拒否されたトラフィックについてロギングのVCNフロー・ログをフィルタしてから、そのログ・データをモニタリングの新しいメトリックに移動するコネクタの作成について説明します。
- ナビゲーション・メニューを開き、「アナリティクスとAI」をクリックします。「メッセージング」で、「コネクタ・ハブ」をクリックします。
- サービス・コネクタを作成するコンパートメントを選択します。
- 「コネクタの作成」をクリックします。
-
コネクタの作成ページで、新しいメトリックになるようにVCNフロー・ログをフィルタ処理します:
- 「コネクタ名」に「VCNフロー・ログ・エラー」などと入力します。機密情報を入力しないでください。
- 新しいコネクタを格納するリソース・コンパートメントを選択します。
- 「コネクタの構成」で、ログ・データをメトリックに移動するソース・サービスおよびターゲット・サービスを選択します:
- ソース: ロギング
- ターゲット: モニタリング
- 「ソース接続の構成」で、VCNフロー・ログを選択します:
- コンパートメント名: VCNフロー・ログ・データを含むコンパートメント。
- ログ・グループ: VCNフロー・ログ・データを含むログ・グループ。
- ログ: VCNフロー・ログのログ・オブジェクト名。
-
「ログ・フィルタ・タスク」で、ログ・データをフィルタ処理して、拒否されたトラフィックにフィルタします:
- プロパティ: data.action
- 演算子: =
- 値: REJECT
特定のポートまたはアドレスの拒否されたトラフィックに関心がある場合は、さらにフィルタを追加します。たとえば、プロパティdata.destinationPortまたはdata.destinationAddressを選択します。
- 「ターゲット接続の構成」で、フィルタ処理したログ・データで使用するメトリック・ネームスペースおよびメトリック名を入力します:
- 拒否されたトラフィックのVCNフロー・ログ・データに対応するメトリック・データ・ポイントを格納するコンパートメントを選択します。
- 新しいメトリック・ネームスペースとしてvcnlogsを入力します。 ノート
新しいメトリック・ネームスペースを入力したら、[Enter]を押して送信します。 - 新しいメトリックとしてrejectedtrafficを入力します
- ポリシー(サービス・コネクタを作成または更新するためのアクセス権で必要)の作成を求められた場合は、「作成」をクリックします。
- 「作成」をクリックします。
この例では、コンソールを使用して、モニタリングが拒否されたトラフィックのVCNフロー・ログ・データに対応するメトリック・データ・ポイントを受け取ったときにメッセージを送信するアラームを作成する手順を説明します。このプロセスの中で、トピックと電子メール・サブスクリプションを作成します。
- ナビゲーション・メニューを開き、「監視および管理」をクリックします。「モニタリング」で、「アラーム定義」をクリックします。
-
「アラームの作成」をクリックします。
-
アラームの作成ページの「アラームの定義」で、しきい値を設定します:
- メトリックの説明:
- コンパートメント: (前のタスクで指定されたコンパートメントを選択します。VCNフロー・ログ・データに対応するメトリック・データ・ポイントがここに格納されます)
- メトリック・ネームスペース: (コネクタに指定したメトリック・ネームスペースを入力します)
- メトリック名: (コネクタに指定したメトリック名を入力します)
- 間隔: 1m
- 統計: 数
-
トリガー・ルール:
- 演算子: 次より大きい
- 値: 0
- トリガー遅延分数: 1
- メトリックの説明:
- 「通知」の「宛先」で、電子メール通知を設定します:
- 宛先サービス: 通知サービス
- コンパートメント: (トピックと関連するサブスクリプションを作成するコンパートメントを選択します)
-
トピック: 「トピックの作成」をクリックします。
ノート
トピックおよび電子メール・サブスクリプションをすでに作成している場合は、新規トピックを作成せずに、ここでトピックを選択できます。- トピック名: 拒否されたトラフィック・トピック
- サブスクリプション・プロトコル: 電子メール
- サブスクリプション電子メール: (ここに電子メール・アドレスを入力します)
-
「アラームの保存」をクリックします。
CLIの使用
この項では、CLIを使用したコネクタ、トピック、サブスクリプションおよびアラームの作成手順を説明します。
APIの使用およびリクエストの署名の詳細は、REST APIのドキュメントおよびセキュリティ資格証明を参照してください。SDKの詳細は、SDKおよびCLIを参照してください。
-
コネクタを作成します: コマンド・プロンプトを開き、
oci sch service-connector create
コマンドを実行します:oci sch service-connector create --display-name "<display_name>" --compartment-id <compartment_OCID> --source [<source_in_JSON>] --tasks [<tasks_in_JSON>] --target [<targets_in_JSON>]
-
トピックを作成します: コマンド・プロンプトを開き、
oci ons topic create
コマンドを実行します:oci ons topic create --name "Alarm Topic" --compartment-id "<compartment-ocid>"
-
このトピックに、電子メール・アドレスを参照するサブスクリプションを追加します。コマンド・プロンプトを開き、
oci ons subscription create
コマンドを実行します:oci ons subscription create --compartment-id "<compartment-ocid>" --topic-id "<topic-ocid>" --protocol "EMAIL" --subscription-endpoint "john.smith@example.com"
-
エラーのしきい値を定義して、このトピックを宛先として使用するアラームを作成します: コマンド・プロンプトを開き、
oci monitoring alarm create
コマンドを実行します:oci monitoring alarm create --display-name "My Alarm" --compartment-id "<compartment-ocid>" --metric-compartment-id "<compartment-ocid>" --namespace "oci_computeagent" --query-text "<yourmetric>[1m].count() > 0" --severity "INFO" --destinations "<topic-ocid>" --is-enabled true
トラブルシューティングのヘルプは、コネクタのトラブルシューティングおよび通知のトラブルシューティングを参照してください。
APIの使用
この項では、APIを使用したコネクタ、トピック、サブスクリプションおよびアラームの作成手順を説明します。
APIの使用およびリクエストの署名の詳細は、REST APIのドキュメントおよびセキュリティ資格証明を参照してください。SDKの詳細は、SDKおよびCLIを参照してください。
次の操作を使用します:
-
CreateServiceConnector: コネクタを作成します。
CreateServiceConnectorリクエストの例POST /20200909/serviceConnectors Host: service-connector-hub.us-phoenix-1.oraclecloud.com <authorization and other headers> { "compartmentId": "<compartment_OCID>", "description": "My connector description", "displayName": "My Connector", "source": { "kind": "logging", "logSources": [ { "compartmentId": "<compartment_OCID>", "logGroupId": "<log_group_OCID>", "logId": "<log_OCID>" } ] }, "target": { "compartmentId": "<compartment_OCID>", "kind": "metrics", "metric": "<yourmetric>", "metricNamespace": "<yournamespace>" }, "tasks": [ { "condition": "data.action='REJECT'", "kind": "logRule" } ] } }
-
CreateTopic: トピックを作成します。
CreateTopicリクエストの例POST /20181201/topics Host: notification.us-phoenix-1.oraclecloud.com <authorization and other headers> { "name": "Alarm Topic", "compartmentId": "<compartment_OCID>" }
-
CreateSubscription: このトピックに、電子メール・アドレスを参照するサブスクリプションを追加します。
CreateSubscriptionリクエストの例: 電子メールPOST /20181201/subscriptions Host: notification.us-phoenix-1.oraclecloud.com <authorization and other headers> { "topicId": "<topic_OCID>", "compartmentId": "<compartment_OCID>", "protocol": "EMAIL", "endpoint": "john.smith@example.com" }
-
CreateAlarm: メモリーしきい値を定義して、このトピックを参照するアラームを作成します。
CreateAlarmリクエストの例POST /20180401/alarms Host: telemetry.us-phoenix-1.oraclecloud.com <authorization and other headers> { "displayName": "My Alarm", "compartmentId": "<compartment_OCID>", "metricCompartmentId": "<compartment_OCID>", "namespace": "<yournamespace>", "query": "<yourmetric>[1m].count() > 0", "severity": "INFO", "destinations": [ "<topic_OCID>" ], "isEnabled": true }
トラブルシューティングのヘルプは、コネクタのトラブルシューティングおよび通知のトラブルシューティングを参照してください。