Cloud: Difference between revisions
(Fix formatting: asymmetric bold markers, missing section header closings, correct subsection levels under Resizing EC2 Instances) |
(Fix cloud configuration: replace incorrect server_destination/packetbuffer_sender with correct cloud_token parameter) |
||
| Line 79: | Line 79: | ||
<syntaxhighlight lang="ini"> | <syntaxhighlight lang="ini"> | ||
# Cloud authentication token (obtain from VoIPmonitor Portal) | |||
cloud_token = your_cloud_token_here | |||
# Ensure all MySQL parameters are commented out or removed: | |||
#mysqlhost = ... | |||
#mysqldb = ... | |||
#mysqlusername = ... | |||
#mysqlpassword = ... | |||
</syntaxhighlight> | </syntaxhighlight> | ||
| Line 88: | Line 93: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
{{ | {{Note|1=The <code>cloud_token</code> is unique to your account and can be found in [https://www.voipmonitor.org/portal/ VoIPmonitor Portal] under '''my services''' > your Cloud service.}} | ||
== AWS EC2 Configuration == | == AWS EC2 Configuration == | ||
| Line 115: | Line 120: | ||
<syntaxhighlight lang="ini"> | <syntaxhighlight lang="ini"> | ||
# Cloud | # Cloud authentication | ||
cloud_token = your_cloud_token_here | |||
# Sensor ID | # Sensor ID | ||
| Line 131: | Line 134: | ||
spooldir = /var/spool/voipmonitor | spooldir = /var/spool/voipmonitor | ||
maxpoolsize = 102400 | maxpoolsize = 102400 | ||
# MySQL parameters must NOT be configured for cloud mode | |||
</syntaxhighlight> | </syntaxhighlight> | ||
| Line 191: | Line 196: | ||
;Verify Configuration | ;Verify Configuration | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
grep -E " | grep -E "cloud_token" /etc/voipmonitor.conf | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Required | Required setting: | ||
<syntaxhighlight lang="ini"> | <syntaxhighlight lang="ini"> | ||
cloud_token = your_cloud_token_here | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Also verify that MySQL parameters are commented out or removed. | |||
;Check Network Connectivity | ;Check Network Connectivity | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
nc -zv cloud.voipmonitor.org | nc -zv cloud.voipmonitor.org 443 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Ensure outbound TCP | Ensure outbound HTTPS (TCP 443) is allowed through all firewalls (local, corporate, cloud provider). | ||
;ARM64 Architecture Issue | ;ARM64 Architecture Issue | ||
| Line 231: | Line 236: | ||
* [[Capture_rules]] - Configuring selective PCAP storage | * [[Capture_rules]] - Configuring selective PCAP storage | ||
* [[Sniffer_configuration]] - All sniffer configuration parameters | * [[Sniffer_configuration]] - All sniffer configuration parameters | ||
Latest revision as of 14:13, 23 January 2026
VoIPmonitor Cloud Service
The VoIPmonitor Cloud Service is a managed hosting model where you run only the on-premise sniffer, while VoIPmonitor hosts and manages the database and web GUI.
Service Specifications
| Specification | Value |
|---|---|
| Max Concurrent Channels | 2000 |
| CDR Retention | 25 days |
| PCAP Storage | Local only (on sniffer, not in cloud) |
ℹ️ Note: If your requirements exceed these limits, consider an on-premise deployment.
Architecture
Data Flow
- Sniffer (Client): Captures and processes VoIP traffic locally. Multiple sniffers can connect from different locations.
- Cloud (Server): Hosts the database (CDR metadata) and web GUI for analysis and reporting.
How Data is Transferred
- Standard Mode (Default)
The sniffer analyzes traffic locally and sends only CDR metadata to the cloud. Voice packets (PCAP) are discarded after analysis. This minimizes bandwidth usage.
- On-Demand PCAP Retrieval
If packet capture is enabled via Capture Rules, PCAPs are stored locally on the sniffer. When a user requests a PCAP through the cloud GUI, the file streams directly from the sniffer to the user's browser - it is never uploaded to the cloud.
Quick Start
Free Trial
- Log in to VoIPmonitor Portal
- Navigate to my services
- Order the free 30-day Cloud GUI trial
Method 1: Installation Script (Recommended)
- Download the installation script from VoIPmonitor Portal (my services > your Cloud service)
- Run on your sniffer server:
chmod +x voipmonitor-cloud-install.sh
sudo ./voipmonitor-cloud-install.sh
The script automatically installs and configures everything.
Method 2: Manual Configuration
Edit /etc/voipmonitor.conf:
# Cloud authentication token (obtain from VoIPmonitor Portal)
cloud_token = your_cloud_token_here
# Ensure all MySQL parameters are commented out or removed:
#mysqlhost = ...
#mysqldb = ...
#mysqlusername = ...
#mysqlpassword = ...
systemctl restart voipmonitor
ℹ️ Note: The cloud_token is unique to your account and can be found in VoIPmonitor Portal under my services > your Cloud service.
AWS EC2 Configuration
When deploying on AWS, configure resource limits to prevent memory exhaustion and disk full conditions.
Required Parameters
| Parameter | Purpose | Recommended Value |
|---|---|---|
ringbuffer |
Packet capture buffer size (MB) | 50-100 (low traffic), 500-1000 (medium), 1000-2000 (high) |
max_buffer_mem |
Max memory for buffers (MB) | 500 for t3.small, 2000 for m5.large+ |
maxpoolsize |
Max PCAP storage (MB) | Set to ~80% of available disk |
spooldir |
PCAP storage path | Use EBS volume (gp3/io2), not instance store |
⚠️ Warning: Always set maxpoolsize - without it, VoIPmonitor will fill the disk until the system crashes.
Example AWS Configuration
For m5.large (8GB RAM, 100GB EBS gp3):
# Cloud authentication
cloud_token = your_cloud_token_here
# Sensor ID
id_sensor = 1
# Capture interface (typically eth0 or ens5 on AWS)
interface = eth0
# AWS resource limits
ringbuffer = 500
max_buffer_mem = 2000
spooldir = /var/spool/voipmonitor
maxpoolsize = 102400
# MySQL parameters must NOT be configured for cloud mode
AWS License Fix
AWS EC2 instances require this permission for license checks:
chmod 644 /dev/root
Resizing EC2 Instances
When resizing an EC2 instance to a different size, you must adjust max_buffer_mem and ringbuffer to fit the new instance's RAM limits. If you keep old settings from a larger instance, VoIPmonitor may crash or fail to start due to insufficient memory.
Buffer Memory Formula
The total memory allocated for buffers is calculated as:
Allocated RAM for Buffers = max_buffer_mem + count(interface) x ringbuffer
Ensure this total fits within your instance's available RAM, leaving room for other processes (GUI, database, operating system).
Reducing Instance Size Example
Resizing from c7i.4xlarge (32GB RAM) to c7i.xlarge (8GB RAM):
Before resize (32GB instance):
ringbuffer = 500
max_buffer_mem = 6000 # Total: 6000 + 1 x 500 = 6500 MB = 6.35 GB
After resize (8GB instance):
ringbuffer = 200
max_buffer_mem = 1000 # Total: 1000 + 1 x 200 = 1200 MB = 1.17 GB
Increasing Instance Size
When moving to a larger instance, you can increase buffer limits to handle higher traffic volumes. See Scaling Guide for tuning guidance.
⚠️ Warning: Always restart the VoIPmonitor service after changing buffer settings: systemctl restart voipmonitor
Troubleshooting
Sensor Not Appearing in Cloud
- First-Time Setup
- Initialize Database
If you see failed read rsa key or loss connection errors, you must first log in to the Cloud GUI to initialize your database:
- Log in to Cloud GUI with your portal credentials
- This creates the necessary database tables
- Restart the sniffer:
systemctl restart voipmonitor - Verify sensor appears green in Settings -> Sensors
- Verify Configuration
grep -E "cloud_token" /etc/voipmonitor.conf
Required setting:
cloud_token = your_cloud_token_here
Also verify that MySQL parameters are commented out or removed.
- Check Network Connectivity
nc -zv cloud.voipmonitor.org 443
Ensure outbound HTTPS (TCP 443) is allowed through all firewalls (local, corporate, cloud provider).
- ARM64 Architecture Issue
On ARM64 (aarch64) systems, a known bug prevents cloud connectivity. Contact VoIPmonitor support for a corrected ARM64 static binary.
Symptoms:
- Sensor runs locally (visible in logs)
- Configuration is correct
- Firewall allows traffic
- Sensor does not appear in Cloud GUI
Solution:
systemctl stop voipmonitor
# Download corrected binary from support
mv /usr/local/sbin/voipmonitor /usr/local/sbin/voipmonitor.backup
cp voipmonitor-arm64-fixed /usr/local/sbin/voipmonitor
systemctl start voipmonitor
See Also
- Sniffer_distributed_architecture - Client-server architecture details
- Capture_rules - Configuring selective PCAP storage
- Sniffer_configuration - All sniffer configuration parameters
AI Summary for RAG
Summary: VoIPmonitor Cloud Service is a managed hosting model where customer runs on-premise sniffer while VoIPmonitor hosts database and web GUI. Service limits: 2000 concurrent channels, 25 days CDR retention, PCAP stored locally only. Free 30-day trial via portal. Setup: use installation script from portal or manually configure server_destination=cloud.voipmonitor.org, server_destination_port=60023, packetbuffer_sender=yes. Sniffer sends only CDR metadata to cloud; PCAPs stay local and stream on-demand. AWS deployment requires resource limits: ringbuffer, max_buffer_mem, maxpoolsize (critical to prevent disk full), and chmod 644 /dev/root for license. Troubleshooting: first-time users must log into Cloud GUI to initialize database (fixes "failed read rsa key"); ARM64 requires special binary from support.
Keywords: cloud service, hosted GUI, on-premise sniffer, server_destination, packetbuffer_sender, port 60023, CDR metadata, PCAP local storage, on-demand download, AWS, EC2, ringbuffer, max_buffer_mem, maxpoolsize, EBS volume, ARM64, cloud database initialization, failed read rsa key, loss connection, free trial, 2000 channels, 25 days retention
Key Questions:
- How do I connect my sniffer to VoIPmonitor Cloud?
- What are the required voipmonitor.conf settings for cloud connectivity?
- Is my call data (PCAP) stored in the cloud?
- How do I configure VoIPmonitor on AWS EC2?
- What is the recommended maxpoolsize for AWS instances?
- Why is my sensor not appearing in Cloud interface?
- How do I fix "failed read rsa key" error?
- Does VoIPmonitor Cloud offer a free trial?
- What are the cloud service limits (channels, retention)?
- How do I fix ARM64 cloud connectivity issues?