Nagios

check_welle-cli

Description:

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

Compatible With

  • Nagios 4.x

Owner

License

Other


Nagios CSP

Meet The New Nagios Core Services Platform

Built on over 25 years of monitoring experience, the Nagios Core Services Platform provides insightful monitoring dashboards, time-saving monitoring wizards, and unmatched ease of use. Use it for free indefinitely.

Monitoring Made Magically Better

  • Nagios Core on Overdrive
  • Powerful Monitoring Dashboards
  • Time-Saving Configuration Wizards
  • Open Source Powered Monitoring On Steroids
  • And So Much More!
Project Files
Project Notes
This is a Python script. Python3 is needed. These are the commandline parameters:
-hShows this help
Mandatory
--sidService ID (SID). E.g. 0x8064
--url The url to open. E.g. http://ip_of_welle_cli/
--file For testing purposes, to open a json file. E.g. file:///c:/path/to/
(--url or --file is mandatory)
Optional
--audio_low_warnAudio warning level threshold in dBFS. If audio is BELOW this threshold then a warning state is returned. E.g. -40.0
--audio_low_critSame, but for critical level
--audio_high_warnAudio warning level threshold in dBFS. If audio is ABOVE this threshold then a warning state is returned. E.g. -3.5
--audio_high_critSame, but for critical level
--time_secs_warnDefine the max age threshold in seconds of the last audio update before a warning state is returned. E.g. 60
--time_secs_critSame, but for critical level
--bitrate_warnDefine the bitrate warning threshold in kbps. E.g. 71 (a 72 kbps stream will return OK then)
--bitrate_critSame, but for critical level
--dls_secs_warnDefine the max age threshold in seconds of the last Dynamic Label Segment (DLS) update before a warning state is returned. E.g. 3600
--dls_secs_critSame, but for critical level
--snr_warnDefine the Signal to Noise Ratio (SNR) when a warning state is returned. E.g. 6.0
--snr_critSame, but for critical level
--channelSet 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
--channelupdateTest mode. If set, the channel will always be updated to welle-cli, regardless if a real change of the channel is needed
--verboseTest mode. Verbose output
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.
Reviews (0) Add a Review
Add a Review

You must be logged in to submit a review.

Thank you for your review!

Your review has been submitted and is pending approval.

Recommend

To:


From:


Thank you for your recommendation!

Your recommendation has been sent.

Project Stats
Rating
0 (0)
Favorites
0
Views
3,189