Build precise queries to find exactly what you need
Press ESC to close
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
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:
We’ve completely redesigned the world’s largest repository of Nagios plugins and monitoring tools. Join thousands of users sharing monitoring solutions for servers, applications, and everything in between.
Due to our redesign, all existing accounts require a password reset to access your account again.
Ready to explore 6,100+ projects and contribute to the community?
Reset Password Create Account
Happy Monitoring!