Hub pemantauan sumber daya server ringan dengan data historis, statistik buruh pelabuhan, dan peringatan.
Ringan : Lebih kecil dan lebih hemat sumber daya dibandingkan solusi terkemuka.
Sederhana : Pengaturan mudah, tidak perlu paparan internet publik.
Statistik Docker : Melacak riwayat penggunaan CPU, memori, dan jaringan untuk setiap kontainer.
Peringatan : Peringatan yang dapat dikonfigurasi untuk CPU, memori, disk, bandwidth, suhu, dan status sistem.
Multi-pengguna : Setiap pengguna mengelola sistem mereka sendiri. Admin dapat berbagi sistem antar pengguna.
OAuth / OIDC : Mendukung beberapa penyedia OAuth2. Otentikasi kata sandi dapat dinonaktifkan.
Pencadangan otomatis : Menyimpan dan memulihkan data dari disk atau penyimpanan yang kompatibel dengan S3.
REST API : Gunakan atau perbarui data Anda di skrip dan aplikasi Anda sendiri.
Beszel terdiri dari dua komponen utama yaitu hub dan agen.
Hub: Aplikasi web yang menyediakan dasbor untuk melihat dan mengelola sistem yang terhubung. Dibangun di PocketBase.
Agen: Berjalan pada setiap sistem yang ingin Anda pantau, membuat server SSH minimal untuk mengomunikasikan metrik sistem ke hub.
Jika tidak menggunakan buruh pelabuhan, lewati langkah 4-5 dan jalankan agen menggunakan biner.
Mulai hub (lihat instalasi).
Buka http://localhost:8090 dan buat pengguna admin.
Klik "Tambahkan sistem." Masukkan nama dan host sistem yang ingin Anda pantau.
Klik "Salin penulisan buruh pelabuhan" untuk menyalin file docker-compose.yml agen ke papan klip Anda.
Pada sistem agen, buat file penulisan dan jalankan docker compose up
untuk memulai agen.
Kembali ke hub, klik tombol "Tambahkan sistem" di dialog untuk menyelesaikan penambahan sistem.
Jika semuanya berjalan dengan baik, sistem akan berubah menjadi hijau. Jika warnanya berubah menjadi merah, periksa halaman Log dan lihat tips pemecahan masalah.
Untuk tutorial dalam bahasa Prancis, lihat https://belginux.com/installer-beszel-avec-docker/
Anda dapat menginstal hub dan agen sebagai biner tunggal atau menggunakan Docker.
Hub : Lihat contoh file docker-compose.yml.
Agen : Hub menyediakan konten penulisan untuk agen, namun Anda juga dapat mereferensikan contoh file docker-compose.yml.
Agen menggunakan mode jaringan host untuk mengakses statistik antarmuka jaringan, yang secara otomatis mengekspos port. Ubah port menggunakan variabel lingkungan jika diperlukan.
Jika Anda tidak memerlukan statistik jaringan, hapus baris tersebut dari file penulisan dan petakan port secara manual.
Tip
Jika menggunakan Linux, lihat panduan/systemd.md untuk skrip untuk menginstal hub atau agen sebagai layanan sistem. Ini juga dibangun ke dalam UI web.
Unduh dan jalankan binari terbaru dari halaman rilis atau gunakan perintah di bawah ini.
curl -sL "https://github.com/henrygd/beszel/releases/latest/download/beszel_$(uname -s)_$(uname -m | sed 's/x86_64/amd64/' | sed 's/ armv7l/arm/' |.sed 's/aarch64/arm64/').tar.gz" | tar -xz -O bezel | tee ./beszel >/dev/null && chmod +x beszel && ls beszel
Menjalankan hub secara langsung:
./beszel sajikan
curl -sL "https://github.com/henrygd/beszel/releases/latest/download/beszel-agent_$(uname -s)_$(uname -m | sed 's/x86_64/amd64/' | sed ' s/armv7l/arm/' |.sed 's/aarch64/arm64/').tar.gz" | tar -xz -O beszel-agen | tee ./beszel-agent >/dev/null && chmod +x beszel-agent && ls beszel-agent
Menjalankan agen secara langsung:
PORT=45876 KEY="{PASTE_YOUR_KEY}" ./beszel-agent
Gunakan ./beszel update
dan ./beszel-agent update
untuk memperbarui ke versi terbaru.
Nama | Bawaan | Keterangan |
---|---|---|
CSP | tidak disetel | Menambahkan header Kebijakan Keamanan Konten dengan nilai ini. |
DISABLE_PASSWORD_AUTH | PALSU | Menonaktifkan otentikasi kata sandi. |
Nama | Bawaan | Keterangan |
---|---|---|
DOCKER_HOST | tidak disetel | Mengganti host buruh pelabuhan (docker.sock) jika menggunakan proxy. 1 |
EXTRA_FILESYSTEMS | tidak disetel | Lihat Memantau disk, partisi, atau pemasangan jarak jauh tambahan |
FILESYSTEM | tidak disetel | Perangkat, partisi, atau titik pemasangan yang akan digunakan untuk statistik root disk. |
KEY | tidak disetel | Kunci SSH publik yang digunakan untuk otentikasi. Disediakan di hub. |
LOG_LEVEL | info | Tingkat pencatatan. Nilai yang valid: "debug", "info", "peringatkan", "kesalahan". |
MEM_CALC | tidak disetel | Mengganti perhitungan memori default. 2 |
NICS | tidak disetel | Daftar putih antarmuka jaringan untuk memantau grafik bandwidth. |
PORT | 45876 | Port atau alamat: port untuk mendengarkan. |
SENSORS | tidak disetel | Daftar putih sensor suhu untuk dipantau. |
SYS_SENSORS | tidak disetel | Mengganti jalur sistem untuk sensor. Lihat #160. |
Beszel mendukung OpenID Connect dan banyak penyedia otentikasi OAuth2 (lihat daftar di bawah).
Kunjungi halaman "Penyedia autentikasi" untuk mengaktifkan penyedia Anda. URL pengalihan/panggilan balik harus
.
Apel
Bitbucket
Perselisihan
Gitea
gitee
GitHub
GitLab
Kakao
Obrolan Langsung
sapi surat
Microsoft
Koneksi OpenID
Patreon (v2)
Spotify
Strava
Berkedut
VK
Yandex
Metode untuk menambahkan disk tambahan berbeda-beda bergantung pada metode penerapan Anda.
Gunakan lsblk
untuk menemukan nama dan titik pemasangan partisi Anda. Jika Anda mengalami masalah, periksa log agen.
Catatan: Bagan akan menggunakan nama perangkat atau partisi jika tersedia, dan kembali ke nama folder. Anda tidak akan mendapatkan statistik I/O untuk drive yang terpasang di jaringan.
Pasang folder dari sistem file target di direktori /extra-filesystems
kontainer. Misalnya:
volume: - /mnt/disk1/.beszel:/extra-filesystems/sdb1:ro - /dev/mmcblk0/.beszel:/extra-filesystems/mmcblk0:ro
Atur variabel lingkungan EXTRA_FILESYSTEMS
ke daftar perangkat, partisi, atau titik pemasangan yang dipisahkan koma untuk dipantau. Misalnya:
EXTRA_FILESYSTEMS="sdb,sdc1,mmcblk0,/mnt/network-share"
Karena Beszel dibangun di PocketBase, Anda dapat menggunakan API web PocketBase dan SDK sisi klien untuk membaca atau memperbarui data dari luar Beszel itu sendiri.
Hub dan agen berkomunikasi melalui SSH, sehingga tidak perlu terekspos ke internet. Meskipun Anda menempatkan gateway autentikasi eksternal, seperti Authelia, di depan hub, hal tersebut tidak akan mengganggu atau memutus koneksi antara hub dan agen.
Saat hub dimulai untuk pertama kalinya, hub menghasilkan pasangan kunci ED25519.
Server SSH agen dikonfigurasi untuk menerima koneksi menggunakan kunci ini saja. Itu tidak menyediakan terminal semu atau menerima masukan, jadi tidak mungkin menjalankan perintah pada agen meskipun kunci pribadi Anda disusupi.
Admin memiliki akses ke tautan tambahan di hub, seperti cadangan, pengaturan SMTP, dll. Pengguna pertama yang dibuat secara otomatis menjadi admin dan dapat masuk ke PocketBase.
Mengubah peran pengguna tidak membuat akun admin PocketBase untuk mereka. Untuk melakukannya, buka Pengaturan > Admin di PocketBase dan tambahkan secara manual.
Pengguna dapat membuat sistem dan peringatan mereka sendiri. Tautan ke pengaturan PocketBase tidak ditampilkan di hub.
Pengguna read-only tidak dapat membuat sistem tetapi dapat melihat sistem apa pun yang dibagikan kepada mereka oleh admin dan membuat peringatan.
Dengan asumsi agen sedang berjalan, koneksi mungkin diblokir oleh firewall. Anda memiliki dua opsi:
Tambahkan aturan masuk ke firewall sistem agen untuk mengizinkan koneksi TCP ke port. Periksa semua firewall yang aktif, seperti iptables, dan pengaturan firewall penyedia cloud Anda jika berlaku.
Alternatifnya, gunakan perangkat lunak seperti Cloudflare Tunnel, WireGuard, atau Tailscale untuk melewati firewall Anda dengan aman.
Anda dapat menguji konektivitas dengan menjalankan telnet
.
Jika menggunakan mode jaringan host untuk agen tetapi bukan hub, tambahkan sistem Anda menggunakan nama host host.docker.internal
, yang menentukan alamat IP internal yang digunakan oleh host. Lihat contoh docker-compose.yml.
Jika menggunakan mode jaringan host untuk keduanya, Anda dapat menggunakan localhost
sebagai nama host.
Jika tidak, gunakan container_name
agen sebagai nama host jika keduanya berada di jaringan Docker yang sama.
Tentukan sistem file/perangkat/partisi untuk statistik root disk menggunakan variabel lingkungan FILESYSTEM
.
Jika tidak disetel, agen akan mencoba menemukan partisi yang terpasang di /
dan menggunakannya. Ini mungkin tidak berfungsi dengan benar dalam wadah, jadi disarankan untuk menetapkan nilai ini. Gunakan salah satu metode berikut untuk menemukan sistem file yang benar:
Jalankan lsblk
dan pilih opsi di bawah "NAMA".
Jalankan df -h
dan pilih opsi di bawah "Sistem File".
Jalankan sudo fdisk -l
dan pilih opsi di bawah "Perangkat".
Jika bagan kontainer memperlihatkan data kosong atau tidak muncul sama sekali, Anda mungkin perlu mengaktifkan penghitungan memori cgroup. Untuk memverifikasi, jalankan docker stats
. Jika ini menunjukkan nol penggunaan memori, ikuti panduan ini untuk memperbaiki masalah:
https://akashrajpurohit.com/blog/resolving-missing-memory-stats-in-docker-stats-on-raspberry-pi/
Coba perbarui versi Docker Anda di sistem agen. Masalah ini terjadi pada mesin yang menjalankan versi 24 dan diselesaikan dengan memutakhirkan ke versi 27.
Catatan untuk periode waktu yang lebih lama dibuat dengan rata-rata statistik dari periode yang lebih pendek. Agen harus berjalan tanpa gangguan agar kumpulan data lengkap dapat mengisi catatan ini.
Menjeda/membatalkan jeda agen selama lebih dari satu menit akan mengakibatkan data tidak lengkap, menyetel ulang waktu untuk interval saat ini.
Baik hub maupun agen ditulis dalam Go, sehingga Anda dapat dengan mudah membuatnya sendiri, atau melakukan kompilasi silang untuk platform berbeda. Silakan instal Go terlebih dahulu jika Anda belum melakukannya.
Jalankan make
in /beszel
. Ini menciptakan direktori build
yang berisi binari.
cd beszel && buat
Anda juga dapat membangun untuk berbagai platform:
buat OS=freebsd ARCH=arm64
Lihat daftar opsi yang valid dengan menjalankan go tool dist list
.
cd beszel && go mod rapi
Buka beszel/cmd/agent
dan jalankan perintah berikut untuk membuat biner di direktori saat ini:
CGO_ENABLED=0 lanjutkan build -ldflags "-w -s" .
Hub menyematkan UI web dalam biner, jadi Anda harus membangun situs web terlebih dahulu. Saya menggunakan Bun, tetapi Anda dapat menggunakan Node.js jika Anda mau:
cd beszel/situs pemasangan sanggul bun run build
Kemudian di beszel/cmd/hub
:
CGO_ENABLED=0 lanjutkan build -ldflags "-w -s" .
Anda dapat melakukan kompilasi silang untuk platform berbeda menggunakan variabel lingkungan GOOS
dan GOARCH
.
Misalnya, untuk membangun FreeBSD ARM64:
GOOS=freebsd GOARCH=arm64 CGO_ENABLED=0 lanjutkan build -ldflags "-w -s" .
Lihat daftar opsi yang valid dengan menjalankan go tool dist list
.
Kontribusi dipersilakan, tetapi ada baiknya untuk menghubungi kami terlebih dahulu dalam diskusi/masalah jika Anda berencana melakukan sesuatu yang signifikan.
Kami menggunakan Crowdin untuk mengelola terjemahan. Bahasa baru atau peningkatan pada terjemahan yang sudah ada sangat kami hargai!
Kami akan mendapatkan lebih banyak informasi bermanfaat tentang berkontribusi pada Beszel dalam waktu dekat.
Beszel dilisensikan di bawah Lisensi MIT. Lihat file LISENSI untuk lebih jelasnya.
Beszel hanya memerlukan akses untuk membaca informasi container. Untuk linuxserver/docker-socket-proxy Anda akan mengatur CONTAINERS=1
. ↩
Nilai default untuk memori yang digunakan didasarkan pada perhitungan Used gopsutil, yang seharusnya selaras dengan free
. Atur MEM_CALC
ke htop
agar selaras dengan perhitungan htop. ↩