Blog ブログ

サーバ監視の必要性

皆様、こんにちわ。
CCSでプログラマをやっている武藤と申します。

今回は『サーバ監視』について書かせて頂きたいと思います。

◆『サーバ監視』の必要性

なぜ『サーバ監視』を行う必要があるかと言えば、サービスの可用性、これに尽きます。
クライアント-サーバシステムは例外なく何らかのサーバに依存しています。

ほとんどのシステムでは「サーバが動いていない」=「サービスが利用できない」という状態になります。
これはスマホゲームやブラウザゲームはもちろんそうですが、例えばオンライン決済などの社会生活において重要な役割を担っているシステムも例外ではありません。
サーバの停止は利益の損失や信用の失墜に直結するのです。

ゆえに、サーバを極力止めないように『冗長化』を行う必要がありますが、事前にサーバのリソース状況や負荷状況などを知り対策を練ったり、動作停止してしまった場合でも即時に検知が出来るように『サーバ監視』を行う必要があるのです。

◆サーバ監視のアプローチ

・ネットワーク監視
サーバのネットワークが切れていると通信を行うことが出来なくなるため、重要なアプローチです。
「動作中のサーバにpingコマンドを流し、反応が返ってくるかを確認する」というのも立派な監視方法の一つです。

・サービス監視
サービスが正常に動作しているかどうかの指標となります。
APIサーバであれば、チェック用のAPIを用意して、定期的にサーバに向けて実行するという方法を取れるかもしれません。

・リソース監視
ハードウェアやソフトウェアのリソース状況は、サーバの動作状況を測る上で重要な指標になります。
例えば、サーバで使用しているディスク容量が100%になってしまうと動作しなくなってしまいますし、CPU使用率が高過ぎると満足な速度が出ずにサービスとして成り立たなくなってしまいます。

その他にも色々なアプローチがあるので、必要に応じて検討してみて下さい。


◆監視ツール

サーバ監視を行う上で便利なツールをいくつか紹介します。
・Zabbix
Zabbixはオープンソース開発されている統合監視ツールです。
「監視サーバ(Server)」と「監視対象(Agent)」を設定することにより、監視対象の情報を監視サーバへ収集します。
蓄積された情報の閲覧や細かい設定はWebGUI上で行うことが出来るため、OS等に依存せずに監視が可能です。
また監視方法が非常に豊富で、障害の原因や症状を詳細に判断出来ます。
更に運用の自動化機能も有しており、非常に柔軟なサーバ監視を実現することが可能です。
・Munin
サーバリソースやMySQLやAppacheのようなアプリケーションの状況をグラフィカルに監視することが出来ます。
初期設定から一般的なグラフ設定を自動生成する機能を持っているため、導入が容易です。
また専用のプラグインが多数公開されており、拡張性も高いです。
他にもNgiosやHinemos等、有名なツールが多数ありますので、目的に合ったものを選択するようにしましょう。

◆というわけで

今回は、
・『サーバ監視』の必要性とアプローチ
・監視ツール
について簡単に書かせて頂きました。
サーバを管理する上で監視ツールは非常に便利ですが、決して万能な存在ではありません。蓄積した情報を元に何が原因となっているかは自身で判断する必要があります。
万が一の場合に備えて、原因を特定するために何が必要か、またその対処方法等は、合わせて検討するようにしましょう。
また、クラウドクリエイティブスタジオでは絶賛エンジニア募集中です。
興味のある方は、是非、以下のリンクをご覧下さい。
採用情報

今回は以上となります。それでは皆様、快適なサーバ監視ライフを!