Termal OS と Zabbix。
Zabbix は 20 年の歴史を持つ、本格的な監視プラットフォームです。Termal OS はそれを置き換えようとはしていません。Zabbix のサーバーを立てるほうが、抱えている問題より手間がかかる——そんなときに手に取ってもらう道具になろうとしています。
短い答え
Zabbix はインフラです。Termal OS は、開くアプリです。Zabbix はテンプレート、自動検出、イベントの相関、エスカレーション、プロキシー、細かい権限、そして数千台に耐えるデータモデルを与えてくれます。その代わり、サーバーとデータベースとフロントエンドを自分で抱え、そのモデルを学ぶことになります。Termal OS が与えるのはその一部分ですが、代わりにどこにも何も入れず、ダウンロードから 90 秒で役に立ちます。
「エージェント不要」という言葉について。よく誤って使われるので
Zabbix はしばしばエージェント方式として説明されますが、それは半分しか当たっていません。SNMP、IPMI、ICMP、そして ssh_run[] による確認もでき、対象側には何も入りません。Zabbix がエージェントを強制すると言う人がいたら、それは間違いです。
本当の違いは別のところにあります。エージェントなしの Zabbix でも、Zabbix のサーバーは要ります。自分で用意するマシン、バックアップを取るデータベース、パッチを当て続けるフロントエンド。Termal OS にはサーバー側の構成要素がまったくありません。机の上のアプリがそのままシステムの全体です。「エージェント不要」より控えめな主張ですが、こちらのほうが正直です。
Zabbix のほうが優れているところ
- 規模。数千台のホスト、拠点やネットワークをまたぐ分散プロキシー、高可用性。Termal OS は数台から数十台を狙っており、それ以上のふりはしません。
- 守備範囲の広さ。SNMP によるネットワーク機器、Windows、ハイパーバイザー、データベース、IPMI のハードウェアセンサー、ネットワークの自動探索、トポロジー図。Termal OS は SSH 越しの Linux だけです。/proc を読み、標準的なシェルの道具を動かすので、スイッチや Windows のマシンは端から対象外です。
- 通知の作り込み。トリガーの式、1 つの障害で 40 回起こされないための依存関係、イベントの相関、メンテナンス期間、エスカレーションの連鎖、定期レポート。Termal OS にあるのは、CPU・メモリー・ディスク・負荷に対するサーバーごとの警告としきい値超過、エスカレーション、そして Telegram・Slack・Discord・Webhook・メールへの通知です。役に立ちますが、はるかに素朴です。
- 保存とレポート。本物のデータベースに何年ぶんもの履歴を持ち、傾向とキャパシティ計画に使えます。Termal OS が保つのは短いローリングの窓です(既定で 24 時間)。
- 規模を問わず、オープンソースでライセンス費用なし。Zabbix は自由なソフトウェアで、必要なら有償サポートもあります。
Termal OS が違うやり方をしているところ
- 動かすインフラがありません。用意するサーバーも、バックアップするデータベースも、パッチを当てるフロントエンドもなく、したがって午前 3 時に自分自身が落ちる監視システムもありません。デスクトップアプリを入れ、ふだん使っている SSH の情報を打ち込めばサーバーが 1 台増えます。
- 最初のグラフまでの時間。サーバーの追加はフォーム 1 枚です。割り当てるテンプレートも、定義するアイテムも、設計するホストグループもありません。これは本当の引き換えで——Zabbix のテンプレートが表現できることを、こちらは表現できません——けれども小さなサーバー群にとっては、「やった」と「結局やらずじまい」の差になります。
- 監視するだけでなく、管理します。同じ SSH 接続の上に、本格的なリモートデスクトップが乗ります。SFTP エクスプローラー、PTY ターミナル、Monaco エディター、ブラウザー、書庫の道具、プロセスマネージャー。Zabbix もリモートのコマンドを撃てますが、そこは作業をする場所ではありません。
- 権限のない場所でも動きます。共用サーバー、マネージドホスティング、お客さまのサーバー。SSH はあるが root もパッケージを入れる権限もない、そんな場所でも Termal OS は動きます。Zabbix の導入は、その状況にはまるで噛み合いません。
並べて比べる
| Termal OS | Zabbix | |
|---|---|---|
| 自前で動かすインフラ | なし | サーバー + DB + フロントエンド |
| 導入の手間 | 数分 | 数時間〜数日 |
| 現実的なサーバー台数 | 数十台 | 数千台 |
| Linux 以外の対象(Windows、SNMP、ハードウェア) | - | 非常に広い |
| 通知の仕組み | しきい値 + エスカレーション | トリガー、相関、依存関係 |
| 履歴の保存 | 約 24 時間のローリング | 数年 |
| 離席中も収集するか | アプリの起動が必要 | 常時 |
| リモート管理(ファイル、シェル、エディター) | 内蔵 | リモートのコマンドのみ |
| SSH アクセスだけ、root なしで動くか | 動く | 結局サーバーが要る |
| ライセンス | ソース非公開 | オープンソース |
どちらを選ぶか
Zabbix を選ぶとよいのは、数十台を超えるホストを回しているとき。Linux サーバー以外のものを監視しているとき。本格的な通知のロジック、長期の保存、コンプライアンスに耐えるレポートが要るとき。監視基盤を持ち場とする担当者がいるとき。あるいは、規模を問わずオープンソースが欲しいときです。
Termal OS を選ぶとよいのは、サーバー群が小さく、監視プラットフォームは問題に対して大掛かりすぎるとき。何も入れられないホスティングにいるとき。監視と管理を同じ窓でやりたいとき。あるいは、監視サーバーを立てようとして 2 回試し、2 回とも投げ出したときです。
そして、すでに Zabbix を動かしているなら、Termal OS はその代わりではありません。実際に手を入れるサーバーのための、居心地のよい SSH のコックピットです。何も入れない以上、すでにあるものの邪魔をしようがありません。
Termal OS のいまの立ち位置
- 収集にはアプリの起動が要ります。ウィンドウを閉じても問い合わせは続きますが、アプリは起きているマシンの上で、保管庫が解除された状態で動いている必要があります。Zabbix のサーバーは、あなたが帰宅しても眠りません。無人で 24 時間通知し続けることが要件なら、正しい答えは Zabbix です。
- SSH 越しの Linux だけ。SNMP も、Windows のエージェントも、ネットワークの自動探索も、トポロジー図もありません。
- 0.x 版、公開 Preview の最中——いまはサーバー 3 台まで無料です。Windows と macOS のビルドはまだ署名されていません。その結果として自動更新をなぜ無効にしているのかは、セキュリティのページに書きました。