🌀 Real-Time Python CLI Dashboard dengan rich dan pyfiglet — Sekarang HIDUP ⚡
Selamat datang! Dalam panduan komprehensif ini, kita akan menjelajahi cara membangun dasbor CLI (Command Line Interface) Python real-time yang dinamis dan informatif menggunakan perpustakaan rich
dan pyfiglet
. Dasbor CLI menawarkan cara yang menarik dan efisien untuk memantau aplikasi, sistem, atau proses secara langsung dari terminal Anda. Artikel ini ditujukan untuk pengembang Python dari semua tingkatan, mulai dari pemula hingga yang mahir. Kami akan membahas langkah demi langkah, dari menyiapkan lingkungan Anda hingga menerapkan fitur canggih.
Daftar Isi
- Pendahuluan
- Mengapa Dasbor CLI?
rich
danpyfiglet
: Kekuatan Gabungan- Target Audiens dan Prasyarat
- Penyiapan Lingkungan
- Menginstal Python dan pip
- Membuat Lingkungan Virtual
- Menginstal Perpustakaan yang Diperlukan (
rich
,pyfiglet
)
- Dasbor CLI Sederhana: Langkah Awal
- Menulis Skrip Python Dasar
- Menggunakan
rich
untuk Formatting Teks - Menampilkan Informasi Sistem Dasar
- Meningkatkan dengan
pyfiglet
: Judul yang Menarik- Mengintegrasikan
pyfiglet
untuk Judul yang Mencolok - Mengustomisasi Font dan Warna
pyfiglet
- Mengintegrasikan
- Membuat Pembaruan Real-Time
- Menggunakan
time.sleep()
untuk Jeda - Membersihkan Layar Terminal
- Membuat Loop Pembaruan
- Menggunakan
- Menampilkan Data Dinamis
- Mengumpulkan Metrik Sistem (CPU, Memori, Disk)
- Menggunakan
psutil
untuk Informasi Sistem - Memformat dan Menampilkan Data dengan
rich
- Menambahkan Bagan dan Visualisasi
- Menggunakan
rich.live.Live
untuk Pembaruan Dinamis - Membuat Bagan Sederhana dengan Simbol ASCII
- Mengintegrasikan Bagan yang Lebih Kompleks (mis.,
sparklines
)
- Menggunakan
- Interaktivitas dan Kontrol Pengguna
- Menerima Input Pengguna dengan
input()
- Menangani Perintah Dasar
- Menggunakan
keyboard
untuk Kontrol Lebih Lanjut
- Menerima Input Pengguna dengan
- Kustomisasi dan Gaya Lanjut
- Membuat Tema Warna Kustom dengan
rich.style.Style
- Menggunakan Markup Rich untuk Formatting Lanjut
- Mengintegrasikan Emoji dan Ikon
- Membuat Tema Warna Kustom dengan
- Praktik Terbaik dan Pertimbangan Kinerja
- Menghindari Pembaruan yang Berlebihan
- Mengoptimalkan Kode Anda untuk Kecepatan
- Menangani Pengecualian dan Kesalahan dengan Elegan
- Studi Kasus: Memantau Proses Server
- Menjelaskan Skenario Dunia Nyata
- Menulis Kode untuk Memantau Proses Tertentu
- Menampilkan Status Proses, Penggunaan CPU, dan Memori
- Kesimpulan
- Ringkasan Manfaat Menggunakan Dasbor CLI
- Langkah Selanjutnya dan Sumber Daya
1. Pendahuluan
Mengapa Dasbor CLI?
Di era antarmuka grafis yang mewah, Anda mungkin bertanya-tanya mengapa kita harus mempertimbangkan dasbor CLI. Dasbor CLI menawarkan beberapa keunggulan:
- Efisiensi: Dasbor CLI ringan dan cepat. Mereka tidak membutuhkan sumber daya sebanyak GUI berbasis web atau desktop.
- Aksesibilitas: Anda dapat mengakses dasbor CLI dari mana saja dengan koneksi shell, bahkan melalui SSH.
- Otomatisasi: CLI sangat cocok untuk otomatisasi dan pembuatan skrip. Anda dapat dengan mudah mengintegrasikan dasbor CLI ke dalam alur kerja yang ada.
- Fokus: CLI menghilangkan gangguan visual dan memungkinkan Anda untuk fokus pada informasi penting.
- Portabilitas: CLI adalah lintas platform dan dapat berjalan di Linux, macOS, dan Windows.
rich
dan pyfiglet
: Kekuatan Gabungan
rich
dan pyfiglet
adalah dua perpustakaan Python yang kuat yang dapat membantu Anda membuat dasbor CLI yang menarik secara visual dan informatif:
rich
: Perpustakaanrich
menambahkan formatting kaya ke output terminal Anda. Ia mendukung warna, gaya, markup, tabel, bilah kemajuan, dan banyak lagi.rich
membuat output terminal Anda lebih mudah dibaca dan dipahami.pyfiglet
: Perpustakaanpyfiglet
memungkinkan Anda membuat teks seni ASCII dari font yang berbeda. Ini sangat bagus untuk menambahkan judul yang mencolok dan spanduk ke dasbor CLI Anda.
Target Audiens dan Prasyarat
Panduan ini ditujukan untuk pengembang Python dari semua tingkatan yang ingin membuat dasbor CLI untuk memantau aplikasi, sistem, atau proses. Prasyaratnya adalah:
- Pengetahuan dasar tentang Python
- Python 3.6 atau lebih tinggi terinstal
- pip terinstal
2. Penyiapan Lingkungan
Menginstal Python dan pip
Jika Anda belum menginstal Python, Anda dapat mengunduhnya dari situs web Python. Pastikan Anda memilih versi Python 3.6 atau lebih tinggi. pip biasanya diinstal bersama dengan Python. Untuk memverifikasi bahwa pip terinstal, buka terminal atau prompt perintah dan jalankan perintah berikut:
pip --version
Jika pip tidak terinstal, Anda dapat menginstalnya dengan mengikuti instruksi di situs web pip.
Membuat Lingkungan Virtual
Lingkungan virtual adalah cara yang bagus untuk mengisolasi dependensi proyek Anda. Ini mencegah konflik antara dependensi yang berbeda dari berbagai proyek. Untuk membuat lingkungan virtual, buka terminal atau prompt perintah dan navigasikan ke direktori tempat Anda ingin menyimpan proyek Anda. Kemudian, jalankan perintah berikut:
python -m venv venv
Ini akan membuat direktori bernama venv
yang berisi lingkungan virtual. Untuk mengaktifkan lingkungan virtual, jalankan perintah berikut:
- Linux/macOS:
source venv/bin/activate
- Windows:
venv\Scripts\activate
Setelah lingkungan virtual diaktifkan, Anda akan melihat nama lingkungan virtual di awal prompt perintah Anda.
Menginstal Perpustakaan yang Diperlukan (rich
, pyfiglet
)
Sekarang kita telah menyiapkan lingkungan kita, kita dapat menginstal perpustakaan yang diperlukan. Pastikan lingkungan virtual Anda aktif, lalu jalankan perintah berikut:
pip install rich pyfiglet
Ini akan menginstal perpustakaan rich
dan pyfiglet
ke dalam lingkungan virtual Anda.
3. Dasbor CLI Sederhana: Langkah Awal
Menulis Skrip Python Dasar
Mari kita mulai dengan menulis skrip Python dasar yang menampilkan beberapa teks ke terminal. Buat file bernama dashboard.py
dan tambahkan kode berikut:
print("Selamat datang di Dasbor CLI saya!")
print("Ini adalah contoh sederhana.")
Simpan file dan jalankan di terminal Anda:
python dashboard.py
Anda akan melihat teks yang ditampilkan di terminal Anda.
Menggunakan rich
untuk Formatting Teks
Sekarang mari kita gunakan rich
untuk menambahkan beberapa formatting ke teks kita. Ubah kode Anda menjadi:
from rich import print
print("[bold blue]Selamat datang di Dasbor CLI saya![/bold blue]")
print("[italic green]Ini adalah contoh sederhana.[/italic green]")
Jalankan skrip lagi. Anda akan melihat bahwa teks sekarang diformat dengan warna biru tebal dan hijau miring.
Menampilkan Informasi Sistem Dasar
Mari kita tampilkan beberapa informasi sistem dasar menggunakan perpustakaan platform
. Tambahkan kode berikut:
import platform
from rich import print
print("[bold blue]Selamat datang di Dasbor CLI saya![/bold blue]")
print("[italic green]Ini adalah contoh sederhana.[/italic green]")
print(f"[bold]Sistem Operasi:[/bold] {platform.system()}")
print(f"[bold]Versi Python:[/bold] {platform.python_version()}")
Jalankan skrip. Anda akan melihat informasi sistem Anda ditampilkan di terminal.
4. Meningkatkan dengan pyfiglet
: Judul yang Menarik
Mengintegrasikan pyfiglet
untuk Judul yang Mencolok
Mari kita gunakan pyfiglet
untuk menambahkan judul yang mencolok ke dasbor kita. Ubah kode Anda menjadi:
import platform
from rich import print
from pyfiglet import Figlet
f = Figlet(font='slant')
print(f.renderText('Dashboard'))
print("[bold blue]Selamat datang di Dasbor CLI saya![/bold blue]")
print("[italic green]Ini adalah contoh sederhana.[/italic green]")
print(f"[bold]Sistem Operasi:[/bold] {platform.system()}")
print(f"[bold]Versi Python:[/bold] {platform.python_version()}")
Jalankan skrip. Anda akan melihat judul “Dashboard” ditampilkan dalam font besar dan bergaya di bagian atas terminal.
Mengustomisasi Font dan Warna pyfiglet
Anda dapat menyesuaikan font dan warna pyfiglet
. Untuk mengubah font, ubah argumen font
ke konstruktor Figlet
. Misalnya, untuk menggunakan font “shadow”, ubah kode menjadi:
f = Figlet(font='shadow')
Anda dapat menemukan daftar lengkap font yang tersedia di dokumentasi pyfiglet
. Untuk mengubah warna, Anda dapat membungkus output pyfiglet
dengan markup rich
. Misalnya:
from rich import print
from pyfiglet import Figlet
f = Figlet(font='slant')
print(f"[bold magenta]{f.renderText('Dashboard')}[/bold magenta]")
Ini akan menampilkan judul “Dashboard” dalam warna magenta tebal.
5. Membuat Pembaruan Real-Time
Menggunakan time.sleep()
untuk Jeda
Untuk membuat dasbor real-time, kita perlu memperbarui informasi secara berkala. Kita dapat menggunakan fungsi time.sleep()
untuk menjeda skrip untuk jangka waktu tertentu. Tambahkan kode berikut:
import time
print("Menunggu 5 detik...")
time.sleep(5)
print("Selesai menunggu.")
Ini akan menjeda skrip selama 5 detik sebelum menampilkan “Selesai menunggu.”
Membersihkan Layar Terminal
Untuk membuat pembaruan terlihat real-time, kita perlu membersihkan layar terminal sebelum setiap pembaruan. Kita dapat menggunakan fungsi os.system('cls')
(di Windows) atau os.system('clear')
(di Linux/macOS) untuk membersihkan layar. Tambahkan kode berikut:
import os
def clear_screen():
os.system('cls' if os.name == 'nt' else 'clear')
clear_screen()
print("Layar dibersihkan.")
Ini akan membersihkan layar terminal sebelum menampilkan “Layar dibersihkan.”
Membuat Loop Pembaruan
Sekarang kita dapat membuat loop pembaruan yang membersihkan layar, menampilkan informasi, dan menjeda untuk jangka waktu tertentu. Ubah kode Anda menjadi:
import os
import time
import platform
from rich import print
from pyfiglet import Figlet
def clear_screen():
os.system('cls' if os.name == 'nt' else 'clear')
def display_dashboard():
f = Figlet(font='slant')
print(f"[bold magenta]{f.renderText('Dashboard')}[/bold magenta]")
print("[bold blue]Selamat datang di Dasbor CLI saya![/bold blue]")
print("[italic green]Ini adalah contoh sederhana.[/italic green]")
print(f"[bold]Sistem Operasi:[/bold] {platform.system()}")
print(f"[bold]Versi Python:[/bold] {platform.python_version()}")
while True:
clear_screen()
display_dashboard()
time.sleep(1)
Jalankan skrip. Anda akan melihat dasbor diperbarui setiap detik.
6. Menampilkan Data Dinamis
Mengumpulkan Metrik Sistem (CPU, Memori, Disk)
Untuk menampilkan data yang berguna, kita perlu mengumpulkan metrik sistem. Kita dapat menggunakan perpustakaan psutil
untuk ini.
Menggunakan psutil
untuk Informasi Sistem
Jika Anda belum menginstal psutil
, instal dengan perintah:
pip install psutil
Sekarang kita dapat menggunakan psutil
untuk mengumpulkan informasi sistem. Ubah kode Anda menjadi:
import os
import time
import platform
import psutil
from rich import print
from pyfiglet import Figlet
def clear_screen():
os.system('cls' if os.name == 'nt' else 'clear')
def get_system_metrics():
cpu_usage = psutil.cpu_percent()
memory_usage = psutil.virtual_memory().percent
disk_usage = psutil.disk_usage('/').percent
return cpu_usage, memory_usage, disk_usage
def display_dashboard():
f = Figlet(font='slant')
print(f"[bold magenta]{f.renderText('Dashboard')}[/bold magenta]")
print("[bold blue]Selamat datang di Dasbor CLI saya![/bold blue]")
print("[italic green]Ini adalah contoh sederhana.[/italic green]")
print(f"[bold]Sistem Operasi:[/bold] {platform.system()}")
print(f"[bold]Versi Python:[/bold] {platform.python_version()}")
cpu_usage, memory_usage, disk_usage = get_system_metrics()
print(f"[bold]Penggunaan CPU:[/bold] {cpu_usage}%")
print(f"[bold]Penggunaan Memori:[/bold] {memory_usage}%")
print(f"[bold]Penggunaan Disk:[/bold] {disk_usage}%")
while True:
clear_screen()
display_dashboard()
time.sleep(1)
Jalankan skrip. Anda akan melihat penggunaan CPU, memori, dan disk diperbarui setiap detik.
Memformat dan Menampilkan Data dengan rich
Mari kita format data dengan rich
agar lebih mudah dibaca. Ubah kode Anda menjadi:
import os
import time
import platform
import psutil
from rich import print
from rich.panel import Panel
from pyfiglet import Figlet
def clear_screen():
os.system('cls' if os.name == 'nt' else 'clear')
def get_system_metrics():
cpu_usage = psutil.cpu_percent()
memory_usage = psutil.virtual_memory().percent
disk_usage = psutil.disk_usage('/').percent
return cpu_usage, memory_usage, disk_usage
def display_dashboard():
f = Figlet(font='slant')
print(f"[bold magenta]{f.renderText('Dashboard')}[/bold magenta]")
print(Panel("[bold blue]Selamat datang di Dasbor CLI saya![/bold blue]\n[italic green]Ini adalah contoh sederhana.[/italic green]", title="Informasi Umum"))
print(f"[bold]Sistem Operasi:[/bold] {platform.system()}")
print(f"[bold]Versi Python:[/bold] {platform.python_version()}")
cpu_usage, memory_usage, disk_usage = get_system_metrics()
print(Panel(f"[bold]Penggunaan CPU:[/bold] {cpu_usage}%\n[bold]Penggunaan Memori:[/bold] {memory_usage}%\n[bold]Penggunaan Disk:[/bold] {disk_usage}%", title="Metrik Sistem"))
while True:
clear_screen()
display_dashboard()
time.sleep(1)
Ini menggunakan rich.panel.Panel
untuk mengelompokkan informasi terkait dan memberikan tampilan yang lebih terstruktur.
7. Menambahkan Bagan dan Visualisasi
Menggunakan rich.live.Live
untuk Pembaruan Dinamis
Perpustakaan rich
menyediakan fitur Live
yang memungkinkan kita untuk memperbarui bagian layar tertentu secara dinamis. Ini berguna untuk menampilkan grafik dan visualisasi yang berubah dari waktu ke waktu. Ubah kode Anda menjadi:
import os
import time
import platform
import psutil
from rich import print
from rich.panel import Panel
from rich.live import Live
from pyfiglet import Figlet
def clear_screen():
os.system('cls' if os.name == 'nt' else 'clear')
def get_system_metrics():
cpu_usage = psutil.cpu_percent()
memory_usage = psutil.virtual_memory().percent
disk_usage = psutil.disk_usage('/').percent
return cpu_usage, memory_usage, disk_usage
def display_dashboard():
f = Figlet(font='slant')
dashboard_title = f"[bold magenta]{f.renderText('Dashboard')}[/bold magenta]"
cpu_usage, memory_usage, disk_usage = get_system_metrics()
dashboard_content = f"""
[bold blue]Selamat datang di Dasbor CLI saya![/bold blue]
[italic green]Ini adalah contoh sederhana.[/italic green]
[bold]Sistem Operasi:[/bold] {platform.system()}
[bold]Versi Python:[/bold] {platform.python_version()}
[bold]Penggunaan CPU:[/bold] {cpu_usage}%
[bold]Penggunaan Memori:[/bold] {memory_usage}%
[bold]Penggunaan Disk:[/bold] {disk_usage}%
"""
return Panel(dashboard_content, title="Metrik Sistem")
with Live(screen=False) as live:
while True:
live.update(display_dashboard())
time.sleep(1)
Membuat Bagan Sederhana dengan Simbol ASCII
Sekarang, mari kita tambahkan bagan sederhana menggunakan simbol ASCII untuk memvisualisasikan penggunaan CPU. Ubah kode Anda menjadi:
import os
import time
import platform
import psutil
from rich import print
from rich.panel import Panel
from rich.live import Live
from pyfiglet import Figlet
def clear_screen():
os.system('cls' if os.name == 'nt' else 'clear')
def get_system_metrics():
cpu_usage = psutil.cpu_percent()
memory_usage = psutil.virtual_memory().percent
disk_usage = psutil.disk_usage('/').percent
return cpu_usage, memory_usage, disk_usage
def create_cpu_chart(cpu_usage):
chart_width = 20
filled_blocks = int(cpu_usage / 100 * chart_width)
empty_blocks = chart_width - filled_blocks
chart = f"[{'█' * filled_blocks}{' ' * empty_blocks}]"
return chart
def display_dashboard():
f = Figlet(font='slant')
dashboard_title = f"[bold magenta]{f.renderText('Dashboard')}[/bold magenta]"
cpu_usage, memory_usage, disk_usage = get_system_metrics()
cpu_chart = create_cpu_chart(cpu_usage)
dashboard_content = f"""
[bold blue]Selamat datang di Dasbor CLI saya![/bold blue]
[italic green]Ini adalah contoh sederhana.[/italic green]
[bold]Sistem Operasi:[/bold] {platform.system()}
[bold]Versi Python:[/bold] {platform.python_version()}
[bold]Penggunaan CPU:[/bold] {cpu_usage}% {cpu_chart}
[bold]Penggunaan Memori:[/bold] {memory_usage}%
[bold]Penggunaan Disk:[/bold] {disk_usage}%
"""
return Panel(dashboard_content, title="Metrik Sistem")
with Live(screen=False) as live:
while True:
live.update(display_dashboard())
time.sleep(1)
Mengintegrasikan Bagan yang Lebih Kompleks (mis., sparklines
)
Untuk bagan yang lebih kompleks, Anda dapat mempertimbangkan untuk menggunakan perpustakaan seperti sparklines
. Instal dengan:
pip install sparklines
Kemudian, Anda dapat mengintegrasikannya ke dasbor Anda untuk menampilkan data secara grafis.
8. Interaktivitas dan Kontrol Pengguna
Menerima Input Pengguna dengan input()
Untuk menambahkan interaktivitas ke dasbor kita, kita dapat menggunakan fungsi input()
untuk menerima input pengguna. Tambahkan kode berikut:
name = input("Masukkan nama Anda: ")
print(f"Halo, {name}!")
Ini akan meminta pengguna untuk memasukkan nama mereka dan kemudian menyapa mereka.
Menangani Perintah Dasar
Kita dapat menggunakan input pengguna untuk menangani perintah dasar. Misalnya, kita dapat menambahkan perintah untuk keluar dari dasbor. Ubah kode Anda menjadi:
import os
import time
import platform
import psutil
from rich import print
from rich.panel import Panel
from rich.live import Live
from pyfiglet import Figlet
def clear_screen():
os.system('cls' if os.name == 'nt' else 'clear')
def get_system_metrics():
cpu_usage = psutil.cpu_percent()
memory_usage = psutil.virtual_memory().percent
disk_usage = psutil.disk_usage('/').percent
return cpu_usage, memory_usage, disk_usage
def create_cpu_chart(cpu_usage):
chart_width = 20
filled_blocks = int(cpu_usage / 100 * chart_width)
empty_blocks = chart_width - filled_blocks
chart = f"[{'█' * filled_blocks}{' ' * empty_blocks}]"
return chart
def display_dashboard():
f = Figlet(font='slant')
dashboard_title = f"[bold magenta]{f.renderText('Dashboard')}[/bold magenta]"
cpu_usage, memory_usage, disk_usage = get_system_metrics()
cpu_chart = create_cpu_chart(cpu_usage)
dashboard_content = f"""
[bold blue]Selamat datang di Dasbor CLI saya![/bold blue]
[italic green]Ini adalah contoh sederhana.[/italic green]
[bold]Sistem Operasi:[/bold] {platform.system()}
[bold]Versi Python:[/bold] {platform.python_version()}
[bold]Penggunaan CPU:[/bold] {cpu_usage}% {cpu_chart}
[bold]Penggunaan Memori:[/bold] {memory_usage}%
[bold]Penggunaan Disk:[/bold] {disk_usage}%
Ketik 'q' untuk keluar.
"""
return Panel(dashboard_content, title="Metrik Sistem")
with Live(screen=False) as live:
while True:
live.update(display_dashboard())
command = input("Masukkan perintah: ")
if command.lower() == 'q':
break
time.sleep(1)
Sekarang, dasbor akan keluar ketika pengguna memasukkan ‘q’.
Menggunakan keyboard
untuk Kontrol Lebih Lanjut
Untuk kontrol yang lebih lanjut, Anda dapat menggunakan perpustakaan keyboard
untuk menangkap penekanan tombol tanpa memerlukan input. Instal dengan:
pip install keyboard
Ini memungkinkan Anda untuk membuat dasbor yang responsif terhadap penekanan tombol tertentu.
9. Kustomisasi dan Gaya Lanjut
Membuat Tema Warna Kustom dengan rich.style.Style
Anda dapat membuat tema warna kustom dengan rich.style.Style
. Ini memungkinkan Anda untuk menentukan kombinasi warna dan gaya yang berbeda untuk elemen yang berbeda di dasbor Anda. Contoh:
from rich.style import Style
from rich import print
highlight_style = Style(color="yellow", bold=True)
print(f"Ini adalah [style={highlight_style}]teks yang disorot[/style].")
Menggunakan Markup Rich untuk Formatting Lanjut
Markup Rich menyediakan cara yang kuat untuk memformat teks. Anda dapat menggunakan tag seperti [bold]
, [italic]
, [color]
, dan [link]
untuk memformat teks Anda. Contoh:
from rich import print
print("[bold red link=https://www.google.com]Kunjungi Google![/bold red]")
Mengintegrasikan Emoji dan Ikon
Anda dapat mengintegrasikan emoji dan ikon ke dalam dasbor Anda untuk membuatnya lebih menarik secara visual. Cukup gunakan kode Unicode untuk emoji atau ikon yang Anda inginkan. Contoh:
from rich import print
print("Sukses! 🎉")
print("Peringatan! ⚠️")
10. Praktik Terbaik dan Pertimbangan Kinerja
Menghindari Pembaruan yang Berlebihan
Pembaruan yang berlebihan dapat membebani sumber daya sistem dan menyebabkan dasbor menjadi lambat. Hindari memperbarui dasbor terlalu sering. Pertimbangkan untuk memperbarui hanya ketika ada perubahan signifikan dalam data.
Mengoptimalkan Kode Anda untuk Kecepatan
Pastikan kode Anda dioptimalkan untuk kecepatan. Gunakan struktur data dan algoritma yang efisien. Hindari operasi yang mahal jika memungkinkan.
Menangani Pengecualian dan Kesalahan dengan Elegan
Tangani pengecualian dan kesalahan dengan anggun. Cegah dasbor dari kerusakan jika terjadi kesalahan. Tampilkan pesan kesalahan yang bermakna kepada pengguna.
11. Studi Kasus: Memantau Proses Server
Menjelaskan Skenario Dunia Nyata
Mari kita terapkan apa yang telah kita pelajari untuk memantau proses server. Dalam studi kasus ini, kita akan memantau penggunaan CPU dan memori dari proses server tertentu.
Menulis Kode untuk Memantau Proses Tertentu
Pertama, kita perlu mendapatkan ID proses (PID) dari proses server yang ingin kita pantau. Kemudian, kita dapat menggunakan psutil
untuk mendapatkan informasi tentang proses tersebut. Ubah kode Anda menjadi:
import os
import time
import platform
import psutil
from rich import print
from rich.panel import Panel
from rich.live import Live
from pyfiglet import Figlet
def clear_screen():
os.system('cls' if os.name == 'nt' else 'clear')
def get_process_metrics(pid):
try:
process = psutil.Process(pid)
cpu_usage = process.cpu_percent()
memory_usage = process.memory_percent()
return cpu_usage, memory_usage
except psutil.NoSuchProcess:
return None, None
def display_dashboard(pid):
f = Figlet(font='slant')
dashboard_title = f"[bold magenta]{f.renderText('Server Monitor')}[/bold magenta]"
cpu_usage, memory_usage = get_process_metrics(pid)
if cpu_usage is None or memory_usage is None:
dashboard_content = "[bold red]Proses tidak ditemukan.[/bold red]"
else:
dashboard_content = f"""
[bold blue]Memantau proses dengan PID:[/bold] {pid}
[bold]Penggunaan CPU:[/bold] {cpu_usage}%
[bold]Penggunaan Memori:[/bold] {memory_usage}%
"""
return Panel(dashboard_content, title="Metrik Server")
process_pid = int(input("Masukkan PID proses server yang ingin Anda pantau: "))
with Live(screen=False) as live:
while True:
live.update(display_dashboard(process_pid))
time.sleep(1)
Menampilkan Status Proses, Penggunaan CPU, dan Memori
Ini akan menampilkan status proses, penggunaan CPU, dan memori dari proses server yang Anda pantau.
12. Kesimpulan
Ringkasan Manfaat Menggunakan Dasbor CLI
Dasbor CLI menawarkan cara yang efisien, dapat diakses, dan terfokus untuk memantau aplikasi, sistem, dan proses. Dengan menggunakan perpustakaan rich
dan pyfiglet
, Anda dapat membuat dasbor CLI yang menarik secara visual dan informatif.
Langkah Selanjutnya dan Sumber Daya
Ini hanyalah permulaan dari apa yang mungkin dengan dasbor CLI. Ada banyak cara untuk meningkatkan dasbor Anda, seperti menambahkan lebih banyak metrik, visualisasi, dan interaktivitas. Berikut adalah beberapa sumber daya untuk membantu Anda lebih jauh:
- Dokumentasi
rich
: https://rich.readthedocs.io/en/latest/ - Dokumentasi
pyfiglet
: http://www.figlet.org/ - Dokumentasi
psutil
: https://psutil.readthedocs.io/en/latest/
Semoga panduan ini bermanfaat. Selamat membuat dasbor!
“`