元記事:https://blog.newrelic.com/product-news/logs-in-context-faster-simpler-access-actionable-insights/

過去数か月間、New Relicチームは、New Relic One オブザーバビリティプラットフォーム向けのログ管理ソリューションの開発に取り組んできました。今回、私たちはその努力の結果を初めて共有することができ大変光栄に思います。お客様のログ管理の課題を解決するためにリリースされ、New Relicをご利用いただくことでさらに大きな成果が得られると確信しています。

  1. まず、New Relicは、New Relic Oneのログ集約および管理ツールであるNew Relic Logsを一般公開(GA)しましたNew Relic Logsは、多くのログ管理ソリューションに関連する複雑さ、使いやすさ、実装の課題など、これらを大幅に軽減するスケーラブルで費用対効果の高い、完全クラウドベースのログ管理ツールをお客様に提供します。
  2. また、New Relic Logsの次のメジャーバージョンアップのためにパブリックベータテストを開始しましたこのベータテストは、「Logs in Context」と呼ばれる機能に焦点を当てています。これは、お客様自身で大量のログデータから意味のある箇所を識別し、ログデータからパフォーマンスデータおよびイベントの他のソースに関連付けることができるようになっており、ログデータの価値を最大化させる革新的な機能を提供します。

 New Relic One(現在、New Relic LogsのGAリリースへのアクセスを含む)は、Proサブスクリプションライセンスをお持ちのすべてのNew Relicのお客様、または無料トライアルを利用中のお客様は既にご利用いただけます。 New Relic Logs in Contextのベータリリースは、New Relic APMのJavaおよびGolang言語エージェントを介してオプションのアップデートとして利用できますNew Relic Logsの構成と使用の詳細については、製品ドキュメント参照してください。(2019年12月11日現在、 Java, Golang以外に.NET, Node.js, Python, PHP, Rubyにてベータリリース済み。)

 New Relic Logsの特徴をご紹介します。既にNew Relic Oneプラットフォームで提供されている多くの革新的な新機能と同じくらいNew Relic Logsも革新的です。

ログと最新のソフトウェア開発:使い慣れたツールの新たな課題

 ログデータは、ソフトウェア開発者にとって価値のある、重要なトラブルシューティングデータのソースです。しかし開発者はこれまで以上に多くのデータソースからのより多くのログデータに囲まれています。またログデータの量が増え続けるにつれて、このデータの収集/管理/分析に関連する課題も増えていきます。

1つの例を考えてみましょう分散したマイクロサービスベースのアプリケーションに関連付けられた膨大なログデータこれらのアプリケーションは、複数のプログラミング言語を使用して記述された数十または数百のマイクロサービスコンポーネント日常的に使用します。コンポーネント、独自のロギングフレームワークを使用しています。ファイアウォール、syslog、サーバー、データベース、ロードバランサー、およびその他のコンポーネントからのインフラストラクチャログも、最新のアプリケーション内で何が起こっいるか理解するのに大変役立ちますが、これだけ多くのデータソースを用いてトラブルシューティングするにはご想像の通り大変複雑で膨大な時間を費やしてしまいます。

ログ管理の問題点:New Relicのお客様から学んだ教訓

我々は、ログデータの管理と操作の課題についてさらに学ぶために、利用可能な最良のソースであるお客様に注目しました。開発者が現在のログ管理ソリューションに不満を感じる4点についてまとめました。

  1. 学習コスト 開発者は、最善のロギングソリューションを習熟するのに必要な時間と労力に不満を感じています。その多くは、他の一般的に使用されるツールとはまったく異なるインターフェースを採用しています。開発者がロギングツールを使用するために最低限必要なことを学習しても、たくさん覚える必要があり、インシデント解決プロセスに貢献できるチームメンバーの数は減ってしまいます。
  2. プロビジョニングと管理の負担 多くのお客様がLogstashFluentdFluent Bitなどのオープンソースのロギングソリューションを実装していますこれらのツールは、通常、デフォルト構成の基本的なタスクに対してスムーズにすぐに使用できますが、大規模または複雑なユースケースでも動作するように設定・最適化するのは、やはり困難です。たとえば、Elasticsearchクラスターのプロビジョニング、構築、構成のプロセスには、この場合の「エラー」がチームの本番アプリケーションのトラブルシューティング能力に影響を与える可能性がありますが、大規模にトライアンドエラーを繰り替える労力が必要です。
  3. パフォーマンスのフラストレーション ロギングツールが適切に構成および最適化されている場合でも、特にワークロードのスケーリングが続くと、ロギングツール自体のパフォーマンスが期待外れになる可能性があります。たとえば、ElasticSearchを使用して実行される単一のクエリ(New Relicのお客様10人中7人が現在使用しているELK Stack」の1つのコンポーネント)が完了するまでに数分かかる場合があります。
  4. 多すぎるツール、少なすぎる連携 ログデータソース、視覚化ツール、ログ管理ソリューション、および関連ツールの複雑さと多様性の増大により、開発者がシステム、画面、データ視覚化、ユーザーインターフェイス、およびその他の変数間で絶えず焦点をシフトするプロセスが生じます。ログデータの量と種類が増え続けるにつれて、この“swivel-chair interface” (別々に何度も手間がかかってしまうこと)への依存は、フラストレーションと非効率性増大の大きな原因になります。さらに、アプリケーションのパフォーマンスやイベントデータを含む他のソースからのデータは、ログデータと関連付けられたときに重要な意味のある発見をもたらす可能性がありますが、このばらばらの画面やツールにまたがってしまっていることにより、関連付けけた形でのトラブルシューティングリソースを活用することが非常に困難です。

New Relic Logsを使用すると、ユーザーはログデータのカスタムクエリに基づいてアラート条件を簡単に設定できます。

New Relic Logs:一般的なログ管理の問題点の修正に注力

New Relic Logsは、開発者に複数のメリットを提供します。高速で、信頼性が高く、拡張性の高いログ管理を行うと同時に、ソフトウェア環境のトラブルシューティングと理解のためのよりシンプルで直感的なツールを提供します。

  1. ユーザーフレンドリーかつ低学習コスト。New Relic Logsは、発見と習得に非常に短い時間ですむようにユーザーエクスペリエンスを提供し、開発者がアプリケーションのトラブルシューティングと最適化に専念する時間を増やします。さらに、New Relic Logsは、ユーザーの混乱を最小限に抑えながら、チームの既存のオープンソースログフィルターおよびその他の機能に直接アクセスできます。
  2. さらに高速なクエリ。New Relic Logsは、New Relic Query Language(NRQL)またはLuceneクエリ構文いずれかを使用して、ログデータに対して強力で洗練されたクエリ実行をサポートしますログデータを保存するNew Relicのアーキテクチャはインデックス作成の必要性がないという特徴があります。これは、クエリの応答時間を数分からミリ秒レベルに短縮します。
  3. Index作成負荷の軽減。ログデータのインデックス作成は、ストレスを溜め、リソースを大量に消費し、エラーが発生しやすい面倒な作業になる可能性があります。ログデータのインデックス作成を「成功」させる最良の方法は、そもそもそれを完全にやめてしまうことです。これは、New Relic Logs側で実施しているということです。
  4. クラウドで生まれ、規模に合わせて設計されています。New Relic Oneプラットフォームを強化するデータベースであるNRDB は、非常にスケーラブルで信頼性の高いクラウドネイティブアーキテクチャを提供します。開発者は、ログツールが膨大で複雑なワークロードでも処理できるという安心を持って作業できます。
  5. ログを積極的に活用するツール。New Relic Logsは、以下を含む機能により、チームが集中してタスクを維持できるようにします。

    • データの集約:ログデータを複数のソースと形式から単一のクラウドベースのリポジトリに移動します。
    • 保存された検索を使用して、頻繁に使用されるクエリにすばやくアクセスしたり、アラートをトリガーしてしきい値を設定したりします。
    • パフォーマンスイベントとログの統一された統一画面ビュー。
    • アラートを1か所で実装および管理して、すべてのイベントおよびパフォーマンスデータの通知を取得します。
  6. ロギングの洞察に命を吹き込むダッシュボードとデータの視覚化。New Relic Logsは、New Relic Oneプラットフォームのダッシュボードとデータ視覚化ツール活用して、大量のロギングデータに埋もれてしまう可能性のある洞察を解放します。

    • 既存の検索クエリを使用して、Insightsでログデータを表示します。 
    • 使い慣れたNRQLクエリを使用して、わかりやすいダッシュボードでログデータを視覚化します。 
    • 非標準のログメッセージ属性を使用して、アプリケーション固有の検索クエリを構成します。
    • ログクエリの結果をインタラクティブなタイムラインにプロットし、セクションを強調表示して、特定の期間内の詳細な洞察を取得できます。
  7. 既存のオープンソースおよびクラウドロギングソリューションを活用します。New Relic Logsは、New Relic Oneプラットフォームと同じように、オープン性と相互運用性に対するコミットメントを反映しています。
    • New Relic Logsの簡単なセットアップと活用のためにLogstash、FluentD、Fluent Bitを含む主要なオープンソースログシッパーのプラグインをサポート。
    • AWS Cloudwatchを含むクラウドロギングソリューションを利用可能なプラグイン

 

New Relic Logsは、ログメッセージをエラー報告およびNew Relic APMなどのソースからのイベントデータと関連付けます。この例では、ユーザーはコンテキストをシフトしたり、複数のツール間を移動したりすることなく、ログデータをAPMのスタックトレースに関連付けることができます。

Logs in Context:本当に見たいログが紐づけられる

New Relic Logsの提供に興奮しているだけでなく、New Relicの「Logs in Context」のパブリックベータ版により、お客様が体験できることをさらに楽しみにしています。

 Logs in Contextを使用するNew Relic Logsは、コンテキスト、キュレーション、インテリジェンスをロギングの文脈中に取り込むことに焦点を当てています。NewRelicアプリケーションとインフラストラクチャメトリック、ダッシュボードとデータの視覚化、イベント相関、その他のリソースを活用して、お客様のアプリケーション環境の運用を強力に支援します。

  1. 関連するであろうログデータ(コンテキストログデータ)からNew Relic Logs画面に移動します。関係があると思われるログは、他のNew Relic Oneコンポーネントから流れるデータに自動的に関連付けられます。これにはKubernetesクラスターエクスプローラーLambda(サーバーレス)テレメトリに加えて、New Relic APMNew Relic Infrastructureからのデータも含まれます。
  2. データを相関し、意味のあるパターンと傾向を明示します。コンテキスト内のログは、ログメッセージをアプリケーション、インフラストラクチャ、Kubernetes、およびLambdaのエラーおよびイベントデータとログの関連付けをし、チームにエンドツーエンドの可視性を提供します。
  3. コンテキスト属性をログデータに取り込みますコンテキスト内のログは、アプリケーション、サーバーレス、およびKubernetesクラスターからの価値の高い関連する属性のログデータを表示します。ポッドID、サービス名、アプリケーション名などの識別子をログに追加する機能により、このデータの分析、有用な接続の作成、および問題がアプリケーションのヘルスとパフォーマンスに影響を与える可能性のある他の領域の識別がはるかに簡単になります。
  4. New Relic PlatformのProgramability。現在、New Relic Oneはプログラム可能なプラットフォームとして提供されています。ユーザーは、カスタムデータビジュアライゼーションとインタラクティブインターフェイスを使用して、New Relic Oneの上にReactアプリケーションを構築でき、ログデータを含む任意のソースからデータを記録および視覚化できます。その結果、ほとんどすべてのアクセス可能なソースからパフォーマンスデータを導入するのが簡単です。これらのソースをログデータと組み合わせ、相関し、クエリ実行できます。そして、この情報を視覚化し、システム・ビジネス全体で活用可能です。Programabilityも、New Relicプラットフォームの革新的な機能の一つです。現在利用できる他の製品とは異なるため、New Relic Logsを便利に活用いただければ新しい価値を体験いただけるものと思います。

ロギングと可観測性(オブザーバビリティ):最新のアプリケーション環境を理解するための学習

New Relicの使命である、”pursue a more perfect internet”は、ソフトウェアチームがログデータの中に意味を見つけるのを支援してくということです。そのために私たちの仕事の多くを可観測性焦点を合わせており、これはシステムの動作に関わる重要な情報を得るために、メトリック、イベント、トレース、ログを一箇所に収集し、視覚化や分析を行うことを可能にします。

可観測性の柱の一つとして、そしてNew Relicの将来のビジョンのなかでもロギングは最優先事項の一つです。そのため可観測性に貢献するこのロギングツールを、開発者の効率、集中、および満足度を維持しながら、緊急度を上げて開発しました。

New Relic Logsは、現在の複雑なシステムを理解するために必要なコンテキストを開発者に提供します。また、New Relic Oneの一部として、ロギングツールは、プログラム可能な可観測性プラットフォームのパワーと汎用性に貢献します。その過程で、New Relic Logsが、お客様のログデータを価値ある資産とし、パフォーマンス調査に有用なツールであることをご理解いただけることと思います。

翻訳:New Relic 清水

New Relic Japan, Senior Solutions Consultant パッケージベンダーにてecommerceシステムのソフトウェアエンジニア、インフラエンジニアを経験後、DevOpsチームの立ち上げやSaaSビジネスのパフォーマンスやセキュリティに特化したチームの立ち上げに従事。その後、AWSにて1人目のSaaS専門ソリューションアーキテクトとして多くの日本企業のSaaS化、セキュリティ対策、SRE立ち上げを支援し、現職。特にインフラ、パフォーマンス、セキュリティという非機能要件の設計から運用を得意とする。 View posts by .