See resource health across subscriptions
Preserve subscription, resource group, region and service identity as queryable resource attributes
Send platform and application telemetry through OpenTelemetry, retain Azure resource context, and use the query languages your operators already know on a ClickHouse® database backend
PulsusDB keeps the collection and query surfaces open. The ClickHouse database handles high-volume storage and analytical execution while the signal-specific query language preserves the workflow your team already knows
Preserve subscription, resource group, region and service identity as queryable resource attributes
Search deployment and control-plane events alongside the metrics and traces emitted by the affected application
Run stateless PulsusDB processes in front of the ClickHouse database topology and storage policy you choose
Use Azure Monitor and Diagnostic Settings to select platform telemetry, Event Hubs to move activity and resource logs, and OpenTelemetry instrumentation for application traces. A collector or gateway converts those feeds into OTLP before PulsusDB ingestion
AZURE MONITOR → OTEL COLLECTOR → OTLP Collect selected resource metrics and retain subscription, resource group, region and resource identity
AZURE SERVICE → EVENT HUB → OTLP Stream Activity Logs, diagnostic logs and flow logs to a collector or gateway that emits OTLP logs
WORKLOAD → OTEL COLLECTOR → OTLP Instrument applications on AKS, App Service, Functions and virtual machines with portable OpenTelemetry libraries
Host metrics, event logs, application logs and traces
Cluster metrics, container logs, events and application traces
Request metrics, application logs and traces
Executions, failures, duration, logs and traces
Performance metrics, audit logs and client spans
Requests, status codes, latency and access logs
Flow logs, WAF events and edge access logs
Subscription changes, data access and service events
PulsusDB receives standard OTLP. Cloud-native export, subscription and receiver configuration lives in the collection tier, so it remains replaceable and vendor-neutral
PulsusDB compiles familiar observability queries into efficient database work, pushes filters and aggregation toward the ClickHouse database tier and returns only the result needed by the client
sum by (cloud_region, service_name) (
rate(http_server_request_duration_seconds_count{http_response_status_code=~"5.."}[5m])
) Aggregate application failures by service and Azure region
{cloud_provider="azure",
azure_resource_group="payments"}
|= "Failed" Narrow activity and resource logs by cloud identity before evaluating the pipeline
{ resource.cloud.provider = "azure"
&& resource.cloud.region = "uksouth"
&& duration > 1s } Search slow traces in a region without introducing a proprietary trace language
Metrics, logs, traces and profiles do not have the same read path. PulsusDB gives each one a purpose-built physical model, then exposes a consistent OpenTelemetry ingest layer and familiar query APIs above it
Explore the architecture →Ordering keys, indexes, codecs and projections follow the dominant query shape for each signal
Scale ingest and query processes independently while durable state remains in the database tier
Compression, materialised rollups and object storage tiering reduce the cost of detailed operational history
Use OpenTelemetry for ingest and PromQL, LogQL or TraceQL for investigation
Start with the workload in front of you, then add the rest of the estate without adding another observability backend