Prometheus
一、基础简介
1.1.prometheus简介
1.2.数据模型
1.3.指标类型
1.4.Jobs和Instances
二、安装部署
2.1.rpm部署监控组件
2.2.docker部署监控组件
三、PromSQL
3.1.PromQL基本使用
3.2.Prometheus基础查询
3.3.查询操作符
3.4.内置函数
3.5.在HTTPAPI中使用PromQL
3.6.最佳实践
四、告警处理
4.1.告警简介
4.2.自定义Prometheus告警规则
4.3.常见告警规则
4.4.部署Alertmanager
4.5.Alertmanager配置概述
4.6.基于标签的告警处理路由
4.7.使用Receiver接收告警信息
4.8.自定义告警模板
4.9.屏蔽告警通知
4.10.使用RecodingRules优化性能
五、Exporter
5.1.exporter
5.2.NodeExporter
5.3.ProcessExporter
5.4.cAdvisor
5.5.MysqlExporter
5.6.BlackboxExporter
5.7.ProcessExporter
5.8.Ipmiexport
5.9.Pushgateway
PostgresExporter
六、Grafana
6.1.grafana基本概念
6.2.创建dashboard与Panel
6.3.变化趋势:Graph面板
6.4.graph面板常用操作
6.5.分布统计:Heatmap面板
6.6.当前状态:SingleStat面板
6.7.变量
6.8.grafana报警
七、集群高可用
7.1.本地存储
7.2.远程存储
7.3.联邦集群
7.4.prometheus高可用
7.5.Alertmanager高可用
VictoriaMetrics 集群在边缘场景下的部署实践
八、服务发现
8.1.Prometheus与服务发现
8.2.基于文件的服务发现
8.3.标签管理
九、Operator
9.1.什么是PrometheusOperator
9.2.PrometheusOperator自定义监控项
9.3.配置PrometheusRule
十、AlterManager
10.1.基础入门
10.2.配置详解
十一、常见问题
Prometheus 联邦机制中的 out-of-order samples与 up 指标波动问题
十二、指导说明
PromQL查询函数参考
十三、可观测生态
用VictoriaMetrics替换Prometheus扛住百万级采集
十四、OpenTelemetry
传统 VM 下零代码OpenTelemetry可观测方案
本文档使用 MrDoc 发布
-
+
首页
VictoriaMetrics 集群在边缘场景下的部署实践
在传统Prometheus监控体系中,较常见的架构如下: ```text Exporter ↓ 边缘 Prometheus ↓ Federation 中心 Prometheus ``` 随着监控规模扩大,Prometheus 在以下场景中会逐渐暴露问题: * 大规模指标存储压力 * 高基数场景查询缓慢 * Federation 响应大数据超时 * 长时间存储成本高 * 多边缘节点下同步效率下降 因此,越来越多场景开始使用 VictoriaMetrics 替代 Prometheus 作为核心时序数据库。 --- # VictoriaMetrics Cluster 架构 VictoriaMetrics 集群版由以下核心组件组成: | 组件 | 功能 | | --------- | ------- | | vmagent | 指标采集与转发 | | vminsert | 数据写入入口 | | vmstorage | 时序数据存储 | | vmselect | 查询服务 | | vmalert | 告警规则执行 | 典型架构: ```text Exporter ↓ vmagent ↓ remote_write vminsert ↓ vmstorage ↓ vmselect ↓ Grafana ``` 其中: * `vmagent` 替代 Prometheus scrape 能力 * `vmstorage` 提供高压缩率存储 * `vmselect` 提供 PromQL 查询能力 * `vmalert` 替代 Prometheus Rule --- # 官方推荐架构:Remote Write 模式 VictoriaMetrics 官方推荐: ```text 边缘 vmagent ↓ remote_write 中心 vmcluster ``` 即: * 边缘只负责采集 * 中心统一存储 * 不再使用 Federation 架构如下: ```text Exporter ↓ 边缘 vmagent ↓ remote_write 中心 vmcluster ``` 该模式具备以下优势: | 能力 | Prom Federation | VM RemoteWrite | | ---- | --------------- | -------------- | | 断网缓存 | 差 | 强 | | 数据补传 | 无 | 有 | | 压缩率 | 一般 | 高 | | 多级转发 | 一般 | 强 | | 大规模 | 一般 | 强 | | 带宽占用 | 高 | 低 | | HA | 复杂 | 简单 | --- # vmagent 的边缘缓存能力 相比 Prometheus Federation,`vmagent` 最大优势之一是本地磁盘缓存。 示例: ```bash -remoteWrite.tmpDataPath=/data/vmagent-cache ``` 网络异常时: * 指标先写入本地缓存 * 网络恢复后自动补传 * 不会立即丢失数据 该能力在: * 边缘节点 * 弱网环境 * 专线波动 * 跨地域采集 等场景中非常重要。 --- # 中心主动访问场景 部分环境存在严格网络策略: ```text 只能: 中心 → 边缘 不能: 边缘 → 中心 ``` 例如: * 电力行业 * 金融行业 * 工控网络 * 专网隔离环境 此时: ```text remote_write 不再适用 ``` 因为 remote_write 属于边缘主动推送模型。 --- # VictoriaMetrics 在中心主动访问场景中的实现 VictoriaMetrics 兼容 Prometheus Federation API。 因此可以采用: ```text 边缘 VictoriaMetrics ↑ federation scrape 中心 vmagent ``` 整体架构: ```text Exporter ↓ 边缘 vmagent ↓ 边缘 VictoriaMetrics ↑ federation 中心 vmagent ↓ 中心 vmcluster ``` --- # Federation 接口兼容 VictoriaMetrics 提供兼容接口: ```text /select/0/prometheus/federate ``` 示例: ```text http://edge-vm:8428/select/0/prometheus/federate ``` 中心 vmagent 配置: ```yaml scrape_configs: - job_name: federate-edge metrics_path: /select/0/prometheus/federate params: 'match[]': - '{__name__=~".*"}' static_configs: - targets: - 10.1.1.10:8428 ``` 该模式与 Prometheus Federation 基本兼容。 --- # 关于 match[] 配置 Federation 必须指定 `match[]`。 全量同步: ```yaml params: 'match[]': - '{__name__=~".*"}' ``` 推荐按分类同步: ```yaml params: 'match[]': - '{job=~"node|mysql|redis"}' ``` 或: ```yaml params: 'match[]': - '{__name__=~"node_.*"}' - '{__name__=~"mysql_.*"}' ``` 避免: * 指标量失控 * 中心查询压力增大 * 网络流量过高 --- # 两种模式对比 | 模式 | 官方推荐 | 网络方向 | 推荐度 | | ------------ | ---- | ------- | ------ | | Remote Write | 是 | 边缘 → 中心 | 高 | | Federation | 兼容支持 | 中心 → 边缘 | 特殊场景推荐 | --- # 推荐实践 ## 常规互联网/IDC 环境 推荐: ```text 边缘 vmagent ↓ remote_write 中心 vmcluster ``` 原因: * 架构简单 * 性能最好 * 带宽最低 * 官方长期推荐 --- ## 强隔离网络环境 推荐: ```text 边缘 vmagent + 单机 VictoriaMetrics ↑ federation 中心 vmagent + vmcluster ``` 原因: * 满足中心主动访问 * 保持 Prometheus Federation 兼容 * 可平滑迁移 Prometheus 架构 --- # 总结 VictoriaMetrics 不仅可以替代 Prometheus 存储,还能够兼容多种现有监控拓扑。 对于边缘监控场景: * 官方更推荐 remote_write 模式 * Federation 属于兼容性方案 * 在中心主动访问受限网络中,Federation 仍然是有效方案 因此,在设计监控架构时,应优先根据网络策略决定数据流方向,再选择合适的 VictoriaMetrics 部署模式。
Nathan
2026年5月19日 15:18
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
PDF文件
Docx文件
分享
链接
类型
密码
更新密码