Glances adalah alat pemantauan lintas platform sistem sumber terbuka. Ini memungkinkan pemantauan real-time dari berbagai aspek sistem Anda seperti CPU, memori, disk, penggunaan jaringan, dll. Ini juga memungkinkan pemantauan proses yang berjalan, pengguna yang masuk, suhu, voltase, kecepatan kipas, dll. Ini juga mendukung pemantauan kontainer, ini mendukung sistem manajemen kontainer yang berbeda seperti Docker, LXC. Informasi disajikan dalam dashboard yang mudah dibaca dan juga dapat digunakan untuk pemantauan sistem jarak jauh melalui antarmuka web atau antarmuka baris perintah. Mudah dipasang dan digunakan serta dapat disesuaikan untuk hanya menampilkan informasi yang Anda minati.
Dalam mode klien/server, pemantauan jarak jauh dapat dilakukan melalui terminal, antarmuka Web atau API (XML-RPC dan RESTful). Statistik juga dapat diekspor ke file atau database waktu/nilai eksternal, CSV, atau keluaran langsung ke STDOUT.
Sekilas ditulis dengan Python dan menggunakan perpustakaan untuk mengambil informasi dari sistem Anda. Ini didasarkan pada arsitektur terbuka di mana pengembang dapat menambahkan plugin baru atau mengekspor modul.
Anda dapat membantu saya mencapai tujuan saya dalam meningkatkan proyek sumber terbuka ini atau cukup mengucapkan "terima kasih" dengan:
Setiap dan semua kontribusi sangat dihargai.
python>=3.9
(gunakan Glances 3.4.x untuk versi Python yang lebih rendah)psutil
(lebih baik dengan versi terbaru)defusedxml
(untuk membuat patch monyet xmlrpc)packaging
(untuk perbandingan versi)orjson
(alternatif yang dioptimalkan untuk modul json standar)Catatan untuk pengguna Python 2
Sekilas versi 4 atau lebih tinggi tidak mendukung Python 2 (dan Python 3 <3.9). Silakan gunakan Glances versi 3.4.x jika Anda memerlukan dukungan Python 2.
Ketergantungan opsional:
batinfo
(untuk pemantauan baterai)bernhard
(untuk modul ekspor Riemann)cassandra-driver
(untuk modul ekspor Cassandra)chevron
(untuk fitur skrip tindakan)docker
(untuk dukungan pemantauan Containers Docker)elasticsearch
(untuk modul ekspor Elastic Search)FastAPI
dan Uvicorn
(untuk mode server Web)graphitesender
(Untuk modul ekspor Grafit)hddtemp
(untuk dukungan pemantauan suhu HDD) [khusus Linux]influxdb
(untuk modul ekspor InfluxDB versi 1)influxdb-client
(untuk modul ekspor InfluxDB versi 2)jinja2
(untuk templating, digunakan secara tersembunyi oleh FastAPI)kafka-python
(untuk modul ekspor Kafka)netifaces
(untuk plugin IP)nvidia-ml-py
(untuk plugin GPU)pycouchdb
(untuk modul ekspor CouchDB)pika
(untuk modul ekspor RabbitMQ/ActiveMQ)podman
(untuk dukungan pemantauan Containers Podman)potsdb
(untuk modul ekspor OpenTSDB)prometheus_client
(untuk modul ekspor Prometheus)pygal
(untuk modul ekspor grafik)pymdstat
(untuk dukungan RAID) [khusus Linux]pymongo
(untuk modul ekspor MongoDB)pysnmp-lextudio
(untuk dukungan SNMP)pySMART.smartx
(untuk dukungan HDD Smart) [khusus Linux]pyzmq
(untuk modul ekspor ZeroMQ)requests
(untuk Ports, plugin Cloud, dan modul ekspor RESTful)sparklines
(untuk opsi grafik mini Plugin Cepat)statsd
(untuk modul ekspor StatsD)wifi
(untuk plugin wifi) [khusus Linux]zeroconf
(untuk mode penemuan otomatis) Ada beberapa metode untuk menguji/menginstal Glance di sistem Anda. Pilih senjatamu!
Sekilas ada di PyPI
. Dengan menggunakan PyPI, Anda akan menggunakan versi stabil terbaru.
Untuk menginstal Glances, cukup gunakan baris perintah pip
.
Peringatan: pada sistem operasi Linux modern, Anda mungkin mendapatkan pesan kesalahan lingkungan yang dikelola secara eksternal saat mencoba menggunakan pip
. Dalam hal ini, buka bagian PipX di bawah.
pip install --user glances
Catatan : Header Python diperlukan untuk menginstal psutil, ketergantungan Glances. Misalnya, di Debian/Ubuntu yang paling sederhana adalah apt install python3-psutil
atau alternatifnya perlu menginstal terlebih dahulu paket python-dev dan gcc ( python-devel di Fedora/CentOS/RHEL). Untuk Windows, cukup instal psutil dari file instalasi biner.
Secara default, Glances diinstal tanpa ketergantungan antarmuka Web. Untuk menginstalnya, gunakan perintah berikut:
pip install --user 'glances[web]'
Untuk instalasi penuh (dengan semua fitur):
pip install --user 'glances[all]'
Untuk meningkatkan Glance ke versi terbaru:
pip install --user --upgrade glances
Cabang pengembangan saat ini dipublikasikan ke indeks paket test.pypi.org. Jika Anda ingin menguji versi pengembangan (bisa jadi tidak stabil), masukkan:
pip install --user -i https://test.pypi.org/simple/ Glances
Instal PipX di sistem Anda (apt install pipx di Ubuntu).
Instal Glance (dengan semua fitur):
pipx install 'glances[all]'
Skrip sekilas akan dipasang di folder ~/.local/bin.
Sekilas gambar Docker tersedia. Anda dapat menggunakannya untuk memantau server Anda dan semua container Anda!
Dapatkan wadah Glance:
docker pull nicolargo/glances:latest-full
Tag berikut tersedia:
Jalankan wadah Glances versi terakhir dalam mode konsol :
docker run --rm -e TZ="${TZ}" -v /var/run/docker.sock:/var/run/docker.sock:ro -v /run/user/1000/podman/podman.sock:/run/user/1000/podman/podman.sock:ro --pid host --network host -it nicolargo/glances:latest-full
Secara default, file /etc/glances/glances.conf digunakan (berdasarkan docker-compose/glances.conf).
Selain itu, jika Anda ingin menggunakan file melirik.conf Anda sendiri, Anda dapat membuat Dockerfile Anda sendiri:
FROM nicolargo/glances:latest
COPY glances.conf /root/.config/glances/glances.conf
CMD python -m glances -C /root/.config/glances/glances.conf $GLANCES_OPT
Alternatifnya, Anda dapat menentukan sesuatu yang serupa dengan opsi docker run (perhatikan parameter pengaturan variabel lingkungan GLANCES_OPT untuk perintah startup sekilas):
docker run -e TZ="${TZ}" -v $HOME/.config/glances/glances.conf:/glances.conf:ro -v /var/run/docker.sock:/var/run/docker.sock:ro -v /run/user/1000/podman/podman.sock:/run/user/1000/podman/podman.sock:ro --pid host -e GLANCES_OPT="-C /glances.conf" -it nicolargo/glances:latest-full
Dimana $HOME/.config/glances/glances.conf adalah direktori lokal yang berisi file melirik.conf Anda.
Jalankan wadah dalam mode server Web :
docker run -d --restart="always" -p 61208-61209:61208-61209 -e TZ="${TZ}" -e GLANCES_OPT="-w" -v /var/run/docker.sock:/var/run/docker.sock:ro -v /run/user/1000/podman/podman.sock:/run/user/1000/podman/podman.sock:ro --pid host nicolargo/glances:latest-full
Untuk daftar opsi selengkapnya, lihat halaman dokumentasi Glances Docker.
Glance tersedia di banyak distribusi Linux, jadi Anda dapat menginstalnya menggunakan manajer paket favorit Anda. Perlu diketahui bahwa ketika Anda menggunakan metode ini, paket sistem operasi untuk Glance mungkin bukan versi terbaru dan hanya plugin dasar yang diaktifkan.
Catatan: Paket Debian (dan semua distribusi berbasis Debian lainnya) tidak menyertakan lagi file statika JS yang digunakan oleh antarmuka Web (lihat issue2021
). Jika Anda ingin menambahkannya ke instalasi Glances Anda, ikuti petunjuknya: issue2021comment
. Di Glances versi 4 dan lebih tinggi, jalur ke file statika dapat dikonfigurasi (lihat issue2612
).
Untuk menginstal paket biner:
# pkg install py39-glances
Untuk menginstal Glance dari port:
# cd /usr/ports/sysutils/py-glances/
# make install clean
Jika Anda tidak ingin menggunakan skrip melirikautoinstall, ikuti prosedur ini.
pengguna macOS dapat menginstal Glances menggunakan Homebrew
atau MacPorts
.
$ brew install glances
$ sudo port install glances
Instal Python untuk Windows (Python 3.4+ dikirimkan dengan pip) dan kemudian jalankan perintah berikut:
$ pip install glances
Anda memerlukan perangkat yang telah di-root dan aplikasi Termux (tersedia di Google Play Store).
Mulai Termux di perangkat Anda dan masukkan:
$ apt update
$ apt upgrade
$ apt install clang python
$ pip install fastapi uvicorn jinja2
$ pip install glances
Dan mulai Sekilas:
$ glances
Anda juga dapat menjalankan Glances dalam mode server (-s atau -w) untuk memantau perangkat Android Anda dari jarak jauh.
Untuk menginstal Glance dari sumber:
$ pip install https://github.com/nicolargo/glances/archive/vX.Y.tar.gz
Catatan : Header Python diperlukan untuk menginstal psutil.
Buku masak Chef
yang luar biasa tersedia untuk memantau infrastruktur Anda: https://supermarket.chef.io/cookbooks/glances (terima kasih kepada Antoine Rouyer)
Anda dapat menginstal Glances menggunakan Puppet
: https://github.com/rverchere/puppet-glances
Peran Glances Ansible
tersedia: https://galaxy.ansible.com/zaxos/glances-ansible-role/
Untuk mode mandiri, jalankan saja:
$ glances
Untuk mode server Web, jalankan:
$ glances -w
dan masukkan URL http://<ip>:61208
di browser web favorit Anda.
Untuk mode klien/server, jalankan:
$ glances -s
di sisi server dan jalankan:
$ glances -c < ip >
pada klien.
Anda juga dapat mendeteksi dan menampilkan semua server Glances yang tersedia di jaringan Anda atau ditentukan dalam file konfigurasi:
$ glances --browser
Anda juga dapat menampilkan statistik mentah di stdout:
$ glances --stdout cpu.user,mem.used,load
cpu.user: 30.7
mem.used: 3278204928
load: {'cpucore': 4, 'min1': 0.21, 'min5': 0.4, 'min15': 0.27}
cpu.user: 3.4
mem.used: 3275251712
load: {'cpucore': 4, 'min1': 0.19, 'min5': 0.39, 'min15': 0.27}
...
atau dalam format CSV berkat opsi stdout-csv:
$ glances --stdout-csv now,cpu.user,mem.used,load
now,cpu.user,mem.used,load.cpucore,load.min1,load.min5,load.min15
2018-12-08 22:04:20 CEST,7.3,5948149760,4,1.04,0.99,1.04
2018-12-08 22:04:23 CEST,5.4,5949136896,4,1.04,0.99,1.04
...
atau dalam format JSON berkat opsi stdout-json (atribut tidak didukung dalam mode ini untuk menghasilkan objek JSON nyata):
$ glances --stdout-json cpu,mem
cpu: {"total": 29.0, "user": 24.7, "nice": 0.0, "system": 3.8, "idle": 71.4, "iowait": 0.0, "irq": 0.0, "softirq": 0.0, "steal": 0.0, "guest": 0.0, "guest_nice": 0.0, "time_since_update": 1, "cpucore": 4, "ctx_switches": 0, "interrupts": 0, "soft_interrupts": 0, "syscalls": 0}
mem: {"total": 7837949952, "available": 2919079936, "percent": 62.8, "used": 4918870016, "free": 2919079936, "active": 2841214976, "inactive": 3340550144, "buffers": 546799616, "cached": 3068141568, "shared": 788156416}
...
dan RTFM, selalu.
Untuk dokumentasi lengkap lihat di situs readthedocs.
Jika Anda memiliki pertanyaan (setelah RTFM!), silakan posting di forum tanya jawab resmi.
Sekilas dapat mengekspor statistik ke: file CSV
, file JSON
, InfluxDB
, Cassandra
, CouchDB
, OpenTSDB
, Prometheus
, StatsD
, ElasticSearch
, RabbitMQ/ActiveMQ
, ZeroMQ
, Kafka
, Riemann
, Graphite
dan server RESTful
.
Jika Anda ingin berkontribusi pada proyek Glances, baca halaman wiki ini.
Ada juga obrolan yang didedikasikan untuk pengembang Glance:
Nicolas Hennion (@nicolargo) <[email protected]>
Sekilas didistribusikan di bawah lisensi LGPL versi 3. Lihat COPYING
untuk lebih jelasnya.