目前1.68.0版本的vmagent还处持续改进中,从文档中得出,其有内存占用小优势,支持多种开源组件的上游和下游。对于kafka的集成只在企业版的vmagent提供支持。

如果只是简单收集信息,建议当前使用telegraf直写vm。

使用建议:持续观察,谨慎落地。

翻译

下面为英文文档的翻译

vmagent 是一个小巧但功能强大的代理,可帮助您从各种来源收集指标并将它们存储在 VictoriaMetrics 或任何其他支持 remote_write 协议的 Prometheus 兼容存储系统中。

文档引用:vmagent · VictoriaMetrics

开发vmagent的起因

虽然 VictoriaMetrics 提供了一种有效的解决方案来存储和观察指标,但我们的用户需要一些快速且 RAM 友好的东西来将指标从 Prometheus 兼容的导出器抓取到 VictoriaMetrics。 此外,我们发现我们用户的基础设施就像雪花,没有两个是相同的。 因此,我们决定为 vmagent 添加更多灵活性,例如推送而不是拉取指标的能力。 我们已尽力并将继续改进 vmagent。

特性

列出了可能会使用的特性:

可用作 Prometheus 的替代品,用于抓取 node_exporter 等目标。

可以从Kafka读取数据。(企业版支持)

可以向Kafka写入数据。 (企业版支持)

可以通过 Prometheus 重新标记添加、删除和修改标签。 可以在将数据发送到远程存储之前过滤数据。

通过 VictoriaMetrics 支持的所有摄取协议接受数据:

InfluxDB  line protocol通过 http://<vmagent>:8429/write。

Prometheus 远程写入协议通过 http://<vmagent>:8429/api/v1/write。

JSON 行通过 http://<vmagent>:8429/api/v1/import 导入协议。

本机数据导入协议通过http://<vmagent>:8429/api/v1/import/native。

Prometheus 展示格式通过 http://<vmagent>:8429/api/v1/import/prometheus。

通过 http://<vmagent>:8429/api/v1/import/csv 获取任意 CSV 数据。

可以将收集的指标同时复制到多个远程存储系统。

在与远程存储连接不稳定的环境中顺利工作。如果远程存储不可用,则收集的指标缓存在 -remoteWrite.tmpDataPath。一旦与远程存储的连接修复,缓冲的指标就会发送到远程存储。可以使用 -remoteWrite.maxDiskUsagePerURL 限制缓冲区的最大磁盘使用量。

与 Prometheus 相比,使用更少的 RAM、CPU、磁盘 IO 和网络带宽。
当必须抓取大量目标时,抓取目标可以分布在多个 vmagent 实例中。请参阅这些文档。

可以有效地抓取暴露数百万个时间序列的目标,例如 Prometheus 中的 /federate 端点。

可以通过在抓取时和将它们发送到远程存储系统之前限制唯一时间序列的数量来处理高基数和高流失率问题。

可以从多个文件加载抓取配置。

特性截图:

实践

启动vmagent(与prometheus.yml结合)

/path/to/vmagent -promscrape.config=/path/to/prometheus.yml -remoteWrite.url=https://victoria-metrics-host:8428/api/v1/write

todo...

启动vmagent(专门收集InfluxDB信息)

Mac OS系统,Docker容器方式,收集InfluxDB数据信息

docker pull victoriametrics/vmagent
docker run --name vmagent -p 8429:8429 -d victoriametrics/vmagent  -remoteWrite.url=http://docker.for.mac.host.internal:8428/api/v1/write

使用docker.for.mac.host.internal域名,保证docker从容器内部访问宿主机

curl写vmagent

通过curl写入数据到vmagent,然后vmagent转发到vm中

curl -d 'strawberry,tag1=value1,tag2=value2 field1=123,field2=1.23' -X POST 'http://localhost:8429/write'

查看数据:

curl -G 'http://localhost:8428/api/v1/export' -d 'match={__name__=~"strawberry.*"}'

数据结果:

{"metric":{"__name__":"strawberry_field2","tag1":"value1","tag2":"value2"},"values":[1.23],"timestamps":[1635493351441]}
{"metric":{"__name__":"strawberry_field1","tag1":"value1","tag2":"value2"},"values":[123],"timestamps":[1635493351441]}

telegraf写vmagent

启动influxdb的telegraf,将数据写入vmagent,vmagent在remote write到vm

编写telegraf配置脚本,telegraf2vmagent.conf

[agent]interval = "500ms"flush_interval = "500ms"[[inputs.cpu]]percpu = falsetotalcpu = true[[outputs.influxdb]]urls = ["http://localhost:8429"]

输入为本机Mac的cpu信息,输出为vmagent地址

启动telegraf

telegraf -config telegraf2vmagent.conf

Linux中,直接下载vmutils-amd64-v1.68.0.tar.gz,其中包含了vmagent-prod。

nohup ./vmagent-prod -remoteWrite.url=http://127.0.0.1:8428/api/v1/write >va.log 2>&1 &

常用命令

查看vmagent的help命令

docker run victoriametrics/vmagent -help

进入vmagent容器中

docker exec -it vmagent bin/sh

vmagent入门(一)相关推荐

  1. 用Construct 2制作入门小游戏~

    今天在软导课上了解到了Construct 2这个神器,本零基础菜鸟决定尝试做一个简单的小游戏(实际上是入门的教程啊= = 首先呢,肯定是到官网下载软件啊,点击我下载~ 等安装完毕后我便按照新手教程开始 ...

  2. Docker入门六部曲——Swarm

    原文链接:http://www.dubby.cn/detail.html?id=8738 准备工作 安装Docker(版本最低1.13). 安装好Docker Compose,上一篇文章介绍过的. 安 ...

  3. Docker入门六部曲——Stack

    原文链接:http://www.dubby.cn/detail.html?id=8739 准备知识 安装Docker(版本最低1.13). 阅读完Docker入门六部曲--Swarm,并且完成其中介绍 ...

  4. Docker入门六部曲——服务

    原文链接:http://www.dubby.cn/detail.html?id=8735 准备 已经安装好Docker 1.13或者以上的版本. 安装好Docker Compose.如果你是用的是Do ...

  5. 【springboot】入门

    简介: springBoot是spring团队为了整合spring全家桶中的系列框架做研究出来的一个轻量级框架.随着spring4.0推出而推出,springBoot可以説是J2SEE的一站式解决方案 ...

  6. SpringBoot (一) :入门篇 Hello World

    什么是SpringBoot Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不 ...

  7. 入门指南目录页 -PaddlePaddle 飞桨 入门指南 FAQ合集-深度学习问题

    入门指南目录页 -PaddlePaddle 飞桨 入门指南 FAQ合集 GT_Zhang关注 0.1012019.08.01 18:43:34字数 1,874阅读 795 Hi,欢迎各位来自Paddl ...

  8. 5 分钟入门 Google 最强NLP模型:BERT

    BERT (Bidirectional Encoder Representations from Transformers) 10月11日,Google AI Language 发布了论文 BERT: ...

  9. 命名实体识别入门教程(必看)

    关于开发自己的命名实体识别先期思路: 虽然网上有很多相关代码,但实际如何入门材料较少,故整理下: CRF:先期可以用人民日报语料库去做,步骤如下: https://blog.csdn.net/hude ...

最新文章

  1. 原来 Excel 只需三步就可以给证件照换底色!
  2. 【机器学习】Github8.9K,目前最佳模型解释器-LIME!
  3. ios 自定义拍照页面_无需解锁也能使用的iOS实用小组件
  4. 装饰者模式源码解析(spring-session mybatis jdk servlet)
  5. 判别模型、生成模型与朴素贝叶斯方法
  6. 受困版权,有情怀的网易云音乐还能走多远?
  7. c++byte数组和文件的相互转换_5分钟系列之Java类文件结构(三、字节码指令简介)...
  8. android伸缩动画自定义,Android干货:自定义带动画的View
  9. CSS初始化示例代码
  10. TensorFlow基础笔记(6) 图像风格化实验
  11. cocos2d-x3.0 关于CCAnimate 的一些资料
  12. Windows常用快捷键【快查字典版】
  13. 【离散数学】陪集的详解
  14. 设计一个O(n2)时间的算法,找出由n个数组成的序列的最长单调递增子序列。
  15. 今日份PS练习|油画棒效果
  16. 鲁迅先生的《一件小事》
  17. C#:TopK:1万个数取前最大的100,堆排序
  18. 利用SOP激活沉默用户
  19. Scrapy爬取P2P新闻入门教程
  20. 如何成为一名出色SEO从业人员

热门文章

  1. SQL SERVER MERGE 有则更新无则插入
  2. 2021年高压电工考试试卷及高压电工实操考试视频
  3. pandas用read_scv读取含英文双引号的文件
  4. 模块化封装和组件化封装
  5. 【Wannafly挑战赛8】 D Alice和Bob赌糖果 【赌徒破产模型】
  6. java学习笔记day09 final、多态、抽象类、接口
  7. ESP8266 Blinker RGB三色灯控制
  8. 基于51单片机的数字电压表c语言程序,基于51单片机的数字电压表的设计..doc
  9. Fusioncharts介绍
  10. CSS :hover选择器