<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Saifulla Codes]]></title><description><![CDATA[Saifulla Codes]]></description><link>https://saifulla-codes.hashnode.dev</link><image><url>https://cdn.hashnode.com/res/hashnode/image/upload/v1593680282896/kNC7E8IR4.png</url><title>Saifulla Codes</title><link>https://saifulla-codes.hashnode.dev</link></image><generator>RSS for Node</generator><lastBuildDate>Tue, 01 Sep 2026 08:03:38 GMT</lastBuildDate><atom:link href="https://saifulla-codes.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[From Zero to Observability: My First Experience Self-Hosting SigNoz with Python & Docker]]></title><description><![CDATA[Introduction
Observability is becoming an essential skill for modern developers, but before this project I had never self-hosted an observability platform.
As part of the Agents of SigNoz Hackathon, I]]></description><link>https://saifulla-codes.hashnode.dev/from-zero-to-observability-my-first-experience-self-hosting-signoz-with-python-docker</link><guid isPermaLink="true">https://saifulla-codes.hashnode.dev/from-zero-to-observability-my-first-experience-self-hosting-signoz-with-python-docker</guid><dc:creator><![CDATA[Shaik Saifulla]]></dc:creator><pubDate>Sun, 12 Jul 2026 14:18:16 GMT</pubDate><content:encoded><![CDATA[<h2>Introduction</h2>
<p>Observability is becoming an essential skill for modern developers, but before this project I had never self-hosted an observability platform.</p>
<p>As part of the Agents of SigNoz Hackathon, I decided to set up SigNoz on my MacBook, connect it with a simple Python Flask application, and explore how traces and metrics are collected in real time.</p>
<p>In this blog, I'll share my complete hands-on experience—from installing Docker and SigNoz to instrumenting a Python application with OpenTelemetry and visualizing telemetry data inside the SigNoz dashboard.</p>
<h2>What is SigNoz?</h2>
<p>SigNoz is an open-source observability platform that helps developers monitor applications using metrics, traces, and logs—all from a single dashboard.</p>
<p>Unlike many commercial monitoring tools, SigNoz can be self-hosted, making it an excellent choice for developers who want full control over their observability stack while learning modern cloud-native technologies.</p>
<p>For this project, I used:</p>
<ul>
<li><p>Docker Desktop</p>
</li>
<li><p>Python 3.13</p>
</li>
<li><p>Flask</p>
</li>
<li><p>OpenTelemetry</p>
</li>
<li><p>SigNoz</p>
</li>
<li><p>macOS (MacBook Air M2)</p>
</li>
<li><p>The first step was installing Docker Desktop on my MacBook Air M2. After confirming Docker was running correctly, I cloned the SigNoz repository and started the observability stack using Docker Compose.</p>
<p>Within a few minutes, all the required containers were running, and I accessed the SigNoz dashboard locally at:</p>
<p><a href="http://localhost:8080">http://localhost:8080</a></p>
<p>Seeing the dashboard open successfully was my first milestone. It confirmed that my local observability environment was ready to receive telemetry data from my application.</p>
</li>
<li><p>Instrumenting a Python Flask Application</p>
<p>After setting up SigNoz, I created a simple Flask application with two routes.</p>
<p>I then installed OpenTelemetry and instrumented the application using the <code>opentelemetry-instrument</code> command. This automatically generated traces whenever I accessed the application in my browser.</p>
<p>Running the application with OpenTelemetry was straightforward:</p>
<pre><code class="language-bash">OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318 \
OTEL_SERVICE_NAME=python-demo \
opentelemetry-instrument \
flask --app app run --port=5002
</code></pre>
<p>After opening the application in the browser and visiting <code>/</code> and <code>/hello</code>, telemetry data started flowing into SigNoz automatically.</p>
</li>
<li><p>Conclusion</p>
<p>This project gave me my first hands-on experience with observability and OpenTelemetry.</p>
<p>Setting up SigNoz locally, instrumenting a Python Flask application, and watching traces appear in real time was both exciting and educational.</p>
<p>I now have a much better understanding of how modern applications are monitored, and I look forward to exploring more advanced observability features such as logs, metrics, dashboards, and alerts in future projects.</p>
</li>
</ul>
]]></content:encoded></item></channel></rss>