Build precise queries to find exactly what you need
Press ESC to close
Nagios World Conference 2026: Sept. 14-17 in St. Paul, MN | Learn More
Your review has been submitted and is pending approval.
This check reads the json output of welle-cli (Part of welle.io, a SDR DAB+ receiver) and checks if the audio of the selected DAB+ service (sid) is present at some level, along with some other DAB+ service parameters (bitrate, allotment, snr, dls).
Current Version
1.0
Last Release Date
2021-01-02
Owner
Remco
Download URL
https://exchange.nagios.org/wp-content/uploads/project-files/2021/01/check_welle-cli.py
License
Other
Compatible With
This is a Python script. Python3 is needed.
These are the commandline parameters: <table><tr><td width="140px">-h</td><td>Shows this help</td></tr><tr><td></td></tr><tr><td>Mandatory</td></tr><tr><td>--sid</td><td>Service ID (SID). E.g. 0x8064</td></tr><tr><td>--url <url></td><td>The url to open. E.g. http://ip_of_welle_cli/</td></tr><tr><td>--file <inputfile></td><td>For testing purposes, to open a json file. E.g. file:///c:/path/to/</td></tr><tr><td></td><td>(--url or --file is mandatory)</td></tr><tr><td>Optional</td></tr><tr><td>--audio_low_warn</td><td>Audio warning level threshold in dBFS. If audio is BELOW this threshold then a warning state is returned. E.g. -40.0</td></tr><tr><td>--audio_low_crit</td><td>Same, but for critical level</td></tr><tr><td>--audio_high_warn</td><td>Audio warning level threshold in dBFS. If audio is ABOVE this threshold then a warning state is returned. E.g. -3.5</td></tr><tr><td>--audio_high_crit</td><td>Same, but for critical level</td></tr><tr><td>--time_secs_warn</td><td>Define the max age threshold in seconds of the last audio update before a warning state is returned. E.g. 60</td></tr><tr><td>--time_secs_crit</td><td>Same, but for critical level</td></tr><tr><td>--bitrate_warn</td><td>Define the bitrate warning threshold in kbps. E.g. 71 (a 72 kbps stream will return OK then)</td></tr><tr><td>--bitrate_crit</td><td>Same, but for critical level</td></tr><tr><td>--dls_secs_warn</td><td>Define the max age threshold in seconds of the last Dynamic Label Segment (DLS) update before a warning state is returned. E.g. 3600</td></tr><tr><td>--dls_secs_crit</td><td>Same, but for critical level</td></tr><tr><td>--snr_warn</td><td>Define the Signal to Noise Ratio (SNR) when a warning state is returned. E.g. 6.0</td></tr><tr><td>--snr_crit</td><td>Same, but for critical level</td></tr><tr><td>--channel</td><td>Set welle-cli to this channel. E.g. 7B. If this parameter is not set, the current welle-cli channel is used to find the SID. If welle-cli needs to switch channels then this function might take several seconds waiting for welle-cli to demux the mux on that channel</td></tr><tr><td>--channelupdate</td><td>Test mode. If set, the channel will always be updated to welle-cli, regardless if a real change of the channel is needed</td></tr><tr><td>--verbose</td><td>Test mode. Verbose output</td></tr></table>
Example command definition: # This command will check: # 1. If the audio level is above -40 dBFS and below -3.3 dBFS. # 2. If the audio level is updated less than 60 seconds ago. # 3. If the bitrate is above 71 kbps. # 4. If the dls is updated less then 1 hour ago. define command{ command_name check_welle-cli command_line $USER1$/check_welle-cli.py --url $ARG1$ --sid=$ARG2$ --audio_low_crit=-40 --audio_high_crit=-3.3 --time_secs_crit=60 --bitrate_crit=71 --dls_secs_crit=3600 }
Example service definition: # This service will do the check for DAB+ service id 0x8064 on the DAB+ allotment where welle-cli is currently tuned into. define service{ use generic-service host_name dabreceiver service_description Check RSM DAB+ check_command check_welle-cli!http://192.168.1.45/!0x8064 }
Example output: OK - DAB+ Service 0x8064 (RSM) has audiolevel -5.3 dBFS at bitrate 72 kbps. Audiolevel updated 2 seconds ago at: 2021-01-05 17:08:57. DLS updated 11 seconds ago at: 2021-01-05 17:08:48. SNR: 7.0. Channel: 7B.
You must be logged in to submit a review.
To:
From: