# infra

> 仅安装可观测性基础设施，不包含 PostgreSQL 与 etcd 的专用配置模板

---

LLMS index: [llms.txt](/llms.txt)

---

`infra` 配置模板仅部署 Pigsty 的可观测性基础设施组件（VictoriaMetrics/Grafana/VictoriaLogs/Nginx 等），不包含 PostgreSQL 与 etcd。

适用于需要独立监控栈的场景，例如监控外部 PostgreSQL/RDS 实例或其他数据源。


--------

## 配置概览

- 配置名称： `infra`
- 节点数量： 单节点或多节点
- 配置说明：仅安装可观测性基础设施，不包含 PostgreSQL 与 etcd
- 适用系统：`el8`, `el9`, `el10`, `d12`, `d13`, `u22`, `u24`, `u26`
- 适用架构：`x86_64`, `aarch64`
- 相关配置：[`meta`](/docs/conf/meta/)

启用方式：

```bash
./configure -c infra [-i <primary_ip>]
./infra.yml    # 仅执行 infra 剧本
```


--------

## 配置内容

源文件地址：[`pigsty/conf/infra.yml`](https://github.com/pgsty/pigsty/blob/main/conf/infra.yml)

<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-yaml" data-lang="yaml"><span class="line"><span class="cl"><span class="nn">---</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c">#==============================================================#</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c"># File      :   infra.yml</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c"># Desc      :   Infra Only Config</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c"># Ctime     :   2025-12-16</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c"># Mtime     :   2025-12-30</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c"># Docs      :   https://pigsty.io/docs/conf/infra</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c"># License   :   Apache-2.0 @ https://pigsty.io/docs/about/license/</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c"># Copyright :   2018-2026  Ruohang Feng / Vonng (rh@vonng.com)</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c">#==============================================================#</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c"># This is the config template for deploy victoria stack alone</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c"># tutorial: https://pigsty.io/docs/infra</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c">#</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c"># Usage:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c">#   curl https://repo.pigsty.io/get | bash</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c">#   ./configure -c infra</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c">#   ./infra.yml</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">all</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">  </span><span class="nt">children</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">infra</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">      </span><span class="nt">hosts</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">        </span><span class="nt">10.10.10.10</span><span class="p">:</span><span class="w"> </span>{<span class="w"> </span><span class="nt">infra_seq</span><span class="p">:</span><span class="w"> </span><span class="m">1</span><span class="w"> </span>}<span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">        </span><span class="c">#10.10.10.11: { infra_seq: 2 } # you can add more nodes if you want</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">        </span><span class="c">#10.10.10.12: { infra_seq: 3 } # don&#39;t forget to assign unique infra_seq for each node</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">      </span><span class="nt">vars</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">        </span><span class="nt">docker_enabled</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">            </span><span class="c"># enabled docker with ./docker.yml</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">        </span><span class="nt">docker_registry_mirrors</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">&#34;https://docker.1panel.live&#34;</span><span class="p">,</span><span class="s2">&#34;https://docker.1ms.run&#34;</span><span class="p">,</span><span class="s2">&#34;https://docker.xuanyuan.me&#34;</span><span class="p">,</span><span class="s2">&#34;https://registry-1.docker.io&#34;</span><span class="p">]</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">        </span><span class="nt">pg_exporters</span><span class="p">:</span><span class="w">     </span><span class="c"># bin/pgmon-add pg-rds</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">          </span><span class="nt">20001</span><span class="p">:</span><span class="w"> </span>{<span class="w"> </span><span class="nt">pg_cluster</span><span class="p">:</span><span class="w"> </span><span class="nt">pg-rds ,pg_seq</span><span class="p">:</span><span class="w"> </span><span class="nt">1 ,pg_host</span><span class="p">:</span><span class="w"> </span><span class="nt">10.10.10.10 ,pg_exporter_url</span><span class="p">:</span><span class="w"> </span><span class="s1">&#39;postgres://postgres:postgres@10.10.10.10:5432/postgres&#39;</span><span class="w"> </span>}<span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">  </span><span class="nt">vars</span><span class="p">:</span><span class="w">                                 </span><span class="c"># global variables</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">version</span><span class="p">:</span><span class="w"> </span><span class="l">v4.5.0                    </span><span class="w"> </span><span class="c"># pigsty version string</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">admin_ip</span><span class="p">:</span><span class="w"> </span><span class="m">10.10.10.10</span><span class="w">               </span><span class="c"># admin node ip address</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">region</span><span class="p">:</span><span class="w"> </span><span class="l">default                    </span><span class="w"> </span><span class="c"># upstream mirror region: default,china,europe</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">node_tune</span><span class="p">:</span><span class="w"> </span><span class="l">oltp                    </span><span class="w"> </span><span class="c"># node tuning specs: oltp,olap,tiny,crit</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">infra_portal</span><span class="p">:</span><span class="w">                       </span><span class="c"># infra services exposed via portal</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">      </span><span class="nt">home </span><span class="p">:</span><span class="w"> </span>{<span class="w"> </span><span class="nt">domain</span><span class="p">:</span><span class="w"> </span><span class="l">i.pigsty }      </span><span class="w"> </span><span class="c"># default domain name</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">repo_enabled</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w">                 </span><span class="c"># online installation without repo</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">node_repo_modules</span><span class="p">:</span><span class="w"> </span><span class="l">node,infra,pgsql</span><span class="w"> </span><span class="c"># add these repos directly</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="c">#haproxy_enabled: false              # enable haproxy on infra node?</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="c">#vector_enabled: false               # enable vector on infra node?</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="c"># DON&#39;t FORGET TO CHANGE DEFAULT PASSWORDS!</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">grafana_admin_password</span><span class="p">:</span><span class="w"> </span><span class="l">pigsty</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">haproxy_admin_password</span><span class="p">:</span><span class="w"> </span><span class="l">pigsty</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nn">...</span></span></span></code></pre></div>


--------

## 配置解读

`infra` 模板是 Pigsty 的 **纯监控栈配置**，专为独立部署可观测性基础设施设计。

**适用场景**：
- 监控外部 PostgreSQL 实例（RDS、自建等）
- 需要独立的监控/告警平台
- 已有 PostgreSQL 集群，仅需添加监控
- 作为多集群监控的中央控制台

**包含组件**：
- **VictoriaMetrics**：时序数据库，存储监控指标
- **VictoriaLogs**：日志聚合系统
- **VictoriaTraces**：链路追踪系统
- **Grafana**：可视化仪表盘
- **Alertmanager**：告警管理
- **Nginx**：反向代理和 Web 入口

**不包含组件**：
- PostgreSQL 数据库集群
- etcd 分布式协调服务
- Silo 对象存储

**监控外部实例**：
配置完成后，可通过 `pgsql-monitor.yml` 剧本添加外部 PostgreSQL 实例的监控：

```yaml
pg_exporters:
  20001: { pg_cluster: pg-foo, pg_seq: 1, pg_host: 10.10.10.100 }
  20002: { pg_cluster: pg-bar, pg_seq: 1, pg_host: 10.10.10.101 }
```

**注意事项**：
- 此模板不会安装任何数据库
- 如需完整功能，请使用 [`meta`](/docs/conf/meta/) 或 [`rich`](/docs/conf/rich/) 模板
- 可根据需要添加多个 infra 节点实现高可用
