<?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: Suhas</title>
    <description>The latest articles on DEV Community by Suhas (@sabre).</description>
    <link>https://dev.to/sabre</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4025944%2F23e96054-b2db-4fb3-b2e4-a55584767cf5.png</url>
      <title>DEV Community: Suhas</title>
      <link>https://dev.to/sabre</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sabre"/>
    <language>en</language>
    <item>
      <title>Beyond Dashboards: Building an AI SRE Agent That Understands SigNoz Telemetry</title>
      <dc:creator>Suhas</dc:creator>
      <pubDate>Sat, 25 Jul 2026 17:19:10 +0000</pubDate>
      <link>https://dev.to/sabre/beyond-dashboards-building-an-ai-sre-agent-that-understands-signoz-telemetry-1kkg</link>
      <guid>https://dev.to/sabre/beyond-dashboards-building-an-ai-sre-agent-that-understands-signoz-telemetry-1kkg</guid>
      <description>&lt;p&gt;&lt;em&gt;«Observability tools are excellent at collecting telemetry. But after the data is collected, a developer still has to inspect logs, identify the root cause, and decide what to fix. I wanted to explore a different question: Can an AI agent understand observability data and help developers reach the next step faster?&lt;/em&gt;»&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The beginning&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When I started this hackathon, I didn't plan to build an AI SRE agent.&lt;/p&gt;

&lt;p&gt;My first challenge was much simpler—I needed an application that could generate telemetry for SigNoz.&lt;/p&gt;

&lt;p&gt;Instead of creating a new microservice from scratch, I reused an old PlantNet plant identification backend that I had built earlier. The goal was to instrument it, send telemetry to SigNoz, and understand how observability actually works.&lt;/p&gt;

&lt;p&gt;At first I experimented in Google Colab, but I quickly realized it wasn't the right environment for running SigNoz and continuously testing a backend service. I migrated everything to GitHub Codespaces and modified my PlantNet backend so it could work there.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Learning SigNoz&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Getting SigNoz running was not the difficult part.&lt;/p&gt;

&lt;p&gt;Getting meaningful telemetry into SigNoz was.&lt;/p&gt;

&lt;p&gt;For nearly a week I focused on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;setting up SigNoz&lt;/li&gt;
&lt;li&gt;modifying my backend&lt;/li&gt;
&lt;li&gt;understanding how telemetry reaches the dashboard&lt;/li&gt;
&lt;li&gt;debugging why no data was appearing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There were several occasions where I thought something was wrong with my code, only to discover that SigNoz services had stopped and simply needed to be restarted.&lt;/p&gt;

&lt;p&gt;Using command&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker restart signoz-signoz-0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;strong&gt;Changing Direction&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Initially my plan was similar to many observability projects:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;monitor latency&lt;/li&gt;
&lt;li&gt;inspect failed requests&lt;/li&gt;
&lt;li&gt;visualize telemetry&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;After spending time exploring SigNoz, I realized I was mainly consuming the information that SigNoz already provides.&lt;/p&gt;

&lt;p&gt;That raised a different question:&lt;/p&gt;

&lt;p&gt;_«What if the telemetry could be consumed by an AI agent instead of only being displayed on a dashboard?»&lt;br&gt;
_&lt;br&gt;
That question completely changed the direction of the project.&lt;/p&gt;

&lt;p&gt;Instead of building another monitoring dashboard, I started building an AI assistant capable of reading telemetry, explaining failures, and suggesting fixes.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Building the AI SRE Agent&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The final workflow became:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The user starts a diagnostic scan.&lt;/li&gt;
&lt;li&gt;The agent requests telemetry from SigNoz.&lt;/li&gt;
&lt;li&gt;SigNoz returns telemetry in JSON format.&lt;/li&gt;
&lt;li&gt;The JSON is sent to Groq running the Llama 3.1 model.&lt;/li&gt;
&lt;li&gt;The model performs root cause analysis.&lt;/li&gt;
&lt;li&gt;The diagnostic report is displayed.&lt;/li&gt;
&lt;li&gt;The user can apply the generated code fix and test the updated service.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fsrg30rukvktr6z7xhgay.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fsrg30rukvktr6z7xhgay.jpg" alt=" " width="800" height="1340"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fsmv0ykrjq6awv6xl0rg7.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fsmv0ykrjq6awv6xl0rg7.jpg" alt=" " width="800" height="1340"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;*&lt;em&gt;Making the Agent Observable&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
_One design decision I liked was instrumenting the AI agent itself.&lt;br&gt;
_&lt;br&gt;
The agent isn't just consuming observability data—it also creates its own OpenTelemetry spans during operations such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;fetching telemetry&lt;/li&gt;
&lt;li&gt;reasoning over failures&lt;/li&gt;
&lt;li&gt;invoking the LLM&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This means the diagnostic agent itself can also be monitored inside SigNoz.&lt;/p&gt;

&lt;p&gt;That felt like a natural extension of the observability workflow.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Auto-Fix Workflow&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;After the AI completes its analysis, it generates a Python code block containing a suggested remediation.&lt;/p&gt;

&lt;p&gt;Instead of copying the response manually, the application extracts the generated code and appends it to the target service.&lt;/p&gt;

&lt;p&gt;The interface also provides:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a button to restore the original service&lt;/li&gt;
&lt;li&gt;a button to execute the updated service&lt;/li&gt;
&lt;li&gt;a live code viewer for verification&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The objective wasn't to replace engineers but to shorten the path from identifying a problem to testing a possible solution.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2zpdefmzk9var5gxj9z4.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2zpdefmzk9var5gxj9z4.jpg" alt=" " width="800" height="1340"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Engineering Challenges&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Building the project involved several iterations.&lt;/p&gt;

&lt;p&gt;Some of the most significant challenges were:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;moving from Google Colab to GitHub Codespaces&lt;/li&gt;
&lt;li&gt;configuring SigNoz correctly&lt;/li&gt;
&lt;li&gt;debugging missing telemetry&lt;/li&gt;
&lt;li&gt;handling repeated service restarts&lt;/li&gt;
&lt;li&gt;managing multiple terminal processes inside Codespaces&lt;/li&gt;
&lt;li&gt;improving prompts so the LLM produced useful remediation instead of generic advice&lt;/li&gt;
&lt;li&gt;preventing duplicate patches from repeatedly modifying the target service&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each issue changed the implementation and helped shape the final workflow.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Repository Structure&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The project is divided into a few major components:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;agent2.py — fetches telemetry, builds prompts, and communicates with Groq.&lt;/li&gt;
&lt;li&gt;app.py — Streamlit interface for diagnostics and code execution.&lt;/li&gt;
&lt;li&gt;ai_agent_tracer.py — OpenTelemetry instrumentation for the AI agent.&lt;/li&gt;
&lt;li&gt;service.py — target service used during auto-fix demonstrations.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🔗 &lt;strong&gt;GitHub Repository&lt;/strong&gt;: &lt;a href="https://github.com/suhaskamde09-lgtm/signoz" rel="noopener noreferrer"&gt;https://github.com/suhaskamde09-lgtm/signoz&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;&lt;em&gt;Current Limitations&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This project is still an early prototype.&lt;/p&gt;

&lt;p&gt;Currently it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;analyzes telemetry after a manual scan&lt;/li&gt;
&lt;li&gt;generates remediation suggestions&lt;/li&gt;
&lt;li&gt;allows the generated code to be applied locally&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It does not automatically deploy fixes or verify that the generated patch is correct. Human review is still required before trusting any generated code.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Future Work&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;There are several directions I want to explore next:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;analyze multiple services instead of a single backend&lt;/li&gt;
&lt;li&gt;trigger diagnostics automatically from alerts&lt;/li&gt;
&lt;li&gt;create GitHub pull requests instead of editing local files&lt;/li&gt;
&lt;li&gt;improve prompt engineering for more reliable remediation&lt;/li&gt;
&lt;li&gt;perform validation before applying generated fixes&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;*&lt;em&gt;Final Thoughts&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
This project started as an attempt to learn SigNoz by instrumenting an existing backend.&lt;/p&gt;

&lt;p&gt;Along the way it evolved into something different: an AI-assisted SRE workflow that transforms observability data into actionable recommendations.&lt;/p&gt;

&lt;p&gt;Rather than replacing observability platforms, the goal is to build on top of them—using AI to help developers understand failures faster while keeping engineers in control of the final decision.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>signoz</category>
      <category>hackathon</category>
      <category>github</category>
    </item>
  </channel>
</rss>
