本日、PixieがNew Relic Oneの一部として全般的に利用可能になりました。Pixieは、Kubernetesのツールセットの大幅なアップグレードです。これは、Kubernetes環境で自然に発生するモニタリングの隙間を排除する唯一のソリューションであり、コードレベルのインサイトを提供して開発者がより迅速なデバッグを行えるようになります。

Pixieについて

ご存じない方もいるかもしれませんが、Pixieは開発者の間で急速に注目を集めている、次世代のオープンソースオブザーバビリティツールです。Kubernetesアプリケーションに、かつてない可視性を提供します。

Pixieは以下の情報を自動的に取得します。

  • アプリケーションプロファイル(機能レベルの粒度)
  • 全体のリクエスト(HTTP、Redis、SQLその他
  • CPU、I/O、メモリ仕様などのシステムメトリクス
  • ポッドとサービスのKubernetes特定のステータス
  • より多くのデータ

Pixieの最先端の自動インストゥルメンテーション機能により、数ヶ月ではなく数分で開始できます。コード変更や再デプロイメントは必要ありません。

PixieチームのNew Relicへの参画は2020年12月のことでした。それ以来、私たちは自動テレメトリーと高度なKubernetesモニタリングのあらゆるメリットをNew Relicのエクスペリエンスに統合するため、努力を重ねてきました。このインテグレーションに関する本日のGAにおいて、私たちはPixieの全機能をNew Relic OneのUIに直接組み込んでいます。

Kubernetesモニタリングの問題への取り組み

私たちは、エンジニアであれば誰もがKubernetes環境において対応しなくてはならない、いくつかの難しい問題の解決に取り組んできました。変化し続けるという動的な性質を持つKubernetes環境には死角が生じます。代替のKubernetesモニタリングのソリューションは、単純に開発者にとって最適化されていません。Pixieは、そのどちらをも解決します。KubernetesデバッグをPixieでアップグレードすると、以下の機能が使用可能になります:

コード不要のベースラインの可視性

私たちはみな、同じ課題を抱えていました―本番環境に問題があるのに、プロッドの既存のインストゥルメンテーションでは問題のデバッグに不十分だということです。この可視性の制限が、問題のトラブルシューティングの時間を減らし、新たな機能の開発に時間をかけたい開発者の仕事を難しいものにしていました。

これを解決する方法があります。PixieはeBPFを使用し、Kubernetesアプリケーションが実行を開始するとすぐさま自動でインストゥルメントを行います。Pixieでは、サービスの最新のテレメトリーデータを取得するために、コードを再デプロイしたり、手動でインストゥルメントを行う必要はまったくありません。またPixieは言語に依存しないため、インストゥルメンテーションの専門知識は不要です。

より迅速なデバッグのためのコードレベルのインサイト

Prometheusなどのすばらしいツールを含む多くのKubernetesモニタリングソリューションが、基本的に運用チームのために設計されているのは周知のことで、当初はそれが理にかなっていました。これらのツールはクラスタとそのコンポネントのステータスに焦点をあてており、開発者に必要な実行可能な情報が欠けています。Pixieは開発者向けのツールで、コードレベルのインサイトによりパフォーマンスのボトルネックをよりすばやく特定するのに役立ちます。

Pixieとのインテグレーションにより、自動的に以下が提供されます。

  • クラスタ内の全ポッドのフレームグラフ 
  • アプリケーションパフォーマンスの機能レベルの粒度
  • サンプリングなしでの全体のリクエスト、レイテンシ、エラー

パフォーマンスを相関づけるアプリケーションのトポロジービュー

New Relic OneのUIエクスペリエンスを補強するPixieのデータにより、ノードやポッド、コンテナ、そしてアプリケーションがどのように相互に影響するかをすばやく理解できます。Pixieとのインテグレーションにより、クラスタの俯瞰的なビューが提供され、何が起こっているかのコンテキストをただちに把握できます。

アプリケーションレベルとインフラストラクチャーレベルの両方の挙動をシームレスに確認できるので、アプリケーションの変更がインフラに及ぼす影響、またその逆の影響を相関づけることができます。

動画:コードレベルのインサイトでデバックをより迅速に

コードの更新もデータサンプリングも不要。コードレベルのインサイトを得て、時間を節約しましょう。ソースコードを変更せずにサービスの詳細を掘り下げ、サービスマップ、フレームグラフ、未加工のリクエストでデバッグを行いましょう。