Web UI Guide
RAN Monitor Control Panel - User Interface Reference
Complete guide to using the RAN Monitor web-based control panel
Table of Contents
- Overview
- Accessing the Web UI
- Main Dashboard
- Base Stations Page
- Device Detail View
- Alarms Page
- Configuration Management
- Unconfigured eNodeBs Page
- Application Logs Page
- Data Retention Policy Page
- InfluxDB Status Page
- System Metrics Page
- PM Data Collection Page
- Firmware Management Page
- Data Management Page
- Web UI Workflows
Related Documentation
- Firmware Management Guide - Complete firmware repository documentation
Overview
RAN Monitor includes a built-in web-based control panel for real-time operational monitoring and management. The Web UI provides immediate visibility into device status, alarms, configuration, and system health.
Web UI vs. Grafana
Web UI is Best For:
- Immediate device status checks
- Real-time alarm monitoring
- Configuration management
- Session troubleshooting
- System administration
Grafana is Best For:
- Historical trend analysis
- Custom KPI dashboards
- Long-term capacity planning
- Pattern identification
- Executive reporting
For Grafana dashboards and analytics, see the Grafana Integration Guide.
Accessing the Web UI
The control panel is accessed via HTTPS:
URL: https://<ran-monitor-ip>:9443
Default Port: 9443 (configurable via CONTROL_PANEL_HTTPS_PORT environment variable)
SSL Certificates:
- Self-signed certificates work for lab environments
- Production should use CA-signed certificates
- Certificates configured in
config/runtime.exs
For configuration details, see the Runtime Configuration Guide.
Auto-Refresh: Most pages automatically refresh every 5 seconds to show real-time data.
Main Dashboard
The dashboard provides an at-a-glance view of your RAN infrastructure.
Key Sections
System Status
- Overall health indicators
- System uptime and connectivity
Device Summary
- Count of associated/failed devices
- Registration status overview
- Quick device health snapshot
Active Alarms
- Current fault count by severity
- Color-coded severity levels (Critical, Major, Minor, Warning)
- Quick links to alarm details
Recent Activity
- Latest events and changes
- Configuration updates
- Session status changes
Features
- Auto-refreshes every 5 seconds
- Color-coded status indicators (green = healthy, red = issues)
- Click-through navigation to detailed views
- Real-time metric updates
Base Stations Page
View all managed devices with their current status and session information.
URL: https://<ran-monitor-ip>:9443/nokia/enodeb

The BTS Status page showing device list with connection status, session state, and action buttons.
Statistics Summary
The top bar shows aggregate device counts:
| Statistic | Description |
|---|---|
| Total Sites | Number of configured base stations |
| Connected | Sites with active sessions that have pushed both config and PM data since last restart |
| Pending | Sites that are registered but haven't yet pushed all data types |
| Disconnected | Sites that are not registered or unreachable |
Device Table
| Column | Description |
|---|---|
| Name | Site name as configured |
| Status | Connection status (see below) |
| Address | Device IP address and port |
| Session | Session state: "Active" (green) or "None" (gray) |
| Actions | Device action buttons |
Status States
| Status | Icon | Description |
|---|---|---|
| Connected | 🟢 | Registered, session active, both configuration and PM data received since last restart |
| Waiting for PM Data | 🔵 | Session active and config received, but no PM data yet (eNodeB PM cycle is typically every 15 minutes) |
| Session Active | 🟡 | Registered with active session, waiting for initial data push |
| Registering | 🟡 | NE3S registration in progress |
| Disconnected | 🔴 | Not registered or unreachable |
Action Buttons
Each device row has action buttons:
| Button | Description |
|---|---|
| Ping | Test network connectivity to the device |
| Config | View current device configuration |
| Config Ops | Access configuration management operations (download, upload, validate, activate) |
| Force Retry | Force re-registration attempt for disconnected devices |
Device Details Panel
Clicking a device row shows additional details:
| Field | Description |
|---|---|
| Manager ID | Internal manager identifier |
| Session ID | Current session identifier |
| Agent Type | Device agent type (e.g., COMA) |
| Vendor | Device vendor (Nokia) |
Filtering and Search
- Filter by connection status
- Search by device name or IP address
- Sort by any column
Device Detail View
Click any device from the Base Stations page to see comprehensive information.
Registration Details
- Manager identity and authentication status
- Registration timestamp
- Authentication credentials in use
- Manager keys and certificates
Session Lifecycle
- Session creation time
- Session expiry time
- Keep-alive interval and status
- Last keep-alive timestamp
- Time remaining until expiry
Recent Metrics
- Latest performance data snapshots
- Counter values and timestamps
- Metric collection status
- Data collection intervals
Active Alarms
- Current faults for this specific device
- Alarm severity and description
- Alarm timestamps
- Probable cause information
Configuration State
- Current parameter values
- Recent configuration changes
- Configuration timestamp
- Parameter change history
Alarms Page
Monitor all faults across your network in one centralized view.
Alarm Information
Severity Levels:
- Critical (Red) - Service affecting, immediate action required
- Major (Orange) - Significant degradation, urgent attention needed
- Minor (Yellow) - Non-service affecting, should be addressed
- Warning (Blue) - Informational, monitor for trends
- Cleared (Green) - Previously active alarm has been resolved
Alarm Details:
- Description of the issue
- Probable cause
- Affected system (DN - Distinguished Name)
- Timestamps (when alarm occurred and last updated)
Features
Color Coding:
- Immediate visual identification of severity
- Red = Critical alarms
- Orange = Major alarms
- Yellow = Minor alarms
- Blue = Warnings
- Green = Cleared
Sorting and Filtering:
- Sort by severity, device, or time
- Filter by alarm type
- Search for specific issues
Device Links:
- Click alarm to view affected device details
- Cross-reference with device metrics
- Navigate to device configuration
For detailed alarm handling procedures, see the Alarm Management Guide.
Configuration Management
The Web UI provides tools for managing device configurations safely and efficiently.
Download Configuration
Purpose: Retrieve and backup current configuration
Steps:
- Navigate to device detail page
- Click "Download Configuration"
- Configuration is retrieved from device
- Save configuration as XML file
Best Practice: Always download and save configuration before making changes
Push Configuration (Provision)
Purpose: Apply a new configuration to a device in a single operation
The provision operation performs download, validation, and activation atomically on the device. A fallback of the current running configuration is saved automatically before the new configuration is applied.
Steps:
- Click "Config Ops" on the target device
- Select an XML configuration file (drag and drop or click to browse)
- Click "Push Configuration to Device"
- The device downloads, validates, and activates the configuration
- Monitor the result message for success or errors
How it works:
- The device receives the configuration file and creates an internal plan
- The plan is validated against the device's schema and current state
- If validation passes, the current running config is saved as a fallback
- The new configuration is activated immediately
- If activation fails, the device can revert to the fallback
Advanced: Manual 3-Step Flow
For cases where you need more control (e.g. staging a config for review before activation), the advanced section in the Config Ops dialog provides the individual steps:
- Stage (Download) - Upload config to create a plan on the device without activating. Returns a Plan ID.
- Validate - Validate a staged plan by its Plan ID. Confirms the config is syntactically and semantically correct.
- Activate - Apply a validated plan by its Plan ID. Takes effect immediately.
The Plan ID from the stage step is automatically populated in the validate and activate fields.
Configuration Workflow
Recommended Process:
- Download current configuration (backup)
- Modify configuration offline
- Push new configuration using the provision operation
- Verify changes took effect
- Monitor device for stability
For base station configuration details, see the AirScale Configuration Guide.
Unconfigured eNodeBs Page
Discover and manage base stations attempting to connect that aren't yet configured in the system.
Purpose
The Unconfigured eNodeBs page helps you:
- Discover new base stations on the network
- Identify devices attempting unauthorized connections
- Verify device identifiers before adding to configuration
- Track connection attempts from unknown equipment
Information Displayed
Agent ID
- Device identifier detected from connection attempts
- Use this ID when adding device to configuration
Last Seen
- Most recent connection attempt timestamp
- Helps identify active vs. inactive devices
Occurrences
- Number of times the device attempted to connect
- Frequent attempts may indicate misconfiguration
First Seen
- When the device was first detected
- Useful for tracking new equipment
Actions Available
Refresh
- Reload the list of unconfigured devices
- Updates timestamps and occurrence counts
Delete
- Remove individual entries from the list
- Useful for cleaning up old/decommissioned devices
Clear All
- Remove all unconfigured device records
- Fresh start for the list
Configuration Help
When devices appear here, follow these steps:
- Note the Agent ID from the table
- Add device configuration to
config/runtime.exs:airscales: [
%{
address: "10.7.15.66",
name: "Site-A-BS1",
port: "8080",
web_username: "admin",
web_password: "password"
}
] - Restart RAN Monitor to begin monitoring the device
For detailed configuration instructions, see the Runtime Configuration Guide.
Use Cases
- Network Discovery: Find new base stations added to network
- Security: Identify unauthorized connection attempts
- Provisioning: Verify device identifiers before configuration
- Decommissioning: Track attempts from devices that should be offline
Application Logs Page
Real-time logging dashboard for troubleshooting and monitoring system activity.
Log Levels
Filter by Log Level:
- Emergency - System-critical failures
- Alert - Immediate action required
- Critical - Critical conditions
- Error - Error conditions
- Warning - Warning conditions
- Notice - Normal but significant
- Info - Informational messages
- Debug - Detailed debugging information
Note: When filtering, the selected level and all higher severity levels are shown.
Features
Search and Filter:
- Text search across all log messages
- Real-time log streaming (last 500 messages)
- Filter by log level
Controls:
- Pause/Resume - Stop live log streaming to review messages
- Clear - Remove all logs from display
- System Level - Change application-wide log level dynamically
Color Coding:
- Red - Emergency/Alert/Critical levels
- Light Red - Error level
- Yellow - Warning level
- Cyan - Notice level
- Blue - Info level
- Gray - Debug level
Use Cases
Troubleshoot Connection Issues:
- Filter for errors from specific devices
- Search for device names or IP addresses
- Review connection failure messages
Monitor System Activity:
- Watch info-level logs for normal operations
- Track device registration events
- Monitor data collection activity
Debug Problems:
- Temporarily set debug level
- Reproduce the issue
- Review detailed logs
- Revert to info level when done
Investigate Failures:
- Search for error messages and stack traces
- Review timestamps around failure time
- Correlate with device events
Best Practices
- Use Pause when reviewing specific error sequences
- Set appropriate log level:
- Info for production
- Debug for troubleshooting
- Warning for quiet production
- Search effectively using device names or error keywords
- Log level changes persist until application restart
Data Retention Policy Page
Manage how long data is stored in InfluxDB for each base station.
Global Settings Display
Default Retention Period
- System-wide retention policy in hours/days
- Configured in
config/config.exs - Default: 720 hours (30 days)
Total Records
- Count of all data points across all devices
- Updated on page refresh
Auto-Cleanup Status
- Shows cleanup runs hourly
- Background worker status
Per-Device Settings
For each configured base station:
Device Information:
- Device name
- Registration status (Registered/Not Registered)
- Current retention period setting
Record Counts:
- Performance Metrics - Number of PM data points stored
- Configuration - Number of configuration snapshots
- Alarms - Number of alarm records
- Total - Sum of all records for this device
Actions:
- Update Retention Period - Change retention hours (applies to this device only)
- Clean Old Data - Manually trigger cleanup based on retention period
- Clear All Data - Delete all data for this device (irreversible)
How Retention Works
- Global Default - Set in configuration file, applies to all devices
- Per-Device Override - Optionally set custom retention for specific devices
- Automatic Cleanup - Runs hourly, deletes data older than retention period
- Manual Cleanup - Use "Clean Old Data" to force immediate cleanup
Common Retention Periods
- 720 hours (30 days) - Short-term operational monitoring
- 2160 hours (90 days) - Standard retention for most deployments
- 4320 hours (180 days) - Extended retention for compliance
- 8760 hours (365 days) - Long-term historical analysis
Use Cases
- Reduce storage usage by lowering retention period
- Keep critical device data longer than others
- Clean up test data before production
- Manage InfluxDB disk space usage
Warning: Clearing all data is permanent and cannot be undone. Always verify before executing.
For detailed retention policy information, see the Data Retention Policy Guide.
InfluxDB Status Page
Monitor the health and status of your InfluxDB time-series database.
URL: https://<ran-monitor-ip>:9443/nokia/influx

The InfluxDB Status page showing connection status, measurements, batch writer performance, and storage information.
Connection Status
| Field | Description |
|---|---|
| Connection Status | Green indicator when connected, red when disconnected |
| Database | Configured InfluxDB bucket name |
| InfluxDB Version | Detected database version (2.x) |
Measurements and Data Points
Real-time data point counts for each measurement type:
| Measurement | Description |
|---|---|
| Performance Metrics | PM data points collected from devices |
| Configuration | Configuration snapshots stored |
| Alarms | Alarm records in database |
| Total | Sum of all data points |
Batch Writer Performance
Statistics for the InfluxDB batch writer process that handles all data ingestion:
| Metric | Description |
|---|---|
| Queue Size | Points waiting to be written. Color-coded: green (< 1000), yellow (< 10000), orange (< 20000), red (>= 20000) |
| Filter Rate | Percentage of duplicate data points blocked from writing |
| PM Filtered | Count of PM counters filtered out (non-dashboard counters not in stored PM data list) |
| Queue Drops | Points dropped due to queue overflow (should be 0 in normal operation) |
| Config Cache | Number of unique configuration hashes cached for delta detection |
| Alarm Cache | Number of active alarms cached for delta detection |
Additional metrics:
| Metric | Description |
|---|---|
| Total Written | Cumulative points written to InfluxDB since startup |
| Flushes | Number of batch flush operations |
| Filtered | Total duplicate points filtered (not written) |
| Data Written | Total bytes written to InfluxDB |
| Throughput | Current write throughput (KB/s or MB/s) |
| Writer Uptime | Time since batch writer started |
| Last Flush | Time since last successful flush |
Clear Caches: Resets delta detection caches. Use when you want to force re-writing of all data (e.g., after schema changes).
Storage Information
| Field | Description |
|---|---|
| Retention Policies | Current retention settings (default: Indefinite) |
| Disk Usage | Estimated database size based on record counts |
| Activity | Last update timestamp |
Configuration Details
| Field | Description |
|---|---|
| Host | InfluxDB server hostname |
| Port | InfluxDB server port (default: 8086) |
| Bucket | InfluxDB bucket name |
| Status | Connection status badge |
| Measurements | Number of measurement types (3: PerformanceMetrics, Configuration, Alarms) |
Health Diagnostics
Status indicators for system health:
- InfluxDB Connectivity - Database accessible and responding
- Data Collection - Performance metrics being collected from devices
- Data Retention - Current retention policy status
- Last Sync - Most recent data synchronization
Auto-Refresh
The page automatically refreshes every 30 seconds.
Interpreting Status
| Condition | Meaning |
|---|---|
| Connected + Data Counts Growing | System operating normally |
| Connected + No Data | Check device registration and PM counter configuration |
| Disconnected | Verify InfluxDB is running and network connectivity |
| High Queue Size (yellow/red) | InfluxDB write performance issue or network latency |
| High Queue Drops | Queue overflow - increase batch size or reduce collection rate |
| High Filter Rate | Good - indicates effective duplicate detection |
Use Cases
- Verify InfluxDB is receiving data
- Monitor batch writer health and throughput
- Troubleshoot write performance issues
- Check delta detection cache effectiveness
- Confirm data is being written
System Metrics Page
Real-time performance monitoring for the InfluxDB batch writer and system resources.
URL: https://<ran-monitor-ip>:9443/nokia/metrics

The System Metrics page showing InfluxDB batch writer statistics and per-Airscale write counts.
InfluxDB Batch Writer
Summary statistics for the batch writer process:
| Metric | Description |
|---|---|
| Queue Size | Number of data points waiting to be written to InfluxDB |
| Flush Count | Total number of batch flushes since startup |
| Total Points Written | Cumulative data points written to InfluxDB |
| Last Flush | Time since last successful flush operation |
InfluxDB Write Statistics by Airscale
Per-device breakdown of data written to InfluxDB:
| Column | Description |
|---|---|
| Airscale | Device name |
| Performance Metrics | Count of PM data points written |
| Configuration | Count of configuration snapshots written |
| Alarms | Count of alarm records written |
| Total Records | Sum of all data points for this device |
| Last Write | Timestamp of most recent write for this device |
The totals row at the bottom shows aggregate counts across all devices.
System Resources
Erlang VM resource utilization:
| Metric | Description |
|---|---|
| Total Memory | Total memory allocated to the Erlang VM |
| Process Memory | Memory used by Erlang processes |
| Binary Memory | Memory used for binary data (XML, JSON payloads) |
| Atom Memory | Memory used for atoms |
| Process Count | Number of active Erlang processes |
| Run Queue | Number of processes waiting for CPU time (0 is healthy) |
Auto-Refresh
The page automatically refreshes every 5 seconds.
Use Cases
- Monitor batch writer health and throughput
- Identify devices with high data volume
- Troubleshoot write performance issues
- Verify data is flowing from all devices
- Monitor system resource usage
PM Data Collection Page
Control which Performance Metrics (PM) counters are stored in InfluxDB. Nokia AirScale base stations report over 22,000 unique PM counters, but only a subset are typically needed for dashboards.
URL: https://<ran-monitor-ip>:9443/nokia/pm-filters

The PM Data Collection page showing stored counters (left) and available counters (right) with category filters.
How PM Filtering Works
eNodeB PM Data (22,000+ counters)
│
▼
┌────────────────────────────┐
│ PM Counter Whitelist Filter │
│ Only "Stored PM Data" pass │
└────────────────────────────┘
│
▼
Write Queue
│
▼
InfluxDB
The batch writer filters incoming PM data against the "Stored PM Data" list. Counters not in this list are dropped before queuing, reducing storage and improving query performance.
Interface Layout
| Section | Description |
|---|---|
| Stored PM Data (Left) | Counters currently being collected and written to InfluxDB |
| Available Counters (Right) | All 22,000+ counters available to add |
| Configuration Keys (Bottom) | Config parameters being tracked (from config_keys.csv) |
Stored PM Data Panel
Counters in this list are written to InfluxDB when received from devices.
Filters:
- Search: Filter by counter ID or description
- Category: Filter by technology (LTE, 5G-NR, etc.)
- Source: Filter by Default (from CSV) or Added (user-added)
Actions:
- Remove Selected: Stop collecting selected counters
- Select All: Select all visible counters
- Reset to Defaults: Restore original list from
pm_counters.csv
Available Counters Panel
Browse and add counters from the complete Nokia PM reference.
Filters:
- Search: Find counters by ID or description keywords
- Category: Filter by technology category
Actions:
- Add Selected: Start collecting selected counters
- Select All: Select all visible counters (limited to 200 displayed)
Counter Categories
| Category | Code Prefix | Description |
|---|---|---|
| LTE | M8xxx | LTE L1/L2/L3 counters |
| WCDMA | M5xxx | 3G WCDMA counters |
| 5G-NR | M55xxx | 5G NR counters |
| 5G-Mobility | M51xxx | 5G mobility metrics |
| 5G-Common | M40xxx | 5G common counters |
Persistence
Changes are:
- Persisted to disk in
priv/pm_filters.etf - Survive application restarts
- Take effect immediately (no restart required)
Related Statistics
The InfluxDB Status page shows filtering statistics:
- PM Filtered: Count of PM points dropped (not in whitelist)
- Filter Rate: Percentage of duplicate config/alarm points blocked
For detailed guidance on counter selection, see PM Data Collection Guide.
Firmware Management Page
Manage Nokia AirScale firmware packages for remote software updates.
URL: https://<ran-monitor-ip>:9443/nokia/firmware
Overview
The Firmware Management page provides a centralized repository for base station software packages. Upload firmware to RAN Monitor and use the generated HTTP URLs in WebEM's "Remote server" option to perform software updates.
Key Features
| Feature | Description |
|---|---|
| Upload | Store Nokia AirScale .zip firmware packages |
| Download URLs | Copy HTTP URLs for WebEM remote server configuration |
| MD5 Checksums | Automatic checksum calculation for integrity verification |
| Storage Stats | Monitor repository disk usage |
Quick Workflow
- Upload firmware package to RAN Monitor
- Click Copy URL to get the download URL
- In WebEM Software Management, select Remote server
- Paste the URL and click Connect and Refresh
- Select the firmware and start the update
For complete documentation including configuration options and troubleshooting, see the Firmware Management Guide.
Data Management Page
Manage cached data, temporary files, and persistent storage.
URL: https://<ran-monitor-ip>:9443/nokia/data

The Data Management page showing ETS cache, temporary files, and InfluxDB data clearing options.
ETS Cache (In-Memory)
Volatile in-memory caches that are cleared on application restart:
| Cache | Description |
|---|---|
| Nokia Config Cache | Cached device configuration data |
| Nokia Alarms Cache | Cached active alarm records |
| Retention Record Cache | Cached retention policy record counts |
| InfluxDB Status Cache | Cached InfluxDB connection status |
Clear All ETS Cache: Removes all entries from in-memory caches. Data is regenerated on next request.
Temporary Files
Files created during configuration extraction and processing:
- TAR extracts from device configuration downloads
- Temporary archives created during processing
Clear Temporary Files: Removes temporary files from /tmp directory.
InfluxDB Data (Persistent)
Time-series data stored in InfluxDB for each device:
- Performance metrics (PM counters)
- Configuration snapshots
- Alarm records
Per-Device Clearing: Click "Clear Data" next to a device to remove all InfluxDB data for that device.
Clear All: Removes all InfluxDB data for all devices. Use with caution.
Device Registry
Shows count of registered devices. Device configurations are loaded from config/runtime.exs at startup and stored in ETS.
Use Cases
- Free up memory by clearing caches
- Clean up temporary files after troubleshooting
- Remove test data before production use
- Clear data for decommissioned devices
Web UI Workflows
Common operational workflows using the Web UI.
Daily Health Check
Purpose: Verify system health at start of shift
Steps:
- Open main dashboard
- Verify all devices show green status
- Check alarm count and severity
- Review any red/failed devices
- Investigate issues as needed
- Document any actions taken
Time: < 5 minutes
Alarm Investigation
Purpose: Respond to and resolve alarms
Steps:
- Open Alarms page
- Sort by severity (Critical first)
- Click alarm for full details
- Navigate to affected device
- Cross-reference with recent metrics
- Determine required action
- Implement resolution
- Verify alarm clears
For detailed alarm handling procedures, see the Alarm Management Guide.
Configuration Update
Purpose: Safely update device configuration
Steps:
- Download current configuration (backup)
- Modify configuration offline using appropriate tools
- Upload new configuration to device
- Note the Plan ID returned
- Validate configuration using Plan ID
- If validation succeeds, activate configuration
- Verify changes took effect
- Monitor device stability for 15-30 minutes
- Document change in change management system
Safety Notes:
- Always validate before activating
- Make changes during maintenance windows when possible
- Have rollback plan ready
- Monitor for unexpected behavior
Adding a New Base Station
Purpose: Add newly deployed base station to monitoring
Steps:
- Check Unconfigured eNodeBs page for device
- Note Agent ID and IP address
- Add device to
config/runtime.exs - Restart RAN Monitor application
- Verify device appears in Base Stations page
- Confirm registration succeeds (green status)
- Check metrics are flowing to InfluxDB
- Set retention policy if needed
- Add to Grafana dashboards
For detailed operations, see the Common Operations Guide.
Troubleshooting Device Connectivity
Purpose: Diagnose and fix device connection issues
Steps:
- Check Base Stations page for device status
- If red/failed, click device for details
- Review session information and last contact time
- Check Application Logs for error messages
- Verify network connectivity (ping device)
- Confirm credentials are correct
- Check device is accessible on configured port
- Review device-side logs if needed
- Restart connection or device as needed
- Verify recovery
For detailed troubleshooting, see the Troubleshooting Guide.
Related Documentation
- Getting Started Guide - Initial setup and deployment
- Common Operations Guide - Day-to-day operational tasks
- Alarm Management Guide - Alarm handling and escalation
- Runtime Configuration Guide - System configuration
- Grafana Integration Guide - Analytics and dashboards
- Data Retention Policy Guide - Data lifecycle management
- Troubleshooting Guide - Common issues and solutions