現状の課題
安定稼働している本番システムに、新たなソフトウエアをインストールするとトラブルの発生リスクが高く、システム管理者には好まれない。できる限りシステムに手を加えずに監視を行いたい。また、監視対象サーバーが遠隔地にあり、簡単にソフトウエアのインストール作業が行えない場合も、手を加えずに監視を行うという点では同様の課題だ。
仮に監視対象サーバーが100台あり、ソフトウエアをインストールせずに監視したとする。この場合1台の監視サーバーがまとめて100台を監視することになるので、監視サーバーに障害が起きると100台分のシステム監視がストップすることとなる。システムはそのままに、かつ監視サーバーに障害が発生しても止まらない監視基盤の構築が必要となる。
また、マルチクラウド環境、ハイブリッドクラウド環境を運用している場合、クラウド環境上の各リソースに対して逐一設定やソフトウェアインストールせずに、統合監視を行う必要がある。
解決策
本番環境には手を加えず外部から情報を参照し、障害発生時に検知するためのシステムを導入する必要がある。サーバーにソフトウエアをインストールせずに、同レベルの監視を実施できることが前提である。
また、1台の監視サーバーだけでは障害発生時の影響が大きい。複数の監視サーバーを用意しておくべきである。1台の監視サーバーに障害が発生した場合には、他のサーバーの空き状況を確認し、監視を分散することによって継続的な監視を実現できる。
マルチクラウド環境、ハイブリッドクラウド環境の場合、各リソースに手を加えることなく、メトリクス情報を一か所に収集して監視を行うことで障害発生の検知、確認を一元化することができる。
Senju Familyでの実践方法
Senju DevOperation Conductorではエージェントソフトをインストールしなくても監視を実現できる「千手センサー」機能を提供している。これは千手エージェントというプログラムをインストールする場合と同様の監視項目の実行が可能だ。監視プローブと呼ばれる監視サーバーに情報が集められ、監視状況が表示される。
監視サーバーに障害が発生した場合は、監視プローブ変更コマンドを用意している。このコマンドの実行により他の監視サーバーの空き状況を確認し、監視タスクを分散させることが可能となる。これらの機能により、安定稼働中のシステムに手を加えず、エージェントレスでの監視と障害時の継続的な監視が実現できる。
また、パブリッククラウドやコンテナを利用したシステムを運用している場合、Senju/DC Extension Packを利用することが有効である。Senju/DC Extension Packではクラウドサービス(AWS、Azure、Google Cloud、Oracle Cloud Infrastructure、IBM
Cloud)のメトリクス・課金監視やログ収集、サーバレスファンクションをSenju/DCのジョブとして実行するためのテンプレート提供に加え、コンテナ基盤(Docker、Kubernetes、OpenShift、Podman)のメトリクス監視、イベント・ログ収集の機能を提供している。
クラウド・コンテナの監視を行う際にはカスタムセンサーを利用し、対象となるクラウド・コンテナごとに監視元ノードを分け、Senju/DCの他監視と統合監視することが可能である。

