【完走賞】MxShun ひとりマラソン 🏃 Advent Calendar 2022 毎週月曜日は読書した内容をアウトプットしよう!2記事目です。
New Relic はアプリケーションパフォーマンス管理ツールのひとつです。
今回は「New Relic実践入門」を読んだので、その内容を簡単にまとめたいと思います。
オブザーバビリティとは
オブザーバビリティ(可観測性)とは、複雑な IT システムやアプリケーションの状態といったデジタル上の動きを常に把握するという性質、および把握するための取り組みを指します。
似たような言葉に「モニタリング(監視)」がありますが、事前に定義された異常に発生したときに単に通知するモニタリングに対し、「オブザーバビリティ(可観測性)」を備えたシステムでは問題が生じた原因とシステムの動作がどのようになっているかをリアルタイムに把握できる点で区別されます。また、長期的なアプリケーションパフォーマンスの改善や品質の向上に取り組むことも可能になり、利用者のユーザー体験も把握できるようになります。
オブザーバビリティによって、システムおよびデジタルサービスの運用監視技術を進化させることができるのです。
オブザーバビリティに必要不可欠な3要素
収集
複雑なマイクロサービスアーキテクチャ、増え続けるデプロイメント、さらにクラウド化やコンテナ化されたシステムのすべてのテレメトリーデータを収集する必要があります。
これらのデータを詳細かつ間断なく集めるために、オープンソースの情報収集エージェントを利用すれば、徹底的かつオープンな収集が可能になります。たとえば、メトリクス用の Prometheus、Telegraf、StatsD、DropWizard、Micrometer、トレース用のJaeger、Zipkin、ログ収集・フィルタリング用のFluentd、Fluent Bit、Logstashなどがあります。
分析
収集したデータからなんらかの洞察が得られないのであれば収集の意味がありません。
データの分析や構造化は、重要な情報をできるだけ速く効率的に明らかにするための鍵となります。
可視性
オブザーバビリティの目的は、テレメトリーデータに可視性と明瞭性を与え、アクションに結び付けることです。定義したアラートや AIOps によるプロアクティブな異常検知によってアプリケーションの以上や問題を早期に発見し改善できるため、平均検出時間(MTTD)や平均修復時間(MTTR)が劇的に短縮されます。
テレメトリーデータとは
テレメトリーデータとは、メトリクス、ログ、トレースといったシステムの状態を表すデータを意味しています。
メトリクス
メトリクスは定期的にグループ化または収集された測定値の集合で、特定期間のデータの集計を表します。
ログ
ログは特定のコードが実行されたときのシステムが生成する単なるテキスト行です。開発者や運用・保守派、コードのトラブルシューティングを行い、コードの実行をさかのぼって検証および調査することをログに大きく依存しています。
トレース
トレースはマイクロサービス間もしくは異なるコンポーネント間のイベントもしくはトランザクションんの連携する状態を表します。
New Relic One の全体像
New Relic のプラットフォームは「New Relic One」と呼ばれ(2021年現在)、大きく次の3つから構成されます。
1. Telemetry Data Platform
New Relic Agent を含む OSS ツールによって取得される、あらゆるテレメトリーデータを保管します。さらに、保管データに対してクエリを実行することによって、チャート作成やそれらのダッシュボード表示ができます。
2. Full-Stack Observability
計測データを New Relic の長年の知見に基づいて分析・可視化したユーザーインターフェースを提供します。
3. Alerts and Applied Intelligence
従来型の閾値ベースのアラートの作成及び通知を行うと同時に、AIOps のコンセプトに基づき、システムの以上を自動検知したり、さまざまなアラートの取り組みとアラート同士の関連付けを行います。
おわりに
ユーザの要求やビジネスロジックの複雑化に伴い、それを実現するシステムも高度・複雑化しています。特にマイクロサービスの爆発的な流行に伴い、アプリケーションパフォーマンスのボトルネックの検知や各マイクロサービスの問題の切り分けが難しくなっているのを肌に感じています。
New Relic を用いることでシステムの状態と潜在的な課題をあぶり出し、さらに定常運用も簡素化・効率化できるという点でよいサービスだと感じました。
今回まとめたのは本書1部の極わずかな部分で、残りの多くの書面は具体的な New Relic のサービスの利用手順やTips、ケース別の活用方法などが細かくまとめられています。