こんにちは、大学の教務システムの開発をしているエンジニアのaです。
mmjでは、昨年から今年にかけて監視ツールの全社的な移行を行いました。
これまではZabbixサーバを自前で立てて運用していましたが、このたびSaaSの監視サービスであるSite24x7を導入しました。
この記事で監視ツールの技術選定と、次のブログでSite24x7プラグインの自作方法を簡易的にお伝えしようと思います。
Site24x7とはなにか
Site24x7とは、Zoho社によって開発されたクラウド監視ツールです。
AWSなどのクラウド環境とオンプレミス環境の両方に対応しています。
移行の理由
移行の理由として、大きく以下の点が挙げられます。
・Zabbixは自前でサーバを運用する必要があり、管理コストがかかり続ける
・Zabbix独自のUIや概念がわかりづらく、学習コストの問題がある
特に管理コストに関しては、Zabbix マシンを自前で保守するコストが高いため、自前でバージョンアップで頑張るよりは保守の手間のかからないクラウドサービスに乗り換えたかった、という理由が大きいです。
他サービスとの比較
移行するにあたって複数の監視系クラウドサービスの機能比較を行いました。
重視した点として、外形監視が充実しているかどうかが挙げられます。外形監視を重視する理由は、業務システムという利用ユーザが限られた比較的負荷にブレの少ないシステムを扱うことが多い一方で、受託開発であるために扱うシステム数が多いためです。
この点、Site24x7は他のサービスと比較して外形監視が充実しています。
たとえば Web 監視だと、世界各地の拠点から確認してくれるのが大きな強みです。日本だけでも、東京・長野・大阪の3箇所から死活監視を行い、3ロケーション全部で障害が出たら、みたいな判断にすることで、監視側での問題ではないことを保証できます。
サーバのモニタリングはどのサービスも提供しているものの、DatadogはAPMやRUMがメインであり、機能の方向性が合致しませんでした。
Mackerelはサーバ監視のみであることと料金面から、候補から外れました。
運用中の監視の移行にあたって
実際にサーバの監視を移行するにあたって、Zabbixの監視と同じ機能がSite24x7で実現できるか調査を行いました。
なお、以下の表はあくまでmmjのとあるサーバに対して設定されていたZabbix監視項目であり、必ずしも典型的な監視項目ではないことにご留意ください。
Zabbixで設定されていた監視 | Zabbixと同じ監視がSite24x7で実現できたか |
---|---|
Web監視 | 画面から設定可能 |
プロセスの死活監視 | 画面から設定可能 |
プロセス数の監視 | 画面から設定可能 |
ログインユーザ数の監視 | 後述のプラグインで設定 |
メモリ監視 | 画面から設定可能 |
ディスク容量の監視 | 画面から設定可能 |
Swap容量の監視 | 画面から設定可能 |
iNode容量の監視 | 後述のプラグインで設定 |
CPUのロードアベレージの監視 | 画面から設定可能 |
ファイルの変更検知 | 画面から設定可能 |
その他(各サーバ特有の監視など) | 後述のプラグインで設定 |
一般的な監視項目に関しては画面操作によってZabbixと同等の監視項目が設定できていることが表からわかります。
ただし、iNodeやログインユーザ数の監視など一部の監視はSite24x7のデフォルト機能に存在しないためその場合はプラグインの作成が必要になりました。
プラグインを使う場合は既存のものを利用するか、自前で監視のコードを書く必要があります。
また、今回移行したサーバは、Zabbixの独自監視が多数設定されていたため、これらに関してもSite24x7のプラグインから動かすように変更が必要となりました。
とはいえこれらの独自監視のコードはZabbixに依存していなかったため、大部分はそのまま流用できました。
次のブログでSite24x7プラグインの自作方法について説明しています。