スポンサーパートナーのサービスを紹介するシリーズ – ChaosSearch 使ってみる – #ChaosSearch #reinvent

2021.12.06

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

ChaosSearchの紹介記事に続き、実際に使用した感想をぐだぐだ書いていきます。

ChaosSearchのページに無料トライアルの申し込みページへのリンクがあります。

本記事では無料トライアルでChaosSearchに触れたいと思います。

やってみる

  • ChaosSearchのトライアルに申し込んだアカウント
  • AWSアカウントとクレデンシャル
  • us-east-1のS3バケットとログ、CSV、またはJSONデータ

が必要です

なお、無料トライアルは15日間となっていました。

初回ログインすると、上記のように環境がセットアップされるまでしばらく待ちます。

ChaosSearchと連携するAWSアカウントの設定

セットアップが終わると、Connect AWSというボタンが表示されるのでクリックします。

ChaosSearchのためのIAM RoleとPolicyを作成します。

CloudFormationが用意されているので、Open CloudFormationをクリックします。

CloudFormationのコンソールに遷移するので、そのままスタック作成します。

ChaosSearchのページに戻り、作成されたAWS Role ARNを貼り付けます。

これで初期セットアップは完了です。

ChaosSearchのクイックスタート

では実際にS3にデータをアップロードし、タスクを実行してみます。

こちらのドキュメントを参考にしながらやっていきます。

Storage

クラウドストレージを分析インフラストラクチャに変えるためのエントリポイントです。

初期セットアップの状態では、上記のように接続したAWSアカウントのS3バケットが全て表示されます。

ですが、us-east-1以外のバケットの中は参照できません。

us-east-1のバケットの中身は参照できます。

CSVやjsonであればファイルの中も参照できます。

Discover Bucket

Discover Bucketをクリックすると、ファイルの配布、タイプ、サイズ、履歴など、バケットの内容を分析します

Object Group

Create Object Groupをクリックすると、オブジェクトグループの作成ができます。

オブジェクトグループとは、詳細なオブジェクト分析のためにバケット内の内容を表示するためのカスタマイズ可能なフィルターです。

Prefixはオブジェクトの先頭からフィルターをかけれます。

Regex Filterは、1つのファイルを指定したり、正規表現を変更して類似のオブジェクトを関連付けることができます

Object Filterをクリックすると、高度なオブジェクトグループフィルタリングが行えます。

ファイルサイズ、変更日、カスタムユーザータグ/フィールドなどを使い、より細かく分析できるようにデータをフィルターできます。

オブジェクトグループを作成すると、左のツリーに表示され、フィルタリングされたデータのみを扱えるようになります。

Index作成

Chaos Searchのインデックス作成は、オブジェクトグループフィルターを作成してから行います。

目的のオブジェクトグループを選択した後、Start Indexingをクリックします。

作成されると、データの包括的なレポートが表示されます.。

  • オブジェクトグループの詳細
    • グループ名、作成日、モデルの進行状況、ソースタイプ、サンプル正規表現、データ形式
  • トレンドデータ
    • データ頻度(数量を含む表形式、ビジュアルテキストクラウド)
  • モデル化された構造
    • 列番号、列名、データ型

といったレポートを見ることができます。

作成されたインデックス一覧も参照できます。

Refinery

Refineryは、元のログデータを操作したり移動したりすることなく、ユーザーが必要に応じてプログラム的および視覚的に情報を操作できるように、データのクリーニング、準備、および変換を行うためのツールのコレクションを提供します。

Refinery Index Viewsの作成

Chaos Search インデックスビューは、Chaos Search PlatformのStorageセクションで作成された物理インデックスに基づく論理インデックスです。 Refineryでは、ユーザーがインデックスデータをクリーンアップ、準備、変換する独自の機能を利用できます。

作成するには、RefineryページのCreate Viewをクリックします。

デフォルト状態で作成したインデックスが表示されているので、取り扱うインデックスを選択し,Nextをクリックして進みます。

スキーマの情報が表示されるので、Create Viewをクリックします。

なお、スキーマのフィルタリングや変換も可能となっていますが、本記事では割愛します。

Refinery Index Viewsの視覚化

作成したインデックスビューを視覚化するには、AnalyticsページのDescoverセクションで行います。

ドロップダウンメニューから作成したviewを選択し、Refresh dataをクリックします。

インデックスに登録されたデータが検索できるようになります。

Kibana Query Language (KQL)も使うことが可能です。

まとめ

ChaosSearchにデータを取り込み、ログデータを視覚化するまで行ってみました。

今回行ったのはChaosSearchの触りの部分です。 まだまだ高度な機能(正規表現を使ったフィルターやデータのトランスフォーメーションなど)もありますし、ビューのビジュアライズなどもできます。

こちらのドキュメントに詳しく書かれいているので是非試してみてください。

次回はよりリアルなログデータ(cloudfrontなど)を使ってみたいと思います。