こちらのブログでも紹介しているLogs in Contextが全てのAPMエージェントで利用可能になりました。
英語記事も公開されています。
New Relic Logs Update: Announcing Logs in Context for All New Relic Agents
Logs in ContextはAPMエージェントと連携して関連性の高いログを素早く見つけるための機能です。そのため、ログ単体ではなく、APMエージェントの機能と組み合わせて導入する必要があります。また、素早く導入できる様にするために各言語のログフレームワークごとにライブラリを提供していることもあり、ドキュメントが分かれています。そこで本記事ではセットアップの概要をまとめたいと思います。
詳細については「Configure logs in context with APM agents」でも説明しているので合わせてご参照ください。
必要なセットアップは大きく三つです。
- APMエージェントを設定する
- アプリケーションからAPMエージェントを利用してLogs in Contextに対応したフォーマットでログを出力する
- 出力したログをNew Relic Logsに送信する
それでは順番にみていきましょう。
APMエージェントを設定する
すでにご利用の場合はAPMエージェントがLogs in Contextをサポートしているバージョンかどうかご確認ください。新規でインストールする場合は最新版の利用をおすすめします。
また、分散トレーシングのトレースと関連するLogsを表示する機能を利用する場合は分散トレーシングを有効化してください。
アプリケーションからAPMエージェントを利用してLogs in Contextに対応したフォーマットでログを出力する
New Relicではすぐに利用できる様に、いくつかのログライブラリについては拡張機能の提供などを行っています。お使いのログライブラリに対応しているかはリンク先の表でご確認ください。
対応している場合、さらにリンクを飛び、ライブラリごとの導入手順をご参照ください。
また、お使いのライブラリについて提供していない場合ですが、APMエージェントのAPIで必要な情報を取得し、所定のフォーマットで出力することでLogs in Contextを利用することが可能です。詳細は以下のドキュメントをご参照いただきたいのですが、合わせて担当営業やSC、サポートチケットにもお問い合わせください。将来の対応予定の確認や、実装のお手伝いができることがあります。
出力したログをNew Relic Logsに送信する
出力したログの送信方法もいくつか選択肢があります。既存の仕組みと利用可能な方法を踏まえて選択できます。いくつか代表的な方法を紹介します。
- OS上で直接動いている場合、ファイルとして出力し、FluentdやFlunt Bit、Logstashで転送する
- コンテナ上で動いている場合、サイドカーコンテナにFluentdやFlunt Bit を入れて転送する。あるいは、dockerのログドライバー経由でホスト側のFluentdなどで転送する。
- kubernetes上で動いている場合、New Relic LogsのKubernetes pluginを利用する
- CloudWatchに出力できる場合、CloudWatch pluginを利用する。あるいはECSの場合はFireRens pluginが利用できます。
- ログライブラリがサポートしている場合、ログライブラリから直接New Relic Logsに転送するエージェントレス送信が利用できます
以上、Logs in Contextのセットアップ概要をまとめてみました。実際にどの方法を選択するか迷ったときや、うまく動かない時はぜひNew Relicまでご相談ください。
이 블로그에 표현된 견해는 저자의 견해이며 반드시 New Relic의 견해를 반영하는 것은 아닙니다. 저자가 제공하는 모든 솔루션은 환경에 따라 다르며 New Relic에서 제공하는 상용 솔루션이나 지원의 일부가 아닙니다. 이 블로그 게시물과 관련된 질문 및 지원이 필요한 경우 Explorers Hub(discuss.newrelic.com)에서만 참여하십시오. 이 블로그에는 타사 사이트의 콘텐츠에 대한 링크가 포함될 수 있습니다. 이러한 링크를 제공함으로써 New Relic은 해당 사이트에서 사용할 수 있는 정보, 보기 또는 제품을 채택, 보증, 승인 또는 보증하지 않습니다.