APMからKubernetesのリソース利用状況を分析する

公開済み Updated 所要時間:約 6分

当社は、新しいKubernetesエクスペリエンスをリリースすることを発表しました。これはNew Relic Oneでのアプリケーションパフォーマンスモニタリング(APM)において、Kubernetesアプリケーションとクラスタパフォーマンスデータを単一のユーザーインタフェースで結合するものです。この新しい体験は、Kubernetesクラスタとその関連アプリケーション内の問題を特定し解決するのに役立つため、デバッグを迅速に行い、必要に応じてインフラリソースを拡張することができます。

開発者がクラスターのパフォーマンスを理解すべき理由

Kubernetesによってアプリケーションとインフラの境界線が曖昧になりました。開発者であれば、クラスターのパフォーマンスではなくアプリケーションに主眼を置くと思いますが、クラスターの基礎となるコンポーネントは、アプリケーションの動作に直接的な影響を与えることがあります。

ほとんどのモニタリングツールでは、インフラのシングナルとアプリケーションデータは分離されているため、アプリケーションはアプリケーション、インフラはインフラの画面を用いて分析する必要がありました。今回リリースする新しい体験は、この2つの領域を統合して、Kubernetesインフラストラクチャがアプリにどう影響を及ぼすかを容易に把握できるようにします。これにより、テレメトリデータの全体像を簡単に可視化し、チーム間の協働を促進します。

単一エクスペリエンスでパフォーマンスを解析する

当社のKubernetesエクスペリエンスは、アプリケーションとクラスターパフォーマンスを新UIで管理することでこのギャップを埋め、より高性能なアプリ開発を支援します。この新しい体験により、APM内で以下の機能が直接利用できるようになります:

  • APMとKubernetesのクラスターパフォーマンスデータを結合した単一UI。New Relic Oneの中でAPMとインフラストラクチャ・モニタリング間を自在に移動し、手動でデータの相関を見つける必要がなくなります。
  • リアルタイムのアクテビティストリーム。Kubernetesのイベントや重大な問題を通知します。
  • ワンクリックのログとサイドバイサイド式(選択可能)のメトリクス。パフォーマンスの異常を関連づけて調査します。

アプリケーションとクラスター間のパフォーマンスの相関関係

トラブルシューティングであれパフォーマンスの最適化であれ、基礎となるコンポーネント全てを識別して、その動作を表示できる能力が欠かせません。当社の新APM-Kubernetesエクスペリエンスは、クラスターのパフォーマンスがアプリケーションにどの程度の影響を及ぼしているかを判定しやすくします。全てのエンティティのメタデータをリンク付けするため、クラスターのリンク先の作業負荷、デプロイメント、デーモン・セット、ポッド、ホストが可視化されます。

例えば、レイテンシが許容限度を超えると、メモリの使用率が異常に高くなり、クラスターのリソース不足により、メモリが枯渇(OOM)してポッドがダウンするのが分かります。この動作をポッドとコンテナのサマリーやアクテビティストリームで確認できます。

アクテビティストリームは、クラスターのパフォーマンスとクラスターイベント間の関係を理解するのに役立ちます。アプリがデプロイされると、そのような重要イベントは、それらがクラスターのパフォーマンス、最終的にはアプリケーションのパフォーマンスとどのように相互に関連しているかの理解に役立ちます。また、イベントにフィルターをかける機会もあるため、問題が生じた際に、最も重要な点に注力できます。

異常の早期発見

異常の調査は困難な場合があります。関連データがそれぞれのレイヤーのUIに分散していたり、異なるツールに分散していてさらに複雑化することがあります。そのため、この機能では必要な情報を一度に入手することが可能になりました。CPU、メモリ、ネットワーク、ストレージなど、求められるパフォーマンスメトリクスに加えて、適切なログにもアクセスできるため、パフォーマンスが変化した原因を見極めることができます。関連するKubernetesテレメトリデータ(エラーやクラスタパフォーマンスデータなど)にログをリンク付けするメタデータを追加しました。これにより、アプリケーションのパフォーマンスに影響しているデータを突き止めることができます。

また、メトリクス間でパフォーマンスを関連づけたい場合は、ページ下部のチャートを利用します。各チャートのドロップダウンメニューからメトリクスを2つ選んで、両者の相関関係を解析します。例えば、平均値、最大値、p95を選択します。チャートはNRQLを使用して作成されているため、そのようなプレビルトクエリを別のクエリビルダーで開いて、チャートにはないデータに関するクエリも利用できます。

以下のユーザー選択メトリクスが備わっています。

  • CPU使用量(コア)
  • CPU使用率(%)
  • CPUスロットリング(%)
  • メモリ使用量(バイト)
  • メモリ使用率(%)
  • ネットワーク受信(KBps)
  • ネットワーク送信(KBps)
  • ネットワークエラー(毎秒)
  • ストレージ使用量(バイト)
  • ストレージ使用率(%)
  • コンテナ再起動回数

Kubernetesエクスペリエンスを使ってみましょう

New Relicの新Kubernetesエクスペリエンスは、全てのフルプラットフォームユーザーでご利用いただけるようになりました。今すぐ始めてみませんか?APMにアクセスし、左側のナビゲーションで「Kubernetes」を選択してください。詳細は当社のドキュメントサイトまたはnewrelic.com/jp/をご覧ください。