はじめに
前職で約二年間、ひたすらZabbix(ver2.2&4.0)を触ってきました。
(サービスの基盤となるオンプレサーバ、NW/ST機器の監視)
そして転職を機にAppDynamicsを扱うようになりました。
自分自身の整理も含め、主観強めで両者の比較記事を残したいと思います。
前職と現職とでは監視対象がかなり違うので、共通で使用している部分の比較にとどめます。
Zabbix
オープンソースの統合システム監視ソフトウェア。
基本的には以下の単位で監視、検知、その後のアクションを実装する。
- ホスト:監視対象機器(サーバ、NW機器、ストレージ機器など)
- アイテム:監視項目(アイテムキーを指定し、対応するメトリクスを取得する。)
- トリガー:閾値(アイテムに紐づく)
- アクション:閾値を超過した際に発火するイベント(メール送信とかコマンド実行とか)
AppDynamics
SaaSのAPM(Application Performance Monitoring)ツール。
複雑なトランザクション・フローを自動的に認識し、全体図を自動で作成してくれる。
コードレベルでの原因究明もフォローしている。
※オンプレミス版もあるみたいですが弊社ではSaaS版を使っています。
以下の機能を提供
- APサーバモニタリング
- システムリソースモニタリング
- DBモニタリング
- エンドユーザモニタリング
- SAPアプリケーションモニタリング
比較
(Zabbixのほうが若干厚めな内容になっています。)
監視の開始
Zabbix
・ホスト、アイテム(テンプレートの割り当て)の登録が必要
・監視対象が一気に有効化されると各種pollerプロセスが高騰して、運用に支障が出る場合も。
事前に適切なチューニングが必要。(これが結構大変)
・トリガー設定が複雑になってしまうことも。条件式を書くのが割と大変。
2.2と4.0で条件式の書き方が変わっており、Zabbixサーバをバージョンアップした際、ここはとてもネックになりました。(下記に一部抜粋)
2.2の条件式 | 4.0の条件式 | |
---|---|---|
異なる値 | # | <> |
論理AND | & | and |
論理OR | | | or |
AppDynamics
・Machine Agentが監視対象に展開された時点で基本的リソース(各種CPU,メモリ)については監視可能
・ビルドインのメトリクスだけではたりない場合はカスタムメトリクスを設定可能(スクリプトなど)
・閾値設定が直感的にわかりやすい。
WebGUI
Zabbix
・メジャーバージョンアップでかなりUIが変わってしまう場合がある(2.2->4.0移行時は慣れるのに苦労しました。)
・どこに何があるか直感的にわかりやすい(気がする。これに関しては慣れの要素が大きいとも思うが)
・複数のメトリクスを同じグラフに表示させるときは、カスタムグラフの設定が必要
・監視データの時間範囲を指定するときに、スライドバーで動かせる(時間の範囲を変えず、平行移動してデータを見たい時が結構あったので便利だった。)
AppDynamics
・UIかっこいい
・Metric Browserから任意のメトリクスを選択することで1つのグラフとして表示される
・ダッシュボードを柔軟にカスタム可能
・時間指定がZabbixに比べると少しやりづらい(これも慣れは大きいと思う、)
監視サーバの管理
Zabbix
・Zabbixサーバの管理が大変。多機能がゆえに、監視対象が多いと監視機能自体のリソース使用が大きくなる。
複数あるPollerプロセスの特徴を理解し、適切に割り当てることが必要。
・冗長構成をとるときのデータの同期、系切り替え/切り戻しを自前のスクリプトを組んでやっていた。
(Zabbix6.0からHAクラスタ機能なるものが使えるようですね、便利)
(EnterPriseユーティリティが使える環境なら冗長構成もかなり楽に管理できる)
AppDynamics
・SaaSなので管理不要。
その他、使ってみた感想
Zabbix
・監視設定にナレッジがある程度必要だが、多機能で柔軟なため「監視ができなくて困った」ということはなかった。
IPMIやSNMPの監視からWeb監視まで幅広く対応できる。
自前のスクリプトを組んで外部チェックを使う方法はかなり重宝した。
・有償サポートはかなり優秀で、レスポンスの速さ、提供されるツールは満足度がとても高かった。
AppDynamics
・DBモニタリング機能で、実際に投げられたクエリが見られたり、トランザクションスナップショットからコード単位までドリルダウンして調べられるのは感動した。
・拡張機能も充実(https://developer.cisco.com/codeexchange/explore/#products=AppDynamics%20Extension)
・APMというだけあってアプリケーションを中心としたエコシステムの監視は、深いところまでAppDynamicsUI上でみられて便利
最後に
前職では、Zabbixと向き合うときは7割がた、Zabbixサーバの管理をしていました。
pollerプロセスを調整したり、監視データを保存するMySQLのチューニングしたり、、
(大変でしたが、これはこれで楽しかった)
SaaSのツールを使うことでその7割がごっそりなくなるのはありがたいなと思いました。
とはいえ、何を監視するかによって最適なツールは変わってくると思います。
ツールの特徴を最大限引き出せるエンジニアになっていきたいものです。