<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Alloy on OHTLY Blog</title>
    <link>https://blog.ohtly.com/tags/alloy/</link>
    <description>Recent content in Alloy on OHTLY Blog</description>
    <generator>Hugo</generator>
    <language>zh-cn</language>
    <lastBuildDate>Fri, 29 May 2026 20:21:07 +0800</lastBuildDate>
    <atom:link href="https://blog.ohtly.com/tags/alloy/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>自建 PostgreSQL 可观测性：Prometheus 指标 &#43; Loki 日志告警方案</title>
      <link>https://blog.ohtly.com/posts/postgresql-observability/</link>
      <pubDate>Fri, 29 May 2026 20:21:07 +0800</pubDate>
      <guid>https://blog.ohtly.com/posts/postgresql-observability/</guid>
      <description>&lt;h2 id=&#34;前言&#34;&gt;&#xA;  前言&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#%e5%89%8d%e8%a8%80&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;链接到标题&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;链接到标题&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;PostgreSQL 是生产环境最常用的关系型数据库之一。当服务挂了、连接爆了、死锁了，需要第一时间感知。&lt;/p&gt;&#xA;&lt;p&gt;单纯靠 Prometheus 指标可以告诉你「连接数超了」，但说不出原因；单纯靠日志可以告诉你「too many connections」，但没有量化趋势。&lt;/p&gt;&#xA;&lt;p&gt;本文的方案是 &lt;strong&gt;指标 + 日志协同监控&lt;/strong&gt;，形成完整可观测性闭环：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;指标告警 → 感知异常（量变）&lt;/li&gt;&#xA;&lt;li&gt;日志告警 → 定位根因（质变）&lt;/li&gt;&#xA;&lt;li&gt;统一通知 → 飞书即时推送&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;架构&#34;&gt;&#xA;  架构&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#%e6%9e%b6%e6%9e%84&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;链接到标题&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;链接到标题&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;下面是完整的数据流：&lt;/p&gt;&#xA;&lt;div class=&#34;mermaid&#34;&gt;&#xA;graph TD&#xA;    PG[PostgreSQL 17&lt;br/&gt;monkey:5432] --&gt; PE[postgres-exporter&lt;br/&gt;monkey:9187]&#xA;    PE --&gt; PM[Prometheus&lt;br/&gt;robin:9090]&#xA;    PM --&gt; AM[Alertmanager&lt;br/&gt;robin:9093]&#xA;&#xA;    PG --&gt;|Docker logs| AL[Alloy&lt;br/&gt;monkey:12346]&#xA;    AL --&gt; LK[Loki&lt;br/&gt;robin:3100]&#xA;    LK --&gt;|Loki Ruler LogQL| AM&#xA;&#xA;    AM --&gt; AT[alert-transformer&lt;br/&gt;robin:9091]&#xA;    AT --&gt; OC[OpenClaw&lt;br/&gt;rivo:18789]&#xA;    OC --&gt; FS[飞书]&#xA;&#xA;    subgraph 指标路径&#xA;        PE&#xA;        PM&#xA;    end&#xA;&#xA;    subgraph 日志路径&#xA;        AL&#xA;        LK&#xA;    end&#xA;&#xA;    subgraph 通知路径&#xA;        AM&#xA;        AT&#xA;        OC&#xA;        FS&#xA;    end&#xA;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;两条路径独立采集、独立告警，最终汇总到同一个通知链路。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Windmill 日志监控：Alloy &#43; Loki Ruler 告警实战</title>
      <link>https://blog.ohtly.com/posts/2026-05-29-windmill-loki-monitoring/</link>
      <pubDate>Fri, 29 May 2026 18:20:00 +0800</pubDate>
      <guid>https://blog.ohtly.com/posts/2026-05-29-windmill-loki-monitoring/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://blog.ohtly.com/posts/2026-05-29-couchdb-loki-monitoring/&#34; &gt;前一篇&lt;/a&gt; 介绍了用 Alloy + Loki 给 CouchDB 做日志告警。这篇文章是同一套路在 Windmill 上的应用。&lt;/p&gt;&#xA;&lt;p&gt;Windmill 是一个工作流调度平台，由多个 Docker 容器组成：server（API 服务）、worker（任务执行）、worker_gpu（GPU 任务）。这些容器的日志里包含各种运行错误——&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;API Token 权限不足&lt;/li&gt;&#xA;&lt;li&gt;S3 存储配置丢失&lt;/li&gt;&#xA;&lt;li&gt;Worker 执行异常&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;它们不会体现在 Prometheus 指标上，只有查看容器日志才能发现。需要一套日志级的告警来及时发现。&lt;/p&gt;</description>
    </item>
    <item>
      <title>CouchDB 日志监控：Alloy &#43; Loki Ruler 告警</title>
      <link>https://blog.ohtly.com/posts/2026-05-29-couchdb-loki-monitoring/</link>
      <pubDate>Fri, 29 May 2026 17:57:00 +0800</pubDate>
      <guid>https://blog.ohtly.com/posts/2026-05-29-couchdb-loki-monitoring/</guid>
      <description>&lt;p&gt;上篇&lt;a href=&#34;https://blog.ohtly.com/posts/2026-05-16-docker-couchdb-prometheus-monitoring/&#34; &gt;《用 Prometheus 监控 Docker CouchDB 实例》&lt;/a&gt;介绍了用 &lt;code&gt;couchdb-exporter&lt;/code&gt; 采集 CouchDB 的运行指标（存活状态、连接数等），通过 Prometheus + Alertmanager 实现指标级告警。&lt;/p&gt;&#xA;&lt;p&gt;但这个方案有一个盲区：&lt;strong&gt;CouchDB 的 Erlang 进程错误不会体现在 Prometheus 指标上&lt;/strong&gt;。比如 &lt;code&gt;_users&lt;/code&gt; 数据库缺失导致的持续报错，exporter 的指标一切正常，只有 &lt;code&gt;docker logs&lt;/code&gt; 才能看到 &lt;code&gt;[error]&lt;/code&gt;。需要一个日志级别的告警渠道来填补这个空白。&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
