Hoppa till innehållet
Stackship-dokumentation English

ÖvervakningAdministratörerMaskinöversatt

Vad övervakningen behöver från klustret

Hur övervakningsmodulen hittar kubelets, ingresskontrollern och Longhorn, vad var och en ger, vad som saknas utan dem, och inställningarna som pekar modulen mot dem.

Övervakningsmodulen kör som driftsättningen module-monitoring i stackship-system. Den bevakar klustret den kör i — plattformens eget — och inget annat: resurser i andra kluster anslutna till plattformen har inga mätvärden och utlöser inga larm. Den installerar inget i klustret; den hittar det som finns där, och en komponent som inte finns ger helt enkelt ingen data.

Vad den läser

Källa Hittas som Vad den ger Utan den
Varje nods kubelet Varje nod, via Kubernetes API-serverns nodproxy CPU, minne och nätverk för containrar; nodens använda CPU och minne; fyllnadsgrad för persistenta volymer Inga mätvärden alls
Ingresskontrollern nginx Poddarna bakom en Service med namnet ingress-nginx-controller, på port 10254 HTTP-förfrågningar per resurs och status Inga HTTP-diagram och inga larm om felandel i ingressen
Traefik Poddarna bakom en Service med namnet traefik-metrics, på port 9100 Detsamma, från Traefik Detsamma
Longhorn Poddarna bakom en Service med namnet longhorn-backend, på port 9500 Lagring per nod och disk, och volymernas hälsa Inga lagringssiffror på Hälsa och inga lagringslarm

En Service hittas på sitt namn i vilken namnrymd som helst. Nodernas kapacitet — vad varje nod kan tilldela och vad dess poddar har begärt — kommer från själva Kubernetes-API:t.

Modulen läser allt detta med sitt eget tjänstekonto, stackship-module-monitoring, som installationen binder till ClusterRole stackship-module-monitoring-role: läsåtkomst till noder, poddar, services, endpoints, persistenta volymer, ingresser och Traefiks IngressRoutes, och till nodproxyn. Plattformen binder det också till en ClusterRole som genereras från behörighetskatalogen, stackship-module-monitoring, som också bara ger läsåtkomst. Ingen av dem ger skrivåtkomst.

Ingresskontroller

  • nginx. Installationens nginx har sina mätvärden påslagna. Om kontrollern installerades med ett annat Helm-releasenamn än diagrammets har dess Service ett annat namn — sätt IngressController__ServiceName till det.
  • Traefik. Installationens Traefik har mätvärdestjänsten traefik-metrics påslagen. En Traefik utan den tjänsten ger inga HTTP-mätvärden förrän en Service med det namnet exponerar dess mätvärdesport 9100.

Förfrågningar kopplas till resurser genom etiketterna som plattformen sätter på sina ingresser och Traefik-rutter.

Longhorn

Två Longhorn-inställningar exporteras inte som mätvärden, så modulen måste få veta dem, och de måste stämma med vad Longhorn är inställt på. En avvikelse snedvrider lagringssiffrorna och larmen utan något fel.

Inställning Måste stämma med Longhorns Standard Används till
Longhorn__OverProvisioningPercentage storage-over-provisioning-percentage 100 Lagring reserverat på Hälsa och larmet om schemaläggningsmarginal. Med Longhorn på 200 och modulen på 100 visar båda dubbla den verkliga siffran
Longhorn__MinimalAvailablePercentage storage-minimal-available-percentage 25 Larmet om diskutrymme, som varnar 5 enheter ovanför den

Jämför dem med:

bash
kubectl -n longhorn-system get settings.longhorn.io storage-over-provisioning-percentage -o jsonpath='{.value}'
kubectl -n longhorn-system get settings.longhorn.io storage-minimal-available-percentage -o jsonpath='{.value}'
kubectl -n stackship-system get configmap module-monitoring-config -o yaml | grep Longhorn__

Inställningar

Installationsprogrammet frågar efter de fem första bland modulen Monitorings inställningar, under Ingress och Storage. De når modulen som miljövariabler från ConfigMap module-monitoring-config i stackship-system, och läses när den startar.

Miljövariabel I installationsprogrammet Standard Betydelse
IngressController__ServiceName Ingress Controller Service Name ingress-nginx-controller nginx-kontrollerns Service
Longhorn__ServiceName Longhorn Manager Service Name longhorn-backend Longhorns Service
Longhorn__MetricsPort Longhorn Metrics Port 9500 Porten där Longhorn levererar sina mätvärden
Longhorn__OverProvisioningPercentage Longhorn Storage Over-Provisioning % 100 Se Longhorn
Longhorn__MinimalAvailablePercentage Longhorn Minimal Available % 25 Se Longhorn
TraefikController__ServiceName Frågas inte efter traefik-metrics Traefiks mätvärdestjänst
TraefikController__MetricsPort Frågas inte efter 9100 Porten där Traefik levererar sina mätvärden
Alerts__RetentionDays Frågas inte efter 30 Dagar ett löst larm sparas — se Lagringstid för larm
Alerts__Notifications__Enabled Frågas inte efter true Om modulen försöker mejla larm på nivån Critical — se Larmmejl

Starta om modulen efter att du har ändrat ConfigMap:

bash
kubectl -n stackship-system rollout restart deployment/module-monitoring

Uppgraderingar av plattformen behåller ett värde du har ändrat och en nyckel du har lagt till. Alla inställningar som modulen läser står i dess konfigurationsreferens.