From 309d97034204ca0ee13a7d343531d78712442bd8 Mon Sep 17 00:00:00 2001 From: cmk-bonobo Date: Sat, 2 Dec 2023 15:20:26 +0100 Subject: [PATCH] some images added --- README.md | 13 ++++-- images/service-detail-overall-info.png | Bin 0 -> 4867 bytes images/service-detail-storage.png | Bin 0 -> 6242 bytes images/service-detail-user.png | Bin 0 -> 5552 bytes images/services-overview.png | Bin 0 -> 32358 bytes .../check_mk/agents/special/agent_hal9001 | 2 +- .../web/plugins/wato/hal9001_params.py | 37 ++++++++++++++---- 7 files changed, 40 insertions(+), 12 deletions(-) create mode 100644 images/service-detail-overall-info.png create mode 100644 images/service-detail-storage.png create mode 100644 images/service-detail-user.png create mode 100644 images/services-overview.png diff --git a/README.md b/README.md index 8325e97..5a89823 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,12 @@ # HAL9001-CheckMK -Just an example for a special agent in CheckMK. -Provides an agent which is highly customizable and does not depend on any remote data source or system. -Covers various aspects of agent development within CheckMK. \ No newline at end of file +Just an example for a special agent in CheckMK. +Provides an agent which is highly customizable and does not depend on any remote data source or system. +Covers various aspects of agent development within CheckMK. + +Some screenshots: + +![Services Overview](images/services-overview.png) +![Services Detail "Overall Info"](images/service-detail-overall-info.png) +![Service Detail "Storage"](images/service-detail-storage.png) +![Service Detail "User"](images/service-detail-user.png) \ No newline at end of file diff --git a/images/service-detail-overall-info.png b/images/service-detail-overall-info.png new file mode 100644 index 0000000000000000000000000000000000000000..f0e3db343f43dd4d11cb3c0f4b4a0fdd6fa234b3 GIT binary patch literal 4867 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 JTK&oEe*?kdd}IIs literal 0 HcmV?d00001 diff --git a/images/service-detail-storage.png b/images/service-detail-storage.png new file mode 100644 index 0000000000000000000000000000000000000000..3d165db87c35128d71aa5af6d7a04f0c4ea1c42e GIT binary patch literal 6242 zcma)BcQ{<#w`Wob905Uv0JaR2fRbxCnf;8Ok zhom=fSM0*hH{2J#ud#+Q-unUOP27OcSxHX`53eTq*10_qZhX^A^N}we-u>@?KKL&n zM9g@2^v7DNN~VD}JNdQ=cgKU!lUNfYI3L1CtA+MXIiiv;+r0i}*6RmJl#*rw5pN%K zm7B8<eS^?o^Dr&j2sb<4?c1`y2vNdQ(c^?@N^UWKdq zHqey<^lIbkLNGHCh=w7*W{=oH`uRF@$8mN&HSXe0nGRoF6M*Pd^LhYoCK`rsH~nYK z03i;4Ty^b^5zqSLueqk$*#@Wyd*Qo2wPEnxatsOU`FeYVvk6?8mG#d=hFTxNi_SrX z^Z4#e5GX|EQF$52`dqjH^B~}R5uYVhkgu;nl6rG8tAezsFA28Jp~-!&G1gGP1Y0Qr z*wJp1c^-1TY(JS&Lg;yI!`091}-lMg0JXtO$YBi&OY)PYu@t**6v$Z&Ssc2pHrA>gCLF zvrC3>fgP_`%KB0s&&sY24c%@PG6>6O*Euk+?z?xgr(tv2+u->byLTm%$!(O0XqY=7 z&pJFLQNi9+U2v(>sjaT9Jzh0|-MY2saKC0}0x>%jWB;uME4W4=;pm&Uv0hMiN6baT zF@m6ANm%l@l$N_Pm-CLuK~ABzf*ukH6RU3DB(1zhFC6}4j3>?(;lEDZ;nfuFcCnRYFHnXJ-BA9p+C$phKuao?R+j9_N2c+r)yazNaD5 z!b^tN%C{1uH%o>E1)eR@CGtRS&kpp@MJPHx$cbtd@MM=^r*ZV$eIg>o(^H_rfoyUz zPDgfiCEHy`uay*ZIX!C|yhbAVd~ZN!@Pa+(nJ{*Kf<<;W+q@r{U(mt7l=807`NxDu zeEeQI=Kd%hApL{%e5$y(P8!T}FwK?A?69jC4vPe_e!1SGK%aRdl5xd|eAV%YCD^lVX*vk*GAeJI_`4H>xZzSNXqvLjH07L(t}&=dmTT z)KB*igsa#Li%A+rL*6pFsj2*p5>*)PpttAG8n=~gXD27&b!I0ev@6YqHTFOs{oNEv z-rQ&BCt7^g=7HIA_CWQ#IcEnov{k_6QNvY+4{q`Pp&_UpZ`dK^7-e7uH@y0>u+eeQ zvuXR|nD8`2vPuV6aql^@5I9TSfz<#@T!G@^(6sxXD)HJn0qBH>Gpg0bmIz&h_Fm`G z$8nfhUrCr(dFG#@r8)U;cl~%j-T$YG|DF4;*>5vFL;N~CPRQkH@OAx);tBlSLO))$ z``?=c?H~W(1Q7iX9u83c9Q*&%=#%4*98u`=vstE040jc9UB-K%bADneH2waiEBqnRcp6#XW4hZkBF|+g zA=?>Asmh=^*Q1K}N(%%*tqT0CTtT(zn}@V4Z^aUttXyy@nRdRxiC?9VNpZ3D}GM*+zcYioj7jL0GzOVYFGQl%BX?3T*?l?f7U@ z5;Hi++OaYIFgZ0_A**I`V~(rXBXdUFhG61@t-*N35P`+XVx+7wTy+?~PjpbuK+TFs z8R=JD{Zqd;F;=j+bMs9j9)G8XVT}S+il6nT=i;K?FhvcLw87-78O6VZ1bX#s!Qm50}9&RLx zWhw%J?0XUwsluiMcAl{%!J=LR-IxT_@**2$7_!8iaz8fkZ+Agb1-w%x<^v2#M3qcC@ z6br?U1%BTX1G(R|-7w>P1n}xzv%qAEXIkQ7?a&zo^;`&{56YlSBaH`(r{u5o_Y>o6 zHaSiCboCwxUN*~d*SAEXlRUeZs!d5MKa6P#O!d?z@Ea`*N?Yh?uL0xAGN3%S>`kOq z##6mWIo}+Q)N;xuY92K1UJL#9t)_mZS7sO<*}S*V`zy15a}=7AU8Cgp zAr9K&tzAH4xuCSLgX&zD{f4bVp^kf8Tn!VuUgZBXyWl_TF?0VRR0+sM8(=7P%*Zu# zTRG~nlxn-hVBKqas^UWU3Z_T4dSn0FC_>X_KJD#OwPuRu=$r3W10&Bl*y5CJ9ZG>C z8A#7fQC+rYu*d(ivOMT1PMgyaiJ-h5S^zDhB&a^G18zS!RPDih2wAE zu#S>-5~OV20(xcvIv&#dP}Bc%1f&n@BTCnXaY2b{9WPxB-uv8*0s$&OBp%8-Q>s~c zGjQ`crKZC!`x{jrrT=)s+Ra#byK(~CO)6;lNYWN^4Ha*?P&X)|o(}_ci=>PJ>5VK8 zY$N@8!2b7xUjPjXK-LRW-zoMh)FkiRGoBsdBgP}a-zd2)37O#X{`fj)y2$dp2>9~w z)=kNMnWtqweK{_?56f9fm2`Ddpj~?|vuPMJQu>?oPkq6>HkWD!4FI+I(P#&#?sg}! zl?aD^3B|*h^_sD?nO)N1A&{Kky@$m-N=0{EtLW;j=51u%OO-L2$1V*HvBUv}@w@=p zw@Y)*u=Yv-uL?7l*SLoEG5#ReyN>7;>{4`_kmPOdI4qA#o{!pYk*@wfG}LP9ak=!C z2(Qw)K;6&=x`?a(6J+`FWn-L|Xm^@?Df^f{aPAQ3-pDenivYS2CdQz1s{H3&=RT-F z6j85U)-KHlK-WsAfu}K9K6G(PfUfDBu^3yo*|fz31L*2!+HvoA{Fo}2`_iY+;GmghGorJA1snoYo1O+ORpcm@{OdCtFy3AZf!>JTBu&D#2 zx>@}QikVSH?3a{HcKf+1M{jP49_zn7m&S+cxR~5Vi4$pk( zT@dP?EB&|J2Zp$4=&2Jwp5JpyXr602+nS=fk11K(yG6WH-?LE2T@Yxxr-|3_C6z?b z2gUtbe%@6z(G>wg?zT5SIaV(Oxf}lIsk*TdCLZoTV!=2&1QBXIN#8XAZunYDeYZUC zc~`xLO?uBF;R<_s1M;$^a#scDPT3ruJ-=x-WJAu!Asm}==(euI)-`@LYxF9nqt)O^}T}iGP=M2 z5+7+Z=s*elL`P25UmfQiefZ=W; zNQ_LLOXM?)yWR4;lkhYd7nw1CRgy7~cWE8P$+=7Eh!@)nr=XjCjOO-QsC-V>PC^G? zYO}?31)d+H2T1fMootZSw9*$r)tRj+5i}{9Xk&D_XBehb9d?!c+(8mO#!%oc@3Tth z*@kHeTH8=g0Cs$Qx@Ohrwe)2K8r=l>K%TcWOF`Ms*TsRdqK}f9{o4~w(58oJwO>;r z*pH-t`=fuE)&G~e{oztD{Oa9hRI>5JUw7ki&i|Qy5qIKRE~m5K9u>l69#4da;oQN$ zw?P5B?tEiS7USaPHdB|Dh?eOi3MFGW&G?%P-G?rc90BitDg6E^?X~!b@z5}c@(rkY zgaHD+hubi$3jLrVWaVT(y~0jALA`k$*S2JK4c@5!Y) z3~5}-d&lT5F8{o$QpK)E^E2(^xwb0}5p`>%p%MbQgI;W>?hCwdre(t0DVwk`iw_^f zwR$#zOKez9J-NO4GpT_elLqAn3}X*|o5FHsyqA$t1Tz_Tvq~7TSn@@PV!vXf>>E} z{IMvGqm$x@d=ot8X45RR@QIvBR^=@pl<#8i;l8P-G|huGk@XDbA>gI^8 zvOpRKoS;$o(fuoQE^{PK#yzd=Y&^=B-`g+h>meF;**~!0d-T1kLO4`7(Ny~t(1OX> z$^GmfiR||s_^8N8)#|%J@hPY#U(2`l2@R05bp8kV&W?jWwn#1AJg(4V0K?L$$|Ta5 zK9h3&N-go9*#xPvLJ+Ds^_4;vi~=+=UzRnuFZ7NgA{P@o;r8)QbSH31i&3xBcRy*s z&cp-IhMSKZ>@#YkR$;-3Oz(En>iXq{#87x-C_)WrE$j_*L zGLF+Hp_d1@a^C{8c;E~$z?nxg#VNr>|{sA7QNSnR-E$_6}1**8Lvy*x^k(T zZM$!$EBQ*&=CdUuG=SYsT`;QN)Q51ik0kO5AJ?LI9v%sEvy3*5@nOka(1fH1?Z_*zZ_gomd_;PSLue0)dJC0LO8@@l)y4G(p!3Ovrv#!uBsHbPP-BwJJNFXz9_^P;ibHxYJE zur&gwh)pu!6p|=CQZC+V#Y(Dic9I_6o4f+@6F0?FhpITLl*~^R-wE*d_bR+AvN0D#-sH4l_v5h5l(@9m`6Ji1vvCZmj1-Y` z0(|`ae-}WyleR82^D-wZW5*oW;eW7~_ZoXcF3**FA1`u{j|GAk^u}ft;TZtr2JIi9 z$E`($GK~Y%ad>e=P>&l__=OX%aSUNDMUJ+oN5?SW`yx24R{z~&cGMXqPW{Nju^Lgk z6b{({PzKpUTD}~sf#NCLJ48SE%9@ltw&k+T+F%AK9{E;dfqk9Uccb30lL6ZOI~q`t z?a`yt-cv9+PE|iKbD3BnUZh!L#zJLSjC*ODrpHy|1h-dCUllr3Nts4+Dzongx#jVE z2D{;+NsWspaa7q*2Ef&6Z=ri-V|AHGTZ{a&SH*c6p`k1nyStcn+i4Sy%^9lg&->?5 z*-ufhhB7uM;Qv|(Jxh@2x0Iri+jr(CwCabglm9qbHbNj#XiZxOM(8OcikP+nS;=w3 zlc9%JyrxyB+#@rkjb{9CoSl!;yLwpR$tzq+QT&DZYf+q`)?)vE$!O!E;=it5+N5by VaWzok{ujX0Qqxy`uWa|?zW~&&80!E4 literal 0 HcmV?d00001 diff --git a/images/service-detail-user.png b/images/service-detail-user.png new file mode 100644 index 0000000000000000000000000000000000000000..243ca17c86006fa975b91f5a698f77d1a5a90356 GIT binary patch literal 5552 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 FKLCTU{L=sc literal 0 HcmV?d00001 diff --git a/images/services-overview.png b/images/services-overview.png new file mode 100644 index 0000000000000000000000000000000000000000..23fbba5521731103463c4660f928d1be140a79b5 GIT binary patch literal 32358 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

#=reskZNtA)JM-{MM8y#=8~fz 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 literal 0 HcmV?d00001 diff --git a/local/share/check_mk/agents/special/agent_hal9001 b/local/share/check_mk/agents/special/agent_hal9001 index 19f6672..506ce39 100644 --- a/local/share/check_mk/agents/special/agent_hal9001 +++ b/local/share/check_mk/agents/special/agent_hal9001 @@ -56,7 +56,7 @@ opt_password = "" base_usage = float(65536 * 8) # 0.5 MByte max_quota = 1073741824.0 # 1 GByte -# these dicts are used as starting points, fell free to extend and/or adjust them +# these dicts are used as starting points, feel free to extend and/or adjust them # each user/storage results in an additional service users_dict = { "user1": { diff --git a/local/share/check_mk/web/plugins/wato/hal9001_params.py b/local/share/check_mk/web/plugins/wato/hal9001_params.py index 31664d5..08ab751 100644 --- a/local/share/check_mk/web/plugins/wato/hal9001_params.py +++ b/local/share/check_mk/web/plugins/wato/hal9001_params.py @@ -6,37 +6,58 @@ from cmk.gui.plugins.wato import ( ) from cmk.gui.valuespec import ( - Dictionary, - ListChoice, + Age, + Alternative, + CascadingDropdown, Checkbox, - TextAscii, + Dictionary, + DictionaryElements, + DropdownChoice, + FixedValue, + Float, + HostAddress, + Hostname, + HTTPUrl, + ID, + Integer, + ListChoice, + ListOf, + ListOfStrings, + MonitoringState, + NetworkPort, Password, + RegExp, + TextAscii, + TextInput, + Transform, + Tuple, ) from cmk.gui.plugins.wato import ( HostRulespec, + IndividualOrStoredPassword, ) from cmk.gui.plugins.wato.datasource_programs import RulespecGroupDatasourceProgramsCustom -#import cmk.gui.watolib as watolib def _params_special_agent_hal9001(): return Dictionary( title=_("Login parameters for HAL9001 systems"), help = _("HAL9001: Dedicated to Arthur C. Clarke"), elements=[ - ("username", TextAscii(title=_("Username"), + ("username", TextAscii( + title=_("Username"), allow_empty=False, help=_("Username with administrative rights, mandatory"))), - ("password", Password(title=_("Password"), + ("password", Password( + title=_("Password"), allow_empty=False, - help=_("Specify password of this user"))), + help=_("Specify password of this user, mandatory"))), ], optional_keys=[], ) rulespec_registry.register( HostRulespec( - #factory_default=watolib.Rulespec.FACTORY_DEFAULT_UNUSED, group=RulespecGroupDatasourceProgramsCustom, name="special_agents:hal9001", valuespec=_params_special_agent_hal9001,