Chapter 07

イベントメッセージの検出と検索

たけだ
たけだ
2021.11.19に更新
このチャプターの目次

やること

ストリームはストリーミング開始後のイベントのみを取得するため、OpenSearchは以前のイベントを認識しません。構築したばかりではイベントメッセージがない状態であるため、ログストリーミングをテストする前にいくつかのテストイベントを作成し、Kibana画面でログを検索したりフィルタリングする操作をしてみます。

手順

AWSコンソールで[Lambda]を検索し

前手順で作成したLambda関数を開きます。

コードタブの[Test]ボタンを数回クリックして、PUTイベントを送信します。

[Test]ボタン横の▼をクリックし、[Configure test event]をクリックします。

テストイベントの設定画面で[新しいテストイベントの作成]を選択し、イベント名 TestGetEvent とエディタで以下と入力します。

{
  "fn": "GET",
  "id": "12345"
}

[作成]ボタンをクリックします。

何度かPUTしたデータをGETし、異なるタイプのテストイベントを送信してください。
これによりKibanaで確認できるイベントタイプが複数できます。

AmazonOpenSearchダッシュボードに戻り、Kibana URLのリンクを開きます。

Kibanaのトップ画面が表示されます。[Explore on my own]をクリックします。

すでにログデータはOpenSearchに保存されていますがデータの検出に使用するインデックスをKibanaに設定します。
Kibanaの左メニューで[Stack Management]をクリックします。

左メニューから[Index Patterns]をクリックします。

[Create Index pattern]をクリックします。

Create index pattern画面で Index pattern name欄に cwl-* を入力し [Next step >]をクリックします。

Step 2 of 2: Configure settings画面で Time field @timestamp をプルダウンから選択して [Create index pattern] をクリックします。

インデックスパターンが作成できました。

左メニューからDiscoverをクリックし、

APIテスト実行した時間帯が範囲となるように右上の入力バーに時間を設定して[Refresh]を実行すると、棒グラフやログが表示されます。

これが集約されたログイベントです。リアルタイムにこの画面からログを確認することができます。

ログイベントで検索する操作を試してみましょう。検索バーに PUT 12345 と入力すると

検索結果が更新され、検索キーワードがハイライトされて表示されます。

棒グラフもLambdaで[Test]を実行したイベントのみが表示されます。

棒グラフをドラッグして時間範囲を視覚的に選択したり

CloudWatchLogs画面と同じように時間でフィルタリングすることもできます。