logo.png

之前在“利用Prometheus 打造企业分布式监控平台”系列文章中,我们介绍过VictoriaMetrics。有兴趣的可以翻阅。

之前说过由于Prometheus强大的exporter生态和服务发现等诸多优点,其他各种长期存储,只能选择融入到Prometheus的生态中。

最近VictoriaMetrics迭代非常快,查阅了最近的几个release。主要更新在vmagent这个组件,发现每个小版本都包含了服务发现的内容。目前已经支持的SD包括:

  • consul_sd
  • ec2_sd
  • gce_sd
  • kubernetes_sd

接下来版本即将发布 dns_sd

惊呼!!! 这个 vmagent 是用来替换Prometheus的。当然目前并没有完全脱离Prometheus体系,可以开箱即用诸多的exporters。

ENHANCEMENT: vmagent: add Prometheus-compatible service discovery for Consul aka`consul_sd_configs`. See[#330](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/330).

VictoriaMetrics 已经不愿意做背后的绿叶了,逐步将Prometheus的诸多功能实现在 vmagent 组件里。所以接下来简单看下vmagent 是何方大神?

vmagent

vmagent是一个很小巧但优秀的代理,它可以帮助您从各种来源收集指标并将其存储到VictoriaMetrics或任何其他支持remote_write协议的与Prometheus兼容的存储系统。

vmagent.png

虽然VictoriaMetrics提供了一种有效的解决方案来存储和观察指标,但我们的用户需要快速且RAM友好的东西,才能将指标从兼容Prometheus的Exporters处提取到VictoriaMetrics。另外,我们发现用户的基础架构就像雪花一样-千差万别,因此我们决定为vmagent增加更多的灵活性(例如推送指标而不是提取指标的功能)。我们已尽力并计划做更多的事情。

特性

  • 可以用作Prometheus的直接替代品,用于抓取目标(例如node_exporter)。
  • 可以像Prometheus那样,重新添加,删除和修改标签。可以在将数据发送到远程存储之前对其进行过滤。
  • 支持多种VictoriaMetrics支持的数据格式,比如Influx,OpenTSDB,Graphite,Prometheus等。
  • 可以将收集的指标同时复制到多个远程存储系统。在与远程存储连接不稳定的环境中工作。如果远程存储不可用,则将收集的指标缓存在-remoteWrite.tmpDataPath中。一旦恢复远程存储的连接,缓冲的metrcis即发送到远程存储。可以通过-remoteWrite.maxDiskUsagePerURL限制缓冲区的最大磁盘使用量。
  • 与Prometheus相比,使用较少的RAM,CPU,磁盘IO和网络带宽。

个人观点

目前来讲,Prometheus依旧不可或缺。vmagent 还处于开发阶段。


iyacontrol
1.4k 声望2.7k 粉丝

专注kubernetes,devops,aiops,service mesh。