NewKubernetes Native Log Collection

Stop drowning in logs.

Lightweight, self-hosted log aggregation built for speed. Search millions of logs in milliseconds — without the complexity.

Self-hostedNo per-GB fees5-minute setupYour data stays yours
P
Purl
LogsAnalyticsSettings
🔍level:ERROR AND service:api-gateway OR service:payments-svc
4,712 logsTime range: 1hQuery: level:ERROR AND service:api-gateway
📊Log Volume Over Time1h
Info/DebugWarningError
TimeLevelServiceMessage
14:32:01ERRORapi-gatewayPOST /api/v1/orders 502 Bad Gateway — upstream connect error: connection refused to payments-svc.production.svc:8080
14:32:01WARNauth-serviceRate limit exceeded for client 10.244.2.18 — 1500 req/min threshold reached, returning 429 Too Many Requests
14:32:00INFOuser-servicegRPC HealthCheck OK — pod/user-service-7f8d9b4c5-x2kl9 serving on :8443, latency=2ms, connections=847
14:31:59ERRORpayments-svcFATAL: database connection pool exhausted — max_connections=100, active=100, waiting=47, timeout after 30000ms
14:31:59INFOk8s-ingressnginx ingress controller reloaded — upstream backends updated: 12 services, 47 endpoints, ssl certs: 8 valid
14:31:58WARNqueue-workerConsumer lag increasing on topic=order-events partition=3 — current offset: 1247892, end offset: 1249140, lag: 1248
14:31:57INFOmonitoringPrometheus scrape completed — 847 targets, 2.4M samples ingested, scrape duration: 4.2s, memory: 1.2GB
14:31:56ERRORapi-gatewayTLS handshake failed with upstream payments-svc.production.svc:443 — certificate expired at 2026-02-07T23:59:59Z
14:31:55INFOdeploymentRolling update completed — Deployment/api-gateway replicas: 5/5 ready, strategy: RollingUpdate, maxSurge: 25%
14:31:54WARNstorage-svcPersistentVolume pv-data-clickhouse-0 usage at 87% — 174GB/200GB, auto-expansion triggered at 90% threshold
4,712 results in 23msConnected
0 min

Setup Time

0ms

Query Speed

0x

Less Resources

0$

Per-GB Fees

Why Purl

Why Developers Switch to Purl

Common log management frustrations — solved.

Scattered logs across 50+ servers

Single dashboard for everything

Heavy stacks eating all your RAM

Lightweight — runs on minimal resources

Complex Elasticsearch queries

Simple KQL syntax

No pattern detection

Auto-clustering finds anomalies

Slow log searches taking minutes

Sub-second queries across millions

Deep Dive

Powerful features, zero complexity

Each feature is designed to save you time and give you instant visibility into your infrastructure.

Find any log in milliseconds

KQL-style search with field autocomplete, boolean operators, and wildcard support. Filter by level, service, host, or any custom field — across millions of log entries.

  • KQL syntax (level:ERROR AND service:api)
  • Field facets with live counts
  • Time histogram visualization
  • Saved searches for quick access
LogsAnalyticsSettings
Live
level:ERROR AND service:api-gateway
Log Volume Over Time1h
18.2K Total1.5K Avg/bucket
Info/DebugWarningError
TimeLevelServiceMessage
14:32:01ERRORapi-gatewayConnection refused to upstream service: payments-svc:8080
14:32:01WARNauth-serviceRate limit exceeded for IP 192.168.1.42 — 150 req/min
14:32:00INFOuser-serviceUser session created: uid=a8f3k2 duration=3600s
14:31:59ERRORpayments-svcStripe webhook signature verification failed: sig_mismatch
18,247 results in 12msConnected

Spot anomalies automatically

Purl automatically clusters your logs into patterns, replacing variable data with typed placeholders. See which patterns occur most and catch new error patterns instantly.

  • Auto-clustering with zero config
  • Typed placeholders (datetime, numbers, IPs)
  • Occurrence counts per pattern
  • Click any pattern to filter logs
purl — Pattern Analysis

Patterns

4 patterns found

Refresh
ERRORapi-gateway
3.8K
<DATETIME> ERROR api-gateway - Connection refused to upstream <IP>:<NUM> after <NUM>ms
WARNauth-service
2.4K
<DATETIME> WARN auth-service - Rate limit exceeded for <IP><NUM> req/min threshold=<NUM>
INFOk8s-ingress
18.2K
<DATETIME> INFO k8s-ingress - GET /healthz <NUM> <NUM>ms pod=<UUID>
ERRORpayments-svc
847
<DATETIME> ERROR payments-svc - Stripe webhook signature mismatch: sig=<HEX> expected=<HEX>

Your system health at a glance

A comprehensive analytics dashboard showing health score, query performance, ingestion rates, latency percentiles, and storage metrics — all updating in real-time.

  • Health score with SLA tracking
  • P50/P95/P99 latency percentiles
  • Live ingestion monitoring
  • Storage and table metrics
purl — Analytics

Analytics

92Health
SystemErrors: 0.12%Cache: 34%ClickHouseSLA: 99.9%

2.4M

Total Logs

182.7 MB

Storage

14d 6h

Uptime

31.2K

Requests

0.023s

Avg Response

0.12%

Error Rate

Query Performance

Avg Time0.023s
Cache Hit34%
Total31.2K
Cached10.6K

Ingestion

Live
Buffer12
Inserts2.4M
Written182.7 MB
Rows2.4M

Latency

P500.018s
P950.087s
P990.142s
Max0.312s

Built for containerized workloads

Deploy as a Kubernetes DaemonSet with automatic pod metadata enrichment. Filter by namespace, pod, node, and container. Native support for Docker and Kubernetes labels.

  • DaemonSet deployment on each node
  • Auto pod/container metadata
  • Namespace and label filtering
  • Docker and containerd support
purl — Kubernetes Logs
meta.namespace3
production62%
staging28%
monitoring10%
meta.pod3
api-gateway-7f8d934%
auth-svc-4b2e122%
payment-svc-9a1c18%
meta.node3
worker-145%
worker-235%
worker-320%
meta.container3
app71%
sidecar18%
init11%

Migration

Switching to Purl is easy

No matter what you use today, Purl makes the transition painless.

From ELK Stack

Too complex, too heavy

Pain Points

Requires dedicated ops team
Multiple components to manage
High memory and storage costs

With Purl

Single binary, 5-min install
ClickHouse-powered — faster queries
Lightweight resource usage

From Datadog

Unpredictable pricing

Pain Points

Per-GB ingestion fees add up fast
Vendor lock-in on cloud
No self-hosted option

With Purl

Flat $19/mo — no per-GB surprises
Self-hosted, your data stays yours
No per-GB or per-host charges

From Grafana Loki

Free but complex

Pain Points

Steep learning curve
LogQL syntax is non-trivial
Requires object storage setup

With Purl

Simple KQL search syntax
Works out of the box
Built-in pattern analysis

Pricing

Simple, transparent pricing

Start free with no credit card. Scale when you need to.

MonthlyYearly

Free

For individuals and small projects.

$0

Free forever — no credit card

Get Started Free

No credit card required

  • Up to 3 servers
  • 7-day log retention
  • 1 user
  • 3 alert rules
  • 5 saved searches
  • Live tail streaming
  • KQL search syntax
  • REST API access
  • Community support
Most Popular

Pro

For growing teams that need more power.

$39/mo
Start Pro

Everything in Free, plus

  • Up to 25 servers
  • 90-day log retention
  • Unlimited users
  • 25 alert rules
  • Unlimited saved searches
  • Pattern analysis
  • Custom dashboards
  • Telegram & Slack alerts
  • Webhook integrations
  • Self-hosted license key
  • Email support

Enterprise

For organizations that need compliance and scale.

$199/mo
Start Enterprise

Everything in Pro, plus

  • Unlimited servers
  • 90-day log retention
  • Unlimited users
  • Unlimited alert rules
  • SSO / SAML 2.0
  • LDAP / Active Directory
  • Audit logs & compliance
  • Role-based access control
  • Dedicated support engineer
  • Priority SLA

Compare Plans

Full feature comparison

See exactly what you get with each plan.

FeatureFreeProEnterprise
Infrastructure
Servers325Unlimited
Log Retention7 days90 days90 days
Users1UnlimitedUnlimited
Alert Rules325Unlimited
Saved Searches5UnlimitedUnlimited
Core Features
Live Tail Streaming
KQL Search Syntax
REST API Access
Pattern Analysis
Custom Dashboards
Integrations
Telegram Alerts
Slack Alerts
Webhook Alerts
Deployment
Self-Hosted License
License Activations1 per key1 per key
Security & Compliance
Role-Based Access Control
SSO / SAML 2.0
LDAP / Active Directory
Audit Logs
Support
Community Support
Email Support
Dedicated Support
Priority SLA

FAQ

Frequently asked questions

Everything you need to know about Purl.

Want a personalized demo?

See how Purl Enterprise fits your infrastructure.

Book a Demo

Ready to tame your logs?

One command. Under 5 minutes. No credit card required.

Terminal — bash
~ $ curl -fsSL https://purlogs.com/install.sh | sudo bash
~ $