Apache 2.0 · Open source

Glouton:un agente di monitoraggio in un solo binario che funziona, semplicemente.

Rilevamento automatico, TSDB integrata e un pannello locale orientato allo stato — pronto all'uso.

L'agente che usiamo in Bleemeo per far funzionare il nostro prodotto SaaS di monitoraggio, rilasciato come open source. Collaudato su server Linux, Docker e Kubernetes.

Avvio rapido

Il modo più rapido di vedere Glouton in azione

Senza account, senza registrazione.

docker
docker run -d --name=glouton \
  -v /var/lib/glouton:/var/lib/glouton \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /:/hostroot:ro \
  -e GLOUTON_BLEEMEO_ENABLE=false \
  --pid=host --net=host \
  --cap-add SYS_PTRACE --cap-add SYS_ADMIN \
  bleemeo/bleemeo-agent

Poi apri http://localhost:8015. Con Bleemeo disattivato la TSDB su disco parte automaticamente, quindi gli intervalli più lunghi della dashboard (24 h, 7 g, 30 g) funzionano subito.

Cosa fanno queste opzioni Docker

OpzionePerché
-v /var/lib/glouton:/var/lib/gloutonConserva il file di stato, la TSDB e i dati di registrazione tra i riavvii del container.
-v /var/run/docker.sock:/var/run/docker.sockRileva i container in esecuzione sull'host e ne legge le statistiche.
-v /:/hostroot:roAccesso in sola lettura al filesystem dell'host (punti di mount, dischi, riga di comando del kernel, /proc/<pid> dei processi dell'host).
--pid=hostVede i processi dell'host, per l'esplora processi e il rilevamento per servizio.
--net=hostLegge le metriche delle interfacce di rete come le vede l'host, non quelle del namespace del container.
--cap-add SYS_PTRACEIspeziona la memoria occupata dai processi e i loro descrittori di file aperti.
--cap-add SYS_ADMINLegge le informazioni di filesystem e cgroup legate ai namespace.

Per un'installazione irrobustita (senza condividere PID e rete dell'host, con mount più ristretti) segui la documentazione di installazione.

A ogni avvio Glouton invia un unico payload anonimo: un identificatore di installazione casuale, la versione e il formato di installazione di Glouton, il sistema operativo e la versione del kernel, CPU e memoria, e il fuso orario. Nessun valore di metrica, nessun nome di servizio, nessun hostname, nessun indirizzo IP. Per disattivarlo: GLOUTON_AGENT_TELEMETRY_ENABLE=false.

Pannello locale

Un pannello dal vivo su localhost:8015

Schede KPI, la riga dei servizi rilevati e grafici colorati per stato per sistema, rete e I/O — con lo storico della TSDB integrata. Zoom trascinando su ogni grafico, filtro di filesystem e dischi per dispositivo o punto di mount, e tema allineato a quello del tuo sistema.

Pannello web locale di Glouton con schede KPI, una riga di servizi rilevati e una griglia di grafici di sistema e rete.

Cosa fa

Un solo binario: raccogliere, archiviare, mostrare

Glouton rileva automaticamente ciò che gira sul tuo host o nei tuoi container, raccoglie le metriche e i controlli giusti, li archivia in locale e mostra tutto in un pannello e in un'API compatibile con Prometheus. Inoltrarli altrove è facoltativo.

~100 MB
di RAM su un host tipico
3–5 %
di un core di CPU
~700
serie di metriche, ogni 10 s

La testa della TSDB occupa circa metà della memoria residente e resta limitata dalla cardinalità delle metriche, non dalla retention: conservare più storico su disco non costa RAM.

Architettura di Glouton: le sorgenti alimentano Glouton, che serve un pannello locale, un endpoint Prometheus e una TSDB su disco, e facoltativamente invia a Bleemeo Cloud o a un broker MQTT.

Raccogliere

  • Rilevamento automatico dei servizi attivi con set di metriche curati — più di 30 applicazioni e protocolli (nginx, postgres, redis…).
  • Runtime di container: Docker (incluso Docker Desktop su macOS, rilevato automaticamente), containerd, Kubernetes.
  • Metriche applicative: qualsiasi endpoint Prometheus, JMX per le applicazioni Java, StatsD per i tuoi contatori e indicatori.
  • Metriche derivate dai log: journald, syslog, auditd o log dei container elaborati da una pipeline OpenTelemetry, da cui vengono estratti contatori. Le righe di log non vengono archiviate né inoltrate.
  • Sonde e controlli: HTTP/HTTPS, TCP, script in stile Nagios, NRPE.
  • Rete e hardware: SNMP, SMART, IPMI, NVIDIA.
  • Nativo per Kubernetes: metriche e controlli per pod, guidati dalle label del cluster.

Archiviare

  • TSDB integrata — il motore su disco di Prometheus, incorporato. Retention predefinita di 15 giorni, configurabile, senza processi aggiuntivi.
  • Si attiva automaticamente quando Bleemeo è disattivato, così lo storico del pannello funziona subito dopo il docker run.
  • Endpoint Prometheus su /metrics per qualsiasi scraper esterno.
  • Query su intervallo in PromQL su /api/v1/query_range, nella stessa forma in cui risponde un server Prometheus. Le query istantanee e gli endpoint delle label non sono serviti, quindi uno strumento di dashboard vuole comunque un vero Prometheus davanti.

Mostrare

  • Pannello locale orientato allo stato: schede KPI, servizi rilevati e grafici con zoom a trascinamento.
  • Pagina di dettaglio per ogni container, con i propri grafici storici.
  • Log dell'agente dal vivo nel pannello, con ricerca e colori per severità.
  • Pacchetto diagnostico scaricabile dall'interfaccia per le richieste di supporto.

Installazione

Tutte le destinazioni, un solo agente

Lo stesso binario e le stesse chiavi di configurazione, qualunque sia il metodo di deploy.

Docker

Il comando di avvio rapido qui sopra. Nel repository c'è un Docker Compose con jmxtrans accanto a Glouton.

Pacchetti Linux

Pacchetti .deb (Debian, Ubuntu) e .rpm (RHEL, CentOS, Fedora) compilati ufficialmente. La guida è scritta per gli utenti Bleemeo, ma funziona altrettanto bene senza account impostando bleemeo.enable: false.

Kubernetes

kubectl apply -f k8s.yaml dalla radice del repository ti dà un DaemonSet predefinito e il suo RBAC. Il chart Helm e le opzioni per cluster sono nella documentazione.

Windows

Un installer MSI, costruito da packaging/windows/ nel repository e coperto dalla stessa documentazione di installazione.

macOS non ha ancora un installer pacchettizzato: usa l'immagine Docker pubblicata, oppure compila da un clone (go run .). I socket di Docker Desktop e Colima vengono rilevati automaticamente, quindi i tuoi container compaiono senza configurazione aggiuntiva.

Restare autonomi con un'installazione da pacchetto

I valori predefiniti vanno bene nella maggior parte dei casi. Rinunciare al connettore Bleemeo sono due righe: mettile in /etc/glouton/conf.d/30-install.conf con un'installazione da pacchetto, oppure passa -e GLOUTON_BLEEMEO_ENABLE=false con l'immagine Docker.

yaml
# /etc/glouton/conf.d/30-install.conf
bleemeo:
  enable: false

L'altra manopola che si cerca è quanto storico conserva la TSDB integrata:

yaml
agent:
  local_store:
    retention: 15d

Sui pacchetti Linux, glouton-auto-upgrade.timer è attivo per impostazione predefinita e scarica i pacchetti nuovi dal repository configurato. Se preferisci gestire tu gli aggiornamenti, mascheralo con systemctl disable --now glouton-auto-upgrade.timer. Con Docker: docker pull bleemeo/bleemeo-agent && docker restart glouton, oppure fissa un tag CalVer.

Documentazione:InstallazioneRiferimento di configurazioneServizi e metriche rilevati

Perimetro

Cosa Glouton non è

Meglio chiarire subito le aspettative.

Non è un log shipper

Glouton sa derivare metriche dai log applicativi e mostra i propri log di esecuzione nel pannello per il debug, ma non archivia, non indicizza e non inoltra le righe di log. Per questo usa Vector, Fluent Bit o il collector OpenTelemetry.

Non è un agente di tracing o APM

Niente span, nessun tracciamento delle transazioni. Se ti serve, affiancagli un SDK OpenTelemetry lato applicazione.

Non sostituisce Prometheus da solo

Glouton serve un endpoint compatibile con Prometheus e include una TSDB adatta a un singolo host, ma per un impianto su scala di cluster ti serve ancora un vero Prometheus, un backend Mimir/Thanos o Bleemeo Cloud.

Uscite

Tre modi di uscire dall'agente

Tutto atterra prima sul disco locale. Cosa succede dopo lo decidi tu: i tre percorsi sono di pari livello.

Prometheus e Grafana

Fai lo scraping di /metrics con il tuo Prometheus, poi punta Grafana — o Dashglass, la nostra applicazione di dashboard in un solo binario — su quel Prometheus. In examples/prometheus c'è uno stack Compose pronto all'uso.

MQTT e SquirrelDB

Pubblica sul broker che controlli tu su v1/agent/<fqdn>/data, in JSON compresso con zlib, e affiancagli SquirrelDB Ingestor per un archivio Prometheus a lungo termine self-hosted.

Bleemeo Cloud

Inoltra al nostro SaaS per retention lunga, avvisi, notifiche e dashboard a livello di account su tutti i tuoi agenti.

Le domande che ci fanno su Glouton

Usarlo da solo, e come si colloca rispetto agli strumenti che hai già.

Si può usare Glouton senza un account Bleemeo?

Sì, ed è il punto di partenza di questa pagina. Imposta bleemeo.enable: false (o GLOUTON_BLEEMEO_ENABLE=false con Docker) e l'agente funziona completamente da solo: rileva i servizi, raccoglie le metriche, conserva 15 giorni di storico nella TSDB integrata e serve sia il pannello locale sia l'endpoint Prometheus. Nessun valore di metrica lascia l'host: l'unica chiamata in uscita che resta è il payload anonimo all'avvio descritto nell'avvio rapido, e anche quello si disattiva.

Glouton è davvero open source?

Licenza Apache 2.0, su GitHub, ed è lo stesso agente che gestiamo per la flotta di Bleemeo Cloud, non un'edizione community ridotta. Il connettore Bleemeo è una delle uscite facoltative, non lo scopo del binario.

Glouton ha bisogno di una connessione a internet?

No. Il pannello, la TSDB e l'endpoint Prometheus sono tutti locali all'host. C'è traffico in uscita solo se attivi un'uscita — il connettore Bleemeo o un broker MQTT — o se lasci attiva la telemetria anonima.

In che cosa è diverso da node_exporter o Telegraf?

Li contiene entrambi: node_exporter fornisce le metriche dell'host e gli input Telegraf la raccolta per servizio, come librerie all'interno di un unico binario. Ciò che Glouton aggiunge è il livello di rilevamento che decide cosa raccogliere e controllare, la TSDB integrata e il pannello: un solo processo da installare invece di un exporter per servizio più un Prometheus per archiviare il risultato.

Può conservare in locale più di 15 giorni di storico?

Sì, agent.local_store.retention è configurabile. La testa della TSDB resta limitata dalla cardinalità delle metriche e non dalla retention, quindi uno storico più lungo costa spazio su disco, non RAM.

Quali piattaforme sono supportate?

Linux con i pacchetti ufficiali .deb e .rpm, Windows con un installer MSI, Kubernetes come DaemonSet o con il chart Helm, e Docker in qualsiasi ambiente. macOS non ha ancora un installer pacchettizzato: usa l'immagine Docker oppure compila dai sorgenti; in entrambi i casi i socket di Docker Desktop e Colima vengono rilevati automaticamente.

Costruito su strumenti di cui ti fidi già

Glouton incorpora diversi progetti open source come librerie: Prometheus per il motore TSDB, PromQL e il modello dati, node_exporter per le metriche dell'host, Telegraf per gli input per servizio, il Blackbox exporter per le sonde HTTP/TCP/DNS e la scadenza dei certificati, il collector OpenTelemetry per la pipeline dei log, e gopsutil per l'ispezione multipiattaforma di processi e host.

Tieni l'agente. Aggiungi ciò che un singolo host non può darti.

Da solo, Glouton ti dà 15 giorni di storico locale, una macchina alla volta. Bleemeo Cloud aggiunge retention lunga, avvisi, notifiche e dashboard su tutti i tuoi server.

Fino a 3 server gratis, per sempre · Senza carta di credito