Multiple sniffer instancies: Difference between revisions
(Review: přidán diagram architektury, opravena systemd konfigurace (správná binárka voipmonitor), přidány 1= prefixy pro šablony s =, opraveno číslování seznamu, přidána kategorie) |
(Rewrite: streamlined structure, systemd-first approach, added See Also) |
||
| Line 2: | Line 2: | ||
[[Category:Configuration]] | [[Category:Configuration]] | ||
Running multiple VoIPmonitor sniffer instances on a single host | Running multiple VoIPmonitor sniffer instances on a single host allows you to: | ||
* Monitor multiple PBX systems via separate network interfaces | * Monitor multiple PBX systems via separate network interfaces | ||
* Assign different <code>id_sensor</code> values for licensing or organizational purposes | * Assign different <code>id_sensor</code> values for licensing or organizational purposes | ||
* Use | * Use separate storage paths (<code>spooldir</code>) for each instance | ||
<kroki lang="mermaid"> | <kroki lang="mermaid"> | ||
| Line 23: | Line 22: | ||
</kroki> | </kroki> | ||
{{Warning|1=Do NOT use the GUI wrench icon to configure interfaces when running multiple instances. Interface settings must be configured in | {{Warning|1=Do NOT use the GUI wrench icon to configure interfaces when running multiple instances. Interface settings must be configured in local configuration files only.}} | ||
== | == Configuration Requirements == | ||
Each instance requires unique values for these parameters: | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Option !! Purpose !! | ! Option !! Purpose !! Example (Instance 2) | ||
|- | |- | ||
| <code>id_sensor</code> || Sensor ID for licensing/ | | <code>id_sensor</code> || Sensor ID for licensing/GUI || <code>2</code> | ||
|- | |- | ||
| <code>interface</code> || Network interface | | <code>interface</code> || Network interface to capture || <code>eth1</code> | ||
|- | |- | ||
| <code>managerport</code> || API port for GUI communication || | | <code>managerport</code> || API port for GUI communication || <code>5030</code> | ||
|- | |- | ||
| <code>server_bind</code> || Server | | <code>server_bind</code> || Server mode bind address:port || <code>127.0.0.1:60025</code> | ||
|- | |- | ||
| <code>mirror_bind</code> || Mirror | | <code>mirror_bind</code> || Mirror mode bind address:port || <code>127.0.0.1:60026</code> | ||
|- | |- | ||
| <code>spooldir</code> || | | <code>spooldir</code> || PCAP/audio storage directory || <code>/var/spool/voipmonitor2</code> | ||
| | |||
| <code> | |||
|} | |} | ||
== Step-by-Step Setup == | |||
=== Step 1: Copy configuration file === | |||
<syntaxhighlight lang="bash"> | |||
cp -a /etc/voipmonitor.conf /etc/voipmon2.conf | |||
</syntaxhighlight> | |||
=== Step 2: Edit the new configuration === | |||
Edit <code>/etc/voipmon2.conf</code> and set unique values: | |||
<syntaxhighlight lang="ini"> | <syntaxhighlight lang="ini"> | ||
| Line 79: | Line 61: | ||
interface = eth1 | interface = eth1 | ||
managerport = 5030 | managerport = 5030 | ||
server_bind = 127.0.0.1: | server_bind = 127.0.0.1:60025 | ||
mirror_bind = 127.0.0.1: | mirror_bind = 127.0.0.1:60026 | ||
spooldir = /var/spool/voipmonitor2 | spooldir = /var/spool/voipmonitor2 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Step | === Step 3: Create systemd service === | ||
Create <code>/etc/systemd/system/voipmon2.service</code>: | |||
<syntaxhighlight lang="ini"> | |||
[Unit] | |||
Description=VoIPmonitor Instance 2 | |||
After=network.target mysql.service | |||
[Service] | |||
Type=forking | |||
ExecStart=/usr/local/sbin/voipmonitor --config-file=/etc/voipmon2.conf | |||
Restart=on-failure | |||
[Install] | |||
WantedBy=multi-user.target | |||
</syntaxhighlight> | |||
=== Step | === Step 4: Create spooldir and start service === | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
mkdir -p /var/spool/voipmonitor2 | |||
systemctl daemon-reload | systemctl daemon-reload | ||
systemctl enable | systemctl enable --now voipmon2 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Step | === Step 5: Verify startup === | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
journalctl -u voipmon2 -n 50 | journalctl -u voipmon2 -n 50 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
{{Warning|Verify there are NO errors in the logs before proceeding.}} | {{Warning|Verify there are NO errors in the logs before proceeding.}} | ||
=== Step | === Step 6: Register in GUI === | ||
# Navigate to '''Settings > Sensors > Add Sensor''' | |||
# Navigate to '''Settings > Sensors | |||
# Configure: | # Configure: | ||
#* <code> | #* '''Sensor ID''': <code>2</code> (matches <code>id_sensor</code>) | ||
#* | #* '''Manager IP''': IP address of the host | ||
#* | #* '''Manager Port''': <code>5030</code> (matches <code>managerport</code>) | ||
== Troubleshooting | == Troubleshooting == | ||
=== Duplicate Calls in GUI === | === Duplicate Calls in GUI === | ||
If | If both interfaces see the same traffic (overlapping SPAN), add to '''both''' config files: | ||
<syntaxhighlight lang="ini"> | <syntaxhighlight lang="ini"> | ||
| Line 139: | Line 118: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
See [[Sniffing_modes#Multiple_Mirrored_Interfaces_Issue]] for details. | |||
=== GUI Overwrites Configuration === | |||
Prevent GUI from overwriting local config settings: | |||
<syntaxhighlight lang="ini"> | <syntaxhighlight lang="ini"> | ||
mysqlloadconfig = no | |||
</syntaxhighlight> | |||
=== Service Won't Start === | |||
[ | * Check port conflicts: <code>ss -tulpn | grep -E '502[0-9]|6002[0-9]'</code> | ||
* Verify <code>spooldir</code> exists and is writable | |||
</ | * Check logs: <code>journalctl -u voipmon2 -e</code> | ||
== See Also == | |||
* [[Sniffer_configuration]] - Configuration file reference | |||
* [[Systemd_for_voipmonitor_service_management]] - Systemd service details | |||
* [[Sniffing_modes]] - Traffic capture methods and SPAN setup | |||
== AI Summary for RAG == | == AI Summary for RAG == | ||
'''Summary:''' | '''Summary:''' Guide for running multiple independent VoIPmonitor sniffer instances on a single host. Each instance requires unique values for <code>id_sensor</code>, <code>interface</code>, <code>managerport</code>, and bind options (<code>server_bind</code>, <code>mirror_bind</code>). Setup involves copying the config file, creating a systemd service unit with <code>--config-file</code> parameter, and registering the sensor in GUI. For duplicate calls when interfaces see overlapping traffic, use <code>auto_enable_use_blocks = yes</code>. To prevent GUI from overwriting local settings, use <code>mysqlloadconfig = no</code>. | ||
'''Keywords:''' multiple instances, single host, separate interfaces, id_sensor, managerport, server_bind, mirror_bind | '''Keywords:''' multiple instances, single host, separate interfaces, id_sensor, managerport, server_bind, mirror_bind, dual PBX, systemd service, auto_enable_use_blocks, mysqlloadconfig, packet deduplication | ||
'''Key Questions:''' | '''Key Questions:''' | ||
* How to monitor two PBX systems on a single VoIPmonitor host? | * How to monitor two PBX systems on a single VoIPmonitor host? | ||
* Why are calls duplicated | * Why are calls duplicated when using multiple sniffer instances? | ||
* How to configure unique | * How to configure unique ports for each sniffer instance? | ||
* How to prevent configuration conflicts between multiple | * How to prevent configuration conflicts between multiple instances? | ||
* | * How to create a systemd service for additional sniffer instance? | ||
Revision as of 16:48, 8 January 2026
How to Run Multiple Sniffer Instances on a Single Host
Running multiple VoIPmonitor sniffer instances on a single host allows you to:
- Monitor multiple PBX systems via separate network interfaces
- Assign different
id_sensorvalues for licensing or organizational purposes - Use separate storage paths (
spooldir) for each instance
⚠️ Warning: Do NOT use the GUI wrench icon to configure interfaces when running multiple instances. Interface settings must be configured in local configuration files only.
Configuration Requirements
Each instance requires unique values for these parameters:
| Option | Purpose | Example (Instance 2) |
|---|---|---|
id_sensor |
Sensor ID for licensing/GUI | 2
|
interface |
Network interface to capture | eth1
|
managerport |
API port for GUI communication | 5030
|
server_bind |
Server mode bind address:port | 127.0.0.1:60025
|
mirror_bind |
Mirror mode bind address:port | 127.0.0.1:60026
|
spooldir |
PCAP/audio storage directory | /var/spool/voipmonitor2
|
Step-by-Step Setup
Step 1: Copy configuration file
cp -a /etc/voipmonitor.conf /etc/voipmon2.conf
Step 2: Edit the new configuration
Edit /etc/voipmon2.conf and set unique values:
id_sensor = 2
interface = eth1
managerport = 5030
server_bind = 127.0.0.1:60025
mirror_bind = 127.0.0.1:60026
spooldir = /var/spool/voipmonitor2
Step 3: Create systemd service
Create /etc/systemd/system/voipmon2.service:
[Unit]
Description=VoIPmonitor Instance 2
After=network.target mysql.service
[Service]
Type=forking
ExecStart=/usr/local/sbin/voipmonitor --config-file=/etc/voipmon2.conf
Restart=on-failure
[Install]
WantedBy=multi-user.target
Step 4: Create spooldir and start service
mkdir -p /var/spool/voipmonitor2
systemctl daemon-reload
systemctl enable --now voipmon2
Step 5: Verify startup
journalctl -u voipmon2 -n 50
⚠️ Warning: Verify there are NO errors in the logs before proceeding.
Step 6: Register in GUI
- Navigate to Settings > Sensors > Add Sensor
- Configure:
- Sensor ID:
2(matchesid_sensor) - Manager IP: IP address of the host
- Manager Port:
5030(matchesmanagerport)
- Sensor ID:
Troubleshooting
Duplicate Calls in GUI
If both interfaces see the same traffic (overlapping SPAN), add to both config files:
auto_enable_use_blocks = yes
See Sniffing_modes#Multiple_Mirrored_Interfaces_Issue for details.
GUI Overwrites Configuration
Prevent GUI from overwriting local config settings:
mysqlloadconfig = no
Service Won't Start
- Check port conflicts:
ss -tulpn | grep -E '502[0-9]|6002[0-9]' - Verify
spooldirexists and is writable - Check logs:
journalctl -u voipmon2 -e
See Also
- Sniffer_configuration - Configuration file reference
- Systemd_for_voipmonitor_service_management - Systemd service details
- Sniffing_modes - Traffic capture methods and SPAN setup
AI Summary for RAG
Summary: Guide for running multiple independent VoIPmonitor sniffer instances on a single host. Each instance requires unique values for id_sensor, interface, managerport, and bind options (server_bind, mirror_bind). Setup involves copying the config file, creating a systemd service unit with --config-file parameter, and registering the sensor in GUI. For duplicate calls when interfaces see overlapping traffic, use auto_enable_use_blocks = yes. To prevent GUI from overwriting local settings, use mysqlloadconfig = no.
Keywords: multiple instances, single host, separate interfaces, id_sensor, managerport, server_bind, mirror_bind, dual PBX, systemd service, auto_enable_use_blocks, mysqlloadconfig, packet deduplication
Key Questions:
- How to monitor two PBX systems on a single VoIPmonitor host?
- Why are calls duplicated when using multiple sniffer instances?
- How to configure unique ports for each sniffer instance?
- How to prevent configuration conflicts between multiple instances?
- How to create a systemd service for additional sniffer instance?