Architettura e trasparenza

Come è costruito LogPulse

La fiducia inizia dal sapere cosa c'è sotto il cofano. Ecco lo stack che esegue i tuoi log, le scelte che abbiamo fatto e dove stiamo andando. Preferiamo condividere troppo piuttosto che promettere troppo.

Lo stack in breve

Componenti noiosi e ben conosciuti. Niente magia.

Ingestione

Fastify su Node 22

GCP · Amsterdam (NL)

OTLP HTTP più un endpoint JSON generico. Autenticazione Bearer con chiavi API hashate con bcrypt. Con limitazione della frequenza per chiave.

Coda

BullMQ su Redis

GCP · Amsterdam (NL)

Raggruppa 100-1000 record prima di ogni inserimento. Riprova in caso di errori transitori di ClickHouse.

Archiviazione dei log

ClickHouse Cloud

GCP · Amsterdam (NL)

Columnare, partizionato per tenant_id e data. La chiave di ordinamento (tenant_id, namespace, timestamp, log_id) fa sì che le query per tenant colpiscano prima le partizioni corrette. Compressione tipica di 8-12× sui log di testo.

Metadati

PostgreSQL tramite Drizzle ORM

GCP · Amsterdam (NL)

Utenti, organizzazioni, chiavi API, dashboard, alert, pipeline. Qui non viene archiviato alcun contenuto di log.

Frontend

React 19 + Vite

Cloudflare Pages

TanStack Query per lo stato del server, Zustand per lo stato della UI, Tailwind + shadcn/ui. TypeScript rigoroso ovunque.

IA

Anthropic Claude

Subresponsabile con sede negli USA

Alimenta la traduzione da linguaggio naturale → LPQL e l'AI Investigator. Elencato tra i nostri subresponsabili. I log fluiscono al LLM solo quando attivi una query di IA.

Come si muovono i dati

Dalle tue applicazioni a ClickHouse e di nuovo a te.

  Your apps  ──OTLP HTTP──▶  Fastify ingest  ──▶  BullMQ (Redis)
                                  │                       │
                              auth + quota              batch
                                  │                       ▼
                                  │             ClickHouse (GCP · Amsterdam)
                                  │                       │
                                  ▼                       │
                              PostgreSQL                  │
                              (metadata)                  │
                                                          ▼
  Web UI  ◀── LPQL / AI ──  Fastify query  ──▶  ClickHouse (tenant-scoped)

Ingestione basata su push: agenti e SDK inviano i log tramite OTLP HTTP. L'API autentica e accoda; un worker raggruppa e scrive su ClickHouse. Le query fluiscono nella direzione opposta: la UI chiama l'API, l'API esegue LPQL su ClickHouse con l'ambito per tenant applicato al confine.

Multitenancy e isolamento

Separazione applicata nel database, non solo nell'applicazione.

  • I tenant Free, Pro e Business condividono una tabella ClickHouse partizionata per tenant_id + data. I clienti Enterprise ottengono uno stack completamente dedicato: ingestione, calcolo e storage isolati.
  • Ogni query porta WHERE tenant_id = '…', applicato al confine dell'API, parametrizzato, mai concatenato come stringa. Il pruning delle partizioni fa sì che i dati di altri tenant non vengano scansionati.
  • Le chiavi API sono hashate con bcrypt in PostgreSQL; le chiavi grezze vengono mostrate una volta alla creazione e mai registrate.
  • L'RBAC di namespace delimita l'accesso ai log per team, così i team di Platform Engineering possono offrire self-service agli sviluppatori senza esporre altri namespace.

Conservazione e costi

Il prezzo fisso significa che non paghi di più quando registri più di quanto previsto.

  • Conservazione in base al piano: Free 7g, Starter 14g, Pro 30g. I piani Team e Platform hanno una conservazione configurabile con gestione automatizzata del ciclo di vita.
  • Prezzo a tariffa fissa: l'ingestione giornaliera è inclusa fino alla tua quota. Nessun addebito per GB, nessuna fattura a sorpresa per eccedenza.
  • La compressione columnare di ClickHouse raggiunge in genere 8-12× sui log di testo, ed è per questo che possiamo offrire prezzi fissi senza intaccare il margine.
  • Quando raggiungi la tua quota ricevi un 429 e un'email all'80%. Preferiamo che tu faccia l'upgrade in modo deliberato piuttosto che addebitarti l'eccedenza in silenzio.

IA: una scorciatoia, non una scatola nera

Ogni query eseguita dall'IA viene mostrata. Puoi verificarla, modificarla e salvarla.

  • Le domande in linguaggio naturale vengono tradotte in LPQL da un LLM (Anthropic Claude). Il LLM è elencato tra i nostri subresponsabili e vede i dati solo quando attivi una query di IA.
  • L'AI Investigator concatena le query: cerca, correla con i deploy, confronta con la baseline. Ogni passaggio viene mostrato nella chat con l'LPQL eseguito e le righe di log restituite.
  • Le ipotesi sono formulate come 'causa principale probabile' con evidenze, non come affermazioni. Verifichi prima di agire.
  • Le opzioni di LLM ospitati nell'UE sono nella roadmap per i clienti con requisiti di residenza rigorosi. Fino ad allora, le funzioni di IA sono opzionali per ogni query.
Onesti, non altisonanti

Dove siamo rispetto a dove stiamo andando

Preferiamo essere onesti su ciò che è stato costruito e su ciò che è ancora in corso.

GDPR

Conforme per impostazione predefinita

DPA + SCC disponibili sui piani a pagamento. Percorso dei dati esclusivamente nell'UE. Cifratura a riposo e in transito.

SOC 2 Type II

In corso · Q3 2026

Controlli dei Trust Services Criteria implementati. Audit in corso.

ISO 27001

In monitoraggio

Controlli allineati; non ancora certificato.

Pagina pubblica di uptime

Pianificato

Pagina di stato con uptime storico per servizio.

Benchmark pubblici

Pianificato

Post riproducibili su throughput di ingestione e latenza di query.

Hai notato una lacuna o vuoi approfondire?

Preferiamo condividere troppo piuttosto che promettere troppo. Scrivi a [email protected] con domande sullo stack, sull'isolamento o su qualsiasi cosa non abbiamo trattato qui.

Utilizziamo i cookie per analizzare il traffico del sito e migliorare la tua esperienza. Nessun cookie viene installato senza il tuo consenso. Informativa sulla privacy