Page 1 of 1
check_disk.pl, problem coding regex
Posted: Tue Nov 10, 2015 4:27 pm
by paul.jobb
Hi;
does anyone have any experience with the following plugin I got off exchange? any suggestions would be appreciated.
https://exchange.nagios.org/directory/P ... sk/details
I using it on one of our Sun servers and I can't seem to get the regex to work the way I want.
this one works fine and excludes the following expressions from the result which I want:
./check_disk.pl -R '(.*/ora*.)|(.*u01oracle*.)|(.*/d-ora*.)' -w 20 -c 5 -v
I can't seem to get the reverse to work however, it just returns an empty result.
./check_disk.pl -r '(.*/ora*.)|(.*u01oracle*.)|(.*/d-ora*.)' -w 20 -c 5 -v
Re: check_disk.pl, problem coding regex
Posted: Tue Nov 10, 2015 5:32 pm
by rkennedy
Can you post the results of what you're trying to run, along with a ./check_disk.pl -v?
From what I'm gathering, it seems to be similar to what you're seeing and the -r flag not working.
Code: Select all
[root@localhost libexec]# ./check_disk.pl -v
DISK OK [/dev/shm 497.6M (100% free)] [/ 3.4G (49% free)] [/boot 380.5M (84% free)]
[root@localhost libexec]# ./check_disk.pl -i '/boot' -v
DISK OK [/dev/shm 497.6M (100% free)] [/ 3.4G (49% free)]
[root@localhost libexec]# ./check_disk.pl -R '/boot' -v
DISK OK [/dev/shm 497.6M (100% free)] [/ 3.4G (49% free)]
[root@localhost libexec]# ./check_disk.pl -r '/boot' -v
DISK OK [ 0.0B (100% free)]
[root@localhost libexec]#
Ultimately, what are you trying to achieve / monitor at this point?
Re: check_disk.pl, problem coding regex
Posted: Tue Nov 10, 2015 6:34 pm
by paul.jobb
We have quite a few mounts on that server(number of different zones) and we wanted a fairly simple check to to monitor any disk space issues.
The first check is for our OS team they don't want to be alerted on oracle related volumes, second is for the DB team who should only get oracle volumes alerts. This is fairly basic and I imagine at some point will need to refine it , but for now...
./check_disk.pl -R '(.*/ora*.)|(.*u01oracle*.)|(.*/d-ora*.)' -w 20 -c 5 -v
DISK OK [/ 517.7G (98% free)] [/SAN/vns27/home 1.9T (99% free)] [/zones/vns53-alternate 901.8G (99% free)] [/zones/vns57-alternate 901.8G (99% free)] [/SAN/vns30/appl 1.9T (99% free)] [/SAN/vns54/exporthom[/SAN/vns57/appl 901.8G (99% free)] [/zones/vns29 1.9T (99% free)] [/zones/vns33 1.9T (99% free)] [/SAN/vns31/home 1.9T (99% free)] [/zones/vns51-alternate 901.8G (99% free)] [/SAN/vns29/home 1.9T (99% fre free)] [/SAN/vns34/home 1.9T (99% free)] [/zones/vns56 901.8G (99% free)] [/zones/vns31-alternate 1.9T (99% free)] [/zones/vns34 1.9T (99% free)] [/zones/vns28-alternate 1.9T (99% free)] [/zones/vns54-altee)] [/zones/vns32-alternate 1.9T (99% free)] [/zones/vns30 1.9T (99% free)] [/SAN/vns33/home 1.9T (96% free)] [/zones/vns55 901.8G (99% free)] [/zones/vns29-alternate 1.9T (99% free)] [/SAN/vns29/appl 1.9ns56/exporthome 901.8G (99% free)] [/SAN/vns32/stage 1.9T (99% free)] [/SAN/vns54/home 901.8G (99% free)] [/dev/fd 0.0B (100% free)] [/SAN/vns52/exporthome 901.8G (98% free)] [/zones/vns30-alternate 1.9T (s51 901.8G (99% free)] [/devices 0.0B (100% free)] [/tmp 10.1G (96% free)] [/SAN/vns57/home 901.8G (99% free)] [/SAN/vns33/stage 1.9T (99% free)] [/SAN/vns30/home 1.9T (99% free)] [/zones/vns27 1.9T (99% flternate 901.8G (99% free)] [/SAN/vns51/home 901.8G (99% free)] [/zones/vns28 1.9T (99% free)] [/SAN/vns55/appl 901.8G (99% free)] [/zones/vns27-alternate 1.9T (99% free)] [/SAN/vns52/appl 901.8G (99% free.9T (99% free)] [/zones/vns34-alternate 1.9T (99% free)] [/SAN/vns34/stage 1.9T (99% free)] [/system/contract 0.0B (100% free)] [/var/run 10.1G (99% free)] [/zones/vns56-alternate 901.8G (99% free)] [/expo [/rpool 517.7G (99% free)] [/platform/sun4v/lib/sparcv9/libc_psr.so.1 517.7G (98% free)] [/zones/vns52 901.8G (99% free)] [/etc/mnttab 0.0B (100% free)] [/SAN/vns53/home 901.8G (99% free)] [/platform/sun417.7G (98% free)] [/zones/vns33-alternate 1.9T (99% free)] [/SAN/vns51/appl 901.8G (99% free)] [/SAN/vns56/home 901.8G (99% free)] [/SAN/vns34/vddisk 1.9T (99% free)] [/d-general 901.8G (99% free)] [/SAN/v free)] [/SAN/vns31/appl 1.9T (99% free)] [/SAN/vns55/home 901.8G (99% free)] [/etc/dfs/sharetab 0.0B (100% free)] [/system/object 0.0B (100% free)] [/SAN/vns52/home 901.8G (99% free)] [/zones/vns55-altern] [/zones/vns53 901.8G (99% free)] [/general 1.9T (99% free)] [/export/home 517.7G (99% free)] [/SAN/vns32/appl 1.9T (99% free)] [/etc/svc/volatile 10.1G (99% free)] [/SAN/vns56/appl 901.8G (99% free)] [/S9% free)] [/zones/vns32 1.9T (99% free)] [/SAN/vns28/appl 1.9T (99% free)] [/zones/vns54 901.8G (99% free)] [/SAN/vns53/appl 901.8G (99% free)] [/var 517.7G (97% free)] [/SAN/vns32/home 1.9T (99% free)] [/ free)] [/SAN/vns27/appl 1.9T (99% free)] [/SAN/vns33/appl 1.9T (99% free)] [/zones/vns57 901.8G (99% free)]
./check_disk.pl -r '(.*/ora*.)|(.*u01oracle*.)|(.*/d-ora*.)' -w 20 -c 5 -v
DISK OK [ 0.0B (100% free)]
./check_disk.pl -v
DISK CRITICAL [/ 517.7G (98% free)] [/SAN/vns27/home 1.9T (99% free)] [/d-oralog2 391.0G (99% free)] [/SAN/vns31/oralog1 312.7G (99% free)] [/SAN/vns54/oradata 380.2G (99% free)] [/SAN/vns52/oradata 380.2G (77% free)] [/SAN/vns57/orabkup 420.7G (99% free)] [/SAN/vns33/oralog1 312.7G (99% free)] [/zones/vns29 1.9T (99% free)] [/SAN/vns31/home 1.9T (99% free)] [/zones/vns51-alternate 901.8G (99% free)] [/SAN/vns29/home 1.9T (99% free)] [/SAN/vns52/oralog2 391.0G (99% free)] [/SAN/vns34/home 1.9T (99% free)] [/zones/vns56 901.8G (99% free)] [/SAN/vns30/oralog2 391.5G (99% free)] [/SAN/vns27/oralog1 312.7G (99% free)] [/zones/vns31-alternate 1.9T (99% free)] [/zones/vns34 1.9T (99% free)] [/SAN/vns27/oradata 1.1T (99% free)] [/zones/vns28-alternate 1.9T (99% free)] [/zones/vns54-alternate 901.8G (99% free)] [/SAN/vns31/oralog2 391.5G (99% free)] [/zones/vns30 1.9T (99% free)] [/SAN/vns55/oralog1 195.1G (99% free)] [/SAN/vns51/oralog1 195.1G (99% free)] [/dev/fd 0.0B (100% free)] [/SAN/vns52/exporthome 901.8G (98% free)] [/SAN/vns32/u01oracle 1.9T (99% free)] [/d-oralog 195.1G (99% free)] [/tmp 10.1G (96% free)] [/SAN/vns56/oralog2 391.0G (99% free)] [/SAN/vns57/home 901.8G (99% free)] [/SAN/vns27/orawork 1.9T (99% free)] [/SAN/vns28/oralog1 312.7G (99% free)] [/SAN/vns51/oradata 380.2G (99% free)] [/SAN/vns30/home 1.9T (99% free)] [/SAN/vns32/orabkup 616.5G (99% free)] [/SAN/vns53/oradata 380.2G (99% free)] [/zones/vns27 1.9T (99% free)] [/zones/vns52-alternate 901.8G (99% free)] [/SAN/vns55/oradata 380.2G (99% free)] [/oralog2 391.5G (99% free)] [/SAN/vns52/u01oracle 901.8G (99% free)] [/SAN/vns57/oradata 380.2G (99% free)] [/SAN/vns32/oralog2 391.5G (99% free)] [/SAN/vns34/stage 1.9T (99% free)] [/SAN/vns32/oralog1 312.7G (99% free)] [/zones/vns52 901.8G (99% free)] [/SAN/vns52/orawork 901.8G (95% free)] [/SAN/vns52/orabkup 420.7G (61% free)] [/zones/vns33-alternate 1.9T (99% free)] [/SAN/vns33/orawork 1.9T (96% free)] [/SAN/vns56/home 901.8G (99% free)] [/SAN/vns53/u01oracle 901.8G (99% free)] [/SAN/vns28/u01oracle 1.9T (99% free)] [/SAN/vns28/oralog2 391.5G (99% free)] [/SAN/vns31/oradata 1.1T (99% free)] [/SAN/vns32/oradata 1.1T (99% free)] [/SAN/vns28/orabkup 616.5G (99% free)] [/SAN/vns57/oralog1 195.1G (99% free)] [/SAN/vns54/appl 901.8G (99% free)] [/system/object 0.0B (100% free)] [/orabkup 616.5G (99% free)] [/SAN/vns51/orawork 901.8G (99% free)] [/SAN/vns33/oralog2 391.5G (99% free)] [/SAN/vns31/orabkup 616.5G (99% free)] [/SAN/vns52/home 901.8G (99% free)] [/zones/vns55-alternate 901.8G (99% free)] [/SAN/vns32/appl 1.9T (99% free)] [/SAN/vns53/oralog1 195.1G (99% free)] [/SAN/vns56/appl 901.8G (99% free)] [/SAN/vns28/home 1.9T (99% free)] [/zones/vns32 1.9T (99% free)] [/SAN/vns52/orabkup_shared-cravs 420.7G (99% free)] [/zones/vns54 901.8G (99% free)] [/cdrom/oracle_solaris-11_2-text-sparc 0.0B (0% free)] [/SAN/vns30/oradata 1.1T (99% free)] [/SAN/vns32/orawork 1.9T (99% free)] [/var 517.7G (97% free)] [/SAN/vns29/oradata 1.1T (99% free)] [/SAN/vns55/orabkup 420.7G (99% free)] [/SAN/vns30/oralog1 312.7G (99% free)] [/SAN/vns54/u01oracle 901.8G (99% free)] [/SAN/vns29/oralog1 312.7G (99% free)] [/SAN/vns33/appl 1.9T (99% free)] [/zones/vns57 901.8G (99% free)] [/SAN/vns56/oralog1 195.1G (99% free)] [/SAN/vns27/u01oracle 1.9T (99% free)] [/zones/vns53-alternate 901.8G (99% free)] [/zones/vns57-alternate 901.8G (99% free)] [/SAN/vns30/appl 1.9T (99% free)] [/SAN/vns54/exporthome 901.8G (99% free)] [/SAN/vns57/appl 901.8G (99% free)] [/zones/vns33 1.9T (99% free)] [/proc 0.0B (100% free)] [/SAN/vns54/oralog1 195.1G (99% free)] [/SAN/vns52/oralog1 195.1G (99% free)] [/SAN/vns33/home 1.9T (96% free)] [/zones/vns32-alternate 1.9T (99% free)] [/zones/vns55 901.8G (99% free)] [/SAN/vns29/appl 1.9T (99% free)] [/zones/vns29-alternate 1.9T (99% free)] [/SAN/vns55/orawork 901.8G (99% free)] [/oralog 312.7G (99% free)] [/d-oradata 380.2G (99% free)] [/SAN/vns54/oralog2 391.0G (99% free)] [/SAN/vns32/stage 1.9T (99% free)] [/SAN/vns56/exporthome 901.8G (99% free)] [/SAN/vns54/home 901.8G (99% free)] [/zones/vns30-alternate 1.9T (99% free)] [/zones/vns51 901.8G (99% free)] [/SAN/vns29/u01oracle 1.9T (99% free)] [/devices 0.0B (100% free)] [/SAN/vns30/u01oracle 1.9T (99% free)] [/SAN/vns28/oradata 1.1T (99% free)] [/SAN/vns33/stage 1.9T (99% free)] [/SAN/vns55/u01oracle 901.8G (99% free)] [/SAN/vns29/orabkup 616.5G (99% free)] [/SAN/vns57/u01oracle 901.8G (99% free)] [/SAN/vns30/orawork 1.9T (99% free)] [/SAN/vns51/home 901.8G (99% free)] [/zones/vns28 1.9T (99% free)] [/SAN/vns55/appl 901.8G (99% free)] [/zones/vns27-alternate 1.9T (99% free)] [/SAN/vns27/oralog2 391.5G (99% free)] [/SAN/vns52/appl 901.8G (99% free)] [/SAN/vns34/appl 1.9T (99% free)] [/oradata 1.1T (99% free)] [/SAN/vns53/orabkup 420.7G (99% free)] [/zones/vns34-alternate 1.9T (99% free)] [/system/contract 0.0B (100% free)] [/var/run 10.1G (99% free)] [/SAN/vns51/orabkup 420.7G (99% free)] [/zones/vns56-alternate 901.8G (99% free)] [/SAN/vns53/oralog2 391.0G (99% free)] [/rpool 517.7G (99% free)] [/export 517.7G (99% free)] [/SAN/vns51/oralog2 391.0G (99% free)] [/platform/sun4v/lib/sparcv9/libc_psr.so.1 517.7G (98% free)] [/SAN/vns53/home 901.8G (99% free)] [/etc/mnttab 0.0B (100% free)] [/platform/sun4v/lib/libc_psr.so.1 517.7G (98% free)] [/SAN/vns51/appl 901.8G (99% free)] [/SAN/vns56/orabkup 420.7G (99% free)] [/SAN/vns33/u01oracle 1.9T (99% free)] [/SAN/vns33/oradata 1.1T (94% free)] [/SAN/vns55/oralog2 391.0G (99% free)] [/SAN/vns27/orabkup 616.5G (99% free)] [/SAN/vns33/orabkup 616.5G (92% free)] [/d-orabkup 420.7G (99% free)] [/SAN/vns56/oradata 380.2G (99% free)] [/SAN/vns31/u01oracle 1.9T (99% free)] [/SAN/vns54/orabkup 420.7G (99% free)] [/d-general 901.8G (99% free)] [/SAN/vns34/vddisk 1.9T (99% free)] [/SAN/vns31/appl 1.9T (99% free)] [/SAN/vns55/home 901.8G (99% free)] [/etc/dfs/sharetab 0.0B (100% free)] [/SAN/vns29/orawork 1.9T (99% free)] [/zones/vns53 901.8G (99% free)] [/general 1.9T (99% free)] [/export/home 517.7G (99% free)] [/etc/svc/volatile 10.1G (99% free)] [/SAN/vns57/oralog2 391.0G (99% free)] [/SAN/vns28/appl 1.9T (99% free)] [/SAN/vns53/appl 901.8G (99% free)] [/SAN/vns30/orabkup 616.5G (99% free)] [/zones/vns31 1.9T (99% free)] [/SAN/vns51/u01oracle 901.8G (99% free)] [/SAN/vns32/home 1.9T (99% free)] [/SAN/vns27/appl 1.9T (99% free)] [/SAN/vns31/orawork 1.9T (99% free)] [/SAN/vns29/oralog2 391.5G (99% free)]
Re: check_disk.pl, problem coding regex
Posted: Wed Nov 11, 2015 11:09 am
by rkennedy
I was able to test the same script on GitHub, but updated with the fixed regex. Here is the link -
https://github.com/opinkerfi/nagios-plu ... k_disks.pl
An example now -
Code: Select all
[root@localhost libexec]# ./check_disk.pl -r '/boot' -v
DISK OK ...
[/boot 380.5M (84% free) ;warning=10% critical=5% ] | /boot=74193920B;449420083;474387866;0;499355648
[root@localhost libexec]# ./check_disk.pl -R '/boot' -v
DISK OK ...
[/dev/shm 497.6M (100% free) ;warning=10% critical=5% ]
[/ 3.4G (49% free) ;warning=10% critical=5% ] | /dev/shm=0B;469628928;495719424;0;521809920 /=3762491392B;7050184704;7441861632;0;7833538560
Let me know if this works for you or not.
Re: check_disk.pl, problem coding regex
Posted: Thu Nov 12, 2015 5:41 pm
by paul.jobb
Thanks that seemed to work.
That version seems to output in verbose always however I was able to modify the script enough to turn that off.
Re: check_disk.pl, problem coding regex
Posted: Thu Nov 12, 2015 5:47 pm
by rkennedy
Ah, I didn't catch that part as I only tested it in verbose. No problem - glad you were able to get it working to your needs though.
I'm going to close this thread out now as this is working, and resolved. Feel free to open another thread if you ever need assistance in the future.