ロギングの設定

このページでは、Cloud Network Insights がアラーム生成のために AppNeta と統合する方法と、これらのアラームが分析、表示、アラート ポリシーの作成のために Google Cloud に送信される方法について説明します。

ロギングとアラートのタスクは、 Google Cloud と AppNeta に分割されます。Cloud Network Insights ロギングは、モニタリング ポイントによって収集された指標が、AppNeta のアラームルールで構成したしきい値を超えたときに追跡します。

AppNeta でアラームとアラームルールを作成して、アラームログを生成します。アラームログとイベントログは、Cloud Logging にエクスポートされます。ネットワーク インシデントが発生したときにアラートと通知を送信するには、アラート ポリシーを使用します。

始める前に

アラームルールを作成する前に、モニタリング ポイントをデプロイする必要があります。

AppNeta のアラート

アラームとアラームルールは AppNeta で作成されます。アラームは、ネットワークで問題が発生したときに通知します。レイテンシなどの追跡対象の指標が、特定の期間内に設定されたしきい値を超えると、アラームルールの違反となります。1 回の違反後にアラームをトリガーするか、設定した期間に複数回の違反が発生した後にアラームをトリガーするかを選択できます。

たとえば、レイテンシが 3 分以内に 2 回 160 ミリ秒を超えた場合に、アラームを設定して警告をトリガーできます。このアラームはログとして Google Cloud に送信されます。ログが Cloud Logging に届いたら、アラートを送信してチームに通知できます。

アラームの詳細については、AppNeta ドキュメントのアラームの概要またはアラーム - ベスト プラクティスをご覧ください。

AppNeta でアラームルールを作成する

パフォーマンスのしきい値を定義するアラームルールを作成します。

  1. Google Cloud コンソールを開き、[ネットワーク インテリジェンス] > [Cloud Network Insights] > [アラート ポリシー] に移動します。

    [アラート ポリシー] に移動

  2. [アラームルールの作成] をクリックして、AppNeta の [アラームルールの編集] ページを開きます。

  3. 指標、しきい値、違反戦略、重大度を指定するルールを定義します。デフォルトのルールを使用またはカスタマイズできます。

アラームがトリガーされると、アラームログが Cloud Logging に送信されます。ログが Google Cloudに送信されたら、Cloud Network Insights に移動してアラート ポリシーを設定できます。

アラームルールの作成の詳細については、AppNeta ドキュメントのアラームルールをご覧ください。

Google Cloudでログを表示する

Cloud Network Insights は、Cloud Logging に詳細なログをエクスポートして、ネットワーク パフォーマンスと重要なイベントの分析とトラブルシューティングに役立てます。これらのログには、ログ エクスプローラを使用してアクセスできます。

  1. Google Cloud コンソールで、[ログ エクスプローラ] ページに移動します。

    [ログ エクスプローラ] に移動

  2. 関連情報に関するアラートを生成するクエリを作成します。

Cloud Network Insights ログでは、logName に次のいずれかが使用されます。

  • アラームログ - networkmanagement.googleapis.com/insights_alarm
  • イベントログ - networkmanagement.googleapis.com/insights_event

詳細については、Logging のクエリ言語を使用してクエリを作成して保存するをご覧ください。

料金

すべての Cloud Network Insights ログは Cloud Logging に書き込まれます。このサービスに対して Cloud Network Insights から別途料金が発生することはありません。ただし、書き込まれて保存されるログのサイズによっては、追加のストレージ コストが発生する可能性があります。

Cloud Logging の料金については、Google Cloud Observability の料金: Cloud Logging をご覧ください。

ログの詳細

各ログタイプの詳細情報は jsonPayload フィールドに含まれていますが、ログのクエリと理解には、他の標準の LogEntry フィールドも重要です。

アラームログ

  • ログ名: networkmanagement.googleapis.com/insights_alarm
  • トリガー: アラームルールの条件が満たされたときに生成されます。
  • リソースラベル: ログに関連付けられているモニタリング対象リソースについて説明します。これには以下が含まれます。
    • type - リソースのタイプ。次のいずれかになります。
      • networkmanagement.googleapis.com/NetworkMonitoringProvider
      • networkmanagement.googleapis.com/MonitoringPoint
      • networkmanagement.googleapis.com/NetworkPath
    • labels - 特定のリソース インスタンスを識別するキーと値のペア(resource_container(プロジェクト ID)、locationnetwork_monitoring_provider_idpath_idmonitoring_point_id など)。
  • キー JSON フィールド: アラームログには、トリガーされたアラームに関する情報が記載されています。
  • 重大度のマッピング: 重大度は AppNeta と Google Cloudで異なる方法で記録されます。
    AppNeta の重大度 Google Cloud ログの重大度
    重大 重大
    重大 エラー
    軽微 警告
    警告 通知

アラームログのフィールド

アラームログの jsonPayload には次のフィールドが含まれます。

フィールド 説明
alarm_id 文字列 AppNeta のアラートの固有識別子。
alarm_severity enum アラームの重大度。CRITICALMAJORMINORWARNING のいずれかになります。
alarm_type enum アラームのタイプ。QUALITY_OF_SERVICE 型がサポートされています。
cleared_time timestamp アラームがクリアされた時刻。アラームログの状態が RAISED または UPDATED の場合、これは空になります。
description 文字列 アラームの説明(人が読める形式)。
first_violation_time timestamp アラーム条件が最初に違反された時刻。
item オブジェクト アラームに関連付けられているエンティティ。詳しくは、一般的なアイテム構造をご覧ください。
provider_link 文字列 AppNeta UI のアラームへのハイパーリンク。
raised_time timestamp アラームが発生した時刻。
receiveTimestamp 文字列 アラームが作成された時刻( Google Cloud)。
rule 文字列 アラームをトリガーしたアラームルールの名前。
state enum アラームの状態。RAISEDUPDATED(アラームの詳細は AppNeta で更新されたが、まだクリアされていない)、CLEARED のいずれかになります。
timestamp 文字列 AppNeta でアラームが作成された時刻。

イベントログ

  • ログ名: networkmanagement.googleapis.com/insights_event
  • トリガー: 構造的な変更(Route ChangeMTU ChangeMonitoring Point Offline など)が発生したときに生成されます。
  • 重大度: 常に INFO
  • 主な JSON フィールド: イベントログには、トリガーされたイベントに関する情報が記録されます。

イベントログのフィールド

イベントログの jsonPayload には、次のフィールドが含まれます。

フィールド 説明
event_detail オブジェクト イベントタイプに固有の詳細。値は route_change_eventmtu_change_event または qos_change_event です。詳細情報のないイベントについては、空のオブジェクトが返されます。詳しくは、 イベントの詳細フィールドをご覧ください。
event_id 文字列 このイベントの一意の識別子。
event_type enum イベントのタイプ。MONITORING_POINT_OFFLINEMONITORING_POINT_ONLINEROUTE_CHANGEMTU_CHANGEQOS_CHANGE のいずれかになります。
item オブジェクト イベントに関連付けられているエンティティ。詳しくは、共通アイテム構造をご覧ください。
receiveTimestamp 文字列 イベントが作成された時刻( Google Cloud)。
timestamp 文字列 AppNeta でイベントが作成された時刻。

イベントの詳細フィールド

event_detail オブジェクトには、イベントタイプに固有の詳細が含まれます。event_type に応じて、次のいずれかのネストされたオブジェクトが含まれます。

詳細情報のないイベントの場合は、空のオブジェクトが返されます。

MTU 変更イベント(mtu_change_event

このオブジェクトは、MTU サイズが変更されるたびに詳細をキャプチャします。

フィールド タイプ 説明
new_mtu int32 新たに測定された MTU。
previous_mtu int32 以前の MTU(存在する場合)(起動時は省略)。

QoS 変更イベント(qos_change_event

このオブジェクトは、検出されたすべてのパスでの QoS 再マッピングを報告します。

フィールド タイプ 説明
configured_qos int32 ジョブ設定で構成された QoS。
remapped_qos int32 パスで QoS の変更が検出されました。
ip_address 文字列 QoS の変更が検出されたホップの IP アドレス(わかっている場合)。

ルート変更イベント(route_change_event

このオブジェクトは、連続する traceroute 間のホップ数または既知の IP アドレスのシーケンスの違いをキャプチャします。

フィールド タイプ 説明
previous_route_change_time timestamp 前のルートを最初に検出したトレースルートのタイムスタンプ。
protocol 文字列 traceroute に使用されるプロトコル(TCPUDPICMP など)。
hop_count int32 ルート内のホップの合計数。
target_ip 文字列 traceroute のターゲット IP アドレス。
route_changes オブジェクトの配列 検出されたすべての変更の配列。各オブジェクトには、route_change_type 文字列と details オブジェクトが含まれています。ルート変更の詳細をご覧ください。

ルート変更の詳細

route_changes 配列内の details オブジェクトは route_change_type に依存します。

  • incomplete_route または complete_route
    • terminal_hop(ホップ オブジェクト): 最後に到達したホップ(完了した場合は最終ホップ)。
    • terminal_network(ネットワーク オブジェクト): ターミナルホップのネットワーク情報。
  • route_loop
    • first_hop(ホップ オブジェクト): 検出されたルートループの最初のホップ。
    • last_hop(ホップ オブジェクト): 検出されたルートループの最後のホップ。
    • loop_span(int32): ループに関与するホップの数。
  • target_ip_change
    • previous_target_ip(文字列): 前の traceroute で観測されたターゲット IP アドレス。
    • new_target_ip(文字列): 現在のターゲット IP アドレス。
  • sequence_change
    • last_common_hop(ホップ オブジェクト): 前のトレースルートと現在のトレースルートの間の最後の共通ホップ。
    • previous_next_hop(ホップ オブジェクト): シーケンス内の前のネクストホップ デバイス。
    • new_next_hop(ホップ オブジェクト): シーケンス内の新しいネクストホップ デバイス。
    • previous_hop_count(int32): 前の traceroute のホップの合計数。
    • hop_count(int32): 現在のトレースルートのホップの合計数。
  • network_change
    • previous_asns(int32 の配列): パスの ASN ネットワークのシーケンス。
    • new_asns(int32 の配列): パスの ASN ネットワークの新しいシーケンス。
  • isp_change
    • previous_isp(ネットワーク オブジェクト): 前回の traceroute で観測された ISP。
    • new_isp(ネットワーク オブジェクト): 現在観測されている ISP。

共通サブオブジェクト

ホップ オブジェクトとネットワーク オブジェクトは、複数のフィールドに対して返されます。

ホップ

ホップ オブジェクトは、特定のネットワーク ホップを表します。

フィールド タイプ 説明
hop_number int32 traceroute のホップ番号。
ip_address 文字列 ホップの IP アドレス。
hostname 文字列 ホップの IP アドレスに解決されたホスト名。

ネットワーク

ネットワーク オブジェクトは、アクションが発生したネットワークを表します。

フィールド タイプ 説明
asn int32 ネットワークの自律システム番号(ASN)。
display_name 文字列 ネットワークの名前(ISP 名や組織名など)。

一般的なアイテム構造

アラームログとイベントログの両方の jsonPayload 内のアイテム フィールドには、関連付けられたエンティティの詳細が含まれています。構造は商品アイテム タイプによって異なります。

NetworkPathItem

フィールド 説明
destination 文字列 宛先 IP アドレスまたはホスト名。
destination_monitoring_point MonitoringPointItem 移行先 MonitoringPointItem の詳細(MonitoringPoint から MonitoringPoint へのパスの場合のみ)。
display_name 文字列 ネットワーク パスのユーザー定義の表示名。
monitoring_policy_display_name 文字列 モニタリング ポリシーの表示名。
monitoring_policy_id 文字列 モニタリング ポリシーの ID。
network_protocol 文字列 使用されるネットワーク プロトコル(TCPUDPICMP など)。
provider_tags オブジェクトの配列 パス用に AppNeta で定義されたタグ。
source_monitoring_point MonitoringPointItem ソース MonitoringPointItem の詳細。

WebPathItem

フィールド 説明
destination 文字列 リンク先 URL。
display_name 文字列 ウェブパスのユーザー定義の表示名。
monitoring_policy_display_name 文字列 モニタリング ポリシーの表示名。
monitoring_policy_id 文字列 モニタリング ポリシーの ID。
provider_tags 配列 パスのプロバイダで定義されたタグ。
source_monitoring_point オブジェクト ソース MonitoringPoint の詳細。

MonitoringPointItem

フィールド 説明
display_name 文字列 ユーザー定義のモニタリング ポイントの表示名。
host オブジェクト モニタリング ポイントのホストの詳細。
id 文字列 モニタリング ポイントの一意の識別子。
provider_tags 配列 モニタリング ポイントのプロバイダで定義されたタグ。

MonitoringPointHost

フィールド 説明
cloud_instance_id 文字列 クラウド プロバイダのインスタンス ID。
cloud_project_id 文字列 Google Cloud プロジェクト ID
cloud_provider 文字列 GCPAWSAZURE などのクラウド プロバイダ。
cloud_region 文字列 エンドポイントのクラウド リージョン(例: us-central1)。
cloud_virtual_network_ids array of strings ユーザーに表示されるクラウド仮想ネットワーク ID。
cloud_zone 文字列 エンドポイントのクラウドゾーン(例: us-central1-a)。
labels 地図 VM インスタンスに構成されたユーザー定義ラベル。
os 文字列 モニタリング ポイントのホストのオペレーティング システム。