トポロジ図を使用して、システムアーキテクチャ、サービス間の依存関係、およびデータフローの方向を理解できます。 このトピックでは、トポロジグラフを設定する方法について説明します。
概要
トポロジチャートは、モジュールまたはアプリケーション間の依存関係と、トポロジデータに関する全体的な情報を直感的な方法で示すグローバルビューを提供します。
トポロジデータがSimple Log Serviceに収集された後、Simple Log Serviceはデータを解析してフォーマットします。 トポロジデータの例を次の図に示します。 childフィールドとparentフィールドを使用して、異なるモジュールまたはアプリケーション間の非直感的な依存関係のみを取得できます。
Simple Log Serviceを使用すると、前述のトポロジデータに基づいて依存関係を記述するフィールドをクエリおよび分析できます。 たとえば、* | SELECT child、parent、child_type、parent_type FROM
ステートメントを実行して、child、child_type、parent、およびchild_typeフィールドを取得できます。 フィールドを取得すると、Simple Log Serviceはフィールドに基づいてトポロジチャートを生成し、強制指定レイアウト、階層レイアウト、または円形レイアウトでトポロジチャートを表示できます。
トポロジグラフを追加するエントリポイントの詳細については、「グラフをダッシュボードに追加する」をご参照ください。
設定例
Simple Log Service コンソールにログインします。 [プロジェクト] セクションで、目的のプロジェクトをクリックします。
左側のナビゲーションウィンドウで、[ダッシュボード]> [ダッシュボード] を選択します。 ダッシュボードリストで、目的のダッシュボードをクリックします。 ダッシュボードページの右上隅にある [編集] をクリックします。 編集モードで、[追加] > [グラフの追加] をクリックします。
[グラフの編集] ページの右側で、[グラフの種類] セクションの [トポロジ] を選択し、次の図に基づいて [トポロジ設定] および [レイアウト設定] セクションのパラメーターを設定します。 [チャートの編集] ページの左側で、トポロジチャートのクエリ時間範囲、Logstore、およびクエリステートメントを設定します。 設定が完了したら、[グラフの編集] ページの上部にある [適用] をクリックして、トポロジグラフの設定効果を表示します。
次のクエリ文を使用して、childr_service、parent_service、およびtypeフィールドを取得します。 フィールドが取得されると、Simple Log Serviceはフィールドに基づいてトポロジチャートを生成します。
version: service | select child_service, parent_service, 'SERVER' as type from log
[一般的な構成] タブの構成
トポロジチャートのグローバル設定は、[全般構成] タブで構成できます。
基本設定
パラメーター
説明
タイトル
チャートのタイトル。
表示タイトル
[タイトルの表示] をオンにすると、チャートのタイトルが表示されます。
表示ボーダー
[枠の表示] をオンにすると、グラフの枠が表示されます。
表示背景
[背景の表示] をオンにすると、チャートの背景色が表示されます。
表示時間
[表示時間] をオンにすると、チャートのクエリ時間範囲が表示されます。
固定時間
[固定時間] をオンにすると、グラフのクエリ時間範囲はダッシュボードのグローバル時間範囲とは無関係になります。
[トポロジ構成] セクションのパラメータ
パラメーター
説明
子ノードタイプ
子ノードタイプを指定するフィールド。
子ノードID
子ノードIDを指定するフィールド。
親ノードタイプ
親ノードタイプを指定するフィールド。
親ノードID
親ノードIDを指定するフィールド。
説明シンプルなLog Serviceトポロジグラフには、サーバー、データベース、web、Message Queue (MQ) 、server Load Balancer (SLB) 、Web Application Firewall (WAF) 、Object Storage Service (OSS) 、Alibaba Cloud DNS (DNS) 、スイッチ、ルーター、Android、iOS、およびWindowsのノードの種類を表すアイコンが表示されます。
子ノードタイプまたは親ノードタイプパラメーターを設定しない場合、Simple Log Serviceはサーバーのアイコンを使用してノードを表示します。
変数置換セクションのパラメータ
パラメーター
説明
可変交換
変数の置き換えの設定。 [AddVariable Replacement] をクリックすると、Variable Replacementタイプのフィルターをテーブルに追加できます。 [一般的な設定] タブで変数置換の設定を行った後、Simple Log Serviceはテーブルの左上隅にフィルターを追加します。 フィルタードロップダウンリストから値を選択できます。 その後、Simple Log Serviceは、テーブルのクエリステートメント内の変数を、選択した値が示す変数値に自動的に置き換え、クエリおよび分析操作を実行します。 詳細については、「例2: 変数置換の設定」をご参照ください。
[ノードメトリックの設定] タブでの設定
[一般的な構成] タブで設定を完了すると、Simple Log Serviceによってトポロジーチャートが生成されます。 トポロジグラフには、ノード間の依存関係のみが表示されます。 メトリックは表示されません。 この場合、[Node Metric Configuration] タブで設定を行い、ノードメトリック情報を追加できます。
次の図は、メトリックの例を示しています。 この例では、nodeフィールドはノードを示す。 ノードフィールドは、トポロジデータの子フィールドと親フィールドに対応します。 nodeフィールドを使用して、トポロジチャートのノードメトリック情報を追加することで、メトリックをトポロジデータに関連付けることができます。
Simple Log Serviceを使用すると、異なるタイプのノードに対して異なるメトリックを設定できます。 この例では、ウェブノードを示すA > WEBが用いられる。
A > WEBセクションで、メトリックが格納されているプロジェクトとLogstoreを選択し、クエリステートメントを入力してメトリックフィールドを取得し、メトリックフィールドの設定を構成します。 たとえば、metric_1フィールドはノードのレイテンシを示します。 * | SELECT max(metric_1) AS maxLantency, min(metric_1) AS minLantency, node FROM log GROUP BY node
ステートメントを実行して、metric_1フィールドの最大値と最小値を計算し、ノードの最大レイテンシと最小レイテンシを取得します。
設定が完了したら、トポロジグラフのノードの上にポインターを移動して、ノードのメトリック情報を表示できます。 このノードをクリックすると、関係のないノードと接続行が非表示になります。
[行メトリックの設定] タブでの設定
トポロジチャート内のノード間の依存関係は、分析ステートメントとフィールドによって決定されます。 異なるタイプの接続ラインは、異なる分析ステートメントに対応する。 接続線メトリックを設定する場合は、ノードメトリック情報を取得するために使用されるクエリ文に、接続線メトリックを指定するフィールドを含める必要があります。
トポロジデータは、接続線メトリックを含む。 たとえば、トポロジデータでは、metric_1フィールドは応答時間を示し、metric_2フィールドはレイテンシを示します。 クエリステートメントAを実行して、metric_1およびmetric_2フィールドを取得し、[Line Metric Configuration] タブでフィールドの設定を行うことができます。
設定が完了したら、トポロジグラフの接続線の上にポインターを移動して、接続線のメトリックを表示できます。 この接続行をクリックすると、Simple Log Serviceは無関係なノードと接続行を非表示にします。
[インタラクション発生] タブの設定
トポロジチャートのインタラクションの発生を設定して、ノードをよりきめ細かい方法で分析できます。 サポートされているインタラクションの発生の種類には、Open Logstore、Open Saved Search、Open Dashboard、Open Trace Analysis、Open Trace Details、Create Custom HTTP URLなどがあります。 詳細については、「インタラクションの発生」をご参照ください。
たとえば、A > SERVERを選択して、クエリステートメントaの結果でサーバーノードの [カスタムHTTP URLの作成] インタラクションの発生を設定できます。インタラクションの発生を設定したら、トポロジチャートでサーバーノードを右クリックし、[カスタムHTTP URLの作成] を選択します。 次に、指定したリンクに移動します。