Datadog の Log Rehydration™ による古いログの効率的な取得 | Datadog

Datadog の Log Rehydration™ による古いログの効率的な取得

Author Jordan Obey
Author Stephen Lechner

Published: September 25, 2019

ログからはトラブルの解決に必要な、非常に価値の高い情報を得ることができます。古いログを遡って調べることが必要になるケースは少なくありません。たとえば、セキュリティ監査を行う際に、何か月も前に作成された HTTP リクエストのログの中から、指定した複数の IP アドレスが含まれるものを、特定の期間だけ取り出して分析することもあります。あるいは、スケジューリングしたサービスがまったく実行されない場合に原因を調査したり、数か月前から続いているエラーに関連性がないか疑って徹底的に分析したりする際などに、コールドストレージにいつまでもあるような古いログを調べることが必要になるはずです。しかし、これらの古いログはアクセスすることも、トラブルの解決に使用することも簡単ではありません。ログの取得やクエリーに時間と費用がかかり、かなりの労力が必要になるからです。

ログの管理における課題

古いログの管理には、ログ管理サービスを使っても、自己ホスト型のツールを使っても、実にさまざまな問題が伴います。多くの場合、ログはストレージ最適化が行われた環境、すなわちアクセスや検索が難しい場所にアーカイブされます。何か月あるいは何年も前のログを取り出すには、インデックスのない未加工の莫大なデータにクエリーを実行しなくてはなりません。組織の規模が大きければ、該当するアーカイブを探すだけで何日もかかってしまい、根本的な原因を分析する時間が足りなくなることもあります。

また、ログ管理ソリューションの多くは、ログを細かく整理するするための十分な機能がなく、必要なアーカイブだけを、条件を指定して取り出すことができません。そのため、特定の期間に作成されたログのアーカイブを高価なホットストレージ環境にすべて移動し、インデックスを作成して検索するという余分な手間がかかります。

ログ管理ソリューションのない企業では、ログのアーカイブを検索して取得するだけでもかなりの負担になります。ログのアーカイブをクエリーするために、社内で何日もかけてツールを開発する必要があるからです。また、分析を行う全チームにログのストレージへのアクセスを許可し、アクセス権を管理することも必要になるため、企業の負担はさらに大きくなります。

Datadog の Log Rehydration™

Logging without Limits™ の機能の 1 つである Log Rehydration™ を使用すると、ログのアーカイブに伴う作業を効率化し、必要な時に必要なアーカイブをすぐに取得することができます。ログのアーカイブを Datadog アカウントにすばやく簡単に取り出し、古いイベントを分析して調査することが可能です。以下に、Log Rehydration™ を最大限に活用する方法について説明します。

Log Rehydration™ では古いログを Log Explorer にすばやく効率的に取り出して使用できる

古いログを蘇らせる

Log Rehydration™ を使用するには、まず AWS S3 バケットを手順に従って作成し、Datadog アカウントを構成してから、そのアカウントにログを(JSON 形式で圧縮して)アーカイブします。この方法でアーカイブすると、ログをすぐにリハイドレートし、Log Explorer に表示していつでも分析できるようになります。アーカイブからログをリハイドレートするには、アカウントのログ構成ページで[Rehydrate from Archives (アーカイブからリハイドレート)]タブに移動し、[New Historical View(新しい履歴ビュー)]をクリックします。

Rehydrate from Archives を選択して履歴ビューを作成

履歴ビューを作成するには、取得したいログが格納されたアーカイブを選択し、ログが作成された期間を指定します。次に、調査するサービスやその他の属性(status@http.url_details.path@customer_id など)を指定してクエリーを定義します。また、テキストを自由に入力して検索することもできます。たとえば下の履歴ビューでは、Prod Archive の中から 4 日間(6 月 3~7 日)のログを走査し、「payment rejected」のテキストを含む web-store サービスのエラーログをリハイドレートしています。

履歴ビューを作成して必要なログをリハイドレートする

履歴ビューを作成すると、Datadog は選択された S3 アーカイブを走査し、指定された条件に一致するログをアカウントに戻して分析できる状態にします。Datadog は作成された履歴ビューをアカウントに自動的に保存し、削除のマークが付くまで残しておくので、必要な時すぐに、リハイドレートを一からやり直すことなく、オンデマンドでログにアクセスすることができます。

リハイドレートの条件を絞り込む

Datadog の Log Rehydration™ は、数テラバイトものログのアーカイブを数分で走査できるほど高速です。つまり、必要な情報をすぐに取り出せるのですが、その処理をさらに効率化するために、検索の条件をより細かく指定することが可能です。検索条件を絞り込めば、それだけリハイドレートされるログの件数が減るため、結果を得るまでの時間も短縮されます。Datadog では、アーカイブにクエリーを実行する際に、検索する期間を分単位で指定できるので、走査するログの数を大幅に減らせます。また、検索するフレーズや属性を厳密に定義し、検索結果をさらに絞り込むこともできるので、不要なログを大量に集めて時間を無駄にする必要がありません。

期間を分単位で指定し、必要なログだけを走査する

このように、必要なログをすぐに手元に戻すことができます。古いログでも瞬時に取り出し、トラブルの解決や根本的な原因の調査に使用することが可能です。

古いログをアーカイブで整理する

アーカイブのボリュームが極端に大きく、いつも決まったログデータだけをリハイドレートしている場合は、リハイドレートの頻度が高いログを分けてアーカイブすることで作業の効率化を図れます。古いログをアーカイブに整理して格納すれば、リハイドレートが必要な時にどのアーカイブを探せばよいかがすぐにわかります。たとえば、セキュリティ監査チームが HTTP リクエストに関してログを大量に作成する場合、それを別のアーカイブに分けて格納すれば、調査に必要なログだけをすばやく検索できて便利です。

ログの取りこぼしをなくす

ログはインフラストラクチャーの健全性について包括的に理解するために欠かせません。しかし、一般的なログ管理ソリューションでは、多くの場合、古いログをアーカイブから取り出すことも、トラブルの解決や分析に使用することも簡単ではありません。Datadog の Log Rehydration™ なら、古いログをすばやく効率的に取り出せるので、他のツールを使うことなく、いつでも調査や分析が行えます。 400 以上もの Datadog インテグレーションのモニタリングデータに何でも簡単にアクセスでき、アプリケーションの可視性を大幅に高めることができます。

まだ Datadog をご利用でない場合は、14 日間のをお試しください。