The Multi Path Packet Merge (MPPM) collector is a data collection module that gathers MPPM settings and status from edge devices in a SDVN network. The poller script uses the cfgjsonrpc webeasy program to gather information.
The data collection module has the below distinct abilities and features:
- Collects Main, Backup, and Hitless input information like bit rate and dropped packets
- Collects the playout status and link select status.
- Collects from multiple decoders for a device at the same time.
- Multi-threaded for multiple devices for non blocking capability.
- Texutal status values for easy use with the Intelligence notifications.
- inSITE Version 10.3 and service pack 6
- Python3.7 (already installed on inSITE machine)
- Python3 Requests library (already installed on inSITE machine)
Installation of the status monitoring module requires copying two scripts into the poller modules folder:
-
Copy packet_merge.py script to the poller python modules folder:
cp scripts/process_monitor.py /opt/evertz/insite/parasite/applications/pll-1/data/python/modules
-
Restart the poller application
To configure a poller to use the module start a new python poller configuration outlined below
-
Click the create a custom poller from the poller application settings page
-
Enter a Name, Summary and Description information
-
Enter the host value in the Hosts tab
-
From the Input tab change the Type to Python
-
From the Input tab change the Metric Set Name field to packetmerge
-
From the Python tab select the Advanced tab and enable the CPython Bindings option
-
Select the Script tab, then paste the contents of scripts/poller_config.py into the script panel.
-
Locate the below section of the script for custom modifcations:
params = {"hosts": hosts, "decoders": [1, 2, 3, 4, 5, 6, 7, 8, 9]}
Update the decoder list with the number of decoders the device has or uses.
-
Save changes, then restart the poller program.
The process_monitor script can be ran manually from the shell using the following command
python packet_merge.py
Below is the sample json file created:
{
"fields": {
"link_select": "Auto Packet Merge",
"i_decoder": 1,
"as_ids": [
"361.0@i",
"364.0@i",
"301.0.0@i",
"302.0.0@i",
"301.0.1@i",
"302.0.1@i",
"301.0.2@i",
"302.0.2@i"
],
"playout_status": "Merged",
"l_main_packet_drop": 32845644,
"l_main_packet_rate": 250757000,
"l_backup_packet_drop": 1363,
"l_backup_packet_rate": 250757000,
"l_hitless_packet_drop": 631,
"l_hitless_packet_rate": 250757000
},
"host": "192.168.0.16",
"name": "merged"
}