<?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: Anh Hai Newton</title>
    <description>The latest articles on DEV Community by Anh Hai Newton (@ngo_le_bc3b4632a3cd314119).</description>
    <link>https://dev.to/ngo_le_bc3b4632a3cd314119</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%2F3541059%2F6545338c-e78d-4f78-bda4-695ff83a6f3f.jpg</url>
      <title>DEV Community: Anh Hai Newton</title>
      <link>https://dev.to/ngo_le_bc3b4632a3cd314119</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ngo_le_bc3b4632a3cd314119"/>
    <language>en</language>
    <item>
      <title>SigNoz Setup Guide - Monitor Server</title>
      <dc:creator>Anh Hai Newton</dc:creator>
      <pubDate>Sat, 18 Apr 2026 03:52:36 +0000</pubDate>
      <link>https://dev.to/ngo_le_bc3b4632a3cd314119/signoz-setup-guide-monitor-server-266m</link>
      <guid>https://dev.to/ngo_le_bc3b4632a3cd314119/signoz-setup-guide-monitor-server-266m</guid>
      <description>&lt;h2&gt;
  
  
  Environment
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;OS&lt;/strong&gt;: Ubuntu (snap docker)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Docker path&lt;/strong&gt;: &lt;code&gt;/var/snap/docker/common/var-lib-docker/&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SigNoz path&lt;/strong&gt;: &lt;code&gt;/root/signoz/&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SigNoz version&lt;/strong&gt;: v0.117.1&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ClickHouse version&lt;/strong&gt;: 25.5.6&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CPU&lt;/strong&gt;: No AVX2 support (important — affects configuration)&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  1. Install SigNoz
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; /root
git clone &lt;span class="nt"&gt;-b&lt;/span&gt; main https://github.com/SigNoz/signoz.git
&lt;span class="nb"&gt;cd &lt;/span&gt;signoz/deploy/docker
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  2. Fix ClickHouse — Disable simdjson (REQUIRED for CPUs without AVX2)
&lt;/h2&gt;

&lt;p&gt;CPUs without AVX2 will encounter &lt;code&gt;CANNOT_ALLOCATE_MEMORY&lt;/code&gt; errors when SigNoz queries metrics via &lt;code&gt;JSONExtractString&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Check if your CPU supports AVX2:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;grep&lt;/span&gt; &lt;span class="nt"&gt;-o&lt;/span&gt; &lt;span class="s1"&gt;'avx2'&lt;/span&gt; /proc/cpuinfo | &lt;span class="nb"&gt;head&lt;/span&gt; &lt;span class="nt"&gt;-1&lt;/span&gt;
&lt;span class="c"&gt;# No output = no AVX2 support → apply the fix below&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Edit &lt;code&gt;/root/signoz/deploy/common/clickhouse/users.xml&lt;/code&gt; and add &lt;code&gt;&amp;lt;allow_simdjson&amp;gt;0&amp;lt;/allow_simdjson&amp;gt;&lt;/code&gt; to the default profile:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight xml"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;profiles&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;default&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;max_memory_usage&amp;gt;&lt;/span&gt;10000000000&lt;span class="nt"&gt;&amp;lt;/max_memory_usage&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;allow_simdjson&amp;gt;&lt;/span&gt;0&lt;span class="nt"&gt;&amp;lt;/allow_simdjson&amp;gt;&lt;/span&gt;   &lt;span class="c"&gt;&amp;lt;!-- Fix for CPUs without AVX2 --&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;load_balancing&amp;gt;&lt;/span&gt;random&lt;span class="nt"&gt;&amp;lt;/load_balancing&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/default&amp;gt;&lt;/span&gt;
    ...
&lt;span class="nt"&gt;&amp;lt;/profiles&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Why this happens
&lt;/h3&gt;

&lt;p&gt;ClickHouse uses the &lt;code&gt;simdjson&lt;/code&gt; library for JSON parsing functions (&lt;code&gt;JSONExtractString&lt;/code&gt;, etc.). Starting from ClickHouse 24.1+, simdjson requires AVX2 CPU instructions. On CPUs without AVX2, any query using &lt;code&gt;JSONExtractString&lt;/code&gt; on the &lt;code&gt;distributed_time_series_v4&lt;/code&gt; table throws:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Code: 173. DB::Exception: Couldn't allocate N bytes when parsing JSON
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Setting &lt;code&gt;allow_simdjson=0&lt;/code&gt; forces ClickHouse to fall back to &lt;code&gt;rapidjson&lt;/code&gt;, which does not require AVX2.&lt;/p&gt;

&lt;p&gt;This affects:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Infrastructure → Hosts&lt;/strong&gt; tab (returns 500 error)&lt;/li&gt;
&lt;li&gt;Any dashboard querying metrics with label filters&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  3. Disable ClickHouse System Logs (REQUIRED — prevent disk exhaustion)
&lt;/h2&gt;

&lt;p&gt;By default, ClickHouse writes internal diagnostic logs (&lt;code&gt;trace_log&lt;/code&gt;, &lt;code&gt;metric_log&lt;/code&gt;, etc.) that can grow to 70GB+ over time.&lt;/p&gt;

&lt;p&gt;Create &lt;code&gt;/root/signoz/deploy/common/clickhouse/z_log_disable.xml&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight xml"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;?xml version="1.0"?&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;clickhouse&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;asynchronous_metric_log&lt;/span&gt; &lt;span class="na"&gt;remove=&lt;/span&gt;&lt;span class="s"&gt;"1"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;trace_log&lt;/span&gt; &lt;span class="na"&gt;remove=&lt;/span&gt;&lt;span class="s"&gt;"1"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;metric_log&lt;/span&gt; &lt;span class="na"&gt;remove=&lt;/span&gt;&lt;span class="s"&gt;"1"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;query_views_log&lt;/span&gt; &lt;span class="na"&gt;remove=&lt;/span&gt;&lt;span class="s"&gt;"1"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;query_thread_log&lt;/span&gt; &lt;span class="na"&gt;remove=&lt;/span&gt;&lt;span class="s"&gt;"1"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;part_log&lt;/span&gt; &lt;span class="na"&gt;remove=&lt;/span&gt;&lt;span class="s"&gt;"1"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;processors_profile_log&lt;/span&gt; &lt;span class="na"&gt;remove=&lt;/span&gt;&lt;span class="s"&gt;"1"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;opentelemetry_span_log&lt;/span&gt; &lt;span class="na"&gt;remove=&lt;/span&gt;&lt;span class="s"&gt;"1"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/clickhouse&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;The &lt;code&gt;z_&lt;/code&gt; prefix ensures this file is loaded last (configs are applied alphabetically), overriding any previous settings.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Mount this file into the ClickHouse container in &lt;code&gt;/root/signoz/deploy/docker/docker-compose.yaml&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;  &lt;span class="na"&gt;clickhouse&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;volumes&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;../common/clickhouse/config.xml:/etc/clickhouse-server/config.xml&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;../common/clickhouse/users.xml:/etc/clickhouse-server/users.xml&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;../common/clickhouse/custom-function.xml:/etc/clickhouse-server/custom-function.xml&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;../common/clickhouse/user_scripts:/var/lib/clickhouse/user_scripts/&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;../common/clickhouse/cluster.xml:/etc/clickhouse-server/config.d/cluster.xml&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;../common/clickhouse/ttl.xml:/etc/clickhouse-server/config.d/ttl.xml&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;../common/clickhouse/z_log_disable.xml:/etc/clickhouse-server/config.d/z_log_disable.xml&lt;/span&gt;  &lt;span class="c1"&gt;# ADD THIS LINE&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;clickhouse:/var/lib/clickhouse/&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  4. Configure SMTP for Email Alerts
&lt;/h2&gt;

&lt;p&gt;Add the following environment variables to the &lt;code&gt;signoz&lt;/code&gt; service in &lt;code&gt;docker-compose.yaml&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;  &lt;span class="na"&gt;signoz&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;environment&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;SIGNOZ_ALERTMANAGER_PROVIDER=signoz&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;SIGNOZ_TELEMETRYSTORE_CLICKHOUSE_DSN=tcp://clickhouse:9000&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;SIGNOZ_SQLSTORE_SQLITE_PATH=/var/lib/signoz/signoz.db&lt;/span&gt;
      &lt;span class="c1"&gt;# SMTP configuration&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;SIGNOZ_ALERTMANAGER_SIGNOZ_GLOBAL_SMTP__FROM=your-email@gmail.com&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;SIGNOZ_ALERTMANAGER_SIGNOZ_GLOBAL_SMTP__SMARTHOST=smtp.gmail.com:587&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;SIGNOZ_ALERTMANAGER_SIGNOZ_GLOBAL_SMTP__AUTH__USERNAME=your-email@gmail.com&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;SIGNOZ_ALERTMANAGER_SIGNOZ_GLOBAL_SMTP__AUTH__PASSWORD=your-16-char-app-password&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Gmail note&lt;/strong&gt;: You must use an App Password, not your regular Gmail password.&lt;br&gt;
Generate one at: &lt;a href="https://myaccount.google.com/apppasswords" rel="noopener noreferrer"&gt;https://myaccount.google.com/apppasswords&lt;/a&gt;&lt;br&gt;
The App Password is 16 characters — remove all spaces before using it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Important&lt;/strong&gt;: The correct variable names use the &lt;code&gt;SIGNOZ_ALERTMANAGER_SIGNOZ_GLOBAL_SMTP__&lt;/code&gt; prefix with double underscores. Using &lt;code&gt;SIGNOZ_ALERTMANAGER_SMTP_*&lt;/code&gt; (without &lt;code&gt;SIGNOZ_GLOBAL&lt;/code&gt;) will not work.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  5. Start SigNoz
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; /root/signoz/deploy/docker
docker compose up &lt;span class="nt"&gt;-d&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Verify all containers are healthy:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker compose ps
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Verify ClickHouse system logs are disabled:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker &lt;span class="nb"&gt;exec &lt;/span&gt;signoz-clickhouse clickhouse-client &lt;span class="nt"&gt;--query&lt;/span&gt; &lt;span class="s2"&gt;"
SELECT name FROM system.tables
WHERE database='system' AND name LIKE '%log%'
ORDER BY name"&lt;/span&gt;
&lt;span class="c"&gt;# Only query_log should remain&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  6. Setup Host Metrics Monitoring (Infrastructure Tab)
&lt;/h2&gt;

&lt;p&gt;Run an otel-collector agent on the &lt;strong&gt;main application server&lt;/strong&gt;:&lt;/p&gt;

&lt;h3&gt;
  
  
  6.1 Create config file on the main server
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;mkdir&lt;/span&gt; &lt;span class="nt"&gt;-p&lt;/span&gt; /opt/otel-agent
&lt;span class="nb"&gt;cat&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; /opt/otel-agent/config.yaml &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="no"&gt;EOF&lt;/span&gt;&lt;span class="sh"&gt;'
receivers:
  hostmetrics:
    root_path: /hostfs
    collection_interval: 60s
    scrapers:
      cpu: {}
      disk: {}
      load: {}
      filesystem:
        exclude_mount_points:
          mount_points: [/snap/*, /boot/efi]
          match_type: regexp
      memory: {}
      network: {}
      paging: {}
      processes: {}

processors:
  batch:
  resourcedetection:
    detectors: [env, system]
    system:
      hostname_sources: [os]
  resource/env:
    attributes:
      - key: deployment.environment
        value: production
        action: upsert

exporters:
  otlp:
    endpoint: "&amp;lt;SIGNOZ_MONITOR_SERVER_IP&amp;gt;:4317"
    tls:
      insecure: true

extensions:
  health_check:

service:
  extensions: [health_check]
  pipelines:
    metrics:
      receivers: [hostmetrics]
      processors: [resourcedetection, resource/env, batch]
      exporters: [otlp]
&lt;/span&gt;&lt;span class="no"&gt;EOF
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Replace &lt;code&gt;&amp;lt;SIGNOZ_MONITOR_SERVER_IP&amp;gt;&lt;/code&gt; with your SigNoz monitor server IP.&lt;/p&gt;

&lt;h3&gt;
  
  
  6.2 Run the container
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker run &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--name&lt;/span&gt; otel-agent &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--restart&lt;/span&gt; unless-stopped &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--hostname&lt;/span&gt; navio-main-server &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-v&lt;/span&gt; /opt/otel-agent/config.yaml:/etc/otelcol-contrib/config.yaml &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-v&lt;/span&gt; /:/hostfs:ro &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="nv"&gt;HOST_PROC&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/hostfs/proc &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="nv"&gt;HOST_SYS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/hostfs/sys &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="nv"&gt;HOST_ETC&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/hostfs/etc &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="nv"&gt;HOST_VAR&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/hostfs/var &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="nv"&gt;HOST_RUN&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/hostfs/run &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="nv"&gt;HOST_DEV&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/hostfs/dev &lt;span class="se"&gt;\&lt;/span&gt;
  otel/opentelemetry-collector-contrib:latest
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After a few minutes, the host should appear in &lt;strong&gt;SigNoz UI → Infrastructure → Hosts&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  7. Create Disk Usage Alert (&amp;gt; 80%)
&lt;/h2&gt;

&lt;p&gt;Go to &lt;strong&gt;SigNoz UI → Alerts → New Alert → Metric Based Alert&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Query A&lt;/strong&gt; (used disk):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Metric: &lt;code&gt;system.filesystem.usage&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Filter: &lt;code&gt;state = used AND host.name = &amp;lt;your-hostname&amp;gt;&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Time aggregation: &lt;code&gt;avg&lt;/code&gt;, Space aggregation: &lt;code&gt;sum&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Query B&lt;/strong&gt; (total disk — all states):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Metric: &lt;code&gt;system.filesystem.usage&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Filter: &lt;code&gt;host.name = &amp;lt;your-hostname&amp;gt;&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Time aggregation: &lt;code&gt;avg&lt;/code&gt;, Space aggregation: &lt;code&gt;sum&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Formula F1&lt;/strong&gt;: &lt;code&gt;A / B * 100&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Condition&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Warning: above &lt;code&gt;80&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Critical: above &lt;code&gt;90&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Evaluation window: last &lt;code&gt;5 min&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Alert: Disk usage has exceeded {{$threshold}}% (current: {{$value}}%)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  8. Routine Maintenance
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Check disk usage on monitor server&lt;/span&gt;
&lt;span class="nb"&gt;df&lt;/span&gt; &lt;span class="nt"&gt;-h&lt;/span&gt; /

&lt;span class="c"&gt;# Verify ClickHouse system logs are not growing&lt;/span&gt;
docker &lt;span class="nb"&gt;exec &lt;/span&gt;signoz-clickhouse clickhouse-client &lt;span class="nt"&gt;--query&lt;/span&gt; &lt;span class="s2"&gt;"
SELECT table, formatReadableSize(sum(bytes_on_disk)) as size
FROM system.parts
WHERE database = 'system'
GROUP BY table
ORDER BY sum(bytes_on_disk) DESC"&lt;/span&gt;

&lt;span class="c"&gt;# Clean up unused Docker images on main server&lt;/span&gt;
docker image prune &lt;span class="nt"&gt;-af&lt;/span&gt;

&lt;span class="c"&gt;# Check Docker disk usage&lt;/span&gt;
docker system &lt;span class="nb"&gt;df&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  9. Troubleshooting
&lt;/h2&gt;

&lt;h3&gt;
  
  
  ClickHouse disk full due to system logs
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Enter clickhouse-client&lt;/span&gt;
docker &lt;span class="nb"&gt;exec&lt;/span&gt; &lt;span class="nt"&gt;-it&lt;/span&gt; signoz-clickhouse clickhouse-client

&lt;span class="c"&gt;# Create force drop flag (run in a separate terminal)&lt;/span&gt;
docker &lt;span class="nb"&gt;exec &lt;/span&gt;signoz-clickhouse bash &lt;span class="nt"&gt;-c&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="s2"&gt;"touch /var/lib/clickhouse/flags/force_drop_table &amp;amp;&amp;amp; &lt;/span&gt;&lt;span class="se"&gt;\&lt;/span&gt;&lt;span class="s2"&gt;
   chmod 666 /var/lib/clickhouse/flags/force_drop_table"&lt;/span&gt;

&lt;span class="c"&gt;# Truncate all large log tables&lt;/span&gt;
TRUNCATE TABLE system.trace_log&lt;span class="p"&gt;;&lt;/span&gt;
TRUNCATE TABLE system.metric_log&lt;span class="p"&gt;;&lt;/span&gt;
TRUNCATE TABLE system.query_log&lt;span class="p"&gt;;&lt;/span&gt;
TRUNCATE TABLE system.processors_profile_log&lt;span class="p"&gt;;&lt;/span&gt;
TRUNCATE TABLE system.part_log&lt;span class="p"&gt;;&lt;/span&gt;
TRUNCATE TABLE system.asynchronous_metric_log&lt;span class="p"&gt;;&lt;/span&gt;
TRUNCATE TABLE system.query_views_log&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Infrastructure Hosts tab returns 500 error
&lt;/h3&gt;

&lt;p&gt;Root cause: CPU does not support AVX2 instructions.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Check AVX2 support&lt;/span&gt;
&lt;span class="nb"&gt;grep&lt;/span&gt; &lt;span class="nt"&gt;-o&lt;/span&gt; &lt;span class="s1"&gt;'avx2'&lt;/span&gt; /proc/cpuinfo | &lt;span class="nb"&gt;head&lt;/span&gt; &lt;span class="nt"&gt;-1&lt;/span&gt;
&lt;span class="c"&gt;# No output = no AVX2&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Fix: Add &lt;code&gt;&amp;lt;allow_simdjson&amp;gt;0&amp;lt;/allow_simdjson&amp;gt;&lt;/code&gt; to ClickHouse &lt;code&gt;users.xml&lt;/code&gt; as described in Section 2.&lt;/p&gt;

&lt;h3&gt;
  
  
  otel-agent not sending data
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker logs otel-agent 2&amp;gt;&amp;amp;1 | &lt;span class="nb"&gt;tail&lt;/span&gt; &lt;span class="nt"&gt;-20&lt;/span&gt;
&lt;span class="c"&gt;# Check that host.name is detected correctly&lt;/span&gt;
&lt;span class="c"&gt;# Check that the endpoint IP is correct&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>signoz</category>
      <category>devops</category>
    </item>
  </channel>
</rss>
