grafana agent 与vmagent 的一些比较

grafana agent 是grafana 为了grafana cloud 开发的轻量的工具,但是也是直接可以使用的(依赖开放的,以及开源标准) 
以下是grafana agent与vmagent 的一些比较

各自的功能

  • vmagent

参考架构图 


vmagent 主要是进行metrcis 处理的,支持了多种metrics的处理,influxdb,opentsdb,node_exporter graphite。。。。 
同时支持直接基于prometheus 配置的metrics 处理(服务发现也是支持的),relabeling,持久化pending状态数据到本地盘(提供系统稳定性) 
同时支持添加global labels,同时remote_write 协议(remote_read不支持,可以使用vmselect 解决)

  • grafana agent 
    功能类似opentelemetry-collector,但是主要是agent 模式的支持,支持log,trace,metrics,prometheus remote write 
    同时对于prometheus 分服务发现支持也是很不错的,功能很丰富

差异

  • vmagent 
    基于以上的介绍我们也就大概直接各自的差异了,如果系统就是基于prometheus的体系,而且需要多种集成,将pull模式转变为push, 
    那么vmagent 就是一个很不错的选择(功能主要就是解决prometheus 的一些问题),而且性能也不错(项目创始人是很牛的gopher)
  • grafana agent 
    可以说是一把瑞士军刀,log,trace,metrics 全帮你干了(集成了好多东西)。 
    对于metrics 的集成agent 是更恨,你常用的全帮你集成了 
    你就不需要独立在部署相关的exporter了(redis,memecache,consul,node-exporter,process_exporter,postgres,mysql)总之就是基本全都 
    有了 
    对于log 的处理,grafana 的loki 是一个借鉴了prometheus 的日志系统也是一个很不错的东西 
    对于trace 部分集成了grafana 的tempo (借鉴&&集成了jaeger),功能也是不弱的,而且支持基于对象存储的存储扩展(大规模分析long-term storage 
    很重要) 
    对于展示,这个就不用说了grafana 自家的grafana dashboard 是一个利器,支持强大的数据展示以及多种数据源的支持 
    当然很有必要说明下的是,agent 对于trace (tempo)的支持,主要是依赖了opentelemetry-collector核心部分(没必要重复造轮子)

参考资料

https://github.com/VictoriaMetrics/VictoriaMetrics/blob/master/app/vmagent/README.md 
https://github.com/grafana/agent 
https://github.com/open-telemetry/opentelemetry-collector

原文地址:https://www.cnblogs.com/rongfengliang/p/14248068.html