From 0fef55f18c6f76ee844ac04bd3cd20dbac8df2d4 Mon Sep 17 00:00:00 2001 From: OMD site cmk16x <thl-cmk@outlook.com> Date: Tue, 10 Nov 2020 11:44:12 +0100 Subject: [PATCH] update project --- checkpoint_soft_raid.mkp | Bin 3894 -> 4420 bytes checks/checkpoint_soft_raid | 47 +++++++++++++---------- packages/checkpoint_soft_raid | 10 +++-- web/plugins/wato/checkpoint_soft_raid.py | 33 ++++++++++++++++ 4 files changed, 66 insertions(+), 24 deletions(-) create mode 100644 web/plugins/wato/checkpoint_soft_raid.py diff --git a/checkpoint_soft_raid.mkp b/checkpoint_soft_raid.mkp index 0ce965de97064a5c2fe540dd9d7e7cb894b8b2b3..29497dc04883b520198b3a93a90b8932d8a14a85 100644 GIT binary patch literal 4420 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 literal 3894 zcmbWt=OYvjzyRP-MkN`Medx&EJ7nvui0qY}ZrGvB?7jCm96vHDvM)p@;W+c`efD;o zdGGrdydU1@^TQcWNts@~U`tALbaQs}fI;0MK6c(v7auz>2X`l72{8#VF&QyA5kD~z z2}cpI2kg$Cjg|L|4kKF9^nymoAmE;2DA3azJ47bl3n!0Yg1Ja?#HFcXEhBol9s2T* zLl(W;eBEunIq{y2o8Yqr$ZEaa3#~Y%)x-xQ@wiAXvh4|h&-XO!)}uy0mYHnhwe)MN z-mfRtbgAH}Qx`i(o0`hNlowol{l#;3cNc-+ojG&Xs#i^;go-)A^bYR^p`o|U*?E%R zo6w^_Afg*tlDQUN!%YTh-Rou>62JRB94P-FI3UI5p>6;<ofejFemKT86Nr?O@~)tt zwUl$hZa0O<GB^7|MTEi1^N_4Ak$E|ETY%4+fbgQZN1uRI{tgcaDVEhn?X-ws2K6;( z@9weS^^7ik%9y>~N!LiqgKpwR>#}D(dK#18wl#>moEgzU18xBN97cszwLS$VrR1P* zHu^~UD!HYnXyZy39r@4yf-9jPTx4Eln(92bX!*pKJ;5B(*dZ~vrA0iL#BO>&GyV7e zg0L;8(J<-KJoD4P!!m0s({bx)`c@V|93XxdJ~1352C65mb#hNRr4sAYh!j$JG=QE* z0OuwAF~IR3n_k>ns58)6ms>Hkk(=U`C$$g-#G3OC6)(pl;Qg@G8W5LeV5(YRUY1T# zTBgo`*)ykUi_}dGBq=QP9zaf3lyf@Z`==L_Nvklq)hb*`8n-G=E%1;~c0GJ;7R5$r zIPTP1)IPSWipLX8Q!=2Un;{4z@VBYFl{^r5d?IgySZzt7fUq=Ut=}b1M1bWkA#IJT zAx0fnTW%iEq`HSEZZ~&;lY>YeL}zvk1YOhWV5{!9Dg^2y0(PR)9MHaF{1)+%wTk-2 zn!o21?Khbv=Ns|7@_TkEZ|28kXVMCw^;xJvMXh}k&`has$1A^VD4^}>SxKY^olviz zF|eXk0Ax{@X=+hL=8hVr`tUkr{r(Sjve{iNNw^#RtaWXy(wN>4Y@TFI-^(hKk06h_ z^l9U%!9AAbi55pek1}nl*ZRl=ph{^4gArL{Q<J5rZ{Vq|)k0c_b9i^nx*sB)XJyXH z34(3*3!_W_VO*E7<819@Pg46;qGNo3no!w7bUF_6xmrcLyJDY#6p~riQ^x`Xj5wqV zE88dxh5eKd;Cd#>9w2huB?sRmwkNbtWVoscIVt!)y`#PyRu$9&@-4)((N_nxWFP%E zjH}v(SJF+Scau*jotm7FtVS-lz1Tf7gsXTYTAi*O10K}3$wHN?{iWX8!*`4Oy%5HM z#90eo=55X_Ow3T3sF~zZRnQSTUwPoYKs7{gL8Qfe@x=`XEj~E;q0yQW1IZXi-pU_M zG^%31r()mi4pM;LWpzqpuDGOFR8+J%jr&Re+q5ma%q!L!DmD@x^4L))<KBJ^;9&^z zw4AfF^*1?JjFL0N{!jTGtCEcEXW0vE7q9q55#ADT+<<T+vyVE>8@F+`&6V9XrG_nQ zJGWVcqb@z{_qp}Hc=kZ|QwtAPt76{oYZ$Ib-ud@E!!^2|9Fq!}OW;n2F&>8=(=>#= zoxzcI<|Ek}@}4=jKdglU9SPNj*6Ugxw{D57wO3`nkVe{s<M3oM+6A$kh{BDVjKWHr za!xl{@(tYxdj7dGF&}w28OOa(<;6@Rd2Q5%4#%YVzk+2#mCl+=&mH!W>SRo@tu_`9 z1ZE^Kgau6I88`qDP`nh5!XRnl5q{t+?F1q`9~)gzKW%>aZy-uZwvL+5&h41Bx+q4% zXQEAhI3!z+Bi2}Id9L7vtTiRLAGP!<M|VL-=l2U%#XPNJY!8>kugSts0NUvL?rLQ+ zS=fToo@pG4jYrckk=m7B70KKz%8up@iwflnOODgq=5i`;@rKE1UO946ewHd=B8<nV zx-DzVZXSUj6HY^~?oW1(%8K06C|>_%2d%katShtrkr?c{<idKj=6uieuh+_XilyxT zb_#FY=t#1V(INP`{&oL8i0&U-d5qz3WT?tn`OUM1r*wUJ{PH>PRO(3~E`J~9Riy&| z4KOPu4xLAjClL4&$Gi*I1Ws*oQBTXwVOh+_y2oYQD|x5AY1dd!iwJX&>1JeZFaIe@ zVsOe(D~VlFJi92$=T+a6e!KqXvQ~96Z4L7|2`DhhL;6n!K{35Dp=oX1oLQ6#IczGN zLSr_U*Xy*#?p67=!u%=4%8%uB$`9W$TRm_6<F#M!(l}1>0EFd^Dyt7QzWn`#L+u^g zCAV6}r|)qL)jG`f_th;d0i4Q&cloi(RMS0Q>E+C^`nC(3f;$F=fFQBc^@1WB%!!A1 z&AXMr^h=nwy7qKsh4j5<cR?7>!K}S1LYxJ1T;jk|klgNC%dxoD?bhzC@ZqN-_*Z|# zvSBS`nDaDW(2ztQ{*h^#^HdST@na17c{lRU>S3oyTOsC^TY+zCA!h29%6cs2WO<1} zIkA*_JzMo)rG|{5Hr?}Fmv6@6jKa}NVl!mB$o8T7ihFc`c=&*I;2){oqEv?sr$dC~ zH3&_<XHc`Z+c;y_U)e1NU@h>Es`d0ANj@v>d_(~_yFQsRIxnB#+2hhnxSnAl*$JqB zqC9l|cO;I^U;D1>BR*<{K)WM`%ffWem^Z4T!4T@%&ZejgGFMGye|yl)n<9hdEf|YV zjE{ro=0<w_^0zV02o$<=Sn<YB!}!n7%_($F<FA)`C6WQ*0(j?*(y@w)QZ+4y2mI0{ z@;gP398YR`!uF>F1Otnx6DAFd1Lt9K?5m%G3Ma)L_h?pha%-&64JmDEJ7bm`_T3nY z(m>%)!($WMm&a;HdiM4=zkH$la*vN==d67d@^$J)Sg09Q(T%1mCDoH*(f*xIaL?8m zDY?sZ18C{rvLE3sJBe3rm7|GVqtDpuuD^LLg>qAA`mGv$x0qrTBd_u1`M>{!-A;Ms z;%)f-lx=;2xICZG)rtru!3a*UTfF1W8q)%obV5-#K~f{oT(=ib1>}cw!)xNjb-2x4 zxTQs_cpbXKERVK4u*IhJFP|Ak)%h*wT6dBDh}A>5&R;p!-L)pMZ!L9A_iwkolvw{2 zic_$FFl6iVo9EgD*`KH`G7<K%N-UNGt^3>+sUmPMfSTP*pkxzUh$GV@+|Q!y_(pJy zAu^>!ui@f4aqY?Ra7Y>yBf}G`AcKUixt21-IM9!I=`2d%acGx#+1X+HX7%=%MAVz` z^xa+~+~}p?To~*WYOqv+aJIFwaz(DA06L7`Lzouo*s1+4MhN{`7#qO`OEMMtr#27% zMAxG)8069CcWN#^;~yr?m{rK&;mP_<nOIfgxR-Bv%KD~hlx^mzbSf$yv{3bIK?&u} zUt^l&2Hvlff!r4b%-;npNN+lX$8JvQb7`Uq0w{rz&b@x`M}dXGK71Kctbx9nFp#wt zJZEv}zj^HVZAlNeCCZ+~&@a^WsW|rm`*%hNiz+TvL()miO=Fu<Piy@mN?#lj_o4;H zhfEe`$mJeJ?iywisNzK*?5D8btc!`{*~~D-VRX}b+m_z`S6-d+J@i61s3ifI$GLpK z)N39-AF0-4oNHV9+qpW?bqxF_Il5YFVYcQ0e$d3I6s2~2*Pp2tw(PaBZ0Ja|cqR}J zyoL|4<x;4yqaWz!9bA-%o|rB*73_?tF=BXreYxA6>wBAP^73^_kD7x0*<4bk&vR$` z%#6KgOb*E4w5FfqNwefI{oP=Aeg>_#*1a~x{M@@m4STwzd+Gow0Ws{!;4|+{$cLy3 z=FF{wC>Oe1^VJqQrYv>==xtY$$)SQa^lMyf4$BGutj38%QatZ&DzY=BCQgWnPLOY> z<*#uA`!%@<2(a8{b+G5$P;RiYay|37hER|hcN?(gCExTU%BMY8XUWdx`|6tmTVZs^ z5TD;T7Lm>Hp+t+2&mZ(vMCIy{jM4diy{nDwdC>fpac4xH0&+|y%J1j6r?=92yuDdy zEp$I27j5_RBkS<!-}c-`JZMDcg8A&vjK?nxud_%mAW}iw7h3nfC(2sQ=O?sU8XncP zcCqNk<WEdk^DyFEIBs!3qAeLwnZN2as$G%&Y5@k33m+MxjI-ny{6=Y+&)11w`4-*e z*a{yFDr5i%J{~IAIKw<C`pDc#$bPv;Cwg(>fInlm_O!C17t(z|1=W2R%#ZtTz$R|4 zeeUHn&}F@U1KlsW5djIYR@e#tAcHBc0q*CZaa=vIm@7^<>O+fmLZUh2TWRzR`nOr^ zkwbi8WW%<XTF?t~`yB_GLAZ<4QHe>syVBUN?$YeYW{y?Fo*Lt%RzhYSt%Z5=s-=VG zaF_h63+0@Zs>g4NABi_!+mb{j1Vu7Q?6bZzalevZUiZXrnKcemizt}Q%)F3oOc?|F z{LpWqbvRSV+t6Y<b{UR3r$rC8hWgVSCFDw~8vRbdzH*(a*2-z%#gyj+ec}Q9Uk+c) z?U;#P9rnq(4~Lk1J=#!NQRn(|!f8jwT#UagyDmPw)^4r-_XJ0LPxiNqSZ)2;ml(gH z@?%5g*Jm6VAnX>5(|+03yG0ZBDSw?mMQ0o}OAMnd?ln*Q3e@!UJ){Xg<s|CNiSY^T z^7CI`z+w1de5Av+lLt$Ze#rfmdECDwqJ5_5XO^OQ+hvWMYCgzFQDAe)!0y|<=3VsL z1J&KJ7dJy>a22{#gc?REsi-R&!3kRUJ7_sdv8Ws8RldB*Bk6R;{CrFDwZzcNb=O1g zBy0DbCI6D7^}y4}Pk$jv{t>93%RatVGoL$=9w}Wv34e)|MW|s-)zlY^Jl7z<;EsWV zBcO1I<9u0nz3j{-xy@mCtGe$<7rt1PA$e%+UrgsxNoU2(jB0NiM=w!l87$HgEjz)P z)`XF^(<A5g2{*a#sV~NUU(^OG1_ZsOGB8=}Fn87hGMdsJ>)VnB4MXtq3ul7{mqGU8 zvA5soOZ}-%#%1VS_4+64&A!nc+%AfJgz9}X=<|}ghRQNn_(db<E|#k^eI}sZ>1wLh VU#KYme_#X^8hV9{J0*AS{118Os^b6v diff --git a/checks/checkpoint_soft_raid b/checks/checkpoint_soft_raid index 1b084c0..40eca23 100644 --- a/checks/checkpoint_soft_raid +++ b/checks/checkpoint_soft_raid @@ -11,6 +11,9 @@ # 13.03.2018 : code cleanup # 15.03.2018 : more code cleanup # 08.06.2020 : changed snmp-scan function +# 10.11.2020 : removed perfdata +# added wato option to configure 'ignore disks'. For example on the Smart-1 5150 (Array has 12 Disks, +# but only 6 Disks are in the default hardware # # sample snmpwalk (one volume / two disks) # @@ -57,7 +60,7 @@ # factory_settings['checkpoint_soft_raid_defaults'] = { - + 'ignore_disks': '', } @@ -125,10 +128,10 @@ def inventory_checkpoint_soft_raid(parse): if disk.get('diskvolumeid') == volumeid: disksonvolume.append(disk) disks.remove(disk) - yield item, [volume, disksonvolume] + yield item, None -def check_checkpoint_soft_raid(item, _no_params, parse): +def check_checkpoint_soft_raid(item, params, parse): raidvolumestate = { 0: 'OPTIMAL', 1: 'DEGRADED', @@ -206,6 +209,9 @@ def check_checkpoint_soft_raid(item, _no_params, parse): longoutput = '' perfdata = [] + if params: + ignore_disks = params.get('ignore_disks', '').split(',') + if len(volumes) != 0: for volume in volumes: volumeid = volume.get('volumeid') @@ -234,28 +240,29 @@ def check_checkpoint_soft_raid(item, _no_params, parse): # disk infos for disk in disks: diskid = disk.get('diskid') - syncstate = disk.get('disksyncstate') - if disk.get('diskstate') != 0: - yield 2, 'Disk ID: %d state: %s' % (diskid, raiddiskstate.get(disk.get('diskstate'))) - else: - yield 0, 'Disk ID %d state %s' % (diskid, raiddiskstate.get(disk.get('diskstate'))) + if not str(diskid) in ignore_disks: + syncstate = disk.get('disksyncstate') + if disk.get('diskstate') != 0: + yield 2, 'Disk ID: %d state: %s' % (diskid, raiddiskstate.get(disk.get('diskstate'))) + else: + yield 0, 'Disk ID %d state %s' % (diskid, raiddiskstate.get(disk.get('diskstate'))) - longoutput += '\n%s disk (id %d): ' % (raiddiskid.get(diskid), diskid) - longoutput += 'State: %s, ' % raiddiskstate.get(disk.get('diskstate')) - longoutput += 'Sync: %d%s, ' % (syncstate, '%') - longoutput += 'Size: %d GB, ' % disk.get('disksize') - longoutput += 'max LBA: %d, ' % disk.get('diskmaxlba') - longoutput += 'Vendor: %s, ' % disk.get('diskvendor') - longoutput += 'Product id: %s, ' % disk.get('diskproductid') - longoutput += 'Revision: %s, ' % disk.get('diskrevision') - longoutput += 'Flags: %s' % getflags(disk.get('diskflags'), raiddiskflags) + longoutput += '\n%s disk (id %d): ' % (raiddiskid.get(diskid), diskid) + longoutput += 'State: %s, ' % raiddiskstate.get(disk.get('diskstate')) + longoutput += 'Sync: %d%s, ' % (syncstate, '%') + longoutput += 'Size: %d GB, ' % disk.get('disksize') + longoutput += 'max LBA: %d, ' % disk.get('diskmaxlba') + longoutput += 'Vendor: %s, ' % disk.get('diskvendor') + longoutput += 'Product id: %s, ' % disk.get('diskproductid') + longoutput += 'Revision: %s, ' % disk.get('diskrevision') + longoutput += 'Flags: %s' % getflags(disk.get('diskflags'), raiddiskflags) - perfdata.append(('disk_id_%d' % diskid, syncstate, None, None, 0, 100)) + # perfdata.append(('disk_id_%d' % diskid, syncstate, None, None, 0, 100)) # remove last ', ' # infotext = infotext[:-2] - yield 0, infotext + longoutput, perfdata + yield 0, infotext + longoutput # , perfdata check_info['checkpoint_soft_raid'] = { @@ -265,7 +272,7 @@ check_info['checkpoint_soft_raid'] = { 'default_levels_variable' : 'checkpoint_soft_raid_defaults', 'service_description' : 'Soft RAID %s', 'group' : 'checkpoint_soft_raid', - 'has_perfdata' : True, + # 'has_perfdata' : True, 'snmp_scan_function': lambda oid: (oid('.1.3.6.1.2.1.1.2.0').startswith('.1.3.6.1.4.1.2620.1.6.123.1') or oid('.1.3.6.1.2.1.1.2.0').startswith('.1.3.6.1.4.1.8072.3.2.10')) and oid('.1.3.6.1.4.1.2620.1.6.1.0', '').lower().startswith('svn foundation'), diff --git a/packages/checkpoint_soft_raid b/packages/checkpoint_soft_raid index 992578c..5b56845 100644 --- a/packages/checkpoint_soft_raid +++ b/packages/checkpoint_soft_raid @@ -2,10 +2,12 @@ 'description': u'monitor Check Point appliance soft RAID\n', 'download_url': 'http://thl-cmk.hopto.org/', 'files': {'checks': ['checkpoint_soft_raid'], - 'web': ['plugins/metrics/checkpoint_soft_raid.py']}, + 'web': ['plugins/metrics/checkpoint_soft_raid.py', + 'plugins/wato/checkpoint_soft_raid.py']}, 'name': 'checkpoint_soft_raid', - 'num_files': 2, + 'num_files': 3, 'title': u'Check Point appliance soft RAID', - 'version': '20200608.v0.2c', + 'version': '20201110.v0.3', 'version.min_required': '1.2.8b8', - 'version.packaged': '1.4.0p38'} \ No newline at end of file + 'version.packaged': '1.6.0p12', + 'version.usable_until': None} \ No newline at end of file diff --git a/web/plugins/wato/checkpoint_soft_raid.py b/web/plugins/wato/checkpoint_soft_raid.py new file mode 100644 index 0000000..47c994e --- /dev/null +++ b/web/plugins/wato/checkpoint_soft_raid.py @@ -0,0 +1,33 @@ +#!/usr/bin/python +# -*- encoding: utf-8; py-indent-offset: 4 -*- +# +# License: GNU General Public License v2 +# +# Author: thl-cmk[at]outlook[dot]com +# URL : https://thl-cmk.hopto.org +# +# Check_MK checkpoint_soft_rais WATO plugin +# +# +# + +register_check_parameters( + subgroup_networking, + 'checkpoint_soft_raid', + _('Check Point Soft Raid'), + Dictionary( + help=_(''), + elements=[ + ('ignore_disks', + TextUnicode( + title=_('list of comma separated disk IDs to ignore'), + help=_('This is usefull for RAID Arrays with missing disks like on the Smart-1 5150. There the ' + 'array is configured for 12 Disk but in the default Hardware are only 6 Disks.'), + default_value=None, + allow_empty=False, + )), + ], + ), + None, + match_type='dict', +) -- GitLab