FTTH schematic NETWORK MANAGEMENT SYSTEM

Tutorial Lengkap

Panduan Komprehensif Instalasi dan Penggunaan Aplikasi FTTH schematic NMS

FTTH schematic NMS Dashboard

Dashboard Interface FTTH schematic NETWORK MANAGEMENT SYSTEM

Tips: Klik pada gambar dashboard untuk memperbesar tampilan. Tekan ESC untuk menutup.

Daftar Isi

  1. Tentang Aplikasi
  2. Instalasi Windows (XAMPP)
  3. Instalasi Debian/Ubuntu
  4. Instalasi di Hosting
  5. Konfigurasi Database
  6. Authentication & User Management
  7. Panduan Penggunaan Fitur
  8. SNMP Monitoring
  9. Export/Import KMZ
  10. Troubleshooting
  11. FAQ

Tentang Aplikasi

FTTH schematic NETWORK MANAGEMENT SYSTEM (FTTH schematic NMS) adalah aplikasi web-based untuk monitoring dan manajemen infrastruktur jaringan FTTH (Fiber to the Home) yang menyediakan:

Accounting & Inventory Dashboard

Accounting & Inventory

SNMP Monitoring Dashboard

SNMP Monitoring Dashboard

Fitur Utama:

Manajemen Item FTTH Lengkap (11 Kategori):

Peta Interaktif Canggih:

Authentication & Security:

SNMP Monitoring:

Accounting & Pricing:

Instalasi Windows (XAMPP)

Requirement System:

Komponen Requirement
OSWindows 7/8/10/11 (32-bit & 64-bit)
RAMMinimum 4GB (Recommended 8GB)
Storage2GB free space
BrowserChrome, Firefox, Edge, Safari
InternetRequired untuk loading maps

Step 1: Download & Install XAMPP

1. Download XAMPP
URL: https://www.apachefriends.org/
Pilih: XAMPP untuk Windows dengan PHP 8.0+
2. Install XAMPP
- Jalankan installer sebagai Administrator
- Pilih komponen: Apache, MySQL, PHP, phpMyAdmin
- Install di C:\xampp (default recommended)
- Allow firewall access untuk Apache dan MySQL
3. Start Services
- Buka XAMPP Control Panel
- Start Apache (port 80, 443)
- Start MySQL (port 3306)
- Pastikan status "Running" berwarna hijau

Step 2: Deploy Aplikasi

1. Download Source Code
- Extract file FTTH_schematic_NMS.zip
- Copy folder ke: C:\xampp\htdocs\ftthnms\
2. Verify Structure
C:\xampp\htdocs\ftthnms\
├── index.php              # Dashboard utama
├── login.php              # Login page
├── users.php              # User management
├── accounting.php          # Accounting page
├── snmp_dashboard.php      # SNMP monitoring
├── config/
│   └── database.php        # Database configuration
├── api/                    # REST API endpoints
│   ├── auth.php           # Authentication
│   ├── items.php          # CRUD items
│   ├── routes.php         # Cable routing
│   ├── snmp.php           # SNMP monitoring
│   ├── statistics.php     # Statistics
│   └── users.php          # User management
├── assets/
│   ├── css/               # Stylesheets
│   └── js/                # JavaScript files
├── database.sql           # Database schema
└── Various guides...

Step 3: Setup Database

Method A: Via phpMyAdmin (Recommended)

  1. Buka phpMyAdmin: http://localhost/phpmyadmin
  2. Create Database:
    • Klik "New" → Database name: ftthnms
    • Collation: utf8mb4_general_ci
    • Klik "Create"
  3. Import Schema:
    • Select database ftthnms
    • Tab "Import" → Choose file: database.sql
    • Klik "Go"

Method B: Via Command Line

# Buka Command Prompt di folder aplikasi
cd C:\xampp\mysql\bin
mysql -u root -p
CREATE DATABASE ftthnms CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
USE ftthnms;
source C:\xampp\htdocs\ftthnms\database.sql;
EXIT;

Step 4: Konfigurasi

1. Edit Database Configuration
# Edit: config/database.php

<?php
class Database {
    private $host = "localhost";
    private $db_name = "ftthnms";          // Database: FTTH schematic NMS
    private $username = "root";
    private $password = "";              // Kosong untuk XAMPP default
    private $port = "3306";
    
    // Connection method
    public function getConnection() {
        // PDO connection dengan error handling
    }
}
?>
2. Test Installation
  1. Buka browser: http://localhost/ftthnms
  2. Akan redirect ke login page
  3. Login dengan:
    • Username: admin
    • Password: password
  4. Dashboard akan terbuka dengan peta dan statistics

Instalasi Debian/Ubuntu

System Requirements:

Komponen Requirement
OSDebian 9+ atau Ubuntu 18.04+ LTS
RAMMinimum 1GB (Recommended 2GB+)
Storage5GB free space
NetworkPublic IP dengan domain/subdomain

Step 1: Update System & Install LAMP

# Update system packages
sudo apt update && sudo apt upgrade -y

# Install required packages
sudo apt install curl wget unzip git -y

# Install Apache web server
sudo apt install apache2 -y
sudo systemctl start apache2
sudo systemctl enable apache2

# Install MySQL/MariaDB
sudo apt install mariadb-server -y
sudo systemctl start mariadb
sudo systemctl enable mariadb
sudo mysql_secure_installation

# Install PHP 8.0+ dengan SNMP support
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update

sudo apt install php8.1 php8.1-mysql php8.1-curl php8.1-json \
php8.1-mbstring php8.1-xml php8.1-zip php8.1-gd php8.1-snmp \
libapache2-mod-php8.1 snmp snmpd snmp-mibs-downloader -y

# Enable Apache modules
sudo a2enmod rewrite
sudo a2enmod ssl
sudo systemctl restart apache2

# 🔧 SNMP Configuration untuk Linux
echo "🔧 Setting up SNMP for FTTH schematic NMS..."

# Install SNMP tools dan MIBs
sudo apt install snmp snmpd snmp-mibs-downloader -y

# Configure SNMP daemon
sudo cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.backup
sudo tee /etc/snmp/snmpd.conf > /dev/null <

Step 2: Database Setup

# Login to MySQL
sudo mysql -u root -p

# Create database and user
CREATE DATABASE ftthnms CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'ftthnms_user'@'localhost' IDENTIFIED BY 'secure_password_here';
GRANT ALL PRIVILEGES ON ftthnms.* TO 'ftthnms_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Step 3: Deploy Application

# Navigate to web directory
cd /var/www/html

# Download atau upload source code
# Via Git (jika repository tersedia):
sudo git clone https://github.com/your-repo/ftthnms.git

# Via upload (jika dari file):
sudo mkdir ftthnms
# Upload semua file aplikasi ke /var/www/html/ftthnms/

# Set permissions
sudo chown -R www-data:www-data /var/www/html/ftthnms/
sudo chmod -R 755 /var/www/html/ftthnms/
sudo chmod -R 777 /var/www/html/ftthnms/assets/

Step 4: Configure Database

# Edit database configuration
sudo nano /var/www/html/ftthnms/config/database.php
<?php
class Database {
    private $host = "localhost";
    private $db_name = "ftthnms";          // FTTH schematic NMS Database
    private $username = "ftthnms_user";
    private $password = "secure_password_here";
    private $port = "3306";
    
    // Connection with UTF8 support
    public function getConnection() {
        $dsn = "mysql:host=" . $this->host . ";dbname=" . $this->db_name . ";charset=utf8mb4";
        return new PDO($dsn, $this->username, $this->password);
    }
}
?>

Step 5: Apache Virtual Host

# Create virtual host configuration
sudo nano /etc/apache2/sites-available/ftthnms.conf
<VirtualHost *:80>
    ServerAdmin admin@yourdomain.com
    ServerName yourdomain.com
    ServerAlias www.yourdomain.com
    DocumentRoot /var/www/html/ftthnms
    
    <Directory /var/www/html/ftthnms>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
    
    # SNMP monitoring requires these
    <Directory /var/www/html/ftthnms/api>
        Options -Indexes
        AllowOverride All
        Require all granted
    </Directory>
    
    ErrorLog ${APACHE_LOG_DIR}/ftthnms_error.log
    CustomLog ${APACHE_LOG_DIR}/ftthnms_access.log combined
</VirtualHost>
# Enable site and restart Apache
sudo a2ensite ftthnms.conf
sudo a2dissite 000-default.conf
sudo systemctl restart apache2

Step 6: SSL Certificate (Recommended)

# Install Certbot for Let's Encrypt
sudo apt install certbot python3-certbot-apache -y

# Get SSL certificate
sudo certbot --apache -d yourdomain.com -d www.yourdomain.com

# Auto-renewal setup
sudo crontab -e
# Add line: 0 12 * * * /usr/bin/certbot renew --quiet

Instalasi di Hosting

Shared Hosting Requirements:

Komponen Requirement
PHP8.0+ dengan extensions (PDO, JSON, SNMP, GD)
MySQL5.7+ atau MariaDB 10.2+
StorageMinimum 500MB
Memory256MB+ PHP memory limit
Execution Time300+ seconds

Step 1: Upload Files

1. Via cPanel File Manager:
  1. Login to cPanel
  2. Open File Manager
  3. Navigate to public_html/
  4. Create folder: ftthnms/
  5. Upload semua file aplikasi
  6. Extract jika dalam format zip
2. Via FTP:
FTP Client: FileZilla, WinSCP, etc.
Upload semua file ke: /public_html/ftthnms/
Set permissions: 755 untuk folders, 644 untuk files

Step 2: Database Setup

1. Via cPanel MySQL Wizard:
  1. cPanel → MySQL Database Wizard
  2. Database name: yourusername_ftthnms
  3. Create database user
  4. Assign user to database dengan All Privileges
  5. Note down database details
2. Import Database:
  1. cPanel → phpMyAdmin
  2. Select database
  3. Import → Choose database.sql
  4. Execute import

Step 3: Configuration

# Edit: config/database.php

<?php
class Database {
    private $host = "localhost";              // atau IP server hosting
    private $db_name = "yourusername_ftthnms"; // FTTH schematic NMS Database
    private $username = "yourusername_dbuser";
    private $password = "your_db_password";
    private $port = "3306";
    
    // Connection dengan charset UTF8MB4 untuk emoji support
    public function getConnection() {
        $dsn = "mysql:host={$this->host};dbname={$this->db_name};charset=utf8mb4";
        $options = [
            PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
            PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
        ];
        return new PDO($dsn, $this->username, $this->password, $options);
    }
}
?>

Step 5: Security Setup

1. File Permissions:
# Via cPanel File Manager atau FTP
Folders: 755
Files: 644
config/: 750
config/database.php: 640
2. .htaccess Security:
# Create: /public_html/ftthnms/.htaccess

# Disable directory browsing
Options -Indexes

# Protect config directory
<Files "config/*">
    Deny from all
</Files>

# Protect database files
<Files "*.sql">
    Deny from all
</Files>

# Enable mod_rewrite
RewriteEngine On

# Force HTTPS (optional)
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Konfigurasi Database

Database Schema Overview:

Core Tables:

  • ftth_items - Data infrastruktur FTTH (items, coordinates, properties)
  • cable_routes - Routing kabel antar items dengan coordinates
  • users - User accounts dan roles (admin/teknisi)
  • item_types - Jenis-jenis item (11 categories dengan icons)
  • monitoring_logs - Log monitoring ping status

Master Data Tables:

  • tube_colors - 32 warna tube dengan hex codes
  • splitter_types - Jenis splitter (main & ODP) dengan ratio
  • server_vlans - Konfigurasi VLAN untuk Server/Router
  • olt_pons - Konfigurasi PON ports untuk OLT
  • pon_vlans - Relasi PON-VLAN mapping

SNMP Monitoring Tables:

  • snmp_metrics - Real-time SNMP monitoring data
  • snmp_oid_mapping - OID mapping per device type
  • device_interfaces - Persistent interface information
  • interface_ip_addresses - IP addresses per interface
  • interface_vlans - VLAN configuration per interface
  • interface_wireless - Wireless interface information
  • interface_bridges - Bridge interface information
  • interface_tunnels - Tunnel interface information
  • network_topology - Device connection mapping
  • interface_traffic_history - Traffic history untuk trend analysis

Enhanced ODC Management Tables:

  • odc_ports - ODC port management (input/output ports)
  • odc_pon_mapping - ODC-PON connection mapping dengan VLAN

Database Views:

  • latest_snmp_metrics - Latest SNMP metrics per device
  • interface_summary - Interface summary dengan IP addresses
  • topology_view - Network topology yang readable

Database Optimization:

-- Performance Indexes (dari database.sql)
-- Core Item Indexes
CREATE INDEX idx_core_color ON ftth_items(core_color_id);
CREATE INDEX idx_cable_type ON ftth_items(item_cable_type);
CREATE INDEX idx_core_usage ON ftth_items(core_used, total_core_capacity);
CREATE INDEX idx_monitoring_status ON ftth_items(monitoring_status);
CREATE INDEX idx_ip_address ON ftth_items(ip_address);
CREATE INDEX idx_item_type ON ftth_items(item_type);
CREATE INDEX idx_item_price ON ftth_items(item_price);
CREATE INDEX idx_snmp_enabled ON ftth_items(snmp_enabled);
CREATE INDEX idx_snmp_status ON ftth_items(snmp_enabled, monitoring_status);

-- ODC Enhancement Indexes
CREATE INDEX idx_odc_type ON ftth_items(odc_type);
CREATE INDEX idx_odc_capacity ON ftth_items(odc_capacity);
CREATE INDEX idx_odc_pon_connection ON ftth_items(odc_pon_connection);

-- User & Monitoring Indexes
CREATE INDEX idx_monitoring_logs_item ON monitoring_logs(item_id, ping_time);
CREATE INDEX idx_username ON users(username);
CREATE INDEX idx_user_role ON users(role);

-- SNMP Interface Indexes
CREATE INDEX idx_device_interfaces_device ON device_interfaces(device_id);
CREATE INDEX idx_device_interfaces_status ON device_interfaces(oper_status, admin_status);
CREATE INDEX idx_interface_ips_interface ON interface_ip_addresses(interface_id);
CREATE INDEX idx_topology_source ON network_topology(source_device_id, source_interface_id);
CREATE INDEX idx_topology_active ON network_topology(is_active, verified, last_seen);

-- Traffic History Index
CREATE INDEX idx_traffic_history_interface_time ON interface_traffic_history(interface_id, sample_time);

-- Latest SNMP Metrics View
CREATE VIEW latest_snmp_metrics AS
SELECT sm1.*
FROM snmp_metrics sm1
INNER JOIN (
    SELECT item_id, MAX(metric_time) as max_time
    FROM snmp_metrics GROUP BY item_id
) sm2 ON sm1.item_id = sm2.item_id AND sm1.metric_time = sm2.max_time;

Update Scripts:

FTTH schematic NMS menyediakan multiple database scripts untuk setup dan upgrade:

Default Data yang Tersedia:
  • Item Types: 11 kategori (OLT, Tiang Tumpu, ODP, ODC, ONT, Server, Access Point, dll)
  • Tube Colors: 32 warna standard dengan hex codes
  • Splitter Types: Main (1:2, 1:3, 1:4) dan ODP (1:2, 1:4, 1:8, 1:16)
  • SNMP OID Mapping: Universal, Server, OLT, Access Point, ONT OIDs
  • Default Users: admin, teknisi1, teknisi2, supervisor (password: "password")
Script File Purpose
database.sqlMain Schema - Complete database schema dengan semua tables
update_database.sqlMain update script untuk upgrade existing
update_database_users.sqlAdd authentication system (admin/teknisi roles)
update_database_odc_enhancement.sqlODC enhancements (pole/cabinet, ports, PON mapping)
update_database_pon_integration.sqlPON integration dengan VLAN configuration
snmp_integration_upgrade.sqlSNMP monitoring upgrade dengan interface discovery
update_database_auto_generate_tiang_tumpu.sqlAuto-generate features untuk routing

Authentication & User Management

User Roles & Permissions:

Role: Admin

  • Full CRUD Access: Create, Read, Update, Delete semua items
  • User Management: Kelola user accounts
  • SNMP Configuration: Setup dan monitoring SNMP devices
  • Accounting Access: View financial reports dan pricing
  • System Configuration: Semua system settings

Role: Teknisi

  • Read-Only Access: View semua data dan maps
  • Export Data: Export KMZ, reports
  • No Create/Edit/Delete: Tidak bisa modify data
  • No User Management: Tidak bisa kelola users
  • No System Config: Tidak bisa ubah settings

Default User Accounts:

Username Password Role Full Name
adminpasswordadminAdministrator System
teknisi1passwordteknisiTeknisi Lapangan 1
teknisi2passwordteknisiTeknisi Lapangan 2
supervisorpasswordadminSupervisor Jaringan

User Management Operations:

Adding New Users:

  1. Login sebagai Admin
  2. Navigate: Dashboard → User Management
  3. Add User:
    • Username: [unique_username]
    • Password: [secure_password]
    • Role: admin / teknisi
    • Full Name: [User Display Name]
    • Email: [user@email.com]
    • Status: active

Password Security:

  • Hashing: bcrypt dengan salt
  • Minimum Length: 8 characters (recommended)
  • Change Password: User bisa change own password
  • Admin Reset: Admin bisa reset password users

Session Management:

  • Session Timeout: 30 menit inactivity
  • Warning Alert: 5 menit before timeout
  • Auto-logout: Automatic logout setelah timeout
  • Remember Login: Optional remember untuk 7 hari

Panduan Penggunaan Fitur

Manajemen Item FTTH

Menambah Item Baru:

Method 1: Via Sidebar Menu
  1. Login ke system
  2. Sidebar → "Tambah [Item Type]" (e.g., Tambah OLT)
  3. Form modal akan terbuka
  4. Isi semua field required:
    • Name: Nama item
    • Description: Deskripsi detail
    • Address: Alamat lokasi
    • Klik di peta untuk set koordinat
  5. Isi field specific sesuai item type
  6. Klik "Simpan"
Method 2: Via Map Click
  1. Right-click di peta pada lokasi yang diinginkan
  2. Pilih "Add Item Here"
  3. Select item type dari dropdown
  4. Form akan ter-fill coordinates otomatis
  5. Lengkapi data lainnya
  6. Simpan

Item Types & Specific Fields:

Item Type Specific Fields
Server/Router Management Info: IP address, port, username, password
SNMP Config: Version, community, authentication
Interface Monitoring: Network interfaces
OLT PON Configuration: 3 PON ports per OLT
VLAN Settings: VLAN 100, 200, 300
Upstream Server: Connection ke backbone
SNMP Monitoring: Interface status, optical power
Tiang Tumpu Installation Type: Pole, ground, wall mounted
Height: Tinggi tiang dalam meter
Material: Concrete, steel, wood
Auto-generate: Otomatis generate setiap 30m pada routing
ODC Type: Pole Mounted vs Ground Mounted (Cabinet)
Capacity Planning: Berdasarkan splitter ratio
PON Connection: Link ke OLT PON ports
Port Management: Input/output ports tracking
ODP Splitter Configuration: 1:8, 1:16, 1:32
Service Area: Coverage area radius
Customer Capacity: Max customers per ODP
ONT Customer Info: Nama pelanggan, kontak
Service Plan: Bandwidth package
HTB Configuration: Traffic shaping
Connection Status: Online/offline monitoring

Routing Kabel

Membuat Route Baru:

Method 1: Via Item Popup
  1. Klik item source di peta
  2. Klik "Route Jalan" atau "Route Garis Lurus"
  3. Modal routing options akan muncul:
    • Auto Generate Tiang Tumpu: [checkbox]
    • Interval Jarak: 30 meter [slider: 10-100m]
    • Generate di Tikungan: [checkbox]
  4. Klik "Simpan Pengaturan"
  5. Klik item destination
  6. Route otomatis terbuat dengan specifications

Route Types:

Route Type Description Use Case
Route Jalan Menggunakan OSRM routing engine
Mengikuti jalan yang ada
Coordinate points mengikuti path jalan
Ideal untuk backbone dan distribution cables
Route Garis Lurus Point-to-point direct connection
Minimal coordinate points
Faster calculation
Ideal untuk short distances

Route Properties:

  • Cable Type: Fiber Optic, Copper, Hybrid
  • Core Count: 2, 4, 8, 12, 24, 48, 96, 144, 288 cores
  • Status: Planned (kuning), Installed (hijau), Maintenance (merah)
  • Distance: Otomatis calculated dalam meter
  • Auto-Generated Tiang: Track generated infrastructure

Auto-Generate Tiang Tumpu

Configuration:

Setting otomatis generate tiang tumpu:

  1. Enable checkbox: "Auto Generate Tiang Tumpu"
  2. Set interval: 10-100 meter (default: 30m)
  3. Enable "Generate di Tikungan" untuk turns
  4. Generate otomatis saat create route

Generated Tiang Properties:

  • Naming: "Tiang Tumpu Auto" atau "Tiang Tumpu Tikungan"
  • Type: Marked as auto-generated
  • Behavior: Display-only, tidak bisa diedit
  • Tracking: Linked ke route yang generate
  • Cleanup: Auto-delete saat route dihapus

Dashboard & Statistics

Dashboard Statistics

Dashboard dengan Statistics Cards dan Interactive Map

Horizontal Statistics Cards:

Layout 1 row dengan 10 compact cards:

[Server][OLT][Tiang][ODP][ONT][Routes][Joint][HTB][Access][Total Items]
Real-time Updates:
  • Statistics update otomatis saat data berubah
  • Color-coded berdasarkan item types
  • Click card untuk quick navigation

Statistics Detail:

  • Total Items: Jumlah total semua item
  • Per Type Count: Breakdown per kategori
  • Auto-Generated: Track auto-generated items
  • Route Statistics: Total routes, distance
  • Investment Summary: Total harga (di Accounting page)

SNMP Monitoring

SNMP Configuration

Supported Devices:

  • OLT: Optical Line Terminal monitoring
  • Server/Router: Network equipment monitoring
  • ONT: Customer premises equipment
  • Access Point: Wireless equipment

🔧 SNMP Setup untuk XAMPP (Windows):

Step 1: Enable SNMP Extension di php.ini
  1. Buka file: C:\xampp\php\php.ini
  2. Cari line: ;extension=snmp
  3. Uncomment dengan hapus semicolon: extension=snmp
  4. Tambahkan konfigurasi SNMP:
    ; SNMP Configuration untuk FTTH schematic NMS
    extension=snmp
    snmp.hide_warnings = 1
    snmp.timeout = 5000000
    snmp.retries = 2
  5. Restart Apache di XAMPP Control Panel
Step 2: Install SNMP Tools (Optional)
  1. Download SNMP tools dari: iReasoning MIB Browser
  2. Atau install via Chocolatey: choco install snmp-tools
  3. Test SNMP: snmpwalk -v2c -c public 192.168.1.1 1.3.6.1.2.1.1
Step 3: Verify SNMP Extension
  1. Buat file test: C:\xampp\htdocs\ftthnms\test_snmp.php
  2. Isi dengan:
    <?php
    // Test SNMP Extension
    if (extension_loaded('snmp')) {
        echo "✅ SNMP Extension loaded successfully!";
        echo "<br>SNMP Version: " . snmp_get_valueretrieval();
    } else {
        echo "❌ SNMP Extension not loaded!";
        echo "<br>Please check php.ini configuration";
    }
    ?>
  3. Akses: http://localhost/ftthnms/test_snmp.php

SNMP Versions:

Version Security Features Recommendation
SNMPv1LowBasicAvoid
SNMPv2cMediumCommunity-basedCompatibility
SNMPv3HighUser-based securityRecommended

Configuration Fields:

SNMP Settings:
├── SNMP Enabled: [checkbox]
├── Version: v1/v2c/v3 [dropdown]
├── Community: public/private [text]
├── Port: 161 [number]
├── Username: [text] (v3 only)
├── Auth Protocol: MD5/SHA [dropdown] (v3 only)
├── Auth Password: [password] (v3 only)
├── Priv Protocol: DES/AES [dropdown] (v3 only)
└── Priv Password: [password] (v3 only)

Monitoring Capabilities

Real-time Metrics:

  • System Info: Hostname, uptime, description
  • CPU Utilization: Processor usage percentage
  • Memory Usage: RAM utilization
  • Interface Status: Up/down, admin/operational status
  • Bandwidth Utilization: In/out traffic dengan grafik

Interface Monitoring:

  • Interface Discovery: Auto-discover network interfaces
  • Persistent Storage: Interface data disimpan di database
  • IP Address Mapping: Track IP per interface
  • Topology Detection: Auto-detect device connections
  • Traffic Monitoring: Real-time bandwidth usage

Optical Monitoring (for OLT/ONT):

  • Tx Power: Transmit optical power (dBm)
  • Rx Power: Receive optical power (dBm)
  • Signal Quality: Link quality assessment
  • Fiber Status: Cable integrity monitoring

SNMP Dashboard

Access SNMP Dashboard:

  1. Login as Admin
  2. Navigate: http://localhost/ftthnms/snmp_dashboard.php
  3. atau Sidebar → "SNMP Dashboard"

Dashboard Features:

  • Device Overview: Summary semua SNMP-enabled devices
  • Real-time Status: Current status semua devices
  • Interface Summary: Network interfaces overview
  • Topology Map: Visual device connections
  • Alert Summary: Critical issues notification

Interface Monitoring Workflow:

  1. Click device marker di peta
  2. Click "Discover" button
  3. System perform SNMP discovery:
    • Discover all network interfaces
    • Get IP addresses per interface
    • Store data to database
    • Detect topology connections
  4. Click "Interfaces" untuk view results:
    • Tab "Stored": Persistent interface data
    • Tab "Real-time": Live traffic monitoring
    • Tab "Topology": Device connections

Export/Import KMZ

Export KMZ untuk Google Earth

Export Process:

  1. Dashboard → Tombol "Export KMZ" (hijau)
    atau Sidebar → "Export Data" → "Export ke KMZ"
  2. System generate KMZ file dengan:
    • Semua FTTH items dengan styling
    • Cable routes dengan color coding
    • Complete information dalam popup
    • Professional GIS formatting
  3. File auto-download dengan timestamp:
    Format: "FTTH_Planner_Export_YYYY-MM-DD-HHMMSS.kmz"

KMZ Content:

  • Items: Semua 11 kategori item dengan marker styling
  • Routes: Cable routing dengan status-based colors
  • Metadata: Complete item information
  • Styling: Professional icons dan colors

Google Earth Viewing:

  1. Download file KMZ
  2. Open Google Earth Pro atau Google Earth Web
  3. File → Open → Select KMZ file
  4. Data akan muncul di layer panel
  5. Click item untuk view detail popup
  6. Use Google Earth tools untuk measurement, etc.

Import KMZ/KML

Supported Formats:

  • KMZ: Compressed KML files
  • KML: Standard Google Earth format
  • Geometries: Point, LineString, Polygon, MultiGeometry

Import Process:

  1. Sidebar → "Import Data" → "Import dari KMZ/KML"
  2. Upload file browser atau drag & drop
  3. System parsing dan validation:
    • Auto-detect format
    • Parse coordinates
    • Validate data integrity
    • Preview import data
  4. Review preview:
    • Check items to be imported
    • Verify coordinates
    • Resolve any conflicts
  5. Confirm import:
    • Batch processing untuk large files
    • Progress indicator
    • Error reporting jika ada
  6. Import complete:
    • Items appear on map
    • Statistics updated
    • Import summary report

Data Mapping:

Import Mapping:
├── Point → FTTH Item (auto-detect type)
├── LineString → Cable Route
├── Polygon → Convert to Point (centroid)
├── Name → Item name
├── Description → Item description
└── Coordinates → Latitude/longitude

Professional GIS Integration

Compatible Software:

Software Type Platform
Google Earth ProDesktop applicationWindows/Mac/Linux
Google Earth WebBrowser-basedAny Browser
QGISOpen-source GISCross-platform
ArcGISProfessional GISDesktop/Web
AutoCAD Map 3DCAD dengan GISWindows
Avenza MapsMobile GISiOS/Android

Troubleshooting

Installation Issues

SNMP Issues:

SNMP Extension Not Working:

Causes:

  • SNMP extension not enabled di php.ini
  • Missing SNMP libraries di Windows
  • Firewall blocking SNMP port 161
  • SNMP service not running di target device

Solutions:

  1. Windows/XAMPP:
    • Check php.ini: extension=snmp harus uncommented
    • Install SNMP tools: choco install snmp-tools
    • Restart Apache setelah edit php.ini
  2. Linux:
    • Install SNMP: sudo apt install snmp snmpd php8.1-snmp
    • Configure snmpd.conf dengan community string
    • Restart services: sudo systemctl restart snmpd apache2
  3. Test SNMP:
    # Test SNMP connectivity
    snmpwalk -v2c -c public [TARGET_IP] 1.3.6.1.2.1.1.1.0
    
    # Test dari PHP
    php -r "if(extension_loaded('snmp')) echo 'SNMP OK'; else echo 'SNMP Missing';"
SNMP Discovery Errors:

Common Errors:

  • "Network error: SyntaxError: Unexpected token '<'" - Apache not running
  • "No response from device" - SNMP community string salah
  • "Timeout" - Network connectivity issues
  • "Authentication failed" - SNMPv3 credentials salah

Debug Steps:

  1. Check Apache status: http://localhost/ftthnms/
  2. Verify SNMP extension: php -m | grep snmp
  3. Test device connectivity: ping [TARGET_IP]
  4. Check SNMP manually: snmpwalk -v2c -c public [TARGET_IP] 1.3.6.1.2.1.1

XAMPP Issues:

Apache Won't Start:

Causes:

  • Port 80/443 already in use (Skype, IIS)
  • Antivirus blocking Apache
  • Permission issues

Solutions:

  1. Stop conflicting services:
    • Skype: Settings → Advanced → Connection → Uncheck port 80
    • IIS: Control Panel → Programs → Turn off IIS
  2. Run XAMPP as Administrator
  3. Add XAMPP to antivirus exceptions
  4. Change Apache ports if needed (httpd.conf)
MySQL Won't Start:

Causes:

  • Port 3306 in use by another MySQL service
  • Corrupt MySQL data
  • Permission issues

Solutions:

  1. Stop other MySQL services
  2. Check Windows Services for MySQL
  3. Reset MySQL data directory
  4. Run XAMPP as Administrator

Database Issues:

Connection Failed:

Error: "Connection failed: Access denied"

Solutions:

  1. Check database credentials in config/database.php
  2. Verify MySQL service running
  3. Test connection: mysql -u root -p
  4. Check user permissions: SHOW GRANTS FOR 'user'@'localhost';

Application Issues

Login Problems:

Invalid Credentials:

Solutions:

  1. Use default accounts: admin/password atau teknisi1/password
  2. Reset password manually:
    UPDATE users SET password = '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi' WHERE username = 'admin';
    -- Password becomes: password
  3. Check user status: SELECT * FROM users WHERE username = 'admin';

Map Issues:

Map Not Loading:

Causes:

  • No internet connection
  • JavaScript errors
  • Tile server issues

Solutions:

  1. Check internet connectivity
  2. Open browser console (F12) untuk errors
  3. Try different map layer: OpenStreetMap, Satellite view, CartoDB
  4. Clear browser cache

Performance Issues

Database Optimization:

-- Add missing indexes
CREATE INDEX idx_coordinates ON ftth_items(latitude, longitude);
CREATE INDEX idx_item_type ON ftth_items(item_type_id);
CREATE INDEX idx_route_items ON cable_routes(from_item_id, to_item_id);

-- Optimize tables
OPTIMIZE TABLE ftth_items;
OPTIMIZE TABLE cable_routes;

-- Check slow queries
SHOW FULL PROCESSLIST;

Server Optimization:

1. Increase PHP memory: memory_limit = 256M
2. Enable opcache: opcache.enable = 1, opcache.memory_consumption = 128
3. Enable compression: zlib.output_compression = On
4. Browser caching: Add Expires headers for static files

FAQ

General Questions

Q: Apa system requirements minimum untuk FTTH schematic NMS?

A: Windows/Linux dengan PHP 8.0+, MySQL 5.7+, 4GB RAM, dan browser modern dengan JavaScript enabled.

Q: Apakah bisa diinstall di shared hosting?

A: Ya, asalkan hosting support PHP 8.0+, MySQL, dan extension yang diperlukan (PDO, JSON, SNMP).

Q: Berapa banyak item yang bisa dihandle?

A: System bisa handle 10,000+ items dengan performa optimal jika database dan server dikonfigurasi dengan baik.

Technical Questions

Q: Bagaimana cara backup data?
-- Database backup FTTH schematic NMS
mysqldump -u username -p ftthnms > backup_ftthnms_$(date +%Y%m%d_%H%M%S).sql

-- Complete backup dengan struktur dan data
mysqldump -u username -p --single-transaction --routines --triggers ftthnms > full_backup.sql

-- File backup aplikasi
tar -czf ftthnms_backup_$(date +%Y%m%d).tar.gz /path/to/ftthnms/

-- Backup hanya tabel core (tanpa logs)
mysqldump -u username -p ftthnms ftth_items cable_routes users item_types > core_backup.sql
Q: Apakah bisa integrate dengan system lain?

A: Ya, aplikasi menyediakan REST API yang bisa diintegrasikan dengan system external.

Security Questions

Q: Bagaimana cara change password?

A: Login → Profile → Change Password, atau admin bisa reset password user lain di User Management.

Q: Apakah data encrypted?

A: Password di-hash dengan bcrypt, session data protected, dan HTTPS recommended untuk production.

SNMP Questions

Q: Device mana yang support SNMP monitoring?

A: OLT, Server/Router, ONT, dan Access Point dengan SNMP enabled.

Q: SNMP version mana yang paling baik?

A: SNMPv3 untuk security, SNMPv2c untuk compatibility, hindari SNMPv1.

Q: Bagaimana cara setup SNMP di XAMPP Windows?

A: Edit php.ini, uncomment extension=snmp, restart Apache, dan test dengan php -m | grep snmp.

Q: SNMP tidak berfungsi di Linux, apa solusinya?

A: Install php8.1-snmp, configure /etc/snmp/snmpd.conf, dan restart services dengan sudo systemctl restart snmpd apache2.

Q: Error "Network error: SyntaxError: Unexpected token '<'" saat SNMP discovery?

A: Ini biasanya karena Apache tidak running atau port conflict. Check Apache status dan restart XAMPP services.

Maps & Export Questions

Q: Apakah perlu internet untuk maps?

A: Ya, maps tiles dimuat dari internet. Untuk offline usage, consider caching solutions.

Q: Format apa yang support untuk import?

A: KMZ, KML, dan berbagai geometry types (Point, LineString, Polygon).

Kesimpulan

FTTH schematic NETWORK MANAGEMENT SYSTEM (FTTH schematic NMS) adalah solusi comprehensive untuk monitoring dan manajemen infrastruktur FTTH dengan fitur:

Key Benefits:

  • Complete Infrastructure Management - 11 kategori item FTTH
  • Interactive Mapping - Drag & drop, routing, visualization
  • SNMP Monitoring - Real-time device monitoring
  • Authentication System - Role-based security
  • Professional Export - Google Earth integration
  • Auto-Generation - Smart infrastructure planning
  • Responsive Design - Works on all devices
  • Open Source - Full source code ownership

Perfect For:

  • ISP & Telco Companies - Network infrastructure planning
  • FTTH Contractors - Site survey dan installation
  • Government Projects - Infrastructure development
  • Educational Institutions - Network learning
  • Network Consultants - Professional planning tools

Production Ready:

  • Enterprise-grade architecture dengan robust database design
  • Scalable untuk large deployments (10K+ items)
  • Professional security dengan encryption dan role-based access
  • Comprehensive documentation dengan training materials
  • Active support dan regular updates

SELAMAT!

Anda sekarang memiliki panduan lengkap untuk menggunakan FTTH schematic NETWORK MANAGEMENT SYSTEM.

Mulai planning infrastruktur FTTH Anda dengan tools professional ini!

Saputra Budi

Developed by Saputra Budi

IT Network and App Development Practitioner

Alamat:

Jln Abd. Latuf, BTN Mira Baliase B2/14
Baliase, Kec. Marawola, Kab. Sigi
Sulawesi Tengah, Indonesia