<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Robel Kidin T</title>
    <description>The latest articles on DEV Community by Robel Kidin T (@robeldev).</description>
    <link>https://dev.to/robeldev</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F373891%2F5aaa1fa6-6e3e-4e4f-83e8-c12b3f71e908.png</url>
      <title>DEV Community: Robel Kidin T</title>
      <link>https://dev.to/robeldev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/robeldev"/>
    <language>en</language>
    <item>
      <title>How We Built an AI SRE That Replaces Your Log Dashboard</title>
      <dc:creator>Robel Kidin T</dc:creator>
      <pubDate>Thu, 12 Mar 2026 17:07:52 +0000</pubDate>
      <link>https://dev.to/robeldev/how-we-built-an-ai-sre-that-replaces-your-log-dashboard-fj7</link>
      <guid>https://dev.to/robeldev/how-we-built-an-ai-sre-that-replaces-your-log-dashboard-fj7</guid>
      <description>&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; We built an open-source platform that ingests logs via OpenTelemetry, detects anomalies using statistical analysis, and auto-creates incident tickets with root cause analysis — in about 90 seconds. It's called LogClaw. Apache 2.0 licensed. You can run &lt;code&gt;docker compose up -d&lt;/code&gt; and have a full stack in minutes.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Problem: Log Dashboards Are Broken
&lt;/h2&gt;

&lt;p&gt;The industry average Mean Time to Resolution (MTTR) is 174 minutes. Most of that isn't fixing the problem — it's finding it.&lt;/p&gt;

&lt;p&gt;Here's what a typical incident looks like:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;PagerDuty fires at 3 AM (threshold alert you set 6 months ago)&lt;/li&gt;
&lt;li&gt;You open Datadog/Splunk/Grafana&lt;/li&gt;
&lt;li&gt;You spend 45 minutes grepping through dashboards&lt;/li&gt;
&lt;li&gt;You find the error, but not the cause&lt;/li&gt;
&lt;li&gt;You spend another hour tracing across services&lt;/li&gt;
&lt;li&gt;You open a Jira ticket manually and paste log lines&lt;/li&gt;
&lt;li&gt;You fix the bug&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Steps 2-6 are waste. A machine should do them.&lt;/p&gt;

&lt;p&gt;That's what we built.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Architecture
&lt;/h2&gt;

&lt;p&gt;LogClaw is a Kubernetes-native log intelligence platform. Here's the data flow:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Your App (OTEL SDK)
    ↓ OTLP (gRPC :4317 or HTTP :4318)
OTel Collector (batching, tenant enrichment)
    ↓
Kafka (Strimzi, KRaft mode)
    ↓
Bridge (Python, 4 concurrent threads)
    ├── OTLP ETL (flatten JSON, normalize fields)
    ├── Anomaly Detection (z-score on error rate distributions)
    ├── OpenSearch Indexer (bulk index, ILM lifecycle)
    └── Trace Correlation (5-layer request lifecycle engine)
    ↓
OpenSearch (full-text search, analytics)
    +
Ticketing Agent (RCA via LLM → Jira/ServiceNow/PagerDuty/Slack)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The key insight: the Bridge runs 4 threads concurrently — ETL normalization, signal-based anomaly detection, OpenSearch indexing, and trace correlation with blast radius computation. When the anomaly detector's composite score exceeds the threshold (combining 8 signal patterns, statistical z-score, blast radius, velocity, and recurrence signals), it triggers the Ticketing Agent, which pulls relevant log samples and correlated traces, sends them to an LLM for root cause analysis, and creates a deduplicated ticket across 6 platforms.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sending Logs (2 Lines of Code)
&lt;/h2&gt;

&lt;p&gt;LogClaw uses OpenTelemetry as its sole ingestion protocol. If your app already emits OTEL, you just point it at LogClaw.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Python:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;opentelemetry.sdk._logs&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;LoggerProvider&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;opentelemetry.sdk._logs.export&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;BatchLogRecordProcessor&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;opentelemetry.exporter.otlp.proto.http._log_exporter&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;OTLPLogExporter&lt;/span&gt;

&lt;span class="n"&gt;exporter&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;OTLPLogExporter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;endpoint&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;https://otel.logclaw.ai/v1/logs&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;x-logclaw-api-key&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;lc_proj_your_key&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;provider&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;LoggerProvider&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;provider&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;add_log_record_processor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;BatchLogRecordProcessor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;exporter&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Node.js:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;OTLPLogExporter&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@opentelemetry/exporter-logs-otlp-http&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;exporter&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;OTLPLogExporter&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;url&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://otel.logclaw.ai/v1/logs&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;headers&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;x-logclaw-api-key&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;lc_proj_your_key&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Java (zero code changes):&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;java &lt;span class="nt"&gt;-javaagent&lt;/span&gt;:opentelemetry-javaagent.jar &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-Dotel&lt;/span&gt;.exporter.otlp.endpoint&lt;span class="o"&gt;=&lt;/span&gt;https://otel.logclaw.ai &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-Dotel&lt;/span&gt;.exporter.otlp.headers&lt;span class="o"&gt;=&lt;/span&gt;x-logclaw-api-key&lt;span class="o"&gt;=&lt;/span&gt;lc_proj_your_key &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-jar&lt;/span&gt; my-app.jar
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Anomaly Detection: Signal-Based, Not Threshold-Based
&lt;/h2&gt;

&lt;p&gt;Most monitoring tools require manual alert thresholds. "Alert me when error rate &amp;gt; 5%." But that approach fails in three ways: it treats validation errors the same as OOM crashes, it can't detect failures before a 30-second window completes, and it misses services with constantly elevated error rates.&lt;/p&gt;

&lt;p&gt;LogClaw uses a &lt;strong&gt;signal-based composite scoring system&lt;/strong&gt; — not just z-score. Every error log flows through three stages:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Stage 1: Signal Extraction&lt;/strong&gt; — 8 language-agnostic pattern groups with weighted severity:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Signal&lt;/th&gt;
&lt;th&gt;Weight&lt;/th&gt;
&lt;th&gt;Example&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;OOM&lt;/td&gt;
&lt;td&gt;0.95&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;OutOfMemoryError&lt;/code&gt;, &lt;code&gt;malloc failed&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Crash&lt;/td&gt;
&lt;td&gt;0.95&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;segfault&lt;/code&gt;, &lt;code&gt;panic&lt;/code&gt;, &lt;code&gt;SIGSEGV&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Resource&lt;/td&gt;
&lt;td&gt;0.80&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;disk full&lt;/code&gt;, &lt;code&gt;fd limit reached&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Dependency&lt;/td&gt;
&lt;td&gt;0.75&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;502 Bad Gateway&lt;/code&gt;, service unavailable&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Database&lt;/td&gt;
&lt;td&gt;0.75&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;deadlock&lt;/code&gt;, &lt;code&gt;connection pool exhausted&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Timeout&lt;/td&gt;
&lt;td&gt;0.70&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;deadline exceeded&lt;/code&gt;, &lt;code&gt;ETIMEDOUT&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Connection&lt;/td&gt;
&lt;td&gt;0.65&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;ECONNREFUSED&lt;/code&gt;, &lt;code&gt;broken pipe&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Auth&lt;/td&gt;
&lt;td&gt;0.40&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;access denied&lt;/code&gt;, &lt;code&gt;token expired&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Stage 2: Composite Scoring&lt;/strong&gt; — Six categories combine into a single score:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pattern matches (30%) + Statistical z-score (25%) + Contextual signals (15%) + HTTP status (10%) + Log severity (10%) + Structural indicators (10%)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The contextual signals use 300-second sliding windows to compute:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Blast radius&lt;/strong&gt;: How many services are simultaneously erroring (5+ services = 0.90 weight)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Velocity&lt;/strong&gt;: Error rate acceleration vs. historical average (5x spike = 0.80 weight)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Recurrence&lt;/strong&gt;: Novel error templates score higher than known patterns&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Stage 3: Dual-Path Detection&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Immediate path (&amp;lt;100ms)&lt;/strong&gt;: OOM, crashes, and resource exhaustion fire instantly — no waiting for time windows. Your payment service crashes at 3 AM, and there's a ticket before the process restarts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Windowed path (10-30s)&lt;/strong&gt;: Statistical anomalies detected via z-score analysis on sliding windows.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The result: &lt;strong&gt;99.8% detection rate for critical failures&lt;/strong&gt;, with near-zero false positives. Validation errors (400s) and 404s produce scores below the 0.4 threshold — they never trigger incidents.&lt;/p&gt;

&lt;h2&gt;
  
  
  5-Layer Trace Correlation
&lt;/h2&gt;

&lt;p&gt;When an anomaly fires, the Bridge's Request Lifecycle Engine constructs a complete request timeline using 5 correlation layers:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Trace ID clustering&lt;/strong&gt; — Groups related logs across services&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Temporal proximity&lt;/strong&gt; — Associates logs within the same time window&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Service dependency mapping&lt;/strong&gt; — Maps caller → callee relationships&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Error propagation tracking&lt;/strong&gt; — Traces the cascade from root cause to symptoms&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Blast radius computation&lt;/strong&gt; — Identifies all affected downstream services&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This is what turns "your payment service has errors" into "Redis connection pool exhausted in checkout handler → payment-api failing → order-service timing out → notification-service queue backing up."&lt;/p&gt;

&lt;h2&gt;
  
  
  Auto-Ticketing: From Anomaly to Jira in 90 Seconds
&lt;/h2&gt;

&lt;p&gt;When the composite score exceeds the threshold, the Ticketing Agent:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Pulls relevant log samples + the correlated trace timeline from OpenSearch&lt;/li&gt;
&lt;li&gt;Sends them to your LLM (OpenAI, Claude, or Ollama for air-gapped deployments)&lt;/li&gt;
&lt;li&gt;Generates a root cause analysis with blast radius and suggested fix&lt;/li&gt;
&lt;li&gt;Creates a deduplicated ticket on Jira, ServiceNow, PagerDuty, OpsGenie, Slack, or Zammad&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Severity-based routing means critical incidents hit PagerDuty + Slack + Jira simultaneously, while medium severity goes to Jira only.&lt;/p&gt;

&lt;p&gt;Your team wakes up to a ticket that says: "Payment service composite anomaly score 0.91 (critical) at 03:47 UTC. Signals: db:connection_pool (0.75), blast_radius:4_services (0.85), velocity:12x_baseline (0.90). Root cause: Redis connection pool exhaustion due to unclosed connections in the checkout handler. Affected services: payment-api, order-service, notification-service, email-service. Suggested fix: Add connection pool max_idle_time configuration and close connections in finally block."&lt;/p&gt;

&lt;h2&gt;
  
  
  The Cost Problem
&lt;/h2&gt;

&lt;p&gt;Here's what 500GB/day of logs costs across vendors:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Vendor&lt;/th&gt;
&lt;th&gt;Annual Cost&lt;/th&gt;
&lt;th&gt;Notes&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Splunk&lt;/td&gt;
&lt;td&gt;~$1,200,000&lt;/td&gt;
&lt;td&gt;+ professional services, SPL training&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Datadog&lt;/td&gt;
&lt;td&gt;~$509,000&lt;/td&gt;
&lt;td&gt;+ per-host fees, custom metrics, retention upgrades&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;New Relic&lt;/td&gt;
&lt;td&gt;~$350,000&lt;/td&gt;
&lt;td&gt;+ $549/user/month for full platform seats&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Elastic Cloud&lt;/td&gt;
&lt;td&gt;~$180,000&lt;/td&gt;
&lt;td&gt;+ ops team for cluster management&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Grafana Cloud&lt;/td&gt;
&lt;td&gt;~$90,000&lt;/td&gt;
&lt;td&gt;No full-text search (label-only indexing)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;LogClaw Cloud&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;~$54,000&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;All-inclusive: AI + ticketing + 97-day retention&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;LogClaw Self-Hosted&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;~$30,000&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Infrastructure only (Apache 2.0, free forever)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;LogClaw Cloud charges $0.30/GB ingested. No per-seat fees. No per-host fees. No per-feature add-ons. The AI anomaly detection and auto-ticketing are included.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try It in 5 Minutes
&lt;/h2&gt;

&lt;p&gt;No Kubernetes required for testing:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/logclaw/logclaw.git
&lt;span class="nb"&gt;cd &lt;/span&gt;logclaw
docker compose up &lt;span class="nt"&gt;-d&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Open &lt;code&gt;http://localhost:3000&lt;/code&gt; — full dashboard, anomaly detection, and ticketing.&lt;/p&gt;

&lt;p&gt;For production, deploy on Kubernetes with Helm:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;helm &lt;span class="nb"&gt;install &lt;/span&gt;logclaw charts/logclaw-tenant &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--namespace&lt;/span&gt; logclaw &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--create-namespace&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Single command gives you: OTel Collector, Kafka, Flink, OpenSearch, Bridge, Ticketing Agent, and Dashboard.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's on the Roadmap
&lt;/h2&gt;

&lt;p&gt;LogClaw is currently focused on logs. Here's what's coming:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Metrics support&lt;/strong&gt; — ingest OTEL metrics alongside logs&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Trace visualization&lt;/strong&gt; — distributed trace rendering in the dashboard&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Deep learning anomaly models&lt;/strong&gt; — beyond z-score, using autoencoder models for subtle drift detection&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Runbook automation&lt;/strong&gt; — not just tickets, but auto-remediation scripts&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Get Involved
&lt;/h2&gt;

&lt;p&gt;LogClaw is Apache 2.0 licensed. The entire platform is open source.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/logclaw/logclaw" rel="noopener noreferrer"&gt;https://github.com/logclaw/logclaw&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Docs:&lt;/strong&gt; &lt;a href="https://docs.logclaw.ai" rel="noopener noreferrer"&gt;https://docs.logclaw.ai&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Managed Cloud:&lt;/strong&gt; &lt;a href="https://console.logclaw.ai" rel="noopener noreferrer"&gt;https://console.logclaw.ai&lt;/a&gt; (1 GB/day free, no credit card)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Book a Demo:&lt;/strong&gt; &lt;a href="https://calendly.com/robelkidin/logclaw" rel="noopener noreferrer"&gt;https://calendly.com/robelkidin/logclaw&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Star the repo if this is useful. Open an issue if you find a bug. PRs welcome.&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>devops</category>
      <category>kubernetes</category>
      <category>ai</category>
    </item>
  </channel>
</rss>
