シナリオ: ログ・データの警告

コネクタ・ハブ、ロギング、およびモニタリングの各サービスを使用して、ログ・データに対してアラームを設定します。

このシナリオでは、コネクタとアラームを作成します。コネクタ(コネクタ・ハブ) は、受信したログ・データによってトリガーされると、アラーム が起動する間、ロギングのログ・データを処理および移動します。

必要なIAMポリシー

管理者グループのメンバーであれば、このシナリオを実行するために必要なアクセス権をすでに持っています。それ以外の場合は、モニタリング および通知 へのアクセス権が必要です。

コネクタを作成するワークフローには、ターゲット・サービスへの書込みのための権限を提供するために必要なデフォルト・ポリシーが含まれます。ポリシーを初めて使用する場合は、IAMポリシーの概要を参照してください。

このシナリオの設定

設定はコンソールで行うと簡単です。または、Oracle Cloud Infrastructure CLIまたはAPIを使用して、各操作を自分で実行できます。

この例では、拒否されたトラフィックについてVCNフロー・ログロギングからフィルタ処理してから、そのログ・データをモニタリングの新しいメトリックに移動するコネクタを作成します。

トラブルシューティングのヘルプは、コネクタのトラブルシューティングおよび通知のトラブルシューティングを参照してください。

  • この項では、コンソールを使用したコネクタおよびアラームの作成と、アラームで作成したトピックの更新について説明します。

    ノート

    このシナリオのもう1つのワークフローでは、最初にトピックサブスクリプションの作成を行ってから、アラームを作成するときにそのトピックを選択します。
    タスク1: コネクタの作成

    タスク1: コネクタの作成

    ノート

    「コネクタの作成」ページのフィールドの詳細は、コネクタの作成を参照してください。

    「コネクタ」リスト・ページで、「コネクタの作成」を選択します。リスト・ページの検索に関するヘルプが必要な場合は、コネクタのリストを参照してください。

    1. 基本的なコネクタ情報

    識別情報の入力

    • コネクタ名: 新しいコネクタのわかりやすい名前とオプションの説明を入力します。機密情報を入力しないでください。例: VCNフロー・ログ・エラー
    • コンパートメントの選択: 新しいコネクタを格納するコンパートメントを選択します。

    「次へ」を選択します。

    2. コネクタ・ソースの構成

    VCNフロー・ログを選択します。

    • ソースの選択: 「ロギング」を選択します。
    • ソースの構成: VCNフロー・ログのコンパートメント、ログ・グループおよびログを選択します。
    • ログ・フィルタ・タスク: ログ・データをフィルタ処理して、拒否されたトラフィックに絞り込みます。
      • プロパティ: data.action
      • 演算子: =
      • : REJECT

      特定のポートまたはアドレスの拒否されたトラフィックに関心がある場合は、さらにフィルタを追加します。たとえば、プロパティdata.destinationPortまたはdata.destinationAddressを選択します。

    「次へ」を選択します。

    3. コネクタ・タスクの構成

    「次へ」を選択します(このセクションはスキップします)。

    4. コネクタ・ターゲットの構成

    フィルタ処理したログ・データで使用するメトリック・ネームスペースおよびメトリック名を入力します。

    • ターゲット: 「モニタリング」を選択します。
    • ターゲットの構成: 次の情報を入力します。
      • コンパートメント: 拒否済トラフィックのVCNフロー・ログ・データに対応するメトリック・データ・ポイントを格納するコンパートメントを選択してください。
      • メトリック・ネームスペース: vcnlogs
        ノート

        新しいメトリック・ネームスペースを入力したら、[Enter]を押して送信します。
      • メトリック: rejectedtraffic
    • ポリシーの作成: 入力したターゲット構成に指定したデフォルト・ポリシーを受け入れる場合に選択します。

    「次へ」を選択します。

    コネクタ・プレビュー

    コネクタ構成を確認し、「作成」を選択します。

    作成プロセスが開始され、その進行状況が表示されます。完了すると、コネクタの詳細ページが開きます。

    タスク2: アラームの作成

    タスク2: アラームの作成

    この例では、コンソールを使用して、モニタリングが拒否されたトラフィックのVCNフロー・ログ・データに対応するメトリック・データ・ポイントを受け取ったときにメッセージを送信するアラームを作成する手順を説明します。このプロセスの中で、トピックと電子メール・サブスクリプションを作成します。

    1. ナビゲーション・メニューを開き、「監視および管理」を選択します。「モニタリング」で、「アラーム定義」を選択します。
    2. 「アラームの作成」を選択します。

    3. アラームの作成ページの「アラームの定義」で、しきい値を設定します:

      • メトリックの説明:
        • コンパートメント: (前のタスクで指定されたコンパートメントを選択します。VCNフロー・ログ・データに対応するメトリック・データ・ポイントがここに格納されます)
        • メトリック・ネームスペース: (コネクタに指定したメトリック・ネームスペースを入力します)
        • メトリック名: (コネクタに指定したメトリック名を入力します)
        • 間隔: 1m
        • 統計:
      • トリガー・ルール:

        • 演算子: 次より大きい
        • : 0
        • トリガー遅延分数: 1
    4. 「通知」「宛先」で、電子メール通知を設定します:
      • 宛先サービス: 通知サービス
      • コンパートメント: (トピックと関連するサブスクリプションを作成するコンパートメントを選択します)
      • トピック: 「トピックの作成」を選択します。

        ノート

        トピックおよび電子メール・サブスクリプションをすでに作成している場合は、新規トピックを作成せずに、ここでトピックを選択できます。
        • トピック名: 拒否されたトラフィック・トピック
        • サブスクリプション・プロトコル: 電子メール
        • サブスクリプション電子メール: (ここに電子メール・アドレスを入力します)
    5. 「アラームの保存」を選択します。

  • この項では、CLIを使用したコネクタ、トピック、サブスクリプションおよびアラームの作成手順を説明します。

    APIの使用およびリクエストの署名の詳細は、REST APIのドキュメントおよびセキュリティ資格証明を参照してください。SDKの詳細は、SDKおよびCLIを参照してください。

    1. コネクタを作成します: コマンド・プロンプトを開き、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>]
    2. トピックを作成します: コマンド・プロンプトを開き、oci ons topic createコマンドを実行します:

      oci ons topic create --name "Alarm Topic" --compartment-id "<compartment-ocid>"
    3. このトピックに、電子メール・アドレスを参照するサブスクリプションを追加します。コマンド・プロンプトを開き、oci ons subscription createコマンドを実行します:

      oci ons subscription create --compartment-id "<compartment-ocid>" --topic-id "<topic-ocid>" --protocol "EMAIL" --subscription-endpoint "john.smith@example.com"
    4. エラーのしきい値を定義して、このトピックを宛先として使用するアラームを作成します: コマンド・プロンプトを開き、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の使用およびリクエストの署名の詳細は、REST APIのドキュメントおよびセキュリティ資格証明を参照してください。SDKの詳細は、SDKおよびCLIを参照してください。

    次の操作を使用します:

    1. 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"
          }
        ]
        }
      }
    2. CreateTopic: トピックを作成します。

      CreateTopicリクエストの例
      POST /20181201/topics
      Host: notification.us-phoenix-1.oraclecloud.com
      <authorization and other headers>
      {
        "name": "Alarm Topic",
        "compartmentId": "<compartment_OCID>"
      }
    3. 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"
      }
    4. 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
      }

    トラブルシューティングのヘルプは、コネクタのトラブルシューティングおよび通知のトラブルシューティングを参照してください。