From f8228c39b11fb283b6dc6908da359240db45a66e Mon Sep 17 00:00:00 2001 From: Maxim Svistunov Date: Fri, 20 Dec 2019 05:51:26 +0100 Subject: [PATCH] Add the user workload monitoring documentation --- _topic_map.yml | 2 + images/monitoring-metrics-developer.png | Bin 0 -> 42157 bytes ...oring-accessing-user-workload-metrics.adoc | 26 +++++ ...toring-deploying-a-sample-application.adoc | 99 ++++++++++++++++++ ...ing-enabling-user-workload-monitoring.adoc | 40 +++++++ ...ring-examining-metrics-as-a-developer.adoc | 24 +++++ ...ing-granting-a-user-access-to-metrics.adoc | 21 ++++ .../examining-cluster-metrics.adoc | 1 + monitoring/user-workload-monitoring.adoc | 17 +++ 9 files changed, 230 insertions(+) create mode 100644 images/monitoring-metrics-developer.png create mode 100644 modules/monitoring-accessing-user-workload-metrics.adoc create mode 100644 modules/monitoring-deploying-a-sample-application.adoc create mode 100644 modules/monitoring-enabling-user-workload-monitoring.adoc create mode 100644 modules/monitoring-examining-metrics-as-a-developer.adoc create mode 100644 modules/monitoring-granting-a-user-access-to-metrics.adoc create mode 100644 monitoring/user-workload-monitoring.adoc diff --git a/_topic_map.yml b/_topic_map.yml index 14d1107a88..16f0933b3e 100644 --- a/_topic_map.yml +++ b/_topic_map.yml @@ -988,6 +988,8 @@ Topics: File: examining-cluster-metrics - Name: Accessing Prometheus, Alertmanager, and Grafana File: prometheus-alertmanager-and-grafana +- Name: User workload monitoring + File: user-workload-monitoring - Name: Exposing custom application metrics for autoscaling File: exposing-custom-application-metrics-for-autoscaling --- diff --git a/images/monitoring-metrics-developer.png b/images/monitoring-metrics-developer.png new file mode 100644 index 0000000000000000000000000000000000000000..cbd0abaa88c00bf895b73373ce9280ab3d474656 GIT binary patch literal 42157 zcmdqJcT`i|*FT5_cr1tw5EM`Wk={XiQA+5&Lr{8`E?q@L>4x5s5+D#Fy@seffOIJV z=}7NL2_+Di6a2pO&ibvHe`d{kXV%36_~Ue6O@dwcuFr$_hIWb6BHlRnGm;IUgmC*3!b+q}@$UQg?=Wj=3Od1` zZH&RkSB+l9bC-^i(5F&W}M2(t!ncBAsVhfGYgn&56SVoxC;1piTbK*_nu_;=c};VGxn09wZDUV&8@7Yvdb39gY-KibPe7WGe*B8BW`;?dtqTWl$c~p>smjB;)@1Ar~Se{A}cl)<*vQ>`5`oF)2 z3c1bv`y_^^-u!T9ak$ccz;m&OK7qqP-Lfq@p`f6EZK5w%QOI*ilU~&QS#@>w_STlx z{>DU{LdfO+jtj$_qefBaZUKKwQxdVeu1xMOnC z+<$NFQ$j+*`3o2H3e@R|hEJ6WtY2GS7xLLK#TFZAtPUY{z>Q`(j~2Sq5IP0X?0Sei zFe(mCPSsq6DD4PpuF4>SpOKNgS~kVCYeNm2O&lU3B2o0>`V0&V#+V?q)X9M*VXKYN zVXPXNDrle6D|Mu5RBqJ=ti}SlcI_H0=dA;p_A*>piy3d}y^V?fvgLI^cpgIybY`20^Bz(*1L|jV1D>w3X z=Rx9h!7GsQfwzk#DPbceDVl4Iy6f)aBSPp*5h$P&w99rHDQ_Ph9=`1ayKT9kV`Y`6 zk2KEj$q;V?{tsL{0fWJmLNN@E!Jj^TGDiDVNge-rsw1Nue)*M<L|YDjO_} zMP;zc(LhIreRStrLEcMG&&Vw?$DtBG@V;J$+tv{6ljB1wTG}Gn5VGZ7>C-{9|Gsv9 z7Qbyz$$V!L=H=c980#)DpFlQn!Pghh)*5UW8fpWCoE)(_n;0;<*P_9!=WkE=8etzx4?fE!n$$$gR7zRmxboG*2d#eH%Jbcfn z${``>cuUc1W86r@b&@!nVD;U{7HT!;;KHw|N=jRXzb1y%*mu3Bg6Bx``bmGaKGKQ_ z5ET_=vuus54>&CENaVU}IhL=I#0&ur%hM$S)+H99x0*kHO4y$Q=F~=1Yn8od5%gNo zg=oDIhC-oLu2bgZlnkmvMkWidqmPWeU%pC7*0AEWkG=8djGF z3f!bJ?Jo7bDdIAzz8*`AYOoI=C*(a1A*1LAQDU&s*TebO7g>{PC#?eYjJd_df-=jt zCf=zeXi$-WZBLn9~AFE&T}8P~bz@2!s&faO#C z?Bh+iP!=;AxYcN#N5L_HP!)LOt@9f3y!kyHuZ0XO+N~{`o*4N+2q*yNTRJ}6SsANA zZ7*~ee-FJCcZC zA0HnqF%rNn^)=s)zkKD&z-(JgoM$8mjrvL4W`Z6Is$g~Nfv~M(XIDtgW6miqE>1=a zfw4XRm4N$ILod?=Jrymt9k#)6?OuCrMe}lRm&2=ZeY8qvZ*62YLy{DHfh5s}_fG$$ zYSDhGFm|^{+OfN19`%ehp3O|zYqhb{?qcl2NQK;zlH}W0z{U61As(0}gVl_}tV1c^ z6rMl^?oqET?p;SVOm_+r1Z4a5dR(LeN&6!Z zm~DGAvA>(c=4WT0h7d=fs{*bT&lXn^lp(3ukEzIGwvRbA*GX+rNp$#16LPaE>p}B-j>nIG?T%uFBHmNb zmXP6A?T5OS{ZR58lD^yTK3yjd`4;=gChnY4tsics)ydFxOp3A6Q)e=LC+F87?YlO;76*!_985w!B zRGR~EhH7`JU|+nwz)eYU3RJbZr2pgTwdJIfqc2az>4+{%V*Z?rm6bI&P4Qa98YkXO zg3U%o88%sD^mG7z%nU&ce<@SX!0+3R`8eSOkU}_YVIRDWFmnt2(|6gO>V-tpehE|9 z9>?~wj&Bkh&)vIsktS&E($Z3gU$sT0<_(V^9Vr4~`rIZt90n+aR@}Z7@108L&PUcg zYdPUkdSC@JLA0|b(Sy1E243qYMaR|0&-INIaG3I;2ERg8>`>~~tdwtuAR zZPwTqGbzSEU{21?IKqLeF3N=-w=tl>VSpT3zNP3zXr;iq{`yy!9I|p~?}OVoENY@Z zMZ;CoT=v}LhglvzloN6s?(0r_lTNR6+t${$`!ui=gn`*md-V)4q`vd$3NR)$3JN^T z^Coe2^7uo(S&XD;GhrBu&H!n1Ty4bKUhuyrS5CC4G{e53| z_m0BWC^}`Blate6d5eF&-+C(WC4q*L#e{9{qDJ5CC6Os#`0IFP`Df4U{`~wM4noPm zqbSu)@(GIY8?mrF#^BVP>}(4mmvLU%Hmdct5s!;`vCMrH_p&5ovJz6yu@T=yW)!&c z;0{zj>>7iWA2Uksa7l6hSao@kAjR6+h1egfRH^1E54}uHboUBp@Ovp^!KdHQl%RA#z7et(yTXr0TU;xH((j#ywf zfme=J20@=ce{THcrQ6$1KYh=p^KP6unW7#xbqx*6T_XZp3`rRo84^1SdPgxI zOK+VeRT7ELM?&6o1Zy1HMs0U>O_YyXBHH|yDNM{~*+n_dbbMk0hyCyzvE}VWFYPAR zv_qo=yT%|^(wT%RbVy*wKi}4XS0ypC0lMiL z*E2b-6?iI>w-gBab<0lw%hg$L^sHPCf2Pu*9q zUcpw*AJdfm6g^vGQXqeb3FK$e5ID@-BP z@{{+}$pwU7K`DNJJ=e!!Ft(y1uG9=uIsiYW@Hb02MR4KAtjxM{3k z84`A_=y{yY3eKMLP`9)sl2(BI{(YHd#en=e%u%b7KOQA8T4`TFCsy$)4>(ukTsk`=v9K2wJonn59SqX$Z_R(9|KC(?5(_pWdbH@CS7yf4t=KP;09RAnm_Ds*sSzV=|$Y&vGyqPKCE5}5xu0zf=TjeY{I0(UU}oQ^5smw$pT+(-Ozr$5^6D!>K? z7X|W3?o*l8zLW(B79I>35?=Am6T*?@obzz0S@<9yGcz;f&}VZJnIj*805n8B0Mx1L z5!v#$yjI&LFXm~F%zA_oPcIt_erg2|ekFfas(ziCf`XEqk7FHFPui8-0ybTmQFKDP zdtu91yu3sR|Mgpiw)Q5(K zV0j;JK^rrBKtWaMG{O(j?o8yGUt3FGh(Urn=wcrD0?EJ2()97=)z$jZ_eSEl=t=V4 znbx@%fr15=r&p}ccK`nU9#3h)Zd|5RAUg*K2X1X-prky8Q5q~UzamhO0c24SPR)gg zrWbcu?8)Hk4?LVtf`<U-Vv z<(Zq;uV;fbi2xG`s?Vg$)SQK2x*S&qi$M9VRkBONZK`>CLeMKU6`lX_>8bC|f?mFI z!eD_0*3`}yQPhLz92>W%Vf0RN0QIIvsU zrNw7=A0f=wxej}vGN^M08u+z}-b&A9ZGg>|0GT#q01ae;)CZq71rcxt5N%MVo7XE0 z0Ll;tXap4^Z&U@Yw(d&qt3(4Ycj(Ir1(i0gnNqqC_!hh2m+bAuULHsXj3wd>PWY`N zYi1^r8X6iBd7#`pJUkUK0{8EK^>hL*oGKk06xlN2zrTSb*2my=Qw40JiB!|(CJJz8 z5Ext|s}#hZ)P5T9=4xreMAiqm_+yZ8H}I1^6}1mb(?9Xe@UepTmbn)Y5ODj>okB1z z?UR#I-wtb>MsoPAJ01g)43_ud!#{dO+VTM5XrcXZcGJ2rM9ik%W2ibU|C7d-{v-VP z){c(3fuK%V?3wT@cA)aR`ZZYpvs~z4w(JE+KLCVk=Z*jesz=En5zAa*15wKm)6*Wj zng=`r;An`}H@N)(96Z<@pnt$zsCs6EQQS?;ejR^XNM!{CGguD8X~gO<86e~k^y1#h z=dJbiPbW*wcatpuGo*H|YAz91!N&fDk8@=T-o{>wJ=k20dhU)Gl7P%FW;Q<6?^(b~ zF8ZYDz4SQ196|Rr>k1AyLVR%XhuPD~kV9&-#K4oA=^!%Q*IS#yKmivCunkKaPq6dMdo1|CrXZ(0Xbw)~C_yK&wZ^>hg;4rD|` zgqY7tq4p#T)s3xZ;@%sB>$YU3as%gN91e(HBEQiz;Jny_;}SR0>~@QIv8{NH>5q09+k*MUc}>lXg` z?%7M06Mma5M>U0i8RQ{{0eF;gwG*4GtLuDk7L>@J#l`7_?{#)xGV}6~Gl0M{Z29I> zYxNfIqB9+4=UQu{>oLnU!5eel?ucZpLS7X%u%CA2dUG`SLaWmhE|L`JsQk$D+$y;{34bmn1t3mm8ot_JTBXo0gWA>7RJ*hYufmu8#^qE?uz$ zt4s?>5SoA!r@DRHDwSf-sX@qLP|2*`6Ef(z;kgc}WpFVmQPfLoFVYSqG`haBw-RG2yOiUa>gaWAiy@Z6si@dQf&qJEN+P2N=sOw$TAX5I?x__L$zq4lXz&V7Z`9e z{Thk34&crKrXU0Cq2pko7Ay}C+3jOvNBO?DDl%bxc7x!aYQ4h+dH@P(e!R)DJLZb9 z2dP;s5MRk474R5B4DZn(gIjkd+Jh-^k1)&Ep*tH0QJ9!|Vo+mqEiv<* zBFmR*tm8UaXZ|-<{$HYx*LI~yPX-l#(?mmH_f)W&iLDb>X_8rTG3)(NuHtOl&(8-z zepAhpc-jlB-BAV!{IQ(Al z6S&ySZvTDeB>IM{XsI(#Z zB-t8_9${1gx3>uZsjtf7+j+n?cE;NP3Y$n-Hl5%diO~{}`Gd)Pmbwkz&bZAfDB)<| z0LVO5Ai~m|gyVpEBouJ)QY}>w;@WfwuXdS00K5Jmvi6>^oJ{3pVdqqkBnAEVoQPaA zi1XN~;8Ub4hM*60BE9H)qMl1XA8*1Y-tYa6}D@M+@$# zyKu2)wRRX*Co-%XAG(?>a%Oi*PH6*!Lya-hR5}TV6W3rkOmK0B=_V5?Dm^uOHlQ*% z_nyk|!D6c;OPHMXoMCw?8!FewOL7#G5_b<+wtINk0K^&*^v2K6Aq%}(u71vfbVQLY zic#8}%eYdr+G#{LSAoKLve5`ESAIuEq6YC=7vS?bK-&WVM@+;(RC*R!Nd#+bGDDxA zl8=myt^WDl3{Yu~`(h85hK2^9=!yX7q!X}-1ZX@Ctp+|vQgP@v{-G=bgvlUlRsf6} zKRhE_^!2Mry&oeA*%xE@b)A&rvY>j!x_!q}i^(Sh-rwR7ZJfjD z30=J9`>P$X4?@mgaBXRTdVq*({Kx4!;zdjNRw;V7kxnS*?RkI?u%TCIZkmO~9~4L5 zrs9la4h{}ppTbB(tN~k63;FrxNt^OX;F~Fn{QbQC zFp$Q&bmy~`Gl!!ArFAJ*e^@avyFgYXzu<;nt#jE1GV?h*lS9WH%Spjo zZu@wx!=%X%_?m<8a>3Pn4(Oo4zfr+Q;;&kC<$Iq684S^n% zb6*~*;gfAUJm``gsb5S?h>N%vuB-X02pwKaeP6tHrrfQQ&GKJMNwj~)Eus9wBuy<1?qsi_$YkSZLAK81kk#?M6XRDv>NpyVW8v&69M$psyv z;pW=o2Gke}+J*8bOHUGkq$=cjU{F@ASEy;uSn0x&)RjUNu$d_*_mqm7`VmmP^upj5a5N{|BZzauCg0l^YJgftN$CRdG22`!+&RsluKuyCvlc0o&qvkZs2GV$olEE?ScM#$KIRpu$25+ccQ~jBT64`gN1s=`6-LQKq z`f*QxyZhDJMwJMl9~CI$aC3V?Hjr~b58T4xuwUO?uq2$vfgC2}I@x$92FqeY8<8}x z_Jh$rBR##+cgKeQ$x9g^ee?mnUl8O&AStnVEOfE;O95dFsPfBzv|Z-D&yw%1i3n_q zu|(SfCangc-v{qD@g%fH8IFN+ByR|5TU z*0|E{22(H~ESTlF*hj#U#}?@*f(PBWaRXRF2NqK-^X5FLwPK060l+*pfJ8Jw?f`W- z5&#;a+PylAO6s%IJ=$9bDvcP@v`)MEJw+Td7HMKY3_PGz0ri#V${?Fs`V*}h*QvyB z7Mj27X; z4g57|qyq%B=HIPNF}G<8#ecSwpTNRvw z0IRHTO%<>720+q|8c^lFR@fiEpX%1f*KGUxAzJ*q2lL#z&i!3CpmMoMNQwqc4|cmt zedQGu10dBBTPui?FnDgi$W%b?>(?Z-Q3^oc;~0Xz9<6cZ0jeMb1}bDw@D~8M><9+e z?(HP$zc(2B;Hj0fGtn+Yg&zjz=764qb~{00Fu|`B7t&Uko16R1Mu{*(z`*>n`ZG++UzU}b5U3v#uvEM_Ii6yS@`_s6E@*IeTToH3Z^ z(d85;W<#YT%#L@hO9o|99I8}q;o_JrUnOt29;=On@#y~ejP&!{)X(Ygt#r*zpK^c~ zJlLlKXeRTbIZTg?RWz}*D3)pLugOjhW+{O`BY=8ZRz2U9qLZ1KNfh{jC5SKP(GJY|5H<5-Vf$ru-JfynCF0~4tg#k1RVw+ zgCH_qf_DM+$px~jKY{;S3(^tGO>j%Z%irJGCiMYnq>^-wjg5i~1VD2&R`tyOsJkN2 z@sVIBou+`y4nl8^HE0OZ%L>X`-I{$#u{5mM9Cj^Hg_?%TxSUf#>MULTo}W)xY9v}N zQ_`Q9)N&v? zKKEz2APZbo_opr=O6@hQa%snHtQ8^af@ zt_J>qP>_&x&8)5#1Dc}gr9UXI|MElQwPlag(+f8-r{(}x4giDff&!z(aOnBh*XM|B zE1+qi7^ugs>?pt;5I<---d0Iq*HZ=+dmqSqT_;yfKg*Gdii;NmCXmR`gIJ3j(2!;W zKI~~DaaCPiT|p$~UggEt269025Pr4bZO##3f z?EU4sNl2zK|Mw{B=>(fB%*7~~|DCKPY3%1mkG)aImImBY>}6sn+1FxDm7Pgg-qEV< z>eeBXpb~poFH|mNa@}Hu5?pk=eK}Z|6iN!-h}r2C5J71|Ieu7|9^j$`P|Ww!(f5@;q zDdcZo|G8OlTqEvXD17{xiMjs40{u>H`7ToDxP?*Z9OT6UA*gIk_d^^WXp^ zIv}3UPQT7L^*gjkNR%U-(}viMX4F8zy*gJkfbaInJb#`$x&JEu#cP+TCM1AgfK0DR zXdf}M?adh8O{oBIZt4;@PZ=(j8LV%wjX^CyJ+MEV`RKhdicEX+2BBB+zCLhNg-&Pt|@^4&j0d4nLAEyGD zz*qvMx5%UJ2^oL>{Mi9JBdL=L$X^cIo_pK7U3V=Ru?TcNhR5vT{WArK#GK9E9j<#+ z?d&<*N)dJ7R|zO%=H-K}TXa8BF=D~vkPtFTq5O%eBMmOY+F!f)B8hnIaExiPMzcQ>RQ?lUChnIS|txwFPrnT8BNj$~M^Btg{F^9Rm zqeIzMZ>z7Iii7s!SB|_a0RGo_f284dNl4n8hlcb4b^%UuU%s}!{*ix*J@;dPKXi*; zkP;4dban1O9tB?%3L3vtS8vld(I5-U`}5(Cp>>IQg}$^#CNqGxAfbxO&a+f9$jW|0 z=$5?=$`qTp9UHzkeG+m9RpUJNd9=#Gp~n@Y0-Fq|s7=qvsB%8KrXcb)6qMMYe=`qI z$#A7Q`;9I1RoZ)V)6?0Y6e_DGoxB>)TxaF|u_kh?X7gF#NasxI(soz(V)BEKd-v{n z?qu!HR0OuE1MaK{bcO(y!c`9oNII|0$v}lCf32LKSC_4;q*MqzaeiZi+A+;v-v`n^ zk)8dj^T!H9#)eByr+^4l$*vGIzs@b};Zc53t%UblvEuF2~&yEcS6tZ zH=Pjoh(>Ix$uf*?5XBMl?fNX?Q54K_B{rVV zI9|FayhjX%ZU{xgVb&T+Ynf07-X18Fc^wJtD}A}w>BR!xX%SmgL6e54J^y1|+GYTH zZ`6^F&*=luZMj@GVJlPn0=`L{Mau%VElMVz14IKy(Z!cv%^Q6B?po;6%YZN~%CYIf zvuF`r!y|ZKuiA-$_;uw(&d-g$?!`nDRqNJlXuUCBWdf3c!@jJe^GLnWkeKe-b4gHd z1!?2`{!G8Y@7~P@4UB<9t2%*`s2D&p)E(hxE-o%B zr!Dt0ME$wXp8KC<&jGqGE|BjI{P^7*-y#H5d?UKzE}%oKOTW|v>ut2$nuF>3*;5-~ z|CN}Q%eO1ts(X8%iZ`*zYWG3I2WR zE9;S;7uzkDre!Y!Mh^s;{^qb4T||7%B*Iuew=L)v_NTBg`*G`CpwrX?ma)=fKTDAA zY{0LqZ^SDyJFn?o9tmHT(MOyTaxGGHMPe6N1vI-n zXJ&+=@PQdU=9eO?oLfqn@Lq%sgHp9j$&I-?I*E6Zws5&DV;ohjE5Y-A2|ugTE8Jp& z4EGenaT?0e69zauEOV4ia#zd2jOL*695aI~8;R0lkklW;#gK=$;%zOz-g5p&Y2@o5 zW7w&7$T#WLsz-tIhBXDs-Y3RWT%#pl{`?bB)jj)xwf^=i1Ka*@NkeMn>h|A;2u0>G z*5Z_oe^4A=IQ5q$&g+;IWR|{@|9nrGZH%~R>tIBOQV-vCsPv=7rWy7&?b$i&w&cWK z0gpC$xv}y^jVpq-vkVn&9u8(YIv(SBtoFzZZHKAE#=ZQu-n;gP^`xEuP*4m2LJV3< zI6i#s85khZL{75&D_r14{R!{Jh}NNL32}1wpuu#DR}pG7nLjup^ui@NL|*jJQDjvZ z>yw2j({yneEJlv*56k1ys-Izw*0HT_k~lw`g4?cHU9FBH*=!~es^o^>zbB-`z4rq&G{*c6NaM&SbCv7Nd{vR+4lpb z-O54G8!Yz~NZ`^DYu!7%LgRS)CWKw5KHj+M6^|JM6LH2-B1OEp-ljoxi`AUh$h
i6pLyjXo&2&<>RqhS8eQ&=p7R%kxfb=*2Y+K>)GXR6v zOY6hfHP>cR+p~($*pgl8A5VT^`Vbv`rIq_@-MP*>@AY~x6lTa3YOarXr&A3JcCq^` zkT#9<*m$WB?X&3{j8@?ZI_3^Z33mVIvcSp#@`n|2_=9LM3&ca}^ylqZ7<0kZy;R9; zbofF$JPKHP|KkpfIn8)N7umbd*YRV-Jv%&5kiXR*YmORAExz{^aJbei8<6mdc_}QE*exTys8tAx(5PN5_!jk1`z-pLyYslgQ(IL3x<4iM#oSd<>?RAU`e~(2Z`qShrIkBMO43bE zP?c&%?Xnn!j*|(7Z3ppZItI=fx}xoT>Nou&x1z!hR*uTutTv=ZqYw4or<$n^3q$zn zqB;irV%;l`x)~}y((m*&nN%7vY*NI6(Kv{BS8qsPj;L|I)lb7icgj=Wn!i_T z)U^5~+y}3`x49QR0^ijp3Mc333qGX9CNMI?_ln+o0?`(HtwQ&|}sRrf@XSND;8nY<{3q z>9qL!&T{D#x`5HZ3HxUchb{L@d6rNGYF`Iwm+J8O?ovj-O5I##mdcgh+KON((2`*9T4GOTqe+%;9yM9oxq$htQ=;`>OQCf^b%G+*far;Lt zX;|Oyo8?ty+A*!z-8uU?6&i??zmTSf@VeF_UaBLjo2#|VFsG+i?ByQpD%o+yu>IShjn$-YifIv@FPoSR@xpezR$Q! z(5mnhkLFQ@&|kQ;+;*@hYG|wn;cCYqSI&{y%FtS?7=)CVpeqZUG_QY<{Q*iyzeRhJS61!t7w<< zd_?m|6hB=L*Me%-Fz})mS8EJ@Yhj~{PND#e3 zpWT_au#DZEsWf1`6UX-$Cj*Ng;Oe|GU=_?&!Mr?#CbvmAd>M4b0narOc-D#-;ubmDR=L3!9bhqI>5Y_686AJE zVYfRr;7yl}~lGXCo3n&4?LXX%AkOi5wzJr^#Bd*@n-54pNNvOg4OohAnNusle|f~+!y z&?&WxY=qEWxU}9zv%aeJ%aS6wNte{4esy|~C*j+qK8OK&6{pNm&{{~=AS$Pk0fnwi zpJQO{Tes-pYjTokENohcWbzoG?piJl9lK_yy-!_UQPnrDcEYcOFI3OJxXHo2Ft^|F z`_U<*bP_VEin*xs8C1;#{S=tK-(OFK1usUObx`WI5Q&MuBNFqSq4;!{rDHu)UJ*{2 z7!jAtY~R~{h0kUybyj{qG0zlw(*yd-Jj1|v1F5{@r_j2z`+p{yNg zF&O;dzB~~H<#yOq2yl^xzf@Ld7#kxL)HeGamAWU>d3JB@5IV%6bT`_?gXnd|@t1eE_Z?IuPayarg3$ ztTFGQy{F2!0PT#|5;gbXqgPQL78P@?q&QMv>4fSpbtR;^`?%?I`wSPpUT?mxlREb+ zMl|OF3Fydi)RoK`TOQdrAKJV`f8pbL+akS~ztR5F?}LlzRQPO7b-8xfC{-2i2kp9; zo77Mew@PH3?Eq%&PB$&38$_uoDS!RIg(Z;Bqi*Pc(ICTJzUtMHEcP+(y+j2%Gf(VM zUTMlbfq(DBOx#81+ZX%TEtYwdz142_l44$y`n7Jr znJHnp-A*794qHhEAOaOLfIp0lce|A#RkZj%zjW*)wn?8<&9q+rO7(^ascL4h zCy&_A?HvCx6IW{0m*{TMp?~*?u~CC5YRmk>E&o8(_PuY#%ZEaFIg*$IUq52|X{@@a zA?DQ>$djQ`e49_z-&>tTN|cyM(y~<19~JMVH(sZD&2FGd>S3eTw&me9v$^VETKA3! zL)lhP_;bUq9NSrx?=>eDcKbe30D>+dUI1^s3GGw{~6<@HZGH>aT=**n)LfAc>+ZXd8>n@VqFLA$rNe>3+G zIb8iFuxdRaZ25U7uiDjpPV#WyEA+kM5(s#6I^!yO;r>O>^KY^lx7|LKOZ&hV`zt6Q z2s&wA7cZI{5>T^-&Hd5__t+Z7HCQ`3vt+$6w@HY*Is0$ArJ#?51a#^h2vz+y-7pA_ zgL;_m)H1cvsn{GWC=lgU`;*n|%r?W`u}jQMIoj>M=yF5uBpEM;u(Yaq;zjT7FZB=< z;ro>7byoP(&JF3rMzTlM8Onb1L>H?B3xd$(i|U~2;BZBmy1@hcKnTJKv&M)9S}Z$G zfhFyC+;zA$5RT-LkcPPvP4g*dh*`jgOYC_6yf#;wNQB4M&Te=L(M0pTFY<5I%m#7t zM1;uFI^{?`tGD6(@y+bK?zO2^IDVQUmIcE4t$HDYFxQg;SXQL=YzK?y zRx3Sn%wMik!CQ-Pxuv@_P1G9s%j=nQ>v0aHLt;{m0e41|=hHXeD0hugzF*?zc(85d zh0S6;Kj@W%GVh$rLx~HkdLAwecC&?`-&Z1wdu=&&+BFo4p0|ily(CnFxS`@X#hR~n zGquKUa;?L{ws@1;nHb&yl*A_c-qo&*X5-?sykADRGu+g)KCYUcZ*Z=r+$JgJsR+*5<$IBeCdI%LyM1YabPy4yzJr8vx|sdicC25 zccA|;Vs4CaLP`xgP2YqU|O_v<+?Er0fi&u|I<=Q$HGw+*es9}LmF3j;2P;v%> zX0Y`{Wgl9kv32;8-B+qZdi-kWqN1Q8dBa60qfU8XyIGob2eo~oFr~9~czTw(x@zf9^5E<^?d2i>6?2$25 z<#ustM><~!ymYkmf-O&xNp6j9eyzdV)xGla0I;Z32nb`${yV7*323Jeecu;v92O&w zyqJ`5Jx}IiDFhj@xfl;r-x2#${?kCq|7TEUU?|o8n|Q2V&gTS7-gCj0JZsM@B}MlDrx` zrI}Tw_XDISU(1@#=RIR=1gVFfvUgbI!R(Lm%FRR$L^`VB8EN5(uP0BDrSOA84(j#- z8$C2`6)#Q1_A= zIU(M%_1z#`IgB|el6J7%80`K7ZRLM^0md;BN97>ntT?M@CgI-XqXI!>A)-AS*8`oS z-eW@l4wLbV(ik?ZR8RD^jts0`%eKv8^B<1;!A$`jiQP;JG9A0Vrzy~R4wHJ_dP#*4 z(16$1%|wo-m`=Fqm8 zeKA(QSh;9aP(NxEJL+FGIO$L={NO=(EX(T7QFCv>wwl%Ttc$3{*-vdES^m9}`{^E= zi^Y>Yl0HYl16^%HWxj~|R{C1h>pyuh%jkq&el5GIdF^!W_m494^ibIebhr68^G4`{ zvvgW!4sUU(g6_V|u6hD1ZqJ};Ww;UkXy3W>wZwa!iZ|>t%kbub_Y!e<`qY5Do2c5= z*v;!?cWK$#*^RaOwA|g)Pu7P{PR;?P>D9tI=$#|(et$n?&wJ-p03}JL?YfHfz(L4< zoYT}i4azKt4fXW*b5~8ALDy-UOgDc^?Mo68iTvUkIl&jd$&iyrH6>hJf?urZ$yjdP zYnU!DTJ_y2$6MG$v?&681~4#*y6aF zX+%M9`@#)sh9cjzeYP+)Z>~H2@}!dPe2-J6cd3HACujdzLlq>O7ru)YNIUIVY$(UyTl_g+(V-mGzPemgSok>f{ri;asAHGp z9%yZ$FNRY|*LykVFjWF;;J?3~#2mPFXhBL!UQqi!9;_ul&m$SovZm+clxW03S+TRHZnF|sp`+inTPpQd5&y` zM@4o2@pvLCYCluU=kD&_fABF*C}3_sJh};0jWkK=_%$-(@M{>l3^;u{-lbbn2PfpD zlTAo(XJe0ozw>96t(w9H_7D{7A6F0Vj(qd;8vg2Y_d~3eAA?>Y_~)ss zB7xOkDq{=6!i=l!N_(XUhSJe#7MG*>--1pMEPKMdc%Ti;Z*u}|i=UAG3MC5(t@l~a zK_Bg{ZYLCj?Nf8yf2Fn`7DSu1w5+CPL35l9N=>m_7!A9H$|8hLF=#_PWoquRwRPkG z+7c<*qBWQ68~&jnB!=onJ^4$CfAYK>NVl;$-(TR|fOb_BO^)JYiQ8{u~cBs%_7A7lR2KsLsy5PxUxfT1yn{0x^O!6#^n*wC42nq)WdcHTA~^ zCtKU3rJY>dWSzf3u|6u{n?-DK#FhWPTfAmRe}}gGWg20^Z7$KRUDYLhd}Hu_24$FG-U7{7Yg{L>6^q;AV+!yp;nye zSKzColQOJ~VV`1)({0dKn{S`x)}W-sZD60)xR9=_R5^}w{q+f2W}TsUcW?LpT1Le* zsk>1Mz;{>Y+I5T@=L~?Sr|xA)cqz}as_Uoeb79M#`kU4H=?U0&YelWN=C7uI`}Tlt zx7~JSBsYyLm|tmsv(0XQ5{-90RK^zTn7};2egvdZgF4u1JQya~zyYFgaMqL0s4xlx zQ`37sS6*MG+5XW5ep4m$J=nnT!qSrVACj*g%@&{^yep$E;uFaq?OM+h#XAg zEPfdOml!)eF9YhQv!j9usO`k#^$3V*XJ=p6{>eW(A+hj&cP3nrknoDjo$WLIzX)TB z|DU;CMglYVQ5U|m?Y&^wcmJ!S;s2eNdgWqzDOwBZwkYU?49;0Ejt(mts`W7Tl8BV` zQ@{RqzF#l4CS)Itx@}~7AN%w4?ac;#BK{@%NItbn@`y)%DI!6{{6iVx#XJRlgH6+x zzsu92h3?6rZEKZX^&K0YW10=?6^=85^%^%ACGBDnb0K;8VRE{Dzw9B}PK{bEVIW9a z#$*NJdb{oD8*hGkus#~hCdX9()!m3WO;pRuW#7WFQJ4prz1g4X;^*#+e#idgVUN@B zH+BKnw+?#6OJQ0}ERY=_|4K|j)|PM%0ht+AD8!Ar6`1KHzZoxSpTT~%_|?*Bp5T7 zJl>doypURcxW+7L=&_>wGLku;&LY2sl50n5r^)$rF_Vl3Qz}hHHIOF1rZyI_Sf(|= zuRa=pFTK2|E)~m9m%r$BO$8pR4Vrzm6FL&+eF*j7hf_Wy^w^8R*56UIEzgwTw5W}% zE9xZBfAwGsQ}ujcf%zzcnk^?N(BH8`7n*^2`Q{vPNU@JvX(!n>T+N5ru>2Z1KMV>4 z(ajtP6aIoc@|b-Jvvt(!XFh}uf5GHqr>wbTd2+d3T8FMiy^*gjx2z+pGlGN=B+#=jl5+r9)ZDbtqm@>TGtV&mWU zdgoGYj348?XBEmTD~a2IJ!juz5c)+WHEDwC!tv~y_c2myeP+bwBtr6$ag9qzNy$wS z!cMQ0o@Lg1<1cn)Ha)4%qb{HkPKYBo2?U`@d#pZpPtW$2eRlZd~LOWmCVVX5$ejvMPvQS^Iudi>k(z@7&AfdRmwFNIH3e0=5wt7fy zBd|+nd#9n)>#nfFJVFni0`)~V4x-1%!OxVuE#X9Zf^Cm#$rAFQflb*5`lh5LcxrOn z{+Emt#a$)s91Dcqr-!K$Zs|bH7V@2WQspu%3x1I0DpAz^-?U5fzb~DUd7~3dy-hb1uH`J2UJ5 z=3oD;HS^7|maDt%s^ZqY&vTx0_St7|@2M|49-k@pTMo_6H!JZp4sAA-(hge_etyJV zL4UKMp~nhayvmhpoS836a%VTLC*W_dGsf&pqFwH2v*LJ1JzuWtpX^yZz12wy!>k{+ zFx$AlZ11X^R*-T}(tSDI_A{N|JDE0L|LmEuVS2pIS)ezJnb{>cNgiTr}5#igc@*Da@x_|OWPr@wmjhh<+G z+HHNFRKEBejnkC@-7Q%)0YZ4V@uniWz#M&n_98ydWM3uto4CxyUHv@A7$)4ka^l-= zeZ0yp7i4?pJ@aBfd_^_Wl1SMK7MD3sQntU!)O`DvPSLS8|5AJ#Xq9pu-K`S4n!pRu zF7@<51Pc;8M1XJ8o<9t{O^MdUP^Ic4ka_k*dhW>ldq)Sa{olT>vd<%6dHYk)`Nc^jOV{M z`}VAadE2uVyJH{g#N505=cAdGP(i-!-QUgiyJfhAIMJoAd@4Npc~v5Ast>m1GQ3vX zyC5ReuZ7>%De21b%lKwh68fzC^BEi2TMg&A#l}m=9I=JFj!a$ol}gP6Zv$}}>}lo~ zoZjmRoS4Wh>Zl^l_qlK{T{&K9HhS$QtHtG$sxfCz({}O@#C2@MR3h#<45GhsmHy1r zF*UTisiiILOAwC|TsCSrAI%=hQ4hoRM^7`T0$rSGrj=fVlrLkzzrNI7wsk_@NP@Oa z30AFkiFpBwVk{mW95Pp$RLPi-Yosq2Dq=U8$*o_O46I@pW6u?~UH!;}d*VaE?w!aA z+ubWI++RvN(A9t)+4as$0_U8Q$d1W=hK(MUM z+}%>UFnpV-5LINl`Y{KdPdI2i!0UA@xwjRte4o4|gueG%kd-=DXAv?Exhp&63C1hs zw_OT;*!#r{nd5!vTwl3V(xagE_pL|eT>p|UnX=J*k`W}DmmE_`#af>2eO zV=g-3o;bHL_71OhbxZ1puAOH6m#c%v0zTvodim!%rTSyi~j7 zWz0=aJd3-jt{;vueHT5KIUX~txRE%9qC>@X1d>G;{Jt!()`@TXxX6VC$zyVFNfU|< zQFXko*DkPzTpiUjcG)T!gL7rNll!34ivsE}NV(q3i;+4)Rx9C%a%KxaqUaf_OGzVeK&%c^ z+*Ff?^0&|TU^o;=RZay@N#lBT zhJ72i-aidP>PPR@8-kGsueR{?Ns~ z@z@Q8Kj=~ah52mR3mnr`pCxT=9D%*w)~r)>{@l4J^Fg3|qZjnWfIH(55Oqri5rBYE z^X_aNYj#wkv(4Jpr!?76b~ZUV4!v?mbWRTSSqYzq4NAP95sxE7XVCIN52)%gYlf#|<6!ugJ^%agevh>INiI8;iYu zSTnmYt0FU$xv^;H8UBp@N2CIF+%ViGM`~oCcjB1|P9bd}eaWJ}HH?$+Hkz*dcfoiX1<_It9+rEIJGKu!%!zDL>*IF*c14NMUNkcg4=A{| zCMRUxG#T}_fq6&iNC9QxR{6YA~vtdeI;qgDNLJ3-TU5NqWK7cpm9HTE^=1mvh-^6B3 zMaIR!KvE}38*zc+{7PdKR1&%eLxB=);vIB$9Rp=TG?XB}Rl3 z_iP{XicI!IJ*2a5kdVDD_{WX?ec#6ykIdADxsWW{(ONpRYL#k=G0Q<6;}XB~L*%xt z|FH9P#6fPd>tmP;+WL#osm$4IfeX>8m_q3Fh@P&+i-o>?^kT3@!UCD zAi6B+5kZKZ>2Lk9q9J)zs~3@1+Q_LVEA>Y?)9s6zFvK)WrC z^`sNIm)6P@>pJy;HONyhSJ}EkMWLmo1(aGypM8AQN^F^dgsuTwP}$x6B`6Dl3}3xr zYmV`pF#j`U%%J#mqNvNj+Eic+9FM_FF0RfufIf{>pz7J$yTdgcy3)*YA<|A>U#hR? zTWm0p()Yr|cb(%O1#PL^zMW%hYp<4PY;7@;So5|)ZE?LD#A}#j!on_s2GGZr=v^u7 zd3yR7I09RJPJx=#&TIeU#V)}Ih*Ona)@)RX;VtRiFbdnERVJKJZQE$Qb6huuDzN^! zT9;Qz=3YorvRrD2BG8sh7=|zR&x+&6QX3B2nZi25ODsi0986Ewaa_xe(DAS+sqb4} z3ThYX(F_OlbWAG!qTDwk<^=5|j z$d}xl`q-aBim}33h*S=YNn#l?dDq(3t_YrY-Y#UkF$0qU`=76rtiqqOmRI_|UvHlZn}{Lhme~=v)eDqQXYG7? zj-S{oQt0q0n%UiTz&+@vblb|UmK3`=&TVBrAd(07UEZ2Fay3)h9(NW+NmCX+#Ey#& z^d!q%mjS&#PjYu&I0*1?g5=f(PUX9^0?*n2oMOk;gWF=i9Xw@J_94KuR)_;sZ*6Yz z48@`TesBMjvh!weYuIv(`1MW-q9NK}{{oF;xig`M$pCjk_^xpKD;tH9h4Q7 z|9nrkz&Wji2`87fQ2?J|)M%Uq|Ic(gOaZU_SwwG_=-8|z(HfB!NZ-fW7pq#TDr^nl z0H5d2ONap8Y)@v_CqktvWFL(E`@Xc>d|fahW!_2QkGws{%5T}B2{RJbzoen+p0_I8 zm>8c=ikrkb?aE9PDiUP&S!y3V z!x^g?1Qs0v)LiEMsReI5SF)g;n!?pzXhu$cYwKWhI}`_#4;4G^pDuFiCko6BcZS5J z;#8`SfKqJF0A?~narcei+qdZ27RGe=S7G-}Y2tQ~OQSjr05>)^@+!>9&Xn0KEg_Y> zcA;6ClZYc0axBXFeCR09Lb;QpRr7!k08#t-j&Yi+4aK5mq`W^K@<$OcWqb4 zk_U^t5)Gihb#+|85A7bQg8+%mcN{!&p$>Bw#`xNmDmpE$By?nfHu|()tZndSMzpb+QS*o*zbU>&M0(KUQoeJPa~}_RHgJ z71s{7{*Q>d+=MQ`I`U2H&&sF*gnjMWH9zQMsm`|-wYa#rHhjL81|d8;y=h*|jqmwg z3FsuSi;EBC4?@AKsMtcWSxtX1k(H-4`?J@Jp=)M>4d$nye42__?*VCNb#-+}Bjiw} zs;Wq0`*R2la0ZdaQ)z$CP0_K?k&VG_dhrZ0!(!(Zi#x}vMDCj51(b=9xVQg7=HL>& z--Q@S;{N&PIgBuK=+#~_l6Ne<7v%Lvv#GptxYghV$f#`xAC2+OS;K^@{kG%#?BU{T zH*dD`70r4fg?`iY2impjAS8pyHOf=ZxX7g{#?8(yt5>?Aio-Ia6Cd103iUyvqY7XG zapo#6zkcnwW|?%%(gt-K^aHS*qk37|7l7n1(9VhTosg8QR!ei7J3o8!&p$~z))h-l zeY*`DTU~QLEvXSt%*=WWW*fp`ELjEltxRkzEb2$885KKopx{btjc#AQkij?Jm~b5A zHY`%)R=9rQ%$Mh1A5VcHnAFzjlxuOP)M1B>lSh%5h?m;1qL}r)Gi=;ej7xw*HC=yD z7|FCil$n3I)EW_6X6J<^iQwjIl-|ad1>Ca;9(YSg%-|Sf zC=|q~`GJxU5hv~ob#WLF5o-S#(Ye->J*Zvr6dl>WR=lELIYNjI6hf!iGRsgioOsrg z>VP-UfN_{pw0G{tGB9A1d-OTD0QuA_vyb@C=2pL{?OXV4Fm-d&`PB5V#ymW1+ckW} zrtP!=&D>DoE;S%5c()?z)tV_Ehm~%wEd6qI0HIQOymm??ZES4Fpfo8eCTd?jjLDm7 zLVb@BN#%jzXB1RReDN4YkDVD4VHdJ}?vz`a3vYR6Sp*XsC@q5MM$bl4?Z=BMN=l^+ zPD2S8YE-3o`P!CA92uq=`-;u{@oL%8qs6-(qsa~792vM^)&>}f@a)-L9jsG1e)8nF z&M(xTC;Icy(2!<#X@?wXCdL1v>CeqSh26(*I8iNPdkYNQQj13FK3s=c^2w*jDsko( z^{=eHbn*?2b*h>y%$$NiJG+Sq>tKmpc88UT+JOHb3?KQ zJ(0pF&pnD=RM>u@8VubaAvG3nB_}7xrN8KpuUs>JQ&<9`jWg!`FJ0{NJ)32rBWp(k zPrS?X7NK3(yMOxVj;_g$&qc=&PVcuRmF@#+P%RIc9q0eZ#;#@apVBN`XCGf zDDL{E(5b8L475(=QM~}*va<+0^6ViX0EZ3o!H|fDD~5Tv-xL;>y>=}jwH3lY#c}i4 zF3~XI=bRlVo{hepU58u%wcQPU>F!KD!pD!7_?OMnC7gbaD?%^STWfRs=yX>EuabRc zRzLu|vm1<{ zY8T)spQN0iZPXxf^)57NyZu5lx>7o~T?y5t!1K^PG1>f~{f5VSO*nFf=6ckD2r3?p z%fv}2pxoWdT)n=dpg@6HFvZTT4x&VXIRCm?`i4jaD?m9!*Jh>J9_u!cLo(!}MGXLD z!F#HQ%s-oN(K?idANx`xNAAE~_xY2`+5CT!DX?|nAW5LOe@7*Kdq=9=k3|89wOT#B zz`vPy6FP-6OluUrXQ1>p)ZS)Yfxdg!8}#S0altHjR5)DOpC6b=crD4elN9OTGzu~R z3ib}~iC%3F0aNaTT)|@g<_eMtl@CuG8Y~`(dn#exot_Q6dv@~vAyAkr%m9>9JKy;& zPF{AZ6vnCX+o)L-m>6`WtZb7d77d`4tX_|0R!dXox_t7;1$MQ?ob7|f9E(v=X;-3` zmg#^ow#)KVci+GXtoA=k9U9I{Uq1Qf=!-6D2{M35*kmr9A~q0+An!g=TAS~eXwQM# zU#!##z2JFhd}06bwT6OOf%Ln3zr!$ifah`yw+y+zH2hm&oT+OQH%M+DJx%AH=*e$3 zo`ma6jS?qlm#YJDBKAgz?3_E>oRVBznW)%>zn*vI??dZW*kw6{DWw=mZ(DDIWD2xT z-=`S%Dw|h-Q_#*Izo#7h{xOUe{xdo{iVgAqXVcn}4bB9iJL6rSC4J9@_LiFj9XUPC z3VX4pwl=EJ&DFK8zFtcrkRdd^%t62+Mr^y)N4Q*cf=tH4fh_6}2b1fopn_NL)G+>a zDz8v=Mgv2_b*7=jFy`Bx9cf6JXqOfkxxFF}^NFfyigE3*BQIRI5ITy)RME=gG~7%k ztgNram%HFtjbLkhqk87d2+?IlofvqVeXF+dB#-FcC4-kl``PS|AHRppws=eR&w%Xcm zk#Kq`pTAU*sJ-eLqqgmGP%zgM$Y%LkA?%n$?i6xqXz8qiaL$ECfV)}00bsA*djP^1>$ zGnKDvn?XiN9!+Uvn}@UR?xdfepC?)PSSl5j)@zb~cLK7o#l`gxQ8q$LqoT5P%keiW z=qTT7h((tBk~uj!H5RYl;?H=_=KrMno4Fy(kfiv9dd8iO!}UdAYk1aN#0WJkJFCZ z6Sq+Xh7Ad7D?~n_a@Lb#HGTu+*T~={5j2Pdt0tSJQD&~)Ij7fe#5Jk$s~IU>g$^8$ zXo{+MQ2VekOdO&zWce4ckP?pXl%wHlgN)sNvrc86>IZY4MeVx0b@hkqQsZ-T%{5fs zGy|-09!uXn47@hQo7d=s-5*r$6^hn7!gulbp0|DOC@LsJkgKE9ld5WEL2HK|ycWtd zgBDW0!8kLhB7zM^2PCK^8L;@@r=*;x+dBG(Y2Q07rB&(SP6YKe3<+ls!T%TOM{Z{R zA5uzZ<||=k@(sop=c%r8NInLo0I#N7Up|BWhE=m0*s8l1vDP+p`^IZ*B(}-c5!tzZIjxC2}Op752c{COi`ndRCW3O z_h0uREzOtRIlO1&x>WFBobL10=Y<`enfF4qudcoK&jV3U%P+6tCLE~eQc>|}l?r63 zeJ*v!&aoYqy1?O_HltE8p3D#T>4(SdnA(BDI%D-;>wO{Xj&+1aDr~Q)ccQ&fK>ITd*aKgSrC{v4ca%{hz z#>1wASL*+Td(AIF%oHjE%oOP5){NhAZXFuxAn|nbh~z2r0~} zLSVoAE8U_|hJ)KuUn#7cIM#iKsB3*P=$Kb71B2BGwb%UUKDA&x$P$C?8m4z0=Elq zvfxR(x%7A*X*4Cvl@kjvex9yN)WvYENKp#y%t4@Gap~|W<%30xY=-oQFGRPEY^^>U zsL0{eutCUjSM?B2gH&t5u)N^T6a7-~I6&uAu=qQC%G1!$D@6dkJN#VC1{PU7h%d=u z5xN_QR9UQaTbd7oG^T;MnwOlVPEiPG5Ls<*1GdgAY`^&r)6DM15Zd2~;gznDz85gH zZlZq7^^@B(f-Z7>OpE$Wu)uNmh)3I&2fdi1E|k{%mix|&Q>k`p;F+;dXw3oVG@{5k zg()rgxiJBhKs3?}&wXfDQd+_Wc>=JjQie4$m7hO9=5&RMs!A@E5@nrEiFzeKMa9G_ zCs9%KWXu?pVADza&?r*-6yH#`M?`|@Pk9_mfI9*f=mA?HrE)K|u1?xRXq*@6)MN8u zL|h^2w%nh8{z>#4dz0GyG3B*?*vCL8M@QAMN2dzLdxrDfT89k#5xav^TR%}ilQx?z zl&}}MA)TdDfH42i$v?*pw}j^pwERCR**4wK<*Ea()5u%5PG~+4CgEJpKV3R>} zjyzDZg4anagyUSmatI%srYM7*ys68S)Ls{ZC`ZGNJ(iIcaPk;a2@)y=!gF2)!&ZR zsO@G67Cdi1yIb*;8Ce(bQ?;Mx%s^XWyQW?9^((TV0ESV{H3EUEOt>C&`VT}~3Q?d# z{EBp+Wm*lDMNFR&PHMklk+C{uL*1&9VSEbu!%>Aa+-h~JZo2Me0#<#Q^(YTg+WuX@ z;AYl(Fk_0p>SO0uq?NWh(5HnbV%hh}tkau0n#kb{Do>q?Mx zff57hn?e+*tw_9WXx?!NBs%Thb(rl^%)QCqzdw-hPo1=b>98Wwo`ahld3)9b z*{7%1*Aey)9-^3Vfdv~A(*q=ohi3FV|MxTef-o90QNz9nqfxWKUF-h}lbAA4_!md9 zO!I#=djE%r{r_-Fz=T-_D&T_y3)V~18<_Mt`1${iN9p?e|G5d_&1x8W;R>RsrARN5 zt`07GF(TpfL#1gTi)gVHSpX4NI<<)4*c=J^ke8f(;r&(T8n6jnAKQmHAZ@LF6V!If z%WJ~c0bwAml4vCP+~!4rvKq(%i6i_h(ly#9sO@R!w`Zit;%z#S{1*t&Ho6s5B)zsbAqE`CgdL^g!zZ@ie`7=1c{ut3vMzKnCi8fkMGt zvw-3E6`Exw47+Dca%r127FtFMnB<|8j*b;PZhuaOJY2D{MT0S$%WCC=21;UOU3gKw4S~LzKAsC zWw1c40M(qN&vEXYM?tfC*Qf#t>+$jNOh&07S^MZ;rFYPb9b6y@4mhB%&ggH7?QSm! zftgZl`}s3V!v-((^uYmkpMr(0NtZ1NwRQy3HcN;N>gQHFcTj}L}|5uNowtG#sq723nIx2RLGRZ)D zOL$XapLV@+XZO(gvuE)|L+(DMaH&^)N{B>I`G#K&`uS12J4n3?N`ChxB|*YZ93UqJ z#Fi1*rxPH&3tGB3m83_=#kzZV7(IEC0PHD?&BYNd;lWAQoxm@o3Uxyx zI~uWBl<7!UNy>-Q(4KxD#Qn%gLE=a@Gchrd0=k(Q;8g(u)ig42AKVcTrCP)Q3+fMc z^`A=?FAL2{vKY^;6ecrpse9XfA90aD9GHNf#wx@OTFm*UJCkO^WILds?gIT-L=F(P z7#eO9A~p^AEfX#c?j2a{b-w!Z9N&{Ke;~G#h=MuzT!5@K2cnw=ik9_-Vk|6=5V2E8 zvL{<&qDFd_p7cKoq{G1{<3afwLM0-d2;!!!u%^GM6=Etq;ZsqtDiH4GkbJ&6BAd$V z?jD<5;R~sRHE3kZAs-0drJ#3CAXHG;+bOwJ-tRt4+{b}5ExvkN&wgpy$b&CF&Qph| ziDFR#P0$*WQ`KG2jc!nL>|dAQBl|LvAkWXY-Qqd5XZT(*R@5j`0r9jzdK?6X!2|mbytNa zUEtywOkW8y&^K<~QU;C^xTVhVmWDw{#Dd;F&^^*Xc)0%Cw?|h5twMr=g4k|wD#v>x zHxtY;q!C{ibcMT1XHYz1G-@pi=KJI4Q40# z)*+7)5KX4)SZ0h@S4aFj09?(gs=5oFZjy+7XiCb2K~QgnN9hr22F{t!O;Lzh2oR^> zi0=SxO1`IGk0JK3;7Y*TT(^aRR#)obLW{Ide|$|szDBvLLzZUFeNfeR8x^w8(hv)hgJ!P>WhMQ(KSod;(OFsDJi`28@G*rwD77{SdDD)&0T%p)7* zoTtZvB)Y+(H4}6|Gr+SIqCW`?0b*x1MP)pq1g*P2J*j4r0Y_vt*gc3plnnJnvwg64 zfR?gMMHSWi7o3-n?#IU{UteE%BMUUV!4SqAWNO*M_Tj{1l7UYpfeWsJwOC<60Xk0H zL*7C>fKEsixbF4cXMhdh8ljM_ThcMm4bfK)3*j%WxH9RHn6trZvCWwLZ}ruVfa{@{ zWkcFvbIHRwK>`oZ2QU1YpfioPn`*%(gRLf$t4u3sm?HAQfT8Z@1a0ghqOB~h$@3#h z$PEz9hEh8f%>R&^oFM5di$#?BKS8Q>IgS;#Fmf9ad<6|s`4=HfAZC3Jr0B&kx>R+K z)lVYH5RW8sJcGfn1qi?+1_+2lFf3MPHk!ZwdaRw4ZaqA1lIAqi@euI~23%Az`c49b zRc5xa@o}I5Tm^JCK0cnWXa)L{*gc(OvGU)4|J@!OEoC|YY7EwsYHT2X_6pmF!bj%i zRch)W!`V5IXh)1+5jkbAy{$B}b;Ko^Ne1?;z+rP-&Zke(gG%^Q%<|@Sbt2vwf1_DR7?c#@PhlK2y29sNreZnL?)Z2^1B$X5P@+sV#< zC?Upf8bLW7f7noYcN`#MRSE{6qK!Bpg9@+evuBx)-d##y?{Obn3N7_eRaFIcbKC;G z7_yDz<=-*YH#TNet%LVA0a@K(mF&9SYl4QTDB1{-j{x?-^@coVz=t_bO%2m&(Ll2# z5ik;st}MYa*yHYMw<`DK!Wqq0mX_G^C}K-r&w;s3g*rh$3#MAZxJChsoMnx#hA-%8 z^`!Cjm+}}R*FZy~kytD88b}d z(RXF=TT=vYXk;Wi1O<>jPOmBi>mU~B;sADUvH0UNaI5O_%3#k#-g@#94l{mu6pf;i zuw;?=YgEqR)JX?!9d)~<#Qivrb*+eQZYW4W5nEMJF)&p=A`x*D7lrk91&xlNRTxo#}aq%8Kp)_p>5`>k=9ASGU3o1oZVYu8$ki(X%IOyvs16POHSlxNfvUd?pbjM3AWpj=SZroy23a&3 zUcfcHg<7$JyO9-cWvUgXo5rx*N5vpRFw&3fc(wq0F`Nl`Jc!MTsw&n9 zh)KJtJ^F3|=Ppn+TmqpbDysPVm-x*?z!e<_XwGby14IBwdMfn6=2Rh8R12hv0ai|f zY&s+~lvxJxLIL9lHA4|l+lDhZW3`F5)f7BV5G!S4aH#k}fipzq(W6JP)&^JZJdZ~l zvmg}diMg&KV(3UJ2FU4XljZ z!x4pfP=4>Z9whoVtV+lrGJxt%9xN>a$ER%YlPdT=hwN6k85A&pL#)vU9eVU&8YdVM zGw}Ob10Mo&D20w6Ki&bd<9ucv$)XETOpw5zdF{)In|1yDI#81IK)^uKJ4iNe3=2TF z6bE*ih*t&jWuO2H4GT+!if<-ZNjyiCT~l>^eI4;7VnP)5U4OhdDq9efpP&D?m(?rq zGp_))65>e$=`SFNp+!YSFhkXt0_%M!uT?w)YG6F%w{TdZAvi$zM3l$jeDFVao~q$v zJ=CfLOv#5ssh&%H&$Ss;Sdi4z{0IcWJC~@QpSa^R9}O%5Xa?y$+5QMS;UbszG-4Tc z$0jk>mCSaUjw=2Oruw5i3u4koMRi>DyWkf34_L;qf-^zyHiMSm+_difH99`3DlVS` z{HD0(fs|ARn5M`oDylm=79wX;ki_2iPjvsGiG>C?deokBh*Ggo!oNSQ*|#THI+vjt^|G>{!w^1_x=)uO@W!fMC`I3M$)$Xq{9Tj) zhm`3S_Th1>?`_N4J=`(;3%)|yMZ#(*7B5bTN^O@R-i_^ruI)X2SL==kyL=mN9xEjK z#%*6}`b38eNh1p#nc-&2qgi!daMJ;AB0{VfAAG`by^05&m7BWd3k%G_^2haUGcXXy+}Ud<2q3Q2oKxH=)*Z`>Tsqtm_!UZIZd#!R%r9tW$1<}?6qFj;E9p> zSQ8z{Lh+oP7q3~db4^xRvh-r#EdJCIIAzUi`qsTX0Q z00^+=TYjNfrr`SIv^cti{daNk|6G>}iN+?TG^(3|l_@P4TEseD+|AXTnVG>RgV#1V z9LlY|Bwze~6T`?DBXlm~<44|xmX>Zf_4&6t*&w1D@%?%N=TWa?Q06ra${zb;L1A7P zqVda>2@Xk8lAB-_NH2qwu6cV|g!qngE>nGNtxk5f73GK5!la85bHA*x^P+OX+_##V z49L6=bMNm4-8yxJQf%zGma;ccq_ka4Z8}>x7xwtqBtF%{j86$_=H`A+4O%Z2yEpe0 zP^LPS8sLoCD745J-am$dqRFVFH#%eFdK~A9^{kwdQqMoEaVkJNgri^2f$SXjDDYDD z871+okn?ii@iz$K;W7{AArYr|b!TTxxQ$h%=0lXT{eJ}_jl2ObBxCxc}l6duI zIXD&b%d7;V_#OJ}%Qts!ILviuWux)av2KymF-5F(H8m*@cBK_%)PuhTOlYV0(b3bB z5?y$AXD4VT#^$(Wh}-jzw!shymLn%B zn@dWdNswi0yR67p;W+4uxQi(Ty5F}hTlaekwv(eZa-mqPYNDt6N;9X}b`#2VX-kDx zY#lwfYZn(e)cGLJLs$!vR6p?xSw+Jx8gOtM{QFS{|Ib3Dl^Mr<4V+C<>BQ_9%D7*b z`0Ollc;cmw1Ps^5sFQr2Et^&8Y*`knpFa`Btn z5%L!{kkIygd-KV>D6muohm8WR3})3HmC(+dqYJ!~sLgLtH#8KRco78|j`-&0xixaH zp3_l5PLjZK#`aM8_W4VHDW`f2GJ4*0DaCN7OS9aCP?RDu2d_?4q&zv&mRJ&(awZ{O_;ZdZnz zDC%rD_kK$mO&uMM;wOjDS!6A;rSgW~>oJw3*@I689F_Fxo(GIJ!9~ue2IVXdVOr>a ztk=W3tSv^+~`; zZ&+l)Zc=@Z{&%$p$X1WP@4Qh?O*Fd;_(6kA2brwfuvcg2(u_#e(;2%P5A_|&c4v!S1zw)xWZvJ?BjFg1~0Fi52MG|Tt!(~@Xc!3 z=c7!}s5Lio4EKq5E!-nzozpapA)wU;p%mgDn~e~@=%9-h6C?C1s%(eFef|1CVSAYa zOs=5~oK5!dBFs)UZrKfcW*yVZg61xopsql@?s9j}vtV_qVwd95{xsn7E;f4q_+1)q z?aZz&wNoz7lyUtWGoI(WBxDetY0KAd|UwkoO)A)W=Zj#DV@sE?$l3q1b!hd$NV6)cb9@4g2K_Y@*mo07NL;+B2hNV3 zXk_t62`gY%zsJ7_lbV#(8P2^kMc9jGo8Qw_(X`A~?=msJH4+*~>pst~0#3U+tTpR;>pH+A!Un#mF)hD~8ODM@L@e})%HwRQR%?do66 z^?@_2#pD&~(BzgL@gr)QgM|Ekf;D5wol?_5$|;vZ)PP4RvP?<)Bc3p|N&*ra|CDbD z?eh1lhe=rmCC<7;_Y{ViVI`+63i#fW}k8{hpod ze4b=w_6=i0zI?GzF6fl2S|~^9wCVV5kNs+0G2!RlDW1$Yg?m%xX0;t}$5{E?r^moj zxEmrKxV7FS6*^dy-y+8~)YY|3Vcc<+@Fce#E&WM~DpQhA;%>X`52PK21LmmPFrmtu zD(0yxKPib=A?TAu@D3Z>LQD)3W$Bn50tiIwu}X|0FKyQW^~)9$Y`1zZy6 zYh~I^$+FgpS<(0kAk5EQHoO4roSHpRu1vk_p1xE!=nt~XH{Z*QqK4cpUQU=$-Vq2o zX$rIIxp}4THl0MY93)ZGP@NvO>U<_(@o?H4_R#zJ<+Trxh-w#@X1`C}FdduZa_P40 zC!!N*z&!d7_FM6V&p6On*u;Iq{pufT1224^2azAX_`>y^@2Lq z%O3@lBJOm%BS$$Ky|%B*XK4%EbnIu&vb!goU#S6G2+9d`E5o3n5zh=<33FeO#o%y8 zn)$#42aKxmpD@GgiQzj8O0T_qiJ+ozW$7jxR@%g!Wnqu)RrOUIs&8r5 zI0F?3!dyk6^EZlp|S1ttzw|aT})$-LZc2Lx#-FFTH zqoc99S`Xq71X9$ncsZ2DXl{e}^wuvO(JLAp^?T>hQP>*_^o`3-$GkfZ^8d>x^!? zTBud+et zO!0sF7BMl^tEgybYGVI1n4izrc-=Y0=DLUV#SXBCTu|wR)Wpy}AB)9y6}Jzj%*&}b zaMzKX#GuY8A(pUniIqRtRuB2{=G5BCO}UVWh!jB0Kn_gLiAM2x^#Sn~iY7yA>olpO zt35Or&y=v{D4f2s@=U*+40pTd*V73j zx~@Uemj$dynw=wgTdC_}$!6zXXX_`0gq+{qlllk@H0^7Xg176{Qfnuc9gkC_KKovW z%%`xh&`->bTj`j}=(;SCvF0b{?p;fIf8p%ROiof3N(y!?B-<)apF*QDFk``|+&W&m zhB38fun615D=1hbzpWW&fJ@A`;{wmH@|{sTVHY0l_B2Ja*0}BSMDqZo9um6qJ$&}k zjYhi)`Hk8t;i1g2(?56)O4K4wY9}W!VY1kWEf>s>S(zF`P6U`@k->t5#&XQL+Ky~r zUpjg^`#XOpw#^9(-?_oYR?@Vs55p{nk92h}c>U~{7xTiS8!r}3*nCJ{^zj|nD<{G_ zgW`r8_UA)7p-7XMLr1A`#?7=y_)N~ z`b?OOIy|PrXZ_c}?y6Bwj2Y)-)5q0(n;joJX`vbf!Gde8v|T)GO_RsG>0E)Ls)C0?34dPT@t@kURE3DvT)vg*)2);>d&rCueo<@IJF%$Vx(Is0%z5QB%Ix4^T$ z2e*m*S()&7#)-Cj5+a$fn}R`Rk4HH0^rAQc;OiQ$Yb zAgbCkGnbL6F7;P$w8}LO{4mir%iLX}dGe%Y}nm{@(1qeNIsw%_?NV4H@ z!gMwd;J8m$xlq(+ge48Hz`#^TCgsY8421P4+ciwQj~-q|&u ziDd~ef?NZRM81u*!${-=%?}u@QvO*1hNc$NV?G7&ZFc#*67a?9DtYfy!``z?K<*SQ z(*Z;7Ay_QF%Dc}T0^En%M9$gO>25UGzO=hBx+enw1M&Kzt<(PYnQ!o*p8HTJw*@t_ zbVB#_RJTawH&OBcEkO4^~*k=uGB)`f}$_xziNq+lOE3Sq;sr_?6+^L3^5-&{o8meoUG5R&UU<% zr7FJuthabRb>kW*r#y@y(w+Pvu)59oi)*f$C9B$;_??lq};5o zK}t+;KQcH2M_M)wt^tRk2mZLJ&!l%(;C2P*J8UX^ubD zfoe`$jRa^_o&)z)pbh;mI+vJ)mi9Y^2mEb?MAZtsd zoDCl%cc$v&5h`8Z188)Dg_~LD%oGpXA66XjkI=ACxocEEjvPeq_yK3({<>$Wr;E!! zHe-{x!d0oBCv7qvMjjiL_sD-JbaxI~Xz+KJ0{=~yd-EUF!2jW87lRpANn-qTH~yfC zALvy^u)P8Hi=uiu+Xg&*o@Px7b5a{eLf0(R@Mk;ij_aDVoZF)v=nxw=TG^9stGZmv zZWwTs&#sdqDI-`GbJ`)AKUK$};FNt>d4P;>tFifd;2niQXMHUp<0HIO-Urun16Pyu z`vp<)vNmN|thk<+qV-J)yTRFra9itH%DWkDg>$akrprV-%0lj?6vIh;N@cMA!c5lQ zwR!TA%quLf-DPR2=f1zbk>6(~T=K?7vdIKHH}iHNOi#ITyA}}$^V`#(3LmCw>q}gU zN;q74Hh(SDmGZMal2&-u`L&QDm3NfS!A^VLC@g$iQ)zG(mjc(sKVvoLnfIcv%Q2VJ zD>1zhcOc8b$E z>I};(pF){xJlizqevetnEZWa{LvH_Miwo+^|IEL(du(5H*16>S4GVJ=iD1?G_7K&D zKYlgG%*1Hb+v5p=_4@%Hk+AwbT?CXv=d!vsxsR5wc?S_aY#*Sd7D&^F)9i}~KG_fW zs2~_q2Bvb_#8>R!*TDK^crr@4z_8M+&$u6?&V>+ zS!R;<_?Mq0DR}2mKviW2)JaBwN+HXpx6C zMr_OOskydIeXe{DTU!Iv1GRE_WP&La^Q!RL{8_`uvmLg41{Tp3{Vw+mi0X}byRCxJ zDEZM8)wQ`4ZjwDLzQ)$baPqj;-ars5X`od`X?PY#@THiI7u8;fb9ITu^B)b)A9%D%2uu2y-EW)~b-=Jf{`G%$z)7+BdmEc2xMm_r&a- zBBqQfFWJEtyVmdp<+_kinq8@U<6c1abEn)71)=Bdau!`<6zdx7d^KOtaHNPTR>nzp zzCEGk`srTQNXXrQN3R=i+ACYQXtPF-$qutQRRC*U&;3iJNqH6EGCVH*k_sY4K3vZ zExpOlN<=Q~vFQfhHjmn|`0Ucz=w`<=k`Hq?i@>vGJvU$ZmYBKEQi;HKjj z9tC#(oU?(TrZ>Frc#ms`ZemPZ=ERq?ckWTe|Ng7{ZpkLZt8s0CPFc>2l|N%5`M2hQ zRYyh)e~dGj(^v>()b}3^`Jm_7`II$vYTDUdJz@3_*IqVeUX4>8bcU8#+a|1kOlX)G zMoOtkJbPmMtdX@r$BCG-hN+i7$TEf5Djl>&hM0=$mYP?T%6Cxt6Ar989J@QMRAORN zugY|vsr57}W>BAB$f@mMND~sdIbG@DJ~8n$X~a@=Z7y)rR;-)K8#}fnhQ#hd+vbiy z16*Y8NHj%0KC5*j)Ssx6QRYt%wO{#qY*! zGH$w6@jxcLI(GEUorn5Vy65h%nT_Hllv1WjJ%!^wg6Ue zm;^=&L%q})t}|*+AxQ0RK_%PAT}4UIhQ zKw(#L6oaBbnDsY1r~K~9;~#5r$$Qp!PrdH456SQ;V6dFecG{+pLtm$5>k#t!we4=n zjD>wQU6XTIwZdTFRceyfZV#iI-$M-E5uIE8b~BA@*7psonSGDBtwV8H^NZ$z@dYzC zNsr>E>+5#{ysD%|ZqEomfAeR{Z}EvEzn)51A)SIs?Nu5}1|6mB)7^e|q7rH=-*(iW z2xm;&UfMX((9lBqdenp8?qi(dR}(YXq(sekLdiqgv`HI`M7dx_TmnPf15+KtJv+|w zwt9}?+IjWYtY&kcnS|7GJKPe&r=o?=MgWYG@9Vm>is{`Ut=!&!;!>++Cu&OF-n(mF zUVP}(HNIT^p4UGYFE-t=boa5ZpRUbdo!-2mu-pIjX7}t@A8sGCnmS?WOJI4YrT4n+ zw}NN)_qZv&TRktE7f%;q2yszMPfstt`f6VY(*fCsHzqop@8t(BYXBZ8@i2j5NAbT0 zHC8=JAp-8|Y_Dfps&Dxg@X7ae^X$c2&!mZJhwKW>WuCL;%TB9LlDoH`c|O_5|9QD( zgSC5Q3}~YH9e92?VNT1IPyCDD_6Dvl za4pYpCyZ(Jt<3K`*npQ2y__qWuED_&5^x82)gv&&C^Fr@Q}6yJ{l`q6oBg+rG6Hq= zS%X^PK#)LMTMFLfdaAWzmaHp7vJ^vsEI7qaSv}nQBMWM|MMR=~V@F9SfK z{Hx$>q-@vO1qwS-uddEpKi#VO<;!oOnrsYH7$I7B3%<26T{Ks{6{t%Lbj=8$J= ns88A6q{oD~=h&irQ<-nuVu{_S(1I*`HB)z4*}Q$iB}74u&( literal 0 HcmV?d00001 diff --git a/modules/monitoring-accessing-user-workload-metrics.adoc b/modules/monitoring-accessing-user-workload-metrics.adoc new file mode 100644 index 0000000000..542e59b253 --- /dev/null +++ b/modules/monitoring-accessing-user-workload-metrics.adoc @@ -0,0 +1,26 @@ +// Module included in the following assemblies: +// +// * monitoring/user-workload-monitoring.adoc + +[id="accessing-user-workload-metrics_{context}"] += Accessing user workload metrics + +Once you have enabled user workload monitoring, deployed the workload, and, optionally, gave additional view permissions, you can access the custom metrics as the cluster administrator, as a developer, or as another user with permissions. + +.Prerequisites + +* You need to have deployed the workload that you want to monitor, such as an application or a service. This example uses the application described in xref:../monitoring/user-workload-monitoring.adoc#deploying-a-sample-application[Deploying a sample application]. +* You need to have user workload monitoring enabled. +* If accessing metrics as an arbitrary user, the user needs to have the permissions as described in xref:../modules/monitoring-granting-a-user-access-to-metrics.adoc[Granting a user access to metrics]. + +.Procedure + +. Access the Prometheus web interface: ++ +* To access the metrics as a cluster administrator, go to the OpenShift Container Platform web console, switch to the Administrator Perspective, and click *Monitoring* -> *Metrics*. +* To access the metrics as a developer or a user with permissions, go to the OpenShift Container Platform web console, switch to the Developer Perspective, then click *Advanced* -> *Metrics*. Select the project where the user workload resides. +. Use the PromQL interface to run queries for user workload metrics. This works the same as with cluster metrics queries. + +.Additional resources + +* See the xref:../monitoring/cluster-monitoring/examining-cluster-metrics.adoc#examining-cluster-metrics[section on using the PromQL interface]. diff --git a/modules/monitoring-deploying-a-sample-application.adoc b/modules/monitoring-deploying-a-sample-application.adoc new file mode 100644 index 0000000000..b9c74a28e8 --- /dev/null +++ b/modules/monitoring-deploying-a-sample-application.adoc @@ -0,0 +1,99 @@ +// Module included in the following assemblies: +// +// * monitoring/user-workload-monitoring.adoc + +[id="deploying-a-sample-application_{context}"] += Deploying a sample application + +To test user workload monitoring, you can deploy a sample application. + +.Procedure + +. Create a YAML file for the application configuration. In this example, it is called `prometheus-example-app.yaml`. + +. Fill the file with the configuration for deploying the application: ++ +[source,yaml] +---- +apiVersion: v1 +kind: Namespace +metadata: + name: ns1 +--- +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + labels: + app: prometheus-example-app + name: prometheus-example-app + namespace: ns1 +spec: + replicas: 1 + selector: + matchLabels: + app: prometheus-example-app + template: + metadata: + labels: + app: prometheus-example-app + spec: + containers: + - image: quay.io/brancz/prometheus-example-app:v0.1.0 + imagePullPolicy: IfNotPresent + name: prometheus-example-app +--- +apiVersion: v1 +kind: Service +metadata: + labels: + app: prometheus-example-app + name: prometheus-example-app + namespace: ns1 +spec: + ports: + - port: 8080 + protocol: TCP + targetPort: 8080 + name: web + selector: + app: prometheus-example-app + type: ClusterIP +--- +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + labels: + k8s-app: prometheus-example-monitor + name: prometheus-example-monitor + namespace: ns1 +spec: + endpoints: + - interval: 30s + port: web + scheme: http + selector: + matchLabels: + app: prometheus-example-app +---- ++ +This configuration deploys an application named `prometheus-example-app` in the `ns1` namespace. This application exposes the custom `version` metric. + +. Apply the configuration file to the cluster: ++ +---- +$ oc apply -f prometheus-example-app.yaml +---- ++ +It will take some time to deploy the application. + +. You can check that the application is running and exposing metrics: ++ +---- +$ oc -n ns1 get pod +NAME READY STATUS RESTARTS AGE +prometheus-example-app-7857545cb7-sbgwq 1/1 Running 0 81m + +$ oc -n ns1 get servicemonitor +NAME AGE +prometheus-example-monitor 81m +---- diff --git a/modules/monitoring-enabling-user-workload-monitoring.adoc b/modules/monitoring-enabling-user-workload-monitoring.adoc new file mode 100644 index 0000000000..80fa5fd5d6 --- /dev/null +++ b/modules/monitoring-enabling-user-workload-monitoring.adoc @@ -0,0 +1,40 @@ +// Module included in the following assemblies: +// +// * monitoring/user-workload-monitoring.adoc + +[id="enabling-user-workload-monitoring_{context}"] += Enabling user workload monitoring + +You can enable user workload monitoring using the cluster monitoring ConfigMap. + +.Prerequisites + +* Make sure you have the `cluster-monitoring-config` ConfigMap object with the `data/config.yaml` section. + +.Procedure + +. Start editing the `cluster-monitoring-config` ConfigMap: ++ +---- +$ oc -n openshift-monitoring edit configmap cluster-monitoring-config +---- + +. Set the `techPreviewUserWorkload` setting to `true` under `data/config.yaml`: ++ +---- +apiVersion: v1 +kind: ConfigMap +metadata: + name: cluster-monitoring-config + namespace: openshift-monitoring +data: + config.yaml: | + techPreviewUserWorkload: + enabled: true +---- + +. Save the file to apply the changes. The user workload monitoring is enabled automatically. + +.Additional resources + +* See xref:../monitoring/cluster-monitoring/configuring-the-monitoring-stack.adoc#configuring-the-monitoring-stack[Configuring the monitoring stack] to learn how to create `cluster-monitoring-config`. diff --git a/modules/monitoring-examining-metrics-as-a-developer.adoc b/modules/monitoring-examining-metrics-as-a-developer.adoc new file mode 100644 index 0000000000..d70a92553a --- /dev/null +++ b/modules/monitoring-examining-metrics-as-a-developer.adoc @@ -0,0 +1,24 @@ +// Module included in the following assemblies: +// +// * monitoring/cluster-monitoring/examining-cluster-metrics.adoc + +[id="examining-metrics-as-a-developer_{context}"] += Examining metrics as a developer + +You might enable user workload monitoring for an application or service in a project. In that case, a developer of that project can examine the exposed custom metrics using the Developer Perspective in the Web console. + +:FeatureName: Examining metrics using the Developer Perspective +include::modules/technology-preview.adoc[leveloffset=+0] + +.Procedure + +. Open the {product-title} Web console, switch to the Developer Perspective, and navigate to the *Advanced* -> *Metrics* page. Select the project where the user workload resides. ++ +image::monitoring-metrics-developer.png[] + +. Now you can work with custom metrics in the same way as with cluster metrics. + +.Additional resources + +See the xref:../monitoring/user-workload-monitoring.adoc#user-workload-monitoring[User workload monitoring documentation]. + diff --git a/modules/monitoring-granting-a-user-access-to-metrics.adoc b/modules/monitoring-granting-a-user-access-to-metrics.adoc new file mode 100644 index 0000000000..8cc269e93f --- /dev/null +++ b/modules/monitoring-granting-a-user-access-to-metrics.adoc @@ -0,0 +1,21 @@ +// Module included in the following assemblies: +// +// * monitoring/user-workload-monitoring.adoc + +[id="granting-a-user-access-to-metrics_{context}"] += Granting a user access to metrics + +By default, only cluster administrator users have access to user workload metrics. Using the soft tenancy feature, you can also grant metrics access to an arbitrary user, who only has access to a particular project. + +.Prerequisites + +* You need to have deployed the workload that you want to monitor, such as an application or a service. This example uses the application described in xref:../monitoring/user-workload-monitoring.adoc#deploying-a-sample-application[Deploying a sample application]. +* You need to have user workload monitoring enabled. +* You need to have a user created. For the sake of an example, you can create the `johnsmith` user by running `oc create user johnsmith`. + +.Procedure + +. In the Web console, navigate to *User Management* -> *Role Bindings* -> *Create Binding*. +. In the *Role Name* field, enter `cluster-monitoring-view`. +. In the *Subject Name* enter name of the user, for example `johnsmith`. +. Confirm the role binding. Now the user has been assigned the `cluster-monitoring-view` role, which allows him to access the metrics. diff --git a/monitoring/cluster-monitoring/examining-cluster-metrics.adoc b/monitoring/cluster-monitoring/examining-cluster-metrics.adoc index 9fe6461bd1..cd5dfe4e14 100644 --- a/monitoring/cluster-monitoring/examining-cluster-metrics.adoc +++ b/monitoring/cluster-monitoring/examining-cluster-metrics.adoc @@ -10,6 +10,7 @@ toc::[] include::modules/monitoring-contents-of-the-metrics-ui.adoc[leveloffset=+1] include::modules/monitoring-running-metrics-queries.adoc[leveloffset=+1] include::modules/monitoring-exploring-the-visualized-metrics.adoc[leveloffset=+1] +include::modules/monitoring-examining-metrics-as-a-developer.adoc[leveloffset=+1] .Next steps diff --git a/monitoring/user-workload-monitoring.adoc b/monitoring/user-workload-monitoring.adoc new file mode 100644 index 0000000000..d7500c6bc6 --- /dev/null +++ b/monitoring/user-workload-monitoring.adoc @@ -0,0 +1,17 @@ +[id="user-workload-monitoring"] += User workload monitoring +include::modules/common-attributes.adoc[] +:context: user-workload-monitoring + +toc::[] + +You can use the Prometheus Cluster Monitoring stack to monitor your applications, services, or other custom workloads in addition to monitoring the cluster. This way, you do not need to use an additional monitoring solution. This helps keeping monitoring centralized. +Additionally, you can extend the access to the custom metrics beyond cluster administrators. This enables developers and arbitrary users to access the metrics. + +:FeatureName: User workload monitoring +include::modules/technology-preview.adoc[leveloffset=+0] + +include::modules/monitoring-enabling-user-workload-monitoring.adoc[leveloffset=+1] +include::modules/monitoring-deploying-a-sample-application.adoc[leveloffset=+1] +include::modules/monitoring-granting-a-user-access-to-metrics.adoc[leveloffset=+1] +include::modules/monitoring-accessing-user-workload-metrics.adoc[leveloffset=+1]