なぜ私のサーバーではBeszelがNetdataやZabbixに取って代わったのか?
20台以上のVPSノードを6ヶ月間管理してきた中で、重要なことに気づきました。時には、Zabbixのような巨大なシステムや複雑なGrafanaダッシュボードは必要ありません。どのサーバーがハングしているか、RAMが不足しているか、あるいはネットワークに異常があるかを知りたいだけなら、Beszelがその答えです。
以前はNetdataを使っていましたが、1GBの低スペックVPSでは100MBものRAMを消費していました。Prometheus + Grafanaは設定に手間がかかりすぎます。Beszelはすべてを解決してくれます。SaaSのようなモダンなUI、Go言語による超軽量な動作、および最初からマルチサーバー対応が組み込まれています。
5分でBeszelをデプロイする
システムは、Beszel Hub(管理・表示側)とBeszel Agent(監視対象サーバー側)の2つのパーツで構成されます。Docker Composeを使用して迅速にデプロイしましょう。
1. Beszel Hubのインストール
1台のサーバーをハブとして選択します。以下の内容で docker-compose.yml ファイルを作成します。
services:
beszel:
image: 'henrygd/beszel:latest'
container_name: 'beszel-hub'
restart: unless-stopped
ports:
- '8090:8090'
volumes:
- ./beszel_data:/data
docker compose up -d コマンドを実行します。その後、http://サーバーのIP:8090 にアクセスして、初期管理者アカウントを設定します。
2. エージェントをシステムに接続する
Hubのインターフェースで “Add System” をクリックします。システムから識別用の KEY が発行されます。エージェント側のComposeファイルは以下のようになります。
services:
beszel-agent:
image: 'henrygd/beszel-agent:latest'
container_name: 'beszel-agent'
restart: unless-stopped
network_mode: host
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
environment:
PORT: 4567
KEY: 'ssh-ed25519 AAAAC3... (あなたのキー)'
このエージェントを他のすべてのサーバーで実行するだけです。自動的に接続され、即座にデータがHubに送信されます。
セキュリティとストレージの仕組み
Beszelは煩雑なPush/Pullメカニズムを使用しません。HubはSSHキーに基づいた安全なプロトコルを介してエージェントに接続します。秘密鍵を持つHubだけがエージェントからデータを取得できるため、一般的なポートスキャン攻撃を防ぐことができます。
Dockerのエラーを素早く特定
私が最も気に入っている機能は、追加設定なしでDocker Statsを監視できることです。docker.sock をマウントすると、各コンテナがどれだけのリソースを消費しているかが一目でわかります。これは、ウェブアプリがメモリリークを起こした際、どのコンテナが原因か分からない時の「救世主」となります。
超軽量なSQLiteデータ
すべての指標はHub上のSQLiteに保存されます。20ノードを継続的に監視しても、半年後のデータベースサイズはわずか300MB程度でした。システムが古いデータを自動的に集約(ロールアップ)するため、容量の増加は非常に緩やかです。
アラート設定と高度なセキュリティ
Telegram経由のアラート設定
BeszelはAppriseの統合により、Telegram、Discord、Slack経由のアラート送信をサポートしています。頻繁な通知を避けるため、スマートな閾値を設定することをお勧めします。例:CPU使用率が90%を超え、かつ5分間継続した場合のみアラートを出す、など。
リバースプロキシによるセキュリティ
8090ポートを直接公開しないでください。Nginx Proxy ManagerやTraefikを使用してHTTPS化しましょう。BeszelはOIDCもサポートしており、Google AuthやAuthentikを使用してダッシュボードの安全性を高めることができます。
6ヶ月間の運用から得た実践的なヒント
システムをより最適化するための注意点をいくつか挙げます。
- アラートのノイズ対策: デフォルトのディスク使用率80%でアラートを出さないようにしましょう。ログが多いサーバーではTelegramが鳴り止まなくなります。閾値を90-95%に上げることをお勧めします。
- 低スペックVPSの最適化: エージェントの消費電力はわずか15MB RAMです。ただし、512MBのVPSでは、ディスクI/O負荷を軽減するために
UPDATE_INTERVALを30秒に調整するのが良いでしょう。 - データのバックアップ:
beszel_dataディレクトリを定期的にバックアップしてください。ここにはすべての監視履歴と、設定したノードのリストが含まれています。
Zabbixの重厚さに比べ、Beszelはシンプルで効率的な体験を提供します。DevOpsやSREにとって本当に重要な指標に焦点を当てています。ホームラボや数台のVPSを管理しているなら、今すぐBeszelを試してみてください。白黒の退屈な htop コマンドはすぐに忘れてしまうでしょう。

