From 1d8b21fb0c9cff3db1291f648b2bddd5855b178c Mon Sep 17 00:00:00 2001 From: thl-cmk <thl-cmk@outlook.com> Date: Thu, 25 Feb 2021 23:22:07 +0100 Subject: [PATCH] update project --- agent_based/checkpoint_asg_chassis.py | 18 +++++++++++------- checkman/checkpoint_asg_chassis | 3 ++- checkpoint_asg_chassis.mkp | Bin 2874 -> 2956 bytes 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/agent_based/checkpoint_asg_chassis.py b/agent_based/checkpoint_asg_chassis.py index e128154..96b147a 100644 --- a/agent_based/checkpoint_asg_chassis.py +++ b/agent_based/checkpoint_asg_chassis.py @@ -10,6 +10,7 @@ # Monitor Check Point Maestro SMO Chassis status (asg monitor) # # 2021-02-25: rewrite for CMK 2.x +# added warning/critical is chassis grade not equeal maxGrade # # ToDo: add warning if SGM/Chassis is missing compared to inventory time # @@ -92,6 +93,7 @@ class CheckPointASGChassisInfo(NamedTuple): synctoactive: str synctostandby: str + class CheckPointASGChassisParams(NamedTuple): id: str status: str @@ -99,6 +101,7 @@ class CheckPointASGChassisParams(NamedTuple): maxgrade: str uniqueip: str + class CheckPointASGChassisSgms(NamedTuple): id: str status: str @@ -110,7 +113,7 @@ class CheckPointASGChassis(NamedTuple): sgms: List -def parse_checkpoint_asg_chassis(string_table: List[StringTable]): #-> CheckPointASGChassis: +def parse_checkpoint_asg_chassis(string_table: List[StringTable]): # -> CheckPointASGChassis: chassis = CheckPointASGChassis try: chassis.info = CheckPointASGChassisInfo(*string_table[0][0]) @@ -128,9 +131,8 @@ def discovery_checkpoint_asg_chassis(section: CheckPointASGChassis) -> Discovery def check_checkpoint_asg_chassis(params, section: CheckPointASGChassis) -> CheckResult: - details = '' - details += '\n\nTo verify this output use the "asg monitor" CLI command on the Check Point SMO,\n' + details += '\nTo verify this output use the "asg monitor" CLI command on the Check Point SMO,\n' details += '\nChassis Mode: %s' % section.info.mode details += '\nH/A Mode: %s' % section.info.hamode details += '\nSync to active: %s' % section.info.synctoactive @@ -142,16 +144,17 @@ def check_checkpoint_asg_chassis(params, section: CheckPointASGChassis) -> Check chassis = CheckPointASGChassisParams(*chassis) if chassis.uniqueip != 'N/A': - details += '\nChassis %s unique IP: %s' % (chassis.id, chassis.uniqueip) + details += '\nChassis %s unique IP: %s' % (chassis.id, chassis.uniqueip) for inv_chassis in inv_chassis_parms: inv_chassis = CheckPointASGChassisParams(*inv_chassis) if chassis.id == inv_chassis.id: - yield_text = 'Chassis %s: %s, grade: %s/%s' % (chassis.id, chassis.status,chassis.grade,chassis.maxgrade) - if not chassis.status.lower() in ['active', 'standby']: + yield_text = 'Chassis %s: %s, grade: %s/%s' % ( + chassis.id, chassis.status, chassis.grade, chassis.maxgrade) + if not chassis.status.lower() in ['active', 'standby'] or chassis.grade != chassis.maxgrade: yield Result(state=State.CRIT, summary=yield_text) elif (chassis.status != inv_chassis.status) or (chassis.grade != inv_chassis.grade) or (chassis.maxgrade != inv_chassis.maxgrade): - yield Result(State.WARNING, notice=yield_text + ' (expected: %s, grade: %s/%s)' % (inv_chassis.status, inv_chassis.grade, inv_chassis.maxgrade)) + yield Result(State.WARNING, notice=yield_text + ' (expected: %s, grade: %s/%s)' % (inv_chassis.status, inv_chassis.grade, inv_chassis.maxgrade)) else: yield Result(state=State.OK, summary=yield_text) @@ -167,6 +170,7 @@ def check_checkpoint_asg_chassis(params, section: CheckPointASGChassis) -> Check summary='%d/%d SGMs active' % (active_sgms, len(section.sgms)), details=details) + register.snmp_section( name='checkpoint_asg_chassis', parse_function=parse_checkpoint_asg_chassis, diff --git a/checkman/checkpoint_asg_chassis b/checkman/checkpoint_asg_chassis index aa00be2..56dce08 100644 --- a/checkman/checkpoint_asg_chassis +++ b/checkman/checkpoint_asg_chassis @@ -8,7 +8,8 @@ description: and of the Security Gateway Modules (SGM). The Check goes into warning if the chassis state is not equal compared to the state at invetory time. If the chassis state is not "ACTIVE" or "STANDBY" the check goes critical. Also if a SGM not "ACTIVE". - + To verify the output of this check use the "asg monitor" CLI command on the Check Point Single Management Object (SMO). + default thresholds are: there are no defaults. diff --git a/checkpoint_asg_chassis.mkp b/checkpoint_asg_chassis.mkp index 4b992b4e089bac7d6a2603200b2f3d9c60e7d0f0..431c9531ee5ff0e6f50a543c63e5fc3afe8fbf4a 100644 GIT binary patch delta 2940 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 Xdg&JC|8K{~G``}Vo(-mOCZ_)Z<0!x> delta 2858 zcmb8lS0I~<0svrDyR~Z9=;2tWHX$)`jM%km)ZWw<t47hk6t!x_XzfiniLFMhN)e7t zQMFghP@;D3!+pDN_j~@5**aJ$o+MFG9dV~qNC1)WGRR~6N(2pDlLhOoOB&`8n~CT+ zw5iI~vDTLkS9nz#Pa)*^>@E4UoYiPZ&!8LwZ0K2_qU~V;;F;%87_yjp`*uIngovXo zqsFx^9xxf*%;cfA)0chsY%k;wgHnq%z{!8kD80UqVQf&7+#2^Y4myHIE1QZ41}dBC z1Lbr(Kip`|us@-nM0xOH(!ZS7ukJRw4iS?W`<a=JXj4ut!~}KxMtEi|KAi3Z79=%@ z&<fg7<WY@$pv8YSSqwZle8DWw7!5%{)XYS3dCgSGs~?D0o{w(m-nfku#KO7Wi_c06 z@k?@kz{vR=QDWw9{JuNPm<)bnOp5{oG6(4=?^ql;(fC>FmZ!y<A5>35zkZmEu285+ z()9ZpyXCWHthIua9=CGvoTA{<d?Yb|)Ti+IgU+90x>C4+9zCTkMQsR4&LH8`hru6f zYK41x#)X<#LzW?!o<W15FJ`nTq%1d7i^&3^MU_~f?djQp=BSd-fHd;hD5U_<^$ClW z3!b|-{3pOY%3nR_)|=sg?H#-@IO)><y{zgs5sW3W6cR-QYYxVUSqe2&yG7F68F%LG zh1AT((5yD8SreyhvnZMaJJ;83-F4poo@Fr}SL{YU@F1U3teH44K+UV%XBN#d$$$pP zR~Sx-ZVgogtl5bpWYh|=8bAgpT__+!UEDZ6jH~*~{3|4E*NRMkz{-xTw0bh(`22Lm zeHwpx31{#4N$jGQ8_QMhBzB5|t~{<Yf#5TK(}_crNeR(<g2=su`{GLcGw6#1H* zJ9pdj*YfR5d|Ca;YAEdiw8VirDQeDmxdicB$bEe=1uXMiuTsbjXx0d$4EbA;=|E#% z-5hK`$#U-J-i{N0<5!^bnjXrLe3p+A6a4X|oMduNqR8>SFJJEOvPKL&D2KH#GfuFZ z$yV8;Q0kI6y53JV5fd>5GDuEIP`lw$D1NC+ey+?53wH#;h*RKn*G1d{4U~#1pwiuM z7G6HJ=C;-gZo3cgkh5<3sYh&v8m3v_`X$6S_3D|rh>^0D4Ox?oXJ5w`>rA&~e~<0) zxsdGu)p;Gtj6&Xx3+|Ql9gh%3S!~^%b0AqLF3rLX@gP>#YT{#WH!l{m$YY$E6MkKq zZnc#5bt!&0(XGw(qxQ<XZ$nM&ik8W9UQ%{-u42JEZ2iE#y|U@KgJ=v~QmLo?W^1KW zeo-R}b^f;=`Ky5i-^wxGT!r`Ud#ticpt0X;(stO{u-oJPFK;gVvtJZev>?6-Q>Z=x z6NY)b2Oj4&&|B9|7>0W&y7z_*Q{3Doqx#tw>v&8H8b37(neUUJ$5dH^=^E=zeAhh9 zN>fQ!_jrIemrsJ8)Oyc8-xq#iUQ6An*BE(p9Ut&vPyU`l*{bb8ck7RJO7@ZfI$iJj zR(_^N{J^J+zUq<8-U$}MKm1eeMsEg%e@V6<Q@+Xaz)2V}#00_CL`jwTu~}c?>8`zU zq&F{CXmGCFwhBzf@AZwyfcH{lEh)amh0P1UW6YQUU33Er<Oc#B1yO1}0qF|7SZKmN z6Ux0XS`zD7rMikzu6GINZg5oTtzSqBR<%X?e9y??Ug!9j(63HGSLCoiAW=-$@-rTA zBlOLGGlckHYvUp<e-SDH@I(Iq4e%`g>)@e$duz1fc@;JUj_rPj9LB_oF^41^E*A$G z1OsMsl8<X^S7-GGI*)zkL%-go*p8xZUNxTyVm=FE!mPZ=la#I<v3Z|yT}^6Uj3}>Q zZ&kiU12o#LL?E}J-i}7BVdsX&S!f;^DH;CZ$R|U$Tt$8KLxaKVJli~Ps=!wcMgd4+ zNi{}q_@7GR5}dV+oQckAgM2$3Y??dOFM-k!A)>HsA2R`#{j|)HpWh~T;oWt!O$FM= z!D$26<vt%7NTw|N_l&(D<PUeMQ#_1a4VjTZCzSw8g+64{pMD{@?Xp+K#X@VHj$!{R zIZk6Du9K+`rOw@x6Z6BMia6l6K^^(fd>JWARwC}gaI`$thb}O<^i-i#iqm5t0Cz?u zFLf$X*9M}yd$pU(3xPU;?UR}MK9HbnP1%wl&E>zF_Zp=dxN-&z%>rqaVIyFC9{7y$ zVpFfAF&Ad8qQik9`(_l9A+O0&GF)4nG(Ok-)VlXTt9y_N<H=ZqxdPYe>02!kEEDBZ zOoQ@cqoJ}@?Nu>&=Zy#%`f&?Dz~;WTakIM~!koJ9<5H{k(4!?yM(WrMmsqt_*nHT| zQciN53)S=^`2wmGb1q)5)4={2J>$dcn3_tLh%r!}j>n$5a#T*xE%+2qH==k5(G3vq z=zjL+^U=mwTYDx6;i@s}LKDh4(sZy|`SMYXiseX>Mc9FgFD^m4<eLo;?l>%X@^O_- zZ3jCH-}8amrl*t*u&!Jh8yiY+7zSsFJGID;I@IhSqM1htMgA73N%y7Nh_tUqy7~jT z3Rb@zvJx*2>Wp>T2G5y)e9PJAbx93X{hi;H)wI9u!1l0a8&&d7<KZ806fbVUb8Lx^ zH$+}5hoV$Fm%RFC(-$w`ClV+C+M~Kc3I^zn>sDE>IFQwe_M{(m=I!wPkM}XJa`yJW z&yAo&AK1j$FNl0D8orLf?^{%*A}Z=W3D9T{)}t6t$reprauL^EqnxF`^UDRdDVI&T zA|?H&`f@__L3GBkXz!G-DN>)#3KZJ*ra}Ewjm!uO4L8fNUMt{HnNPYcJ`pst*RTX> z-IW;>_Ky*<zBJVmKd*6$@M?J!rPFvIP~>20Md5z-X%oWOD?)Z9_|NC9Ojt)2hoN(7 z1EKYhR=%GZf&CIvWSRYfb~Yc??755N9I+e{!Etw7T&%56FC7v_kIRAEB#&tHdazt9 zem=bzq<C5q2<V86z3G7L3?=g|44wvj&2G)m&e<pdx~)(TGBu+D(nN>(7KA$=DV!Fk zO~%<eZg|a5(g)9nYrw@sZF&i=37uQz_vOIfv5Q-q=Ad+xNysqr`uhk)oUeSpc`Hj> z_w{qziG?Y0$rgHQrFtKFFheF;*eG&Sl)0Q-n*?eH6xZcjvz*Rmg==0}WTJn08PuvZ zhaMKCvH+O+oVKQIWFHUDo;<R`IOb!M(6H(J>Kx~pq4K$RQh^1N`Z1xrGTtMNO*V>i zJpXpu0rLzgB_zhRRq8)V(=KXuRC9=_lHizbO?>9^cJJS4@|U97!7CcklEMBl*wFWI zSq&Z_EhFu}E}p<%i=V&ezEi^8R4q#xY+a7`9Np~D<A@)2ly^OdzTb%ja)-p=&c&=9 z<rUHc$<9y8Dwij6;j&l*#);3P%X~(HtPM86%hJoh{{GDc`X`*VCuMC5?Gv5jG&7(1 zgLs_oex;fhBxz|}?A$X^g<YMeEWv=upFqm|V!IAkTrmjRv}<U&k6?NveBK1s)d^ha z8&4e}dAgji<rKsj9pv7O<DGm8p%73GXB=v$WY3g$NkEH67oh|q;aVcjrrb6Jug9{I zW>Tk8kxc3lCk(<e<`AdE-RDMEzA?~`L);V<<@p%C0~hyTN#+?FIAc~}Fi?u;Z<L9q z4tvRt$%L#n#EmTtxup*7POs;aOqB7{Q@n*@82sl_7}%+x_kOAA_1u4;Tg|8cym63O vC2+q&fw$ZJNQ(@rh)&`umd7|WqOb&0wf_U>|J-$>8_F2<X=jp95|aM_k6f2Q -- GitLab