公開日:2021年5月11日最終更新日: 2022年9月16日
すべてのシステムがクラウドで構築され、リリースまでのスピードが非常に早くなっている昨今ですが、安定稼働を求める上でそれらの運用とモニタリング・死活監視は欠かせない業務となっています。モニタリングや死活監視は昔ながらのICMPやSNMPによる監視から、クラウド標準の監視機能、サードパーティ製の監視サービスまで様々あります。
一体どれが、どんな環境やどんな時に合うのか、一般的な機能の紹介から簡単な比較を通して探っていきたいと思います。
目次 <Contents>
クラウド監視(モニタリング)とは?
契約しているクラウドサービス(AzureやAWS)の機能を利用してソフトウェアやサービスが問題なく安定稼働しているかを監視(モニタリング)することです。クラウドとオンプレミスの大きな違いは、監視するサーバーの物理的な不具合の心配がない点です。もちろんクラウドの物理サーバーが故障しないわけではないですが、トラブルが発生時の対応はクラウドを運営元であるベンダーが監視・対応します。
クラウド監視のメリット
サーバーなどハードウェア本体の不具合による対応をしなくていいので、OSやソフトウェアやWebサービスの監視に注力できます。Azureには「AzureMonitor」、AWSには「CloudWatch」など、様々なモニタリングツールが提供されおり、それぞれのサービスに適した、効率的な運用ができます。
クラウド監視のデメリット
スタッフがクラウドの監視・モニタリングに不慣れであるや知識不足などが挙げられます。また、マルチクラウドやハイブリッドクラウドなど、多様な組み合わせで複雑化になり全容をつかみ辛いの問題もあります。
運用監視とは
システム業務はプログラムなどで開発し、リリースしただけでは終わりません。その後不具合や障害がないかを注視し、修繕と改善を繰り返しながら安定稼働をさせていく必要があります。
これらを担うのが運用監視になります。運用監視には主に4つの要素があり、死活監視※、リソース監視、サービス監視、バッチ運用といった大項目があり、それらをチューニングしながら自分たちのシステムにあった監視環境を作り上げ、運用していきます。
昔ながらのデータセンターなどでは、問題が発生した時にすぐ対処できるよう24時間監視員が常駐していましたが、クラウドによるシステム環境では少なくなってきています。
※死活監視とは、システムの実行稼働をモニタリングすることです。
一般的な監視ツール ~Zabbix~
検索エンジンで監視ツールを調べると、すぐに候補に上がってくるのがZabbix(ザビックス)です。
Zabbixはオープンソースプロジェクトで開発された監視ツールで、SNMP(Simple Network Management Protcol)と呼ばれる各機器を総合的に監視するためのプロトコルに対応しています。
Linux上に自身で構築すれば無料で扱え、細かな設定やチューニングにも対応している万能なレガシーツール※になります。有償サポートを用意している会社も存在しており、今でも活用されている現場も多いのではないでしょうか。
※レガシーツールとは、十分に “枯れた” 実績のあるアプリやソフトウェアです。
各クラウドサービスのモニタリングツール
クラウドサービスでは標準で監視(モニタリングツール)が用意されています。日々新サービスがリリースされており、クラウド毎の大きな違いはあまりありませんが、その中でも比較できる特徴を誰もが知るGAFAM※が提供するパブリッククラウドから紹介します。
※GAFAMとはGoogle、Amazon、Facebook、AppleにMicrosoftを加えたテクノロジー企業の略称です。
Amazon Web Service
Amazonが提供しているクラウドサービスです。CloudWatchというモニタリングツールが用意されており、面倒な構築や設定はほとんど必要ありません。
最も早くシェアを拡大させたクラウドなだけあって様々なAWS内外サービスとの連携やデータのやり取り、新規アーキテクチャ環境の監視も可能です。Lambdaなどのサーバーレスな実行環境を提供しているのが特徴です。
Microsoft Azure
Microsoftが提供しているクラウドサービスです。こちらもAzure Monitorというモニタリングツールが用意されており、面倒な構築・設定は必要なく利用できます。
Microsoftがクラウドサービスを買収しながらAzureを成長させているため、元々はバラバラだったサービスをAzure Monitorで一括監視できるよう目指しています。
機能自体は他のクラウドの後追いが多いイメージですが、昔からメールサービス(HotmailやOutlook)などを提供しているだけあって、メールに関する連携やアラートの設定が簡単です。ログイン時にはMicrosoftアカウントのメールを利用しますが、そちらのメールアドレスに自動発報してくれます。
Google Cloud Platform
Googleが提供しているクラウドサービスです。こちらもCloud Monitoringというモニタリングツールが用意されています。Googleは検索エンジンの会社なので、Webサイト訪問者の閲覧傾向を追えるようなGoogle Analyticsとのつながり、連携が特徴です。
その他、クラウドサービスネイティブ以外にも、サードベンダーが用意しているツールが多数ありますが本稿では割愛します。
Zabbixとクラウドサービスの比較
上記のように紹介しましたが、具体的にどれを活用すれば良いか迷う方が多いと思います。そこでZabbixと各クラウド標準モニタリングとのメリット・デメリットを挙げて比較を行います。
Zabbix
メリット
- 安価に抑えられる(自身で構築)
- SNMPによる業界標準の監視
- 設定やカスタマイズが詳細に可能
オープンソースの特徴がそのままメリットとなっています。今動いているZabbix環境からクラウド上のサーバーを監視することも可能でしょう。
デメリット
- 難しい(オープンソースやLinuxに対する理解が必要)
- 基本的にオンプレミス構築(クラウド上だとIaaS)
オープンソースの特徴がそのままデメリットになります。特にサーバーを用意して自身で環境を作る点(IaaS)に関してはOSやセキュリティパッチの運用も必要になり、負荷がかかります。
クラウドサービス
メリット
- 簡単(ほぼ設定不要)
- 便利(自社クラウドサービスとの連携は大体可能)
- 基本無料(カスタマイズは有料)
一般的なクラウドサービスでは全てに標準モニタリングツールがあります。サーバーなどを用意する必要がなく、設計の工数もなくなります。運用の自動化も一つのサービスで事足りることが殆どです。
デメリット
- 詳細なカスタマイズが難しい
- SNMP監視が難しい(自社のNW機器からtrapを取得できない等)
従来型のSNMP監視ではネットワーク機器などのMIBやtrapも監視できていました。現状がエンタープライズなガチガチのSNMPマネージャー環境の場合、すぐに移行するのは難しいのではないでしょうか。
まとめ
結局どのツールを使えば良いのか?
ここまで、一般的なオープンソース監視ツールZabbixと各クラウドサービスのモニタリングツールを比較紹介しました。
実際に今のシステム開発の現場で監視をしようとした場合、予算的な問題が出ない限りは利用しているクラウドサービスのものをそのまま使うのが良いのではないでしょうか。クラウドサービスを利用して開発スピードを上げる必要が求められる事が多いため、レガシーなZabbixを最初からチューニングしていくのは骨が折れますし、開発者の本業ではないはずです(クラウドのマーケットプレイスにもZabbix自体はあります)。
そこで各社が運用監視サービスを独自に提供しているわけです。
数多くのサービスがある中でどれを選択して良いかの判断が難しいと思いますが、現場の環境に合わせての判断材料になれば幸いです。