From 05e79a5098360e586d76e2bb74aa155294d79b5d Mon Sep 17 00:00:00 2001 From: Moritz Graf Date: Fri, 3 Jul 2026 07:19:29 +0200 Subject: [PATCH] feat(monitoring): add prometheus-operator monitoring & alerts for n8n, influxdb, and home-assistant - Enable Prometheus metrics endpoint in n8n, InfluxDB, and Home Assistant. - Add ServiceMonitor configs for scraping metrics, including token authentication for Home Assistant. - Define native PrometheusRules for health checks, restarts, volume capacities, and n8n event loop lag to prevent login freezes. - Deploy AlertmanagerConfigs to route alerts from the new namespaces to Telegram. --- k8s/README.md | 2 +- .../home-assistant-token.secret.yaml | Bin 0 -> 335 bytes k8s/home-assistant/home-assistant.secret.yaml | Bin 7352 -> 7445 bytes .../prometheusrules.secret.yaml | Bin 0 -> 1557 bytes k8s/influxdb/monitoring.secret.yaml | Bin 0 -> 1428 bytes k8s/n8n/n8n.secret.yml | 66 +++++++++++++++++- 6 files changed, 66 insertions(+), 2 deletions(-) create mode 100644 k8s/home-assistant/home-assistant-token.secret.yaml create mode 100644 k8s/home-assistant/prometheusrules.secret.yaml create mode 100644 k8s/influxdb/monitoring.secret.yaml diff --git a/k8s/README.md b/k8s/README.md index 0c0c9f1..3cbd8f9 100644 --- a/k8s/README.md +++ b/k8s/README.md @@ -365,7 +365,7 @@ helm repo add prometheus-community https://prometheus-community.github.io/helm-c helm repo update helm upgrade --install --create-namespace prometheus-operator prometheus-community/kube-prometheus-stack -n monitoring -f monitoring/prometheus-operator.secret.yml --version 56.6.1 # alert configuration -NAMESPACES_TO_ALERT=( kube-system monitoring cert-manager datalab ingress-nginx mailu minio velero web openebs ) +NAMESPACES_TO_ALERT=( kube-system monitoring cert-manager datalab ingress-nginx mailu minio velero web openebs n8n influxdb home-assistant ) for i in "${NAMESPACES_TO_ALERT[@]}"; do kubectl apply -f monitoring/alertmanagerconfig.secret.yaml -n $i done diff --git a/k8s/home-assistant/home-assistant-token.secret.yaml b/k8s/home-assistant/home-assistant-token.secret.yaml new file mode 100644 index 0000000000000000000000000000000000000000..600f4bb5edbfa05cc177df73e5640c8f6f0d5bd7 GIT binary patch literal 335 zcmV-V0kHl6M@dveQdv+`0CdP-w2$|}E)qLB;_-UgSvnx%4_Nwc!aY_$(lw3Ea=LWj zSs)Qs7w8zze9i-&hfvCYZ!C={)n|ugj_=RmJt5uD2!4jF-o2+-mz@GCY`(kbn~X#& z0W602Rf|w`ICfs3AkB^f=t(VZWPh!7SII_FQOCC-$BpZ(87HqSuc~$+?8#Dq* z?~0m%m-b(ZGp2bUE-NosbMFZOX)F$MB@T#PYjbp;Hc1Ltm#J?|q2K;gKIf~NZMSL`j)X>?T{i|s`%vjp;7<< literal 0 HcmV?d00001 diff --git a/k8s/home-assistant/home-assistant.secret.yaml b/k8s/home-assistant/home-assistant.secret.yaml index 55b86d7fff50f0806bce82e3c30977134aa65daa..9d7f3aa42310f7920f6ce87978e40581490a1ef3 100644 GIT binary patch literal 7445 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 TiV&cWB3&4$kt)wPV3N(o3y_o6 literal 7352 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 diff --git a/k8s/home-assistant/prometheusrules.secret.yaml b/k8s/home-assistant/prometheusrules.secret.yaml new file mode 100644 index 0000000000000000000000000000000000000000..752e2d4d477b72529852a988571401157fa00812 GIT binary patch literal 1557 zcmV+w2I~0$M@dveQdv+`07^?MCti$`T1`^KE9j+C0&OcgOmZ*3M4uL~g}{=TQ97oy z5Bd@nvfGs}!&JoZ7M7uH_ z`7Am7t+4jei0P!Umhd)-@@0o!zBmzr#l05Twc7_r9wn|QD~6rWi^nuY_x8wkIcy}< zqVy#)nn)R-)D1U901{|!AVJ8!hu1c8b{fFBFBKjfbAs1f?497dn^cjQb_|{~czwih zdJlb1?EYojzX2S^Ba`ux)JQR*&G)>@CMsHH$QALUh3y8ap!U&cd6;4Qs3}kCJTKn8 z5hLvWiUAv$M|iD3&@QBN4*L=oX|mm8&#mj%o@Qa zLd$a>)?(47xxG+3b01yzyG}xcH4;PUqYVK+ga19QH86Ez%*`brT$JUEJ@S1gh3XRi z$!YoyYpp}G3-J6dKovXQ^s&jl+MQj09Sp%8Ff`mGn z2!dfBF*j(^2k=Xrx=75pI=r~%+ep(Vsym4dIYCm&uJO}n`4RbWiU2TZ$8Fv(kEAzI zh+0_M9wdC+?R8RF=S^fnr@B2|8eptL-EYqqKCI}j*qa9slH^)z4F40mR%Oh=8!HZK z5?m58ErOGr0A!Xpj?;DLBl>H>>gQ8Yr^yCV3e?S6QIMMpG4hmfwjem#Cpx{dVBu~1 znol+WgW|TJ3U;!UT>BYcvK3!(@MUM0+ePttvHVYvsFZKx z9e|7%qpY;!B6F#l-GEls`uy;g{j7m(IhP+`;j`2=`>We8%YAB{@#iAfXY~}+hUU?+ zQc!{ZBA6i!VJ4G;=Xe4S@z~Je45#-b3a*Lw37NUvLYDk(+tIH>YS939DW3h`lQZs0 z0^>=gnPR*G!Msh_N=d{36u?+ELnW2fznwC$-bD4MErvyEIfWW>cYR~>;XUEi!Jj74#}(MSfC@p z781mfG!CE%G#W;g)Megvs|n83^D~nAS$9kzL#;L^^Fvv+^;-?kE06pZek%2Pd)B3XiT|g0}$E0f6~#vyJW%u0P96nl7AA}xKA~aU=u-XZhcg9)OOvh zoy3M@AWwBA!-=R!Ht$Dno&=dl?^55YHAC-!i-tR}#F+wJTz+X7_Q%Yqb$$+BaiFe? zd{56uE7DEo7aKrRuvd4bcmT=X#$HY0wi%T=J$1g3Z%-x8^9bn$H3j-2HA!~~ zLV}rEu_r2zS@19}Bkvh)-$JOQX!M>ht`*i*EA0Pvc1NJ+HR0+g-j*mLqKWcV?Kp{N z{Q+GT-Ea2xglBs9B^vYABWQt^D&BiRK6rNSvIg(g`x;&Bo5my5EciUWp)g27Jh7lsmIY6Z}D@cHiJ@xjG%1h^wB}DeNmKrN6_SOVm zw4%vBw@X;fCOha~VDxl0=hd21)ApqpT=>~0fyU!kObchE zuGp_v%~%5PP4xX22g<)nT$ns{(!R0Ky&RK}ISmL)I5?Z%O>{kr)dT1QH|08io!9sZ Ha0_?1I`j(n literal 0 HcmV?d00001 diff --git a/k8s/influxdb/monitoring.secret.yaml b/k8s/influxdb/monitoring.secret.yaml new file mode 100644 index 0000000000000000000000000000000000000000..a975a8f6d64d82bc5f3be7c1c99b07bd06803beb GIT binary patch literal 1428 zcmV;F1#9{MM@dveQdv+`0AE0U#CdvgpaD%_b6O#?La_h;-*(|HkV?qTV=>r%<(U}$np)%3YybLt=(FE%H{ zD&F*|w*%Kp*sW~I^c%h3wrVZ)HV-8`VW}$9Qz7+J(d@>LXHP(O)3808E>J!x$*<#X zoxmbS7Hb769FRlOj&XY3j%(}uoD_VT^mI-_RnT~%izGV>Umg0;3X=uc@;Tx$$t%ix zDrEL^Wq_~R!{ZQobz646^JfQfXi9W70q{HZA+#|cmk?5Pt+AE)oB5^YU%@wMSpe5A zLyY|wYhWaY6X-cuO~F*f3jrklX=iPqLFFI&)%Zv_$`k z7%r^NUC{URZKT)^FgBH)XtE_M154d2!`5h$>Pm}h6*hUbxc`5RjrhS0BTZUWq8tYo zE!9R>)BseXijQ`?Uh?FJ?_>iRe8O5yC#pz0IA!hHDb>_9R6?{Rxdg&pAnEC*fULdw z7o%*jB#u?DPwV2K;e!QWf~t0B_7d6?>~=2GPvLPsc-TfSv440UfD0j-cUJ*v??^Q^{N*l`A>p$RtP} zd4p)1XAc`J%C}@^DfS5l{pdXcX{K0s~(eE6E`KJX|DUH^&Vn7hpqH8 zG3lZ)0Cz%S%ng}!0-M)L?9&`Y65br${Y|CqxJy*%bt*<9>>iC-t;A{fE>xN=|627q zQM8U{L#tkX9EyJvYD}-SPA9xeMZt9wO*nUtu@ePkTEqo1`$`Q=1XNX$P4Wj)IdUu8 zp{I(@-cRcHl?M_~)Uh@Du!u;Fb1AB_Zw&)_bMC-08xai&0YTNY4bs)&825!QC+Oz< zcr~zRdc++$({>=o7NA15oa?ywkZXNY<0%Z~fr1<^H$}pTo}ZE_WIGh3>CU5_3T08~ zkn)*J1%p41+_%nNL8LCJgsnF;NQ8Em!0ng${N%apa@Qsr#+u@w@~OSSGyrw{`oMOZrbqOw?&&tQ=zficpli^Lu;pGCyx9JU}RG1*ecH`~uEp%F-xe z=b~~z0yY&s4|hpRlZ2+tf!jNE>*a{nQEZ=myqfTeDV4+uxQyD=TO*Q%egO{g|GDrl z>Ys@6Nrl_y1-jnZYmqoYlya*j@kNVqT^iUy^CvjqA~n+gOU0xmzO&&XhYdSDpY3a1 zgCR0aultq0l#27vgMaFD6;87<#faM3a|oEeOIf!h8__;HW^=x=8PR3ffSZ;P{1mwv zI2;HC)sPK7$ln5E$(D@aTy|-?d5IY51@vl(+!+qbM`P)=|>kJQ{DeyUI^O0~f`3U6dzYJ#b?yEC@iz0!rq iwW-nhbb 1 + for: 5m + labels: + severity: warning + annotations: + summary: "n8n pod is restarting frequently" + description: "n8n has restarted in the last 15 minutes. This might indicate liveness probe failures due to database issues or memory limit exhaustion." + - alert: n8nNodeEventLoopLag + expr: nodejs_eventloop_lag_seconds{job="mop-n8n"} > 1 + for: 5m + labels: + severity: warning + annotations: + summary: "n8n event loop lag is high" + description: "n8n Node.js event loop lag has exceeded 1 second for the last 5 minutes. This can make the UI unresponsive and logins fail." + - alert: n8nPodNotReady + expr: kube_pod_status_ready{condition="true", pod=~"mop-n8n-.*"} == 0 + for: 5m + labels: + severity: critical + annotations: + summary: "n8n pod is not ready" + description: "n8n pod has been in non-ready state for more than 5 minutes. This is likely due to failing readiness probes (/healthz check failing, possibly database connection issues)." \ No newline at end of file