「こういうのでいいんだよ」軽量監視ソリューション
監視を導入したけど運用が手間になっていませんか?
- コンテナ対応やマイクロサービス対応で持ち上げられた「Grafana+Prometheus」
- UIが最悪でphpのアップデート時によく壊れる「Zabbix」
- シンプルで軽量だけど機能が微妙「Munin」「Nagios」系
これらをまるっと置き換える「Beszel」が良かったので構築手順を残しておく。
構築手順

Beszel | Simple, lightweight server monitoring
Lightweight server monitoring with historical data, Docker stats, and alerts.
※バイナリ(非docker)でのインストールを基準に解説
公式提供の一撃インストール
sudo権限のユーザーで実行
curl -sL https://get.beszel.dev/hub -o /tmp/install-hub.sh && chmod +x /tmp/install-hub.sh && /tmp/install-hub.sh
サービス確認
sudo service beszel status
# ※動いてなければ
sudo service beszel start
sudo systemctl enable beszel
これで8090ポートで管理画面が稼働している
nginx設定
sudo apt install nginx
nginxのconf設定例
sudo vim /etc/nginx/conf.d/beszel.conf
※hq.mydomain.com は各自のドメインにあわせて変更する
証明書は各自で設定すること
server {
listen 80;
listen [::]:80;
server_name beszel.hq.mydomain.com;
return 301 https://$host$request_uri;
}
server {
listen 443;
listen [::]:443;
server_name beszel.hq.mydomain.com;
ssl_certificate /etc/ssl/www/beszel.hq.mydomain.com/fullchain.pem;
ssl_certificate_key /etc/ssl/www/beszel.hq.mydomain.com/privkey.pem;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:10m;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers off;
add_header X-Frame-Options DENY always;
add_header X-Content-Type-Options nosniff always;
add_header Referrer-Policy strict-origin-when-cross-origin always;
add_header X-XSS-Protection "1; mode=block" always;
client_max_body_size 20m;
location / {
proxy_pass http://127.0.0.1:8090;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 300;
proxy_send_timeout 300;
proxy_connect_timeout 60;
proxy_buffering off;
}
}
ブラウザで管理画面を開く
- 上の例だとブラウザで、beszel.hq.mydomain.com を開く
- 初回起動時に管理者ユーザーを設定する
- 空欄の管理画面が表示される
監視対象のエージェントを登録する
- いちばん上に「docker|バイナリ」のタブがあるのでクライアントに設置するタイプを選ぶ。【※例:dockerを使わない場合は「バイナリ」】
- 管理画面右上に「システムを追加+」ボタンがあるのでクリック
- 任意の監視名と、対象のIPアドレス(もしくはホスト名)を登録
- dockerで導入する場合は「docker composeをコピー」をクリックしてマニフェストを取得する(対象ホストへdockerマニフェストを登録してエージェントを構築する)
- バイナリで導入する場合は「Linuxコマンドをコピー」をクリックしてコマンドをコピーする(対象ホストへコマンドをペーストして実行することでエージェントが構築される)
- 右下の「システムを追加」ボタンをクリックすると監視対象が登録される
どのくらい軽量か?
古い2コアのAtomやCeleronで構築してもCPU使用率は2%前後で安定稼働している
