β‘ Quick Start: Ingin langsung mulai? Lihat QUICKSTART.md untuk setup dalam 5 menit!
Sebuah tool monitoring dan pelaporan jaringan komprehensif yang dirancang untuk manajemen infrastruktur jaringan enterprise. Tool ini mengotomatisasi pengumpulan data utilisasi, metrik performa sistem, dan inventori hardware dari peralatan jaringan, menghasilkan laporan Excel profesional dengan analitik yang detail.
β π Lihat Documentation Index untuk navigasi lengkap
- β‘ Quick Start Guide - Setup cepat dalam 5 menit
- π Sample Output - Contoh hasil report (data di-mask)
- π Security Policy - Panduan keamanan dan best practices
- π€ Contributing - Cara berkontribusi ke project
- π License - MIT License
- Multi-Device Monitoring: Monitoring bersamaan untuk beberapa perangkat jaringan
- Analisis Utilisasi FPC: Analisis detail utilisasi port dan traffic
- Inventori Hardware: Pelacakan komponen hardware yang komprehensif
- Monitoring Performa Sistem: Metrik CPU, memori, storage, dan temperatur
- Manajemen Alarm: Pengumpulan alarm real-time dan monitoring status
- Pelaporan Profesional: Laporan Excel otomatis dengan beberapa worksheet
- Deteksi Modul Intelligent: Identifikasi otomatis modul FPC dari hardware chassis
- Inferensi Tipe SFP: Deteksi pintar tipe optical transceiver
- Analisis Pola Traffic: Analitik utilisasi traffic yang canggih
- Timestamping Zone-aware: Deteksi otomatis zona waktu Indonesia (WIB/WITA/WIT)
- Sequential Processing: Pemrosesan satu-perangkat-per-waktu yang reliable untuk tingkat keberhasilan maksimum
- Debug Logging: Logging komprehensif dengan output debug yang terorganisir
- Utilisasi FPC - Data utilisasi FPC utama
- Utilisasi Port - Utilisasi detail level port
- Status Alarm - Kondisi alarm saat ini
- Inventori Hardware - Daftar lengkap komponen hardware
- Performa Sistem - Metrik kesehatan sistem
- Ringkasan Dashboard - Ringkasan eksekutif dan metrik kunci
- Sistem Operasi: Windows 10/11, Linux, macOS
- Versi Python: 3.7 atau lebih tinggi
- Memori: Minimum 4GB RAM yang direkomendasikan
- Storage: 500MB ruang kosong untuk laporan dan log
- Konektivitas jaringan ke perangkat target
- Akses TACACS+ server untuk autentikasi
- Akses SSH ke peralatan jaringan (biasanya port 22)
pip install paramiko openpyxlgit clone https://github.com/wokding/monitoringnetwork.git
cd monitoringnetworkpip install paramiko openpyxlPENTING: Jangan pernah commit file kredensial aktual ke Git!
# Copy template kredensial
cp _telkom_access.xml.example _telkom_access.xml
# Edit dengan kredensial Anda
# Windows: notepad _telkom_access.xml
# Linux/Mac: nano _telkom_access.xmlEdit file list_cnop.txt dengan daftar perangkat yang ingin dimonitor.
python fpc_utilisasi.pySECURITY NOTICE: File _telkom_access.xml berisi kredensial sensitif dan TIDAK BOLEH di-commit ke Git!
# 1. Copy template kredensial
cp _telkom_access.xml.example _telkom_access.xml
# 2. Edit dengan kredensial Anda
notepad _telkom_access.xml # Windows
# atau
nano _telkom_access.xml # Linux/Mac
# 3. Pastikan file permissions aman (Linux/Mac)
chmod 600 _telkom_access.xml<telkom-access>
<tacacs-list>
<tacacs-server>10.x.x.x</tacacs-server>
<tacacs-server>10.x.x.x</tacacs-server>
</tacacs-list>
<tacacs-access>
<tacacs-user>your-tacacs-username</tacacs-user>
<tacacs-pass>your-tacacs-password</tacacs-pass>
</tacacs-access>
<router-access>
<router-user>your-router-username</router-user>
<router-pass>your-router-password</router-pass>
</router-access>
</telkom-access>- File
_telkom_access.xmlsudah ada di.gitignore - Jangan pernah commit kredensial aktual
- Gunakan
.xml.examplesebagai template - Pastikan file permissions yang tepat
File list_cnop.txt sudah tersedia dengan daftar perangkat default. Edit sesuai kebutuhan:
R3.KYA.PE-MOBILE.1
R3.KYA.PE-MOBILE.2
R4.NSK.PE-MOBILE.1
R4.NSK.PE-MOBILE.2
R5.GYG.ASBR-TSEL.1
R5.GYG.RR-TSEL.1
R5.KBL.ASBR-TSEL.1
R5.KBL.RR-TSEL.1
Catatan: Tambahkan atau hapus perangkat sesuai dengan yang ingin Anda monitor.
| Parameter | Deskripsi | Contoh |
|---|---|---|
tacacs-server |
Alamat IP server TACACS+ | 10.62.170.56 |
tacacs-user |
Username untuk autentikasi TACACS+ | network-admin |
tacacs-pass |
Password untuk autentikasi TACACS+ | SecurePass123 |
router-user |
Username level perangkat | device-admin |
router-pass |
Password level perangkat | DevicePass456 |
- Buka Command Prompt (cmd) atau PowerShell
- Navigasi ke folder script:
cd "C:\Users\User\OneDrive\Desktop\TELKOM_Script-v25" - Jalankan script:
python fpc_utilisasi.py
- Buka folder
C:\Users\User\OneDrive\Desktop\TELKOM_Script-v25 - Klik kanan pada area kosong, pilih "Open PowerShell window here"
- Ketik:
python fpc_utilisasi.py
- Double-click file
fpc_utilisasi.pylangsung dari File Explorer - Script akan berjalan di command prompt yang terbuka otomatis
cd "C:\Users\User\OneDrive\Desktop\TELKOM_Script-v25"
python fpc_utilisasi.pyScript mendukung berbagai mode eksekusi dan parameter (konfigurasi dalam script):
- Sequential Processing: Mode default untuk reliabilitas maksimum
- Debug Mode: Logging yang ditingkatkan untuk troubleshooting
- Custom Timeout: Timeout koneksi yang dapat disesuaikan
- Retry Logic: Percobaan ulang yang dapat dikonfigurasi untuk koneksi yang gagal
- Inisialisasi: Muat konfigurasi dan validasi dependensi
- Autentikasi: Koneksi ke server TACACS+
- Device Discovery: Baca daftar perangkat dari konfigurasi
- Pengumpulan Data: Monitoring perangkat secara berurutan
- Pemrosesan Data: Parse dan analisis data yang dikumpulkan
- Pembuatan Laporan: Buat laporan Excel dengan beberapa worksheet
- Cleanup: Organisir file debug dan log
Lokasi Script:
C:\Users\User\OneDrive\Desktop\TELKOM_Script-v25\
βββ fpc_utilisasi.py # Script utama yang dijalankan
βββ _telkom_access.xml # Konfigurasi akses dan kredensial
βββ list_cnop.txt # Daftar perangkat target
βββ README.md # Dokumentasi
Setelah script dijalankan, file hasil akan dibuat di Desktop:
C:\Users\User\Desktop\
βββ FPC Utilisasi Reports\ # Folder utama laporan
β βββ Daily Reports\
β β βββ FPC_Utilization_2025-09-16_143022.xlsx
β βββ Monthly Reports\
β β βββ FPC_Monthly_2025-09.xlsx
β βββ All Debug\
β βββ Logs\
β β βββ connection_errors.log
β β βββ chassis_missing_modules.log
β β βββ processing_details.log
β βββ XML Outputs\
β βββ R3.KYA.PE-MOBILE.1_chassis_hardware.xml
β βββ R3.KYA.PE-MOBILE.1_interface_statistics.xml
Catatan: Script akan otomatis membuat folder-folder ini jika belum ada.
- Nama Node dan Divisi Regional
- Nama Interface dan Deskripsi
- Tipe Modul dan Kapasitas Port
- Traffic Saat Ini (GB) dan Utilisasi (%)
- Alert Traffic dan Indikator Status
- Statistik detail level port
- Analisis Last Flapped
- Deteksi keberadaan SFP
- Status konfigurasi
- Alert flapping
- Kondisi alarm real-time
- Klasifikasi dan tingkat keparahan alarm
- Timestamp dan deskripsi
- Pelacakan status
- Daftar lengkap komponen
- Nomor part dan serial number
- Deskripsi model dan versi
- Status dan kesehatan komponen
- Utilisasi CPU dan load average
- Penggunaan dan ketersediaan memori
- Kapasitas dan utilisasi storage
- Monitoring temperatur
- Informasi versi software
- Metrik ringkasan eksekutif
- Key performance indicator
- Analisis tren
- Ringkasan alert
BANNER_TIMEOUT = 180 # Timeout koneksi awal (detik)
INITIAL_TEST_RETRIES = 5 # Percobaan ulang koneksi
PER_NODE_RETRIES = 5 # Percobaan ulang per perangkat
MAX_WORKERS = 1 # Pemrosesan berurutan (direkomendasikan)- Sequential Processing: Direkomendasikan untuk reliabilitas maksimum
- Connection Pooling: Penggunaan ulang koneksi jika memungkinkan
- Memory Management: Pembersihan otomatis struktur data besar
- Progress Tracking: Update status pemrosesan real-time
# Aktifkan comprehensive debug logging
DEBUG_MODE = True
DEBUG_FOLDER = "All Debug"
LOG_LEVEL = "DEBUG"ERROR: Failed to connect to device X.X.X.X
Solusi:
- Verifikasi konektivitas jaringan ke server TACACS+
- Periksa kredensial username/password
- Konfirmasi aksesibilitas perangkat
- Tinjau aturan firewall
ERROR: TACACS+ authentication failed
Solusi:
- Verifikasi konfigurasi server TACACS+
- Periksa username/password di konfigurasi XML
- Konfirmasi izin akun
- Test koneksi SSH manual
ERROR: Missing dependency: paramiko
Solusi:
pip install paramiko openpyxl
pip install --upgrade paramiko openpyxlERROR: Failed to create Excel report
Solusi:
- Pastikan ruang disk yang cukup
- Periksa izin write ke Desktop
- Tutup file Excel yang terbuka dengan nama yang sama
- Verifikasi instalasi openpyxl
Aktifkan logging detail dengan memeriksa file debug:
connection_errors.log- Masalah koneksi dan autentikasichassis_missing_modules.log- Masalah deteksi hardwareprocessing_details.log- Informasi pemrosesan data
Untuk Windows PowerShell:
# Lihat error koneksi terbaru
Get-Content "C:\Users\User\Desktop\FPC Utilisasi Reports\All Debug\Logs\connection_errors.log" -Tail 20
# Periksa status pemrosesan
Select-String "SUCCESS|ERROR" "C:\Users\User\Desktop\FPC Utilisasi Reports\All Debug\Logs\processing_details.log"Atau buka file log langsung dengan Notepad:
notepad "C:\Users\User\Desktop\FPC Utilisasi Reports\All Debug\Logs\connection_errors.log"- Sequential Processing: Gunakan
MAX_WORKERS = 1untuk reliabilitas maksimum - Timeout Tuning: Sesuaikan timeout berdasarkan kondisi jaringan
- Retry Logic: Konfigurasi jumlah percobaan ulang yang tepat
- Memory Management: Monitor penggunaan memori untuk daftar perangkat yang besar
- Debug Cleanup: Bersihkan file debug secara teratur untuk mencegah masalah disk
- Jumlah Perangkat: Diuji dengan hingga 100+ perangkat
- Waktu Pemrosesan: Sekitar 2-3 menit per perangkat
- Penggunaan Memori: ~50MB per perangkat selama pemrosesan
- Kebutuhan Storage: ~10MB per perangkat untuk file debug
- Deteksi modul yang ditingkatkan dari XML hardware chassis
- Algoritma inferensi tipe SFP yang diperbaiki
- Penambahan monitoring performa sistem yang komprehensif
- Implementasi analisis pola traffic yang intelligent
- Debug logging dan error handling yang ditingkatkan
- Format laporan Excel yang profesional
- Dukungan timezone Indonesia (WIB/WITA/WIT)
- Fork repository
- Buat feature branch
- Install dependensi development
- Buat perubahan Anda
- Test secara menyeluruh
- Submit pull request
- Ikuti guideline PEP 8
- Gunakan nama variabel yang bermakna
- Tambahkan docstring yang komprehensif
- Sertakan error handling
- Tulis unit test untuk fitur baru
Proyek ini dilisensikan di bawah MIT License - lihat file LICENSE untuk detail.
- Periksa bagian troubleshooting di atas
- Tinjau log debug untuk error spesifik
- Verifikasi pengaturan konfigurasi
- Test konektivitas jaringan secara manual
Ketika melaporkan masalah, silakan sertakan:
- Versi Python dan sistem operasi
- Pesan error lengkap
- File konfigurasi (dengan data sensitif dihilangkan)
- Excerpts log debug
- Langkah-langkah untuk mereproduksi masalah
CRITICAL: Jangan pernah commit kredensial ke version control!
- β
_telkom_access.xml- SUDAH DI .gitignore - β
*.logfiles - SUDAH DI .gitignore - β
*.xlsxreports - SUDAH DI .gitignore - β
.envfiles - SUDAH DI .gitignore
# 1. Pastikan .gitignore aktif
cat .gitignore
# 2. Verifikasi file yang akan di-commit
git status
# 3. Pastikan tidak ada kredensial
git diff
# 4. Check file sensitif tidak ter-track
git ls-files | grep -E "_telkom_access.xml|\.env$|\.log$"
# Output harus kosong!-
Kredensial:
- Gunakan password yang kuat dan unik
- Rotasi kredensial secara berkala
- Batasi akses file dengan permissions (chmod 600)
- Jangan share kredensial via email/chat
-
Version Control:
- Selalu gunakan template files (.example)
- Review
git statussebelum commit - Gunakan
git diffuntuk verifikasi - Jangan force push ke main branch
-
Network Security:
- Pastikan koneksi SSH yang aman
- Monitor log akses secara reguler
- Gunakan least privilege principle
- Audit keamanan berkala
monitoringnetwork/
βββ .gitignore # File dan folder yang diabaikan Git
βββ README.md # Dokumentasi project
βββ fpc_utilisasi.py # Script utama monitoring
βββ list_cnop.txt # Daftar perangkat target
βββ _telkom_access.xml.example # Template kredensial (COMMIT INI)
βββ _telkom_access.xml # Kredensial aktual (JANGAN COMMIT!)
βββ .env.example # Template environment variables
βββ .env # Config lokal (JANGAN COMMIT!)
# Output (auto-generated, tidak di-commit):
reports/ # Laporan Excel
logs/ # File log
debug/ # Debug output
Catatan: File yang ditandai "JANGAN COMMIT" sudah otomatis diabaikan oleh .gitignore
Catatan: Tool ini dirancang untuk monitoring jaringan enterprise dan harus digunakan sesuai dengan kebijakan dan prosedur keamanan organisasi Anda. Selalu test di lingkungan non-production sebelum deploy ke infrastruktur kritis.