<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>PostgreSQL on OHTLY Blog</title>
    <link>https://blog.ohtly.com/tags/postgresql/</link>
    <description>Recent content in PostgreSQL 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/postgresql/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>
  </channel>
</rss>
