prometheus 自定义上报数据 时间戳

有一次,来个需求,监控设备任务的相关资源信息。但是因为场景原因,无法即时上传相关监控数据,只能把当时数据暂存服务器上,只有等任务完结后,统一批量把相关数据上报给prometheus。

这就涉及到,上传的数据,可能是昨天或者之前某一时刻的数据或者时间段的数据,需要自定义时间戳,这样就排除了push模式,只能用pull的方式,自定义exporter等待prometheus过来了拉取。

下面记录一些使用过程注意的小点,第一次用,比较菜,望指正。

提供给prometheus的采集数据格式:

<监控指标名称>{ <标签名称>=<标签值>…} <样本值1> <时间戳>

如:machine_cpu_use{date_id="a000001",use_name="root1"}  89.02   1690123237000

       machine_cpu_use{date_id="a000001",use_name="root1"}  20.02   1690123248000

时间戳自己有需求的话,想自定义时间的话,就可以打,也可以不打,Prometheus Server 会在拉取到样本数据时将时间戳设置为当前时间。

自定义时间戳,上报时还有个注意点就是   prometheus持久化最短默认时间是2个小时,所以,你要是想自定义时间戳,写入2小时之前的数据,就要更改  持久化时间。

--storage.tsdb.min-block-duration   数据块在持久化之前的最短持续时间默认值(“2h”)内存利用率越低,这个时间可以设置的时间越大

--storage.tsdb.max-block-duration  每个多长时间进行压缩  保存到磁盘的块 默认值是持久化参数的百分之10

更改到合适的数值,当然这个数值会有些内存利用率的牺牲。

可以启动时加上上面这两个参数即可:

./prometheus --config.file=prometheus.yml --web.listen-address=:8099 --storage.tsdb.min-block-duration=120h --storage.tsdb.max-block-duration=120h &

第一次用,有理解不对的地方,欢迎帮忙指出

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Prometheus是一个开源的监控系统,它通过拉取方式从各个目标(例如应用程序、服务、数据库等)收集指标数据,并提供了强大的查询语言和可视化界面。要上报自定义数据Prometheus,你可以按照以下步骤进行操作: 1. 在你的应用程序中,引入Prometheus客户端库。Prometheus提供了多种语言的客户端库,你可以选择适合你应用程序的库进行使用。 2. 在应用程序中定义自定义指标。你可以使用Prometheus客户端库提供的API来创建和注册自定义指标。自定义指标可以是计数器(Counter)、测量值(Gauge)、直方图(Histogram)或摘要(Summary)等类型。 3. 在适当的位置,根据业务逻辑更新自定义指标的值。例如,在某个请求处理函数中,你可以增加计数器的值,记录某个操作的耗时等。 4. 配置和启动Prometheus服务器。在Prometheus的配置文件中,你需要添加你的应用程序作为一个目标,并配置抓取间隔等参数。 5. 在Prometheus服务器中配置和定义你的自定义指标。在Prometheus的配置文件中,你可以添加你的自定义指标的名称、标签等信息。 6. 启动Prometheus服务器,并访问Prometheus的Web界面。在Web界面中,你可以使用PromQL查询语言来查询和可视化你的自定义指标。 通过以上步骤,你就可以成功上报自定义数据Prometheus,并通过Prometheus的查询和可视化功能来监控和分析这些数据了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值