Termal OS と Netdata。
Netdata は、志の上で Termal OS にいちばん近い道具です。リアルタイムで、美しく、設定はほとんど要りません。そして、こちらがいちばん敬意を払っている相手でもあります。それぞれが本当に勝っているのはどこか、書きます。
短い答え
Netdata は監視システムです。Termal OS は、監視もする管理のコックピットです。1 台のサーバーについて Netdata が語れることは、Termal OS が将来語れることより多いでしょう。1 秒刻みの解像度、数千の指標、機械学習による異常検知。しかもエージェントの動作コストはほとんどゼロです。できないのは、問題のログを開き、設定ファイルを直し、サービスを再起動させることです。
Netdata のほうが優れているところ
そうでないふりはしませんので、具体的に書きます。
- 指標の深さと解像度。自動で見つかる数千の指標を、はじめから 1 秒刻みで収集します。Termal OS は選んだ間隔で問い合わせ(既定は 60 秒、最短 15 秒)、絞った範囲を集めます。コアごとの CPU、メモリー、スワップ、ディスク、ネットワーク、負荷、プロセス、TCP 接続。
- あなたがいなくても動き続ける。Netdata のエージェントはサーバー上のデーモンです。誰かが見ているかどうか、あなたのノートパソコンが動いているかどうかに関係なく収集します。Termal OS が収集するのは、アプリがお使いのパソコンで動いているあいだです。下のほうをご覧ください。これが最大の設計上の違いです。
- 保存と履歴。Netdata は独自の階層化されたデータベースに長い履歴を保存し、自分で立てた親ノードへ送ることもできます。Termal OS が保つのは、傾向と異常検知のための短いローリングの履歴です(既定で 24 時間)。「昨夜なにがあったか」には答えられますが、「このサーバーが前の四半期に何をしていたか」には答えられません。
- オープンソース。Netdata のエージェントは GPLv3 です。読めますし、フォークもでき、監査もできます。Termal OS はいまのところソースを公開しておらず、それをはっきり書いています。
- 異常検知。Netdata は指標ごとに学習済みの機械学習モデルを積んでいます。Termal OS は自分の履歴に対する、もっと単純な z スコアを使います。役には立ちますが、同じ土俵ではありません。
Termal OS が違うやり方をしているところ
3 つあり、どれもひとつの決断から出ています。サーバーには何も入れない。
- 本当にエージェント不要。Termal OS は、すでにお持ちの素の SSH 接続でつなぎ、周期ごとにシェルでスナップショットを取ります。デーモンもパッケージも、開けるポートも、更新すべき構成管理もありません。これがいちばん効くのは、何も入れられない場所です。共用サーバーやマネージドホスティング、自分のものではないお客さまのサーバー、他人の変更管理の下にあるマシン。
- 見るだけでなく、手を動かせる。どのサーバーにも本格的なリモートデスクトップが付いてきます。進捗と権限を備えた SFTP のファイルエクスプローラー、本物の PTY ターミナル、Monaco のコードエディター、タブ付きブラウザー、書庫の管理、プロセスマネージャー。そのすべてが同じ 1 本の SSH 接続を通ります。Netdata は設計として読み取り専用です。観測の道具であって、管理の道具ではありません。
- ホスティングを知っている。Termal OS は降り立った先の構成を見分けます。Plesk、cPanel、Infomaniak、素の nginx や Apache。ホスティング中のサイトを、それぞれが実際に動いている PHP のバージョンつきで並べ、アクセスログを訪問統計にまとめ、クリック 1 回の git pull を用意します。これは制作会社の日常であって、監視の機能ではありません。
並べて比べる
| Termal OS | Netdata | |
|---|---|---|
| 監視対象のサーバーに入るもの | なし | エージェントのデーモン |
| 指標の解像度 | 15 秒〜60 秒 | 1 秒刻み |
| 集める指標の数 | 絞った範囲 | 数千 |
| 離席中も収集するか | アプリの起動が必要 | 常時 |
| 履歴の保存 | 約 24 時間のローリング | 長期・階層化 |
| 異常検知 | z スコア | 指標ごとの機械学習 |
| リモート管理(ファイル、シェル、エディター) | 内蔵 | 役割の外 |
| ホスティング中のサイトと PHP バージョンの検出 | あり | - |
| 複数サーバーの画面を、自分の環境で | 内蔵 | 親ノードか Cloud |
| ライセンス | ソース非公開 | エージェントは GPLv3 |
| 共用サーバーで動くか | 動く | 動かない |
緑は「優れている」ではなく、「その行では強い」という意味です。ここに並ぶ行の半分は Netdata のものです。それが正直なところです。
どちらを選ぶか
Netdata を選ぶとよいのは、サーバーが自分のもので、エージェントを入れられるとき。指標の深さと長い保存が欲しいとき。自分のパソコンとは関係なく、収集が 24 時間続いてほしいとき。監査できるオープンソースが欲しいとき。あるいは、数十台から数千台のノードを見ているときです。
Termal OS を選ぶとよいのは、対象に何も入れられないとき——共用サーバー、お客さまのマシン、いじれない仮想マシン。数台から数十台の Linux サーバーを回しているとき。問題を見つけたその窓のまま直したいとき。あるいは、認証情報と指標を、それを預かるクラウドのアカウントなしで、自分のパソコンに留めておきたいときです。
両方動かす、というのも十分に正しい答えです
この 2 つは互いを排除しません。自分のものであるサーバーの上では、きれいに補い合います。Netdata は深く常時の観測に、Termal OS は何かをしなければならない瞬間の、手を動かすコックピットとして。Termal OS はサーバーに何も足さないので、すでにいるエージェントとぶつかりようがありません。
Termal OS のいまの立ち位置
ダウンロードしてから驚かないように、先に書いておきます。
- 収集にはアプリの起動が要ります。裏側での収集はウィンドウとは無関係で、画面を閉じても問い合わせと通知は続きます。ただしアプリは、起きているマシンの上で、認証情報の保管庫が解除された状態で動いている必要があります。ノートパソコンを閉じれば、収集は止まります。Netdata にこの制約はありません。
- 規模。数台から数十台のサーバーを想定しています。数千台のホストのために作られてはおらず、SNMP もネットワークの自動探索も Windows の監視もありません。
- 0.x 版で、公開 Preview の最中です。いまはサーバー 3 台まで無料。Windows と macOS のビルドはまだコード署名されていないため、この 2 つのプラットフォームでは自動更新を意図して無効にしています。その理由はセキュリティのページに書きました。