LTN Blog 〜 Lenovo Technology Network 〜

レノボのソリューション・サーバー製品に関する技術情報、お役立ち情報をお届けします

マルチクラウドにおけるアプリケーションの監視ソリューション~Xi Epochのご紹介~

皆さん、こんにちは レノボ・エンタープライズ・ソリューションズ 小宮です。

本日はマルチクラウドにおけるアプリケーション監視ソリューションのXi Epochについてご紹介したいと思います。

こちらのソリューションですが、名称にXiとついていることからXi Cloudで提供されるSaaSソリューションになります。実際にどのようなソリューションなのか以下に説明致します。

1.Xi Epochは何をするもの?

f:id:t_komiya:20190216234645p:plain

Nutanixのソリューションでクラウド連携するソリューションは以前にもCalmやBeamをご紹介してきましたが、CalmやBeamやアプリケーション導入の自動化やマルチクラウドのコストの最適化・ガバナンスの統制を行うものとして利用するものでした。今回のEpochやクラウド上のアプリケーションにおける監視になりますが、すべてのアプリケーションが対象にしているわけではありません。

Nutanix社に買収される前はNetsil社としてサービスをしておりましたが、その当時からクラウドネイティブのアプリケーションをベースに監視ソリューションを提供しています。そもそも、どのような背景でこのソリューションが利用されているのかをスライド交えて説明したいと思います。

2.クラウドネイティブアプリケーションの出現

f:id:t_komiya:20190216235726p:plain

クラウドネイティブアプリケーションと言われる前は、アプリケーションはモノリシック(一枚岩)で、全体が一つのモジュールでできていました。クラウドネイティブの環境においてはアプリケーションが複数の言語に実行されていることから標準化もできないこと、コードレベルでサービス追加を行うことが非常に複雑でインスタンス毎にサービスの提供期間も異なり、それぞれの問題を切り分けるにも非常に困難な状況を生んでしまいます。それで、分散アーキテクチャの環境で実行されるアプリケーションを定期的に観察し、パフォーマンスを監視するソリューションが必要になります。似たような製品としてはDataDog、Sysdig、New Relic、AppDynamics(Cisco社が買収)やDynaTraceなどがあります。

3.Xi Epochができること?

f:id:t_komiya:20190217001929p:plain

Xi Epochはマルチクラウド上でアプリケーションを観察。監視を行うことができます。アプリケーションの監視については基本はエージェントレス(Credential情報を利用)で行います。監視内容はアプリケーションの健全性・レイテンシ・スループット・エラー率などを細かくシグナル表示します。

  • タグとトラフィック属性でホストとコンテナをフィルタリングしてグループ化することで、マップを作成および共有
  • サービスとその依存関係の検索と発見
  • すべての内部サービスと外部サービスの間のリアルタイムのトラフィックフローを監視
  • 展開前後の過去の行動を比較するためのタイムトラベル
  • Kubernetes(ポッドと名前空間)などのようなポピュラーなプラットフォーム用の箱から出してすぐに使えるマップ

f:id:t_komiya:20190217003522p:plain

Epochは使用言語やクラウド環境などの依存性を関係なくアプリケーションを可視化します。また、アプリケーションを定期的に観察することで、ボトルネックになっている情報を把握して原因究明を早めることができます。

  • 待ち時間、スループットなどの主要パフォーマンス指標は、API呼び出し、DBクエリー、DNSクエリーなどのためにサービスおよびそれらのリンクで利用可能
  • サービスとインフラストラクチャの完全なヘルスメトリックへのワンクリックドリルダウン
  • スロービュー、ハイデマンドAPIコールなどをソートおよび識別するためのテーブルビュー

4. Xi Epochのアーキテクチャ

f:id:t_komiya:20190217003643p:plain

Epochのアーキテクチャについてですが、実際にはアプリケーションが動作しているサーバーリソース監視、パフォーマンス監視、ネットワーク監視を同時に行っています。以前DPI(Deep Packet Inspection)は行っていないのではないかというコメントしたことがありますが、こちらを見る限りアプリケーション間の通信のパケットを解析することでボトルネックを究明できるアーキテクチャになっているようです。また、テレメトリなどの原因究明だけでなく将来予測などの機能も備えているようです。

DPIとテレメトリについては、過去の記事で紹介しておりますので、参考程度にご紹介します。

・DPIについて

blog.lenovojp.com

・テレメトリについ

blog.lenovojp.com

 5.Xi Epochのアプリケーションモニタリング

f:id:t_komiya:20190217004808p:plain

Xi Epochのアプリケーションモニタリングはアプリケーションを観察することで、障害の発生率の改善、迅速な根本原因分析を行います。一部のアプリケーションについては、メトリクスですべてのコンポーネントを監視できるようになっており、そのためナレッジも含めて包括的な監視ソリューションを提供できています。現在はJMX、NGINX、MySQLなどとの70以上のアプリケーション統合が実現できています。

そのほかにも、以下のようなことが可能です。

  • サービスインタラクションのパフォーマンスを監視するためのパケットキャプチャと分析
  • 暗号化されたトラフィックを観察するためにSSLSplitを利用する
  • ヒープサイズ、スレッド数、接続などのメトリクスについては、JMX、NGINX、MySQLなどとの70以上のアプリケーション統合
  • コードレベルの洞察のための、statsdを使用したカスタムメトリック
  • AWS RDSの待ち時間、DynamoDBクエリ、Route53検索でのDNSエラーなどの外部サービスとのやり取りパフォーマンス分析

6.Xi Epochのインフラモニタリング

f:id:t_komiya:20190217005736p:plain

Xi Epochはアプリケーションだけでなくインフラの監視を行います。仮想マシン・コンテナなども対象にしており、監視対象はCPU、メモリ、ディスクI/Oなども含まれます。

DBのモニタリングも行うことができます。よくある話として、SQL分などで必要以上のデータを引き出してしまって、分析の際のデータ量を多くして処理しているケースなどがある場合、適切なSQL分などに修正するなどのアドバイスなども必要になります。

迅速な回答を得るための強力なクエリ中心のインタフェースと低遅延クエリエンジンが備わっています。

  • メトリックスを調査および視覚化し、アラートまたはダッシュボードとして結果を保存するためのAnalytics Sandbox
  • ポッド名、ホスト名、またはHTTP URI、MySQLクエリタイプなどのプロトコル属性など、複数のディメンションからのデータを分析するための広範なフィルタとグループ化オプション
  • HTTP、MySQL、DNSなどの一般的なシステムすべて、およびKubernetesなどのフレームワーク用のすぐに使えるダッシュボード
  • 多次元からのデータをセグメント化して分析するためのチャートからの動的ドリルイン

7.Xi Epochの効果について

f:id:t_komiya:20190217010557p:plain

ノード・エッジ・KPIについてそれぞれ監視を行うことができるようになっており、マップ表示されることで、障害の原因究明を迅速化することができます。また、それぞれの項目についてナレッジを利用することで監視設定を簡素化していることもEpochを導入することも効果にもなります。

8.実際の表示画面について

f:id:t_komiya:20190217011421p:plain

事象発生前の画面と発生後の画面を合わせて載せていますが、マップ表示で赤くなっているところ、その周辺のエンティティに実際の遅延の数値が表示されます。実際にこれをクリックすることで原因も究明できるような仕組みなっています。

以上、よろしくお願い致します