ノート:

OCI Logging Analyticsを使用したサンプル・ログの分析

イントロダクション

一般的なエンタープライズ環境には、大量のログ・テレメトリがあります。ログ・データに興味深いログ・イベントがあるかどうかをどのように確認しますか。すべてのアプリケーションの特定のビジネス・フローに属するログ・イベントをどのように関連付けしますか?異常終了したビジネス・フローを特定するには、何を行いますか。OCI Logging Analyticsは、オンプレミスおよびマルチクラウド環境からの様々なログ・データを集計、索引付けおよび分析するクラウド・ソリューションです。このデータを検索、探索し、相互に関連付けて、経営上のインサイトを導き出し、情報に基づいた意思決定を行えます。ログ・アナリティクスは、ほぼすべてのソースからログを取得、分析および関連付けできます。相関アクティビティは、即時利用可能な機械学習と高度な問合せ言語の両方を活用します。
このチュートリアルでは、Oracle Cloud Infrastructure Logging Analyticsを使用して、外れ値の検出、イベント・クラスタリング、ログ相関および異常検出など、このようなタスクを簡単に実行する方法を学習します。

目的

組込みの機械学習アルゴリズム、コンテキストおよびインタラクティブなダッシュボードを使用してログ・ファイルを分析し、OCIロギング・アナリティクスを使用して問題を迅速に特定し、根本原因を特定することにより、問題をトラブルシューティングする方法をご紹介します。

前提条件

ノート:このチュートリアルではトライアル・アカウントを使用できますが、アカウントを「常に無料」に変換すると、サービスからオフボードされ、このチュートリアルでは使用できません

環境の準備

OCI管理者であり、単一のリージョン内でこれらのステップを実行する必要があります。

一般的な前提条件構成タスクの実行: Oracle Cloud Infrastructureテナンシを設定し、Oracle Logging Analyticsを使用します。

ログ分析の有効化

現在の環境でログ・アナリティクスを初めて使用する場合は、次のステップを実行してサービスを有効にする必要があります。ロギング・アナリティクスを有効にしている場合は、「サンプル・ログのアップロード」セクションに進みます。

  1. ロギング・アナリティクス・サービスは、トップ・レベルのOCIコンソール・メニューから使用できます。「監視および管理」にナビゲートし、「ログ・アナリティクス」をクリックします。

    イメージ0.1

  2. このリージョンのサービスを初めて使用する場合は、サービスの高度な詳細を示すオンボーディング・ページを確認し、ログ・アナリティクスの使用を開始するオプションを表示します。「ログ・アナリティクスの使用の開始」をクリックします。

    イメージ0.2

  3. 自動的に作成されるポリシーを確認します。「デフォルト」というログ・グループが存在しない場合は作成されます。ログ・アナリティクス・サービスが正常に有効化されたら、「取込みの設定」をクリックして続行します。

    イメージ0.3

  4. 「このリージョンでのOCI監査ログ分析の構成」を選択し、「次へ」をクリックします。

    イメージ0.4

  5. 変更を確認したら、「取込みの設定」をクリックします。

    イメージ0.5

  6. OCI監査ログ分析が正常に有効化されたら、「OCI監査ログ・ダッシュボードに移動」をクリックします。

    イメージ0.6

サンプル・ログのアップロード

  1. テナンシ資格証明を使用してOCIコンソールにログインします。

  2. ホーム・リージョンにいることを確認します。

    画像1

  3. リージョン・セレクタの右側にあるアイコンをクリックして、クラウド・シェルを開きます。Cloud Shellはブラウザ・ウィンドウの下部に開き、数分で使用可能になります。

  4. 次のコマンドを実行します。

    wget https://objectstorage.us-phoenix-1.oraclecloud.com/p/RHMd3hXQ4v33Bm7YE6IONjSvsNPFBNAf7BkcVgysjr9wgNA3gzZEB5DevHqkMR1t/n/ax1zffkcg1fy/b/oci_quick_start_script_do_not_delete/o/logging-analytics-demo-v1.0.zip
    
    unzip logging-analytics-demo-v1.0.zip
    
    cd logging-analytics-demo
    
    ./setup.sh
    

    ./setup.shコマンドのサンプル出力:

    Running demo setup script: Jan-12-2021 
    Checking to see if compartment logging-analytics-demo already exists 
    Does not exist yet, create compartment 
    . . . 
    Create log directories 
    Update Log Record timestamps
    Loading files ...
    Processing source/cisco-asa (convert - I file(s)) - Cisco ASA Logs
    . . .
    Processed in 12 seconds
    Compressing files 
    Uploading Logs 
    . . .
    Uploading oci_api_gw_access.zip
    Uploading oci_api_gw_exec.zip
    

    設定スクリプトは、必要なすべてのOCIリソースを設定し、サンプル・ログ・データをロードします。

    ノート:設定スクリプトは再実行できます。同じファイルを前にアップロードした場合は、ナビゲーション・アイコンをクリックし、「監視および管理」をクリックして、「ログ・アナリティクス」に移動して「管理」をクリックします。「リソース」「アップロード」をクリックします。スクリプトを再度実行する前に、logging-analytics-demoを選択してこのアップロードを削除します。解凍する場合は、「置換」を求められたら、「A」([A]ll)と応答します。

    設定スクリプトは、Logging-Analytics-SuperAdminsというスーパー管理者グループも作成します。他のOCIユーザーにログ・アナリティクスの使用を許可し、これらのサンプル・ログを分析できるようにするには、これらのユーザーを次のようにこのグループに追加します:

    a.「OCIコンソール」メニューから、「アイデンティティ」「ユーザー」にナビゲートします。

    b.ログ・アナリティクスを使用するユーザーの名前をクリックします

    c.画面の下半分で、「ユーザーをグループに追加」ボタンをクリックします。

    d.ダイアログ・ボックスで、「Logging-Analytics-SuperAdmins」グループを選択し、「追加」ボタンをクリックして変更を保存します。

  5. サンプル・ログ・レコードが正しくアップロードされ、環境がすべて設定されていることを確認するには、次のステップを実行します。

    ナビゲーション・アイコンをクリックしてエンティティの作成を確認し、「監視および管理」をクリックし、「ログ・アナリティクス」に移動して「管理」をクリックします。「リソース」「エンティティ」をクリックします。logging-analytics-demoコンパートメントを選択します。エンティティのリストは次のようになります。

    画像2

    「ログ・アナリティクス」にナビゲートしてアップロードを確認し、「管理」をクリックします。「リソース」「アップロード」をクリックします。logging-analytics-demoをクリックします。

    左側のメニューで「警告」をクリックし、警告またはエラーがないことを確認します。

    次に、「アップロードされたファイル」に移動して「ステータス」をクリックし、「失敗」でフィルタすることを選択します。これはレコードを表示しません。「ステータス」を「進行中」に変更します。すべてのファイルが正常にアップロードされたことを示すレコードは表示されません。

よく理解していること

  1. アップロードしたファイル・ページの左側のメニューで「ログ・エクスプローラで表示」をクリックします。

  2. 次のイメージは、このチュートリアル全体で使用されるユーザー・インタフェースの主な部分を示しています。

    1) 問合せバー(バーの右端に「クリア」「検索ヘルプ」および「実行」ボタン)。

    2) 「時間範囲」メニューおよび「アクション」メニュー。「開く」「保存」「名前を付けて保存」などのアクションを検索できます。

    3) 「フィールド」パネル。ここで、データをフィルタするソースおよびフィールドを選択できます。

    4) 「視覚化」パネル。ここで、データをフィルタ処理するソースおよびフィールドを選択できます。

    5) 「メイン」パネル。問合せの結果の上にビジュアライゼーション出力が表示されます。

  3. チュートリアル全体で時間範囲は「Custom」のままです。時間範囲を「カスタム」にリセットできない場合は、「アップロードしたファイル」ページに戻り、「ログ・エクスプローラで表示」をクリックして再起動できます。

    ヒント:ステップを紛失した場合は、ブラウザの「戻る」ボタンを使用できます。ただし、リフレッシュ・ボタンは使用しないでください。

クラスタリングを使用したログの調査

  1. 「OCI VCNフロー・ログ」をクリックして、VCNフロー・データにドリルダウンします。

  2. 「アクション」にナビゲートし、「名前を付けて保存」をクリックして、この検索を「ウィジェット」として保存します。

  3. 「Save Search」を完了して、「Save」をクリックします。

    この時点で、ウィジェットは、ここから直接ダッシュボードに追加することも、後でダッシュボード・メニューから追加することもできます。

  4. その他の様々なログを表示して、ウィジェットをいくつか作成します。

    後でダッシュボードに追加します。

  5. すべてのログ・データの表示に戻ります。

    ヒント:問合せバーをクリアして、「実行」をクリックします。

    合計レコード数は約7万件です。関連するクラスタとして大量のデータを簡単に視覚化できます。ログ・アナリティクス-クラスタリング(監視なしML)では、ログ・データとエンリッチ・ドメインの専門知識を使用して、データのパターンを見つけます。クラスタリングはテキストと数値で機能するため、大量のデータをより少ないパターンに減らして異常検出を行うことができます。ビジュアライゼーション・パネルの「クラスタ」ボタンをクリックします。

  6. 様々なクラスタ、潜在的な問題、外れ値、トレンドにドリルダウンできます。

    ログ・アナリティクスでは、監視なしMLを使用して、データ内の関連クラスタを検索します。これにより、最大74kのログが629のクラスタ・パターンにリアルタイムに削減されます。

    ノート:表示される数値は、チュートリアルに表示されている数とは若干異なる場合があります。

  7. 「潜在的な問題」タブをクリックします。

    629個のクラスタのうち、76個が自動的に潜在的な問題として識別されました。

  8. 「外れ値」タブをクリックします。

    これらの問題は1回だけ発生し、システムの異常を示します。

  9. 次に、「トレンド」タブをクリックします。

    これらは、時間に関連するクラスタ・パターンです。「8つの類似トレンド」をクリックして、データベース・アラート・ログの一連の関連ログを表示します。表示されるトレンドの正確な数は、選択した時間ウィンドウによって異なります。

  10. 上記の手順3で実行した手順と同じ手順で、この検索を保存します。

  11. ネットワーク・トラフィックの分散を理解するために、さらに1つのビジュアライゼーションを作成します。

    最初にビジュアライゼーションを「円」に変更し、新しいデータ・セットOCI VCN Flow Logsを選択します。

    フィールド・パネルの検索ボックスで、「Source」という文字列を検索します。次に、「ソースIP」を「その他」から「グループ化」ボックスにドラッグ・アンド・ドロップして、「ビジュアライゼーション」パネルの「適用」をクリックします。

    ここでは、「Source IP」別にログ分散を確認できます。

  12. 問合せ言語を使用して、宛先IPの配布を検索します。

    問合せバーに次の問合せを入力し、「実行」をクリックします。

    'Log Source' = 'OCI VCN Flow Logs’ | stats count('Destination IP') by 'Destination IP' 
    

    レコードを含む円グラフ(デフォルトで設定)が表示されます。

  13. ビジュアライゼーション・メニューから「ツリー・マップ」を選択して、ビジュアライゼーションをツリー・マップに変更します。

    ビジュアライゼーション・メニューから「ツリー・マップ」を選択します。

    このページでは、宛先IPの配布を視覚化できます。この検索/ウィジェットを「名前を付けて保存」します。

  1. 監視なしリンク機能を使用して、データを他のデータ・ソースに関連付けます。問合せバーに次の内容を入力し、「実行」をクリックします。

    ヒント:問合せバーの[Ctrl]を押しながら[I]を押して、問合せをフォーマットします。

    'Upload Name' = 'logging-analytics-demo' and 'Log Source' = 'OCI VCN Flow Logs' 
    | eval 'Source Name' = if('Source Port' = 80,
                           HTTP,
                           'Source Port' = 443,
                           HTTPS,
                           'Source Port' = 21,
                           FTP,
                           'Source Port' = 22,
                           SSH,
                           'Source Port' = 137,
                           NetBIOS,
                           'Source Port' = 648,
                           RRP,
                           'Source Port' = 9006,
                           Tomcat,
                           'Source Port' = 9042,
                           Cassandra,
                           'Source Port' = 9060,
                           'Websphere Admin. Console',
                           'Source Port' = 9100,
                           'Network  Printer',
                           'Source Port' = 9200,
                           'Elastic Search',
                           Other) 
     | eval 'Destination Name' = if('Destination Port' = 80,
                                HTTP,
                                'Destination Port' = 443,
                                HTTPS,
                                'Destination Port' = 21,
                                SSH,
                                'Destination Port' = 22,
                                FTP,
                                'Destination Port' = 137,
                                NetBIOS,
                                'Destination Port' = 648,
                                RRP,
                                'Destination Port' = 9006,
                                Tomcat,
                                'Destination Port' = 9042,
                                Cassandra,
                                'Destination Port' = 9060,
                                'Websphere Admin. Console',
                                'Destination Port' = 9100,
                                'Network  Printer',
                                'Destination Port' = 9200,
                                'Elastic Search',
                                Other) 
     | eval Source = 'Source IP' || ':' || 'Source Port' 
     | eval Destination = 'Destination IP' || ':' || 'Destination Port' 
     | link Source,
        Destination 
     | stats avg('Content Size Out') as 'Transfer Size (bytes)',
        unique('Source Name') as 'Traffic From',
        unique('Destination Name') as 'Traffic To' 
     | classify topcount = 300 correlate = -*,
        Source,
        Destination 'Start Time',
        'Traffic From',
        'Transfer Size (bytes)',
        'Traffic To' as Network                        
    

    eval機能は、ポート名をアプリケーションに変換します。

    問合せの最後の部分では、より多くの問合せ時間評価フィールドが追加され、ソースおよび宛先ごとに一意の行が作成され、これらのエンド・ポイント間の平均ネットワーク転送が計算されます。また、ソース・ポートと宛先ポートの翻訳名は、「トラフィック開始」および「トラフィック終了」として取得されます。

  2. 「分析」にナビゲートし、「チャートの作成」をクリックして、次のようにフィールドに入力します。

  3. クラスタを分析し、指定したデータ・ポイントを分析して、次の分析を作成します。

  4. 異なるフィールドを選択して、チャート上のアイテムのサイズと色を制御できます。

  5. アイテムにカーソルを重ねると、アイテムに関する詳細情報が表示されます。

  6. アイテムをクリックすると、そのコンテンツにアクセスできます。

  7. これをウィジェットとして保存します。

    「オプション」にナビゲートし、「表示オプション」をクリックします。パネルの「ダッシュボード・オプション」セクションで、すべてのオプションの選択を解除し、「分析」および「データ表」のみを選択します。「変更を保存」をクリックします。次に、「アクション」にナビゲートし、「名前を付けて保存」をクリックして、この分析をウィジェットとして保存します。

ダッシュボードの作成

  1. 「ログ・アナリティクス」に移動して、「ダッシュボード」をクリックします。

  2. 「作成」をクリックします。

    ダッシュボード名、以前に作成したコンパートメント(logging-analytics-demo)を入力し、右側にあるダッシュボードのウィジェットとして使用可能な保存済検索を使用します。ウィジェットをキャンバスにドラッグ・アンド・ドロップします。パネルのサイズを設定し、キャンバス上で移動できます。前に作成した他のウィジェットを追加します。ダッシュボードは次のようになります。

    または、次のように指定します。

さらに学ぶ

オンプレミス・エンティティからログ・データを継続的に収集するには、管理エージェントをホスト、オンプレミスまたはクラウド・インフラストラクチャにインストールできます。詳細は、「Oracle Management Agentの使用」を参照してください。

関係の作成に使用されるエンティティ関連の詳細は、次を参照してください。

エンティティの作成

新しいソースとエンティティの関連付けの構成

ログ・アナリティクスでモデル化されるエンティティ・タイプ

その他の技術情報は、ログ・アナリティクスを参照してください。

Oracle Learnの他のラボを調べるか、Oracle Learning YouTubeチャネルでさらに無料のラーニング・コンテンツにアクセスします。さらに、Oracle UniversityにアクセスしてOracle Learning Explorerにします。

その他の学習リソース

docs.oracle.com/learnの他のラボを調べるか、Oracle Learning YouTubeチャネルでさらに無料の学習コンテンツにアクセスします。さらに、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerにします。

製品ドキュメントは、Oracleヘルプ・センターを参照してください。