リソース監視とは?監視方法と効果的なツールの選び方を解説
システムの予期せぬ挙動に備え、リソース監視という手段が幅広くとられています。とはいえ、「リソース監視だけをこのまま行っているだけで良いのだろうか」「今のツールだけで本当に十分なのだろうか」という疑問を持つ人も少なくないでしょう。
ここでは、リソース監視の必要性やメリット、方法のほか、IT環境の変化とともに浮き彫りになってきた監視そのものへの課題とその対応策についても解説します。
リソース監視とは、サーバーのCPUなどリソースの稼働状況を監視すること
リソース監視とは、サーバーのCPUやメモリ、ストレージ、ネットワークなどの稼働状態を、ツールを使って監視することを指します。システムを安定稼働させ、ユーザーがサービスを快適に使えるように行うものです。
CPUやメモリをはじめとするサーバーの各リソースの稼働状況を監視し、使用 率や空き容量などがあらかじめ設定したしきい値に達したらアラートを出し、対処を促す。これがリソース監視です。
リソース監視の必要性
サーバーの各リソースの負荷が集中してしまうと高負荷状態となり、パフォーマンスの低下や処理の遅延が発生。さらには、システム障害にまで発展しかねません。
社内システムが障害を起こせば業務が止まってしまいますし、Webサービスを顧客に提供しているサーバーが止まれば、大きな損失を被ってしまいます。こうした危機を回避するために必要になるのが、リソース監視です。
リソース監視のメリット
リソース監視を適切に実施すると、いくつものメリットが得られます。そのうちの主なものをご紹介します。
システム障害の予防と早期発見
CPUの稼働率やメモリの使用量などを常に監視し続けることで、リソース枯渇による障害リスクを事前に察知し、回避措置をとることができます。
また、障害が起こった場合にも、リソースの利用状況を追跡することで原因を早期発見し、素早く対処して被害を小さく抑えることも可能です。
システム障害は業務の停止だけでなく、ユーザーに対するサービスの停止に直結します。こうしたビジネス上の損失を防ぎ、早期発見・早期復旧につなげられることは、リソース監視で得られる大きなメリットといえるでしょう。
リソース使用率の最適化
リソース監視では、リソースのどこにどれほどの負荷がかかっているのか、容易にわかります。もしも、慢性的な高負荷ポイントがあれば、そこがアクセス集中時のボトルネックになる危険性が高いと考えられます。
リソース監視を実施すると、こうしたシステムの弱点を見つけ出し、容量を拡大したりスペックを高めたりといったリソースの最適化を行うことが可能です。
コスト削減
リソース監視を実施するメリットに、コスト削減があります。ひとたびシステムに障害が起こると、その原因究明と復旧作業に多くの時間と労力が取られ、大きなコストがかかってしまいます。
現場の運用を手掛けるエンジニアにとって、障害復旧は仕事の一部ではあるものの、彼らの本来の仕事はシステム開発などのよりクリエイティブな領域です。頻繁に障害が発生すると彼らの業務を圧迫し、オーバーワークになりかねません。
ですが、適切なリソース監視によってトラブル予防を強化できれば、障害対応のための工数を削減でき、エンジニアは本来の作業に集中できます。これは、人件費の抑制だけでなく、業務効率の向上にもつながるでしょう。
パフォーマンス向上
監視によって特定のリソースに慢性的な高負荷がかかっていることがわかれば、その対策を施すことで、システムのパフォーマンス向上を図ることもできます。
ただ、一般的なリソース監視だけでそれを実現するのは、容易ではありません。例えば、CPUの使用率が高いといっても、その原因はさまざまです。ネットワークやストレージの性能不足、あるいはプログラムそのものに問題がある場合もあります。
こうした根本原因を探り出し、リソースの負荷を的確にチューニングすることができれば、システムのパフォーマンス向上につながるでしょう。
リソース監視の方法
リソース監視を実施するには、いくつかの方法があります。主なリソース監視の方法は、下記のとおりです。
手動で監視する
手動での監視とは、サーバーに付属する監視ツールやコマンドの打ち込みによる監視方法です。リソースの状態を把握するために監視すべき項目は非常に多く、24時間・365日にわたって手動で追いかけるというのは、今や現実的ではありません。
時間を決めて定期的に監視するとしても、監視していないときに異常が発生してしまうリスクも高いでしょう。手動での監視は「可能だが、非現実的」といわざるをえません。
OSS(オープンソースソフトウェア)監視ツールを導入する
OSS(オープンソースソフトウェア)監視ツールを導入するのもひとつの方法です。無償のOSS監視ツールでは、広範囲な監視が自動化されるため、障害の予兆を察知でき、早期対応が可能です。導入や設定に不安を感じる人もいるかもしれませんが、現在ではOSSのサポートサービスを提供する企業も多くあります。
ただし、OSSの運用を内製化しようとすると、 OSS監視ツール自体が正しく動作しているか、監視ツール自体のリソースに過不足がないかといった、いわゆる「運用のための運用」「監視のための監視」が必要になってしまうという問題が残ります。
商用のパッケージツールを導入する
有償で発売されているパッケージツールを使うことで、リソース監視を実施することが可能です。OSSと比較するとカスタマイズの自由度には制約がありますが、見やすさや使いやすさに配慮した製品が多くあるのが特徴です。価格はさまざまですが、多機能・高機能なものはそれだけ高価になります。
パッケージツールの場合もOSSと同様に、「運用のための運用」「監視のための監視」が必要になる場合があることに注意しましょう。
SaaS型のツールを導入する
SaaS(Software as a Service)型のツールを導入してリソース監視を行う方法もあります。 SaaS型のツールは、自社で構築する必要がないため、構築に必要なインフラや運用コストをかけずに、手軽に始められることがメリットです。また、一般的にオンプレミスとクラウドの両方を監視できる場合が多く、監視対象が動的に変わるような環境に適しているといえるでしょう。また、他ツールと異なり、監視システムそのものの保守が不要という違いがあります。
ただし、SaaS型のツールの場合はライセンス費用が発生します。料金体系は、必要な機能をすべてひとつのパッケージとして提供し、データ利用量や管理ユーザー数、監視を行うエージェント数に応じて課金する場合や、機能別にライセンスを付与する場合など、ツールによって異なるため自社のニーズに合わせて選ぶことをおすすめします。
リソース監視のためのツールの選び方
リソース監視のためのツールを選ぶ際は、どのような点を確認すれば良いのでしょうか。監視ツールの選び方のポイントには、下記のようなものがあります。
監視対象範囲は十分か
リソース監視のためのツールを選ぶ際には、まず監視対象範囲は十分かどうかを確認しましょう。初期の監視ツールでは、監視対象が少ないものも見られたようですが、現在提供されているツールは、OSSも含めて、多くの対象を監視することが可能です。
CPUやメモリ、ストレージ、ネットワークといった基本的なもののほか、クラウド上のOSやミドルウェア、コンテナ、個別のソフトやプログラム、さらにはネットワークトラフィックやプロセスを監視できるツールを選べば、より確実な監視体制を構築することができます。
監視結果の可視化と通知方法が現場に合っているか
監視結果の可視化と通知方法が現場のニーズに合っているかどうかを確認することも、ツール選びの大切なポイントです。異常を素早く把握し対策するためには、監視結果をどのように画面表示するかが重要です。ダッシュボードが用意され、グラフを使って表示されるなど、視覚的にわかりやすいツールが多くあります。
さらに、過去の特定の日時との比較ができれば問題の発見と解決がしやすく、使い勝手が良くなります。
また、運用体制によって、通知はメールだけではなく、「SlackやMicrosoft Teamsなどのビジネス系SNSで受け取りたい」「プロジェクトのタスクを管理するチケット管理ツールと連携したい」「通知を見逃さないよう視覚的に情報を受け取るパトランプと併用したい」というニーズも少なくありません。どのような方法で通知を受け取りたいかを踏まえた上で、対応できるツールを選びましょう。
ベンダーのサポートは十分か
リソース監視ツールを選ぶ際は、ベンダー側に手厚いサポートが用意されているかどうかも確認しましょう。システム全体を健全に保つことは、現代のビジネスでは重要な事業課題です。
その一環としてリソース監視があり、有用な監視ツールが必要になるのですが、どれほど高機能・多機能な監視ツールがあっても、うまく使いこなせないのでは宝の持ち腐れです。導入時だけでなく、日々の利用にあたって継続的にベンダーのサポートを活用できれば、漏れや抜けのない監視体制を作り上げることができます。
管理性と網羅性を備えているか
リソース監視のツール選びの際は、「管理制」と「網羅性」という2つの要素についても確認しておきましょう。管理性とは、ツール導入と初期設定、管理のしやすさ、使いやすさのこと。網羅性とは、自社のシステム監視に必要な機能がツール1つで網羅されているかを意味します。
監視ツールを使う場合、ツールそのものを自社で管理するとなると、使い勝手の良さや管理のしやすさは重要な要素です。
また、自社システムの監視のために必要な機能がツールに備わっていない場合、複数のツールを補完的に組み合わせて使わなければなりません。その場合、一元的な管理がしにくいだけでなく、複数のベンダーと契約するコストや運用上の手間が発生してしまいます。
スムーズに導入でき、1つで必要な機能を網羅できるツールを選択することをおすすめします。
リソース監視に潜む課題
リソース監視ツールの活用だけでシステムの健全性が保てるかというと、そうともいえません。特に、クラウドコンピューティングに移行しつつある今、リソース監視についての課題が浮かび上がっているのが現状です。ここでは、具体的にどのような課題があるのかを見ていきましょう。
リソース監視だけでは健全性が保てない
リソース監視とは、システムのリソースを監視することです。しかし、それだけでシステム全体の健全性を保てるかといえば、決してそうではありません。
CPUの使用率は高くなく、メモリに余裕があるのに、なぜか応答が遅い、あるいは応答が返せていないということは、実際に起こります。つまり、「サーバーは動いているが、サービスが止まっている」という状態です。
なぜこうなるのか、その原因をつかむためには、リソース監視だけでなく、アプリケーションやシステムの性能を管理・監視するAPM(アプリケーションパフォーマンス監視 )の視点を持ち、サービス監視やプロセス監視、ユーザー体験の測定などを併用する必要があります。
現在、普及してきているクラウドネイティブの環境では、その重要性はさらに高まっているといえるでしょう。
原因特定にはエンジニアのノウハウが必要
リソース監視はCPUやメモリなどの稼働状態を監視するものですが、より重要なのは、リソース稼働状況に異常が見られたときに、「なぜそれが起こったのか」を的確に把握することです。リソース監視で、この原因を特定するにはエンジニアのノウハウが必要で、誰でもできることではありません。
例えば、CPUの使用率が異常に高まったのであれば、その上で動いているプロセスが暴走して、CPUを占有しているという可能性が考えられます。また、各種プログラムが正常に稼働しておらず、サービスが止まっているということもあります。リソース監視だけで、異常の根本原因を把握して迅速に対処するには優秀なエンジニアの存在が大きく、属人的な対応とならざるをえません。
単なる監視ツールではないNew Relicの機能
日々進化するシステム全体の健全性を維持するには、監視体制のアップデートが必要です。リソースだけでなく、その先のサービスやプロセスの動きを可視化して監視することが重要であり、それが可能なツールを選ぶ必要があります。そこでおすすめなのが、New Relicです。
New Relicはオブザーバビリティの概念をベースに構築されているSaaS型のパフォーマンス監視プラットフォームで、ほかの監視ツールとは違う2つの特徴を持っています。
ひとつは「広い視野と高い解像度で監視できる」こと。New Relicはプロセスモニタリングやサービスモニタリングなどの機能を持ち、幅広く精度の高い情報を収集できます。それらを分析することで、障害回避のために何をすれば良いかが明確になり、素早い対処が可能です。
もうひとつは「細かい初期設定が不要」ということ。New Relicはインストールするだけで必要なデータをすべて取得するよう自動的に設定され、機能ごとの契約は不要です。これは導入のハードルを大きく下げるポイントといえるでしょう。
エンジニアの意識を拡張するツール
リソース監視はシステムの安定稼働のために行うものですが、それは最終的にユーザーの満足を得て、ビジネスを支えることにつながります。New Relicは単なるリソース監視ツールではなく、その枠を越えた広範なデータを収集できます。それらのデータを分析することで、自分たちが支えている価値がユーザーに届いているかどうかを検証できます。
リソース監視は、アラートに反応して対処する、単調な作業になりがちかもしれません。しかし、New Relicを使えば、インフラの視点からビジネスチームに改善策を提案するなど、コンサルティングも可能になるのです。
エンジニアは目の前のコードの羅列だけでなく、その先にあるユーザーやビジネスにまで意識を向けることができる。このことは、New Relicを導入する大きなメリットといえるでしょう。
次のステップ
- まだNew Relicをお使いではありませんか? New Relicでは、無料でお使いいただける無料サインアップをご用意しています。 無料プランは、毎月100GBの無料データ取込み、1名の無料フルプラットフォームユーザー、および無制限の無料ベーシックユーザーが含まれています。無料サインアップはこちらから
- New Relicについてのお問合せは、こちらからご連絡ください。
本ブログに掲載されている見解は著者に所属するものであり、必ずしも New Relic 株式会社の公式見解であるわけではありません。また、本ブログには、外部サイトにアクセスするリンクが含まれる場合があります。それらリンク先の内容について、New Relic がいかなる保証も提供することはありません。