投稿者:森

こんにちは。
私どものAIOps担当では、システム運用を効率化・高度化するため、機械学習の技術を採用した「AIOps」・アプリケーションパフォーマンス管理の「APM」といった製品の、ご提案から構築・導入後の支援まで担当しています。
AIOps担当からは、APM製品である IBM Observability by Instana(以下、Instana) を数回にわたってご紹介していきます。

APMとは

 まずAPMとはどのような監視製品なのか、従来のシステム監視とは何が違うのでしょうか?
従来のシステム監視では、システムを構成するハードウェア・ソフトウェアが正常に稼動しているか、個々の状態を把握することに主眼がおかれていました。
  • サーバやストレージ・ネットワーク機器といった、ハードウェアの状態を監視
     ハードウェアの故障が発生していないか?
     CPU・メモリ・ディスクの使用率・使用量や、ネットワーク帯域の状態は正常か?
  • OSやソフトウェアの状態を監視
     対象ソフトウェアのプロセスが起動しているか?
     ソフトウェアのプロセスが使用している、CPU・メモリなどのリソース量は正常か?
     エラーや異常を表すログメッセージが出力されていないか?

 このような監視は、ハードウェアの障害やソフトウェアの異常を素早く検知することに役立つ一方で、ハードウェアの故障やソフトウェアの停止を伴わないアプリケーションの性能低下、例えばアプリケーションの応答速度が極端に悪化している、アプリケーションを利用すると数回に1回エラー画面が出力される、といったエラーは検知できないことが多く、利用者側からの申告でシステムの異常に気づくということが少なくありませんでした。

 APMではアプリケーションパフォーマンス管理の名前の通り、システムやアプリケーションが、利用者にどういった品質でサービスを提供しているのか、システムの状態を可視化する製品です。
  • どれだけの利用者がシステムにアクセスしているのか?
  • 利用者はシステムを快適に利用できているのか?応答時間やエラー発生の有無。
  • システムのパフォーマンスが悪化した場合、どの処理がボトルネックとなっているのか?

では、APM製品であるInstanaでは、どのようにしてシステム・アプリケーションの状態を可視化しているのか、従来の監視とは何が異なるのか、紹介していきます。

Instana の監視方式

 APM製品であるInstanaではシステムの状態を把握・可視化するため、様々な監視対象に適した監視方式を提供しています。

・Webサイトの監視
 エンドユーザモニタリング(EUM)とも呼ばれる、Webサイトの利用者の状況を確認する機能です。利用者がWebサイトにアクセスすると、Webページに埋め込んである Java Script エージェントが実行され、利用者がアクセスしたWebページの応答時間やエラーの発生などを収集します。従来の監視では難しい、システムやアプリケーションの状態を見るための、APMとして中心となる機能と言えます。
apmibm_observability_by_instana01.png

・サーバの監視
 監視対象のサーバにエージェントを導入し、サーバの状態を監視する機能です。エージェントを導入して監視するというと、従来の監視ソフトと変わらないと思われるかもしれません。
Instana のエージェントは、従来の監視ソフトのエージェントにない特長を持っています。
  • サーバ上で実行されているソフトウェアを自動的に検出し、性能情報収集を自動的に構成。
  • 他サーバへの処理の呼び出しなど、サーバ間・サービス間の処理連携を自動的に検出。

 これらの機能により、サーバやソフトウェアの状態の監視にとどまらず、パフォーマンス異常が発生した場合、システムのどのサーバ・ソフトウェアの処理がボトルネックになっているのか、原因箇所の特定に必要な情報も収集しています。

・クラウドサービスの監視
 クラウドが提供するIaaS以外のサービスの状態を監視する機能です。最近のシステムでは、システムの一部機能をクラウドサービスと連携して実現していることが少なくありません。例えば、システムのデータ保存に、オブジェクトストレージサービス(AWS S3など)を利用する、データ連携のためにメッセージキューイングサービス(AWS SQSなど)を利用するといったケースが考えられます。

 これらクラウドサービスの監視には、各クラウドサービスが提供する監視サービス(AWS Cloud Watch、Google Cloud Monitoring)を利用することが多いと思います。Instana ではクラウドサービスエージェントを構成することで、これらクラウドサービスの状態も Instana で一元的に管理することが可能となります。
apmibm_observability_by_instana02.png

・コンテナクラスタの監視
 Kubernetes や OpenShift といったコンテナ環境を監視する機能です。昨今はアプリケーションの高頻度な開発や迅速な展開のために、コンテナ環境を利用することが多くなっているのではないでしょうか。コンテナクラスタでは、自社の環境に Kubernetes や OpenShift を導入して利用するケース、各クラウドサービスが提供するマネージドサービスを利用されるケースがあります。
 前者はもちろんのこと、マネージドサービスとして AWS EKS、Azure AKS、Google GKE といった主要なサービスをサポートしています。

 主要な監視対象と監視方式をご紹介しましたが、以下の環境も監視対象とすることができます。
・VMware vSphere 環境
・サーバレス環境(AWS Lambda、Google Cloud Run)

Instana の特長

 各社からAPM製品が提供されていますが、これら数あるAPM製品の中で Instana の特長をご紹介します。

1.自動構成により、導入・設定を省力化
 先ほどエージェントを導入すると、サーバ上のソフトウェアを自動検出し性能情報の収集を開始するとご紹介しましたが、サーバのソフトウェア構成が変更された場合も、構成の変化を自動的に検出して、各ソフトウェアに最適な性能情報の収集を開始します。
サーバの構成が変更された場合に、エージェントの設定を変更する、収集する性能情報の定義を変更するといった、設定変更作業が必要ありません。また自動的な構成変更は、サーバやエージェントの再起動を必要としません。
各サーバにエージェントを導入し性能情報収集を開始するまで、ほとんどの処理が自動化されています。
apmibm_observability_by_instana03.png

2.取得した情報を関連付けて、原因特定の支援
 Instana では各種パフォーマンスの情報やサーバ・サービス間の依存関係など、様々な情報を収集しています。そして問題が発生した場合には、複数の情報から関連性の深い項目を自動的に関連付けて表示することで、障害の発生原因を特定するのに役立つ情報を提供します。
 下図のサンプルでは、Webページへのアクセスに時間が掛かっているという問題を検知していますが、問題検知の画面内から「アクセス解析」→ 「各アクセスの処理内容確認」といったドリルダウンの調査で、DBサーバの処理で問題が発生していると確認できます。
apmibm_observability_by_instana04.png

3.SaaS版とソフトウェア版の2種類の提供形態
 Instana ではインストール作業不要ですぐにご利用頂けるSaaS版と、お客様の環境(オンプレミス・IaaS等)に導入してご利用頂けるソフトウェア版の、2種類の提供形態があります。
Instana 自体のバージョンアップやバックアップ作業などの運用作業を省力化したい場合はSaaS版、監視対象のサーバとInstana を同一の拠点内で利用したいといった場合はソフトウェア版など、ご利用形態に併せてお選びいただくことができます。

第1回目として、従来のシステム監視とAPMによる監視の違い・メリット、他のAPMに製品に対するInstanaの特長をご紹介しました。
次回以降は、導入手順・設定手順も紹介しながら、Instanaの機能をより詳細にご案内していきます。

Instana PoCメニューのご案内

 APM・Instanaの導入をご検討されているお客様に対して、PoCメニューを提供しております。1~2ヶ月という短期間で、Instana導入に向けての課題抽出や効果測定を行っていただくことができます。
詳細は以下リンクから資料をご確認ください。

ユーザーエクスペリエンスを観測する性能管理の監視実装 PoCメニューご紹介