Monitoraggio Kubernetes

Osservabilità completa per i vostri cluster Kubernetes. Monitorate nodi, pod, container e servizi con discovery automatico, compatibilità Prometheus e alerting intelligente.

Bleemeo Kubernetes Dashboard - Monitoraggio completo cluster K8s con stato dei nodi, metriche pod, richieste CPU e utilizzo memoria
4
Livelli di Monitoraggio
<100MB
Memoria Agente
100+
Auto-Discovery

Osservabilità Full-Stack Kubernetes

Dalla salute del cluster alle metriche dei singoli container, ottenete visibilità completa sul vostro ambiente Kubernetes.

Cluster API, etcd, scheduler
Nodi CPU, memoria, kubelet
Pod Ciclo di vita, riavvii
Container CPU, memoria, OOM

Livello Cluster

Salute del control plane, latenza API server, performance etcd, metriche scheduler

Livello Nodo

CPU, memoria, disco, rete, stato kubelet, condizioni dei nodi

Livello Pod

Ciclo di vita dei pod, conteggio riavvii, richieste risorse vs limiti, readiness

Livello Container

CPU throttling, utilizzo memoria, eventi OOM, stati dei container

Networking

Endpoint dei servizi, traffico ingress, risoluzione DNS, network policy

Storage

Utilizzo PersistentVolume, stato dei claim, capacità storage class, salute dei mount

Cosa Monitoriamo

Control Plane

Monitorate il cuore del vostro cluster Kubernetes per affidabilità e performance.

  • Latenza richieste API Server
  • Salute e latenza etcd
  • Profondità coda Scheduler
  • Metriche Controller manager
  • Scadenza certificati

Nodi e Kubelet

Monitorate la salute dei nodi e le performance del kubelet in tutto il cluster.

  • CPU, memoria, disco del nodo
  • Stato di salute Kubelet
  • Condizioni del nodo (Ready, DiskPressure, ecc.)
  • Capacità e allocazione pod
  • Metriche container runtime

Pod e Container

Visibilità approfondita sulle performance dei workload e il consumo di risorse.

  • Utilizzo CPU e throttling
  • Utilizzo memoria e OOM kill
  • Conteggio riavvii e crash loop
  • Richieste risorse vs limiti
  • Stati ed eventi dei container

Servizi e Networking

Monitorate gli endpoint dei servizi e la connettività di rete.

  • Salute endpoint servizi
  • Traffico e latenza Ingress
  • Efficacia network policy
  • Tempi di risoluzione DNS
  • Metriche service mesh (Istio, Linkerd)

Risorse Workload

Monitorate Deployment, StatefulSet, DaemonSet e Job.

  • Stato repliche Deployment
  • Progresso rolling update
  • Ordinamento StatefulSet
  • Copertura DaemonSet
  • Completamento Job e CronJob

Storage Persistente

Monitorate PersistentVolume e performance dello storage.

  • Stato binding PV/PVC
  • Utilizzo capacità storage
  • Throughput e latenza I/O
  • Provisioning StorageClass
  • Errori mount volume

Funzionalità Kubernetes-Native

🔍 Auto-Discovery

Scoprite e monitorate automaticamente pod, servizi ed endpoint. Nessuna configurazione manuale necessaria quando i workload scalano.

📊 Compatibile Prometheus

Supporto nativo PromQL. Scraping degli endpoint Prometheus esistenti. Usate le vostre recording rule e alert esistenti.

🏷️ Label-Aware

Filtrate e aggregate per label e annotation Kubernetes. Raggruppate le metriche per namespace, deployment o label personalizzate.

📈 Ottimizzazione Risorse

Dimensionate correttamente richieste e limiti delle risorse basandovi sull'utilizzo reale. Identificate workload sovra e sotto-dimensionati.

🔔 Alerting Intelligente

Alert preconfigurati per problemi comuni K8s: CrashLoopBackOff, pod pending, nodi NotReady, scadenza certificati.

🌐 Multi-Cluster

Monitorate più cluster Kubernetes da un'unica dashboard. Confrontate le performance tra ambienti diversi.

📦 Deploy con Helm

Distribuite l'agente Bleemeo con un singolo chart Helm. Pronto per GitOps con opzioni di personalizzazione complete.

🔗 OpenTelemetry

Ingerite metriche e log via OpenTelemetry. Correlate le metriche dell'infrastruttura con i dati applicativi.

Setup Rapido con Helm

1

Aggiungete il Repository Helm Bleemeo

Aggiungete il repository ufficiale del chart Helm Bleemeo alla vostra installazione Helm.

helm repo add bleemeo-agent https://packages.bleemeo.com/bleemeo-agent/helm-charts
helm repo update
2

Installate l'Agente

Distribuite l'agente Glouton come DaemonSet con le credenziali del vostro account.

helm upgrade --install glouton bleemeo-agent/glouton \
    --set account_id="your_account_id" \
    --set registration_key="your_registration_key" \
    --set config.kubernetes.clustername="my_k8s_cluster_name" \
    --set namespace="default"
3

Visualizzate il Vostro Cluster

Nodi, pod e servizi appaiono automaticamente nella vostra dashboard Bleemeo in pochi secondi.

Deploy DaemonSet

Glouton si distribuisce come DaemonSet, posizionando automaticamente un pod agente su ogni nodo del vostro cluster, inclusi i nodi aggiunti dagli autoscaler.

  • Un agente per nodo, sempre
  • Toleration per tutti i tipi di nodo
  • Copertura autoscaler-aware
  • Chart Helm pronto per GitOps
Bleemeo Kubernetes Agents - Deploy DaemonSet che mostra i pod agente su ogni nodo del cluster

Architettura Agente DaemonSet

Un pod Glouton per nodo garantisce una copertura completa del cluster, dalla salute del control plane alle metriche dei singoli container.

Architettura Agente DaemonSet Un cluster Kubernetes con tre nodi, ognuno con un pod DaemonSet Glouton insieme ai pod applicativi. Una striscia del control plane si estende in alto. Le frecce da ogni pod Glouton puntano al box Bleemeo Cloud sulla destra. Le variabili d'ambiente richieste e le annotation dei pod sono annotate. Kubernetes Cluster Control Plane API Server etcd Scheduler Node 1 Glouton (DaemonSet) App Pod A App Pod B App Pod C Node 2 Glouton (DaemonSet) App Pod D App Pod E Node 3 Glouton (DaemonSet) App Pod F App Pod G App Pod H Bleemeo Cloud Platform Dashboard • Alert Log • API Required Environment Variables GLOUTON_ACCOUNT_ID GLOUTON_REGISTRATION_KEY GLOUTON_KUBERNETES_CLUSTERNAME Pod Annotations glouton.enable: "true|false" glouton.check.ignore.port.* prometheus.io/scrape: "true" prometheus.io/port & /path ConfigMap overrides: namespace exclusions • scrape intervals • custom labels • extra scrape targets

Modello di Deploy DaemonSet

Glouton si distribuisce come DaemonSet tramite Helm, posizionando esattamente un pod agente su ogni nodo del vostro cluster. Il chart Helm include toleration per tutti i tipi di nodo standard: nodi GPU, nodi di sistema e nodi gestiti dall'autoscaler ricevono tutti un agente automaticamente. Sono richieste solo tre variabili d'ambiente: GLOUTON_ACCOUNT_ID, GLOUTON_REGISTRATION_KEY e GLOUTON_KUBERNETES_CLUSTERNAME. Il pod agente richiede risorse minime (meno di 100 MB di memoria) e non compete con i vostri workload di produzione.

Annotation Pod per Controllo Granulare

Le annotation Kubernetes sui vostri pod controllano come Glouton interagisce con ogni workload. Impostate glouton.enable: "false" per escludere un pod dal monitoraggio completamente. Usate glouton.check.ignore.port.* per saltare i controlli di salute su porte specifiche (utile per container sidecar o porte di debug). Aggiungete le annotation Prometheus standard (prometheus.io/scrape: "true", prometheus.io/port, prometheus.io/path) per esporre metriche specifiche dell'applicazione che Glouton raccogliera e inviera a Bleemeo Cloud insieme alle metriche dell'infrastruttura.

Metriche Kubernetes Complete

Oltre ai semplici conteggi di pod e nodi, Glouton raccoglie metriche Kubernetes approfondite: conteggio pod per stato (Running, Pending, Failed, Succeeded), conteggio riavvii per container, utilizzo CPU e memoria confrontati con richieste e limiti, conteggio nodi e namespace, date di scadenza dei certificati per CA e certificati dei nodi, e indicatori di salute di API server e kubelet. Tutte le metriche sono etichettate con namespace, owner kind (Deployment, DaemonSet, StatefulSet) e owner name per un filtraggio e aggregazione potenti nelle dashboard.

Personalizzazione ConfigMap

Sovrascrivete i default di Glouton per cluster usando una ConfigMap Kubernetes. Escludete interi namespace dal monitoraggio (es. kube-system o namespace CI runner), regolate gli intervalli di scraping delle metriche, aggiungete label personalizzate a tutte le metriche di un cluster specifico, o configurate target Prometheus aggiuntivi. L'approccio ConfigMap si integra naturalmente con i workflow GitOps: archiviate la vostra configurazione di monitoraggio insieme ai manifest applicativi e lasciate che ArgoCD o Flux la gestiscano in modo dichiarativo.

Alert Kubernetes Preconfigurati

Ricevete notifiche sui problemi comuni di Kubernetes prima che impattino i vostri utenti.

Problemi Pod

  • CrashLoopBackOff rilevato
  • Pod bloccato in Pending
  • Conteggio riavvii elevato
  • Container OOMKilled

Problemi Nodo

  • Nodo NotReady
  • Pressione CPU/memoria elevata
  • Spazio disco insufficiente
  • Troppi pod schedulati

Problemi Cluster

  • Errori API server
  • Latenza etcd elevata
  • Certificato in scadenza
  • PVC pending

Problemi Workload

  • Repliche Deployment non disponibili
  • StatefulSet non pronto
  • Job fallito
  • HPA al massimo delle repliche

Funziona con il Vostro Stack

K8s Managed EKS, GKE, AKS, DigitalOcean
Distribuzioni OpenShift, Rancher, k3s, k0s
Service Mesh Istio, Linkerd, Consul Connect
Ingress NGINX, Traefik, HAProxy, Kong
Storage Ceph, Longhorn, OpenEBS, CSI
Osservabilità Prometheus, Grafana, OpenTelemetry
CI/CD ArgoCD, Flux, Jenkins, GitLab
Database PostgreSQL, MySQL, MongoDB, Redis

Perché Bleemeo per Kubernetes?

Visibilità in Tempo Reale

Visualizzate creazione pod, eventi di scaling e failure nel momento in cui accadono. Nessun ritardo nella raccolta delle metriche.

Ottimizzazione Costi

Identificate sprechi di risorse e dimensionate correttamente i vostri workload. Riducete la spesa cloud senza impattare le performance.

Agente Leggero

Glouton utilizza risorse minime. Meno di 100MB di memoria per nodo. Non compete con i vostri workload.

13 Mesi di Retention

Conservate i dati storici per capacity planning e analisi dei trend. Confrontate le performance nel tempo.

Cos'è il Monitoraggio Kubernetes?

Il monitoraggio Kubernetes è la pratica di raccogliere, analizzare e generare alert sulle metriche di ogni livello di un ambiente Kubernetes, dal control plane del cluster fino ai singoli processi dei container. A differenza del monitoraggio server tradizionale, Kubernetes introduce sfide uniche: i workload sono effimeri, i pod vengono creati e distrutti costantemente, e una singola applicazione può estendersi su decine di repliche distribuite su più nodi.

Un monitoraggio Kubernetes efficace richiede visibilità su quattro livelli distinti. Il livello cluster monitora la salute del control plane, la latenza dell'API server, le performance di etcd e la scadenza dei certificati. Il livello nodo monitora CPU, memoria, disco e stato del kubelet su ogni worker node. Il livello workload monitora le repliche dei Deployment, l'ordinamento degli StatefulSet, la copertura dei DaemonSet e il completamento dei Job. Infine, il livello pod e container fornisce utilizzo risorse, conteggio riavvii, eventi OOM e CPU throttling per container.

Senza monitoraggio multi-livello, gli operatori Kubernetes sono costretti a usare comandi kubectl e ispezione manuale dei log per diagnosticare i problemi, un approccio reattivo che non scala. Una soluzione di monitoraggio adeguata come Bleemeo raccoglie metriche da tutti e quattro i livelli automaticamente tramite deploy DaemonSet, correla i dati tra i livelli e fornisce alert preconfigurati per le modalità di failure comuni come CrashLoopBackOff, pod pending e scadenza certificati.

Metriche Kubernetes Dettagliate

Metriche Pod

Monitorate i conteggi pod per stato (Running, Pending, Failed, Succeeded), conteggio riavvii per container, utilizzo CPU e memoria rispetto a richieste e limiti, e eta dei pod. Le label includono namespace, owner kind (Deployment, DaemonSet, StatefulSet) e owner name per aggregazione e filtraggio semplici.

Richieste Risorse vs Limiti

Confrontate ciò che i pod hanno richiesto (richieste CPU e memoria) con ciò che consumano effettivamente. Identificate workload sovra-provisionati che sprecano risorse e quelli sotto-provisionati a rischio di CPU throttling o OOMKill. Questi dati sono essenziali per il right-sizing delle definizioni risorse nei vostri manifest di deployment.

Salute del Cluster

Monitorate il conteggio totale dei nodi, nodi Ready vs NotReady, conteggio namespace e stato complessivo del cluster. Monitorate la disponibilità dell'API server, la latenza etcd e la profondità della coda dello scheduler. Queste metriche vi aiutano a valutare la salute e la capacità complessiva della vostra infrastruttura Kubernetes.

Scadenza Certificati

Monitorate le date di scadenza dei certificati CA e dei certificati dei nodi utilizzati per la comunicazione interna di Kubernetes. Ricevete alert prima che i certificati scadano, una causa comune di failure improvvisi del cluster che è interamente prevenibile con il monitoraggio automatizzato.

Kubelet e Condizioni dei Nodi

Monitorate lo stato di salute del kubelet su ogni nodo, le condizioni dei nodi (Ready, DiskPressure, MemoryPressure, PIDPressure) e la salute del container runtime. Rilevate nodi degradati prima che inizino a evacuare pod o diventino NotReady.

Network & Ingress

Monitorate byte ricevuti e trasmessi per pod, pacchetti persi e conteggio errori. Monitorate le request rate del controller Ingress, le latenze di risposta e i rapporti di errore HTTP. Correlate le metriche di rete con i riavvii dei pod o il degrado dei servizi per identificare problemi di connettività, failure di risoluzione DNS o network policy mal configurate.

Casi d'Uso

Troubleshooting Failure dei Pod

Quando un pod entra in CrashLoopBackOff, dovete sapere il perché immediatamente. Bleemeo mostra il conteggio riavvii, l'ultimo codice di uscita, i log del container e le metriche correlate a livello di nodo. Determinate se il crash è causato da errori applicativi, OOM kill o pressione sulle risorse del nodo sottostante, tutto da un'unica dashboard.

Right-Sizing dei Workload

Richieste di risorse sovra-provvisionate sprecano capacità del cluster e aumentano i costi cloud. Richieste sotto-provvisionate causano throttling e OOM kill. Usate le metriche di Bleemeo sulle richieste risorse vs utilizzo effettivo nel tempo per identificare le richieste CPU e memoria ottimali per ogni workload, riducendo gli sprechi e prevenendo la contesa di risorse.

Capacity Planning

Monitorate i trend di utilizzo risorse del cluster su settimane e mesi. Identificate quando i nodi si avvicinano ai limiti di capacità e pianificate gli eventi di scaling prima che i pod restino in pending per risorse insufficienti. Usate 13 mesi di dati storici per prevedere pattern stagionali e pianificare il budget per la crescita dell'infrastruttura.

Gestione Multi-Cluster

Monitorate cluster di sviluppo, staging e produzione da un'unica dashboard. Confrontate l'utilizzo risorse tra ambienti, rilevate derive di configurazione tra cluster e assicuratevi che i cluster di staging rispecchino il dimensionamento della produzione. Ogni cluster e identificato dal nome configurato per un filtraggio semplice.

Validazione Deploy GitOps

Dopo un deploy con Flux o ArgoCD, monitorate il rollout in tempo reale. Monitorate la creazione dei nuovi pod, la terminazione dei vecchi pod e la disponibilità delle repliche durante i rolling update. Rilevate deploy falliti (rollout bloccati, crash loop nelle nuove versioni) e correlate la tempistica del deploy con le variazioni delle metriche per verificare che i rilasci funzionino come previsto.

Ottimizzazione Costi & Chargeback

Analizzate il consumo di risorse per namespace per allocare i costi dell'infrastruttura a team o progetti. Identificate namespace con utilizzo CPU e memoria costantemente basso che sono sovra-provisionati. Usate i dati storici di utilizzo per dimensionare correttamente i pool di nodi del cluster, passare a istanze spot o preemptible per workload tolleranti, e ridurre la spesa complessiva dell'infrastruttura Kubernetes.

Best Practice per il Monitoraggio Kubernetes

1

Deploy come DaemonSet

Eseguite l'agente di monitoraggio come DaemonSet in modo che ogni nodo riceva automaticamente un pod agente, inclusi i nodi aggiunti dagli autoscaler. Questo garantisce una copertura completa del cluster senza intervento manuale. Il chart Helm di Bleemeo gestisce questo per default, incluse le toleration appropriate e i limiti delle risorse.

2

Usate le Annotation Prometheus per Metriche Personalizzate

Aggiungete prometheus.io/scrape: "true" alle annotation dei vostri pod per esporre metriche specifiche dell'applicazione tramite il formato Prometheus. L'agente Bleemeo scopre questi endpoint automaticamente e invia le metriche al cloud. Questo e l'approccio Kubernetes-native standard per le metriche applicative personalizzate senza richiedere configurazione aggiuntiva.

3

Impostate Sempre Richieste e Limiti delle Risorse

I pod senza richieste di risorse non possono essere dimensionati correttamente perché non esiste una baseline con cui confrontarsi. Impostate sempre le richieste CPU e memoria nei vostri manifest di deployment. Bleemeo confronta poi l'utilizzo effettivo con le risorse richieste, permettendo decisioni di right-sizing basate sui dati che riducono gli sprechi e prevengono la contesa di risorse.

4

Monitorate la Scadenza dei Certificati

Kubernetes utilizza certificati TLS per la comunicazione interna tra API server, kubelet e etcd. Certificati scaduti causano failure totali e improvvisi del cluster. Bleemeo monitora le date di scadenza dei certificati e vi avvisa prima che scadano, dandovi il tempo di ruotare i certificati in modo proattivo invece di scoprire il problema durante un'interruzione.

5

Correlate Metriche con i Log dei Container

Un conteggio riavvii dei pod in aumento vi dice che qualcosa non va. I log dei container vi dicono esattamente cosa. Abilitate la raccolta log insieme alle metriche per l'analisi delle cause più rapida. L'agente Bleemeo raccoglie entrambi dallo stesso DaemonSet, e la piattaforma cloud li visualizza insieme, collegati per nome del pod e timestamp.

Volete approfondire?

Leggete la Documentazione

Domande Frequenti

Tutto quello che dovete sapere sul monitoraggio Kubernetes di Bleemeo

Come faccio a deployare Bleemeo nel mio cluster Kubernetes?

Bleemeo si deploya tramite chart Helm come DaemonSet, posizionando un agente Glouton su ogni nodo. Basta aggiungere il repository Helm di Bleemeo, poi eseguire helm upgrade --install con le credenziali del vostro account e il nome del cluster. L'agente scopre automaticamente tutti i pod e i servizi. Potete anche deployare usando kubectl con i manifest che forniamo. Gli strumenti GitOps come ArgoCD e Flux sono pienamente supportati.

Quali metriche Kubernetes raccoglie Bleemeo?

Bleemeo raccoglie metriche complete incluse: Metriche pod (conteggi per stato, conteggi riavvii, uso CPU/memoria vs richieste/limiti), Metriche nodi (CPU, memoria, disco, rete, stato kubelet), Metriche cluster (conteggio nodi, conteggio namespace, stato API), e Scadenza certificati (certificati CA e nodi). Le metriche sono etichettate per namespace, owner kind (Deployment, DaemonSet), e owner name per un filtraggio semplice.

Bleemeo scopre automaticamente i servizi nei miei pod?

Sì, l'auto-discovery dei servizi è una funzionalità principale. L'agente Bleemeo rileva tutti i servizi in esecuzione nei vostri pod (database, web server, code messaggi, ecc.) e inizia a monitorarli senza configurazione manuale. Riconosce oltre 100 servizi out of the box. Man mano che i pod scalano su o giù, il monitoraggio segue automaticamente - nessuna riconfigurazione necessaria per workload effimeri.

Posso fare scraping delle metriche Prometheus dalle mie applicazioni?

Sì, Bleemeo supporta lo scraping stile Prometheus tramite annotation sui pod. Aggiungete prometheus.io/scrape: "true" ai vostri pod, e opzionalmente specificate prometheus.io/path e prometheus.io/port per endpoint metriche personalizzati. L'agente scopre e fa scraping automaticamente di questi endpoint. Potete anche usare PromQL per interrogare le metriche nelle vostre dashboard.

Quali sono i requisiti di risorse per l'agente?

L'agente Glouton è progettato per essere leggero. Tipicamente usa meno di 100MB di memoria e CPU minima per nodo. L'agente non compete con i vostri workload di produzione per le risorse. Le richieste e i limiti delle risorse possono essere personalizzati nei valori Helm se necessario. L'agente è ottimizzato per ambienti ad alta densità con molti pod per nodo.

Quali distribuzioni Kubernetes sono supportate?

Bleemeo funziona con tutte le principali distribuzioni Kubernetes: Servizi managed (EKS, GKE, AKS, DigitalOcean Kubernetes), Self-managed (kubeadm, k3s, k0s, microk8s), e Distribuzioni enterprise (OpenShift, Rancher, Tanzu). Supportiamo Kubernetes 1.19+. L'agente si adatta a diversi container runtime inclusi containerd, CRI-O e Docker.

Posso monitorare più cluster Kubernetes?

Sì, Bleemeo supporta il monitoraggio multi-cluster. Ogni cluster appare come entità separata nella vostra dashboard con il proprio nome (configurato tramite config.kubernetes.clustername). Potete visualizzare tutti i cluster in una dashboard unificata, confrontare le metriche tra cluster, e approfondire i dettagli dei singoli cluster. Questo è ideale per gestire ambienti di sviluppo, staging e produzione.

Quali alert sono preconfigurati per Kubernetes?

Bleemeo include alert preconfigurati per problemi comuni Kubernetes: Problemi pod (CrashLoopBackOff, pod pending, conteggi riavvii elevati, OOMKilled), Problemi nodo (NotReady, pressione disco/memoria), Problemi cluster (errori API server, certificati in scadenza), e Problemi workload (repliche deployment non disponibili, job falliti). Potete personalizzare le soglie o creare alert aggiuntivi.

Come faccio a monitorare le richieste risorse vs l'uso effettivo?

Bleemeo raccoglie sia le richieste/limiti delle risorse che l'uso effettivo per CPU e memoria. Le dashboard mostrano il confronto tra ciò che i pod hanno richiesto e ciò che stanno effettivamente usando, aiutandovi a identificare workload sovra-provisionati (che sprecano risorse) e sotto-provisionati (a rischio di throttling o OOM). Questo permette un right-sizing efficace dei vostri workload.

Bleemeo monitora i log dei container?

Sì, con la raccolta log abilitata, Glouton cattura automaticamente i log da tutti i container nel vostro cluster Kubernetes. I log vengono raccolti da stdout/stderr dei container senza configurazione aggiuntiva. Potete applicare parser e filtri personalizzati usando annotation sui pod (glouton.log_format, glouton.log_filter). I log possono essere correlati con le metriche per un troubleshooting completo.

Iniziate a Monitorare i Vostri Cluster Kubernetes

Deploy in pochi minuti. Ottenete visibilità completa sulla vostra infrastruttura K8s.