首页 > 其他分享 >Prometheus数据迁移工具

Prometheus数据迁移工具

时间:2024-03-11 16:23:18浏览次数:20  
标签:存储 读取 工具 writer Prometheus reader 迁移 远程 string

参考文档

promscale/migration-tool/cmd/prom-migrator at master · timescale/promscale (github.com)

概述

Prom-migrator 是一个开源的、社区驱动的免费使用的通用 prometheus 数据迁移工具,利用 Prometheus 的 远程存储终结点。

独特功能

  • 将 Prometheus 数据从一个存储系统迁移到另一个存储系统
  • 运行时漂亮的输出,允许用户跟踪进度
  • 能够在发生任何意外关闭时从上次发送的数据恢复迁移
  • 能够在超时或错误时尝试重试
  • 无状态工作模式

安装

我的是arm64架构,如果你的环境是x86 64 可以通过promscale/migration-tool/cmd/prom-migrator at master · timescale/promscale (github.com) 去下载适合你的。

wget https://github.com/timescale/promscale/releases/download/0.17.0/prom-migrator_0.0.6_Linux_arm64
mv prom-migrator_0.0.6_Linux_arm64 /usr/local/bin/prom-migrator
chmod +x /usr/local/bin/prom-migrator

参数解释

prom-migrator 的用法:
-concurrent-pull int
    并发拉取支持并发提取数据。每个 fetch 查询都分为“并发拉取”(值)部分,然后并发提取。这样可以
    更快地从远程读取存储中提取数据,从而实现更高的读取吞吐量。注意:设置“concurrent-pull”> 1 
    将在进度条中显示并发获取数据的进度并禁用实时传输速率。高“并发拉取”会消耗大量内存,因此请确保
    将其与迁移序列数和可用内存相平衡。此外,将此值设置得太高可能会导致读取存储端出现 TLS 握手错
    误,或者可能导致提取请求不足,具体取决于您的网络带宽。(默认 1)
    
-concurrent-push int
    并发推送可同时推送板。每个板被划分为“并发推送”(值)部分,然后并发推送到远程写入存储。这可能
    会导致远程写入存储的吞吐量更高,前提是它能够处理负载。注意:较大的分片计数将导致大量内存使
    用。(默认 1)
    
-end string
    执行数据迁移的结束时间(RFC3339格式,如“1970-01-01T00:00:00+00:00”,或自 unix 纪元
    以来的秒数,UTC)。默认情况下,如果未设置此值,则“end”将设置为迁移开始的时间。

-gc-on-push
    推送每个板后运行垃圾回收器。这可能会带来更好的内存管理,因为 GC 在每个平板之后立即启动以清理
    未使用的内存块。

-max-read-duration duration
    通过连续的“la-increment”可以实现的最大板坯范围。这默认为“2 小时”,因为假设迁移是从 
    Prometheus TSDB 进行的。如果您不从 Prometheus 获取,或者如果您对 Prometheus 侧后 2 
    小时平板时间范围的慢速读取感到满意,请增加此持续时间。(默认 2h0m0s)

-max-read-size string
    (单位:B、KB、MB、GB、TB、PB)单次应读取的最大数据大小。读取大小越大,迁移速度越快,但内
    存使用量越高。示例:250MB。(默认为“500MB”)

-migration-name string
    当前要执行的迁移的名称。它对应于 progress-metric-name 中设置的标签“job”的值。(默认为
    “prom-migrator”)

-progress-enabled
    此标志告诉迁移者是否使用进度机制。如果要以相同的时间范围进行迁移,这将很有帮助。如果启用此功
    能,迁移程序将从上次停止/中断的时间恢复迁移。如果在迁移时不需要任何额外的指标,可以将其设置
    为 false。但是,如果将其设置为 false,将禁用进度指标,从而禁用恢复迁移的功能。(默认为 
    true)

-progress-metric-auth-username string
    读取远程写入存储的身份验证用户名。

-progress-metric-bearer-token string
    读取 bearer-token 用于远程写入存储。这应该与用户名和密码以及持有者令牌文件互斥。

-progress-metric-bearer-token-file string
    读取 bearer-token 用于远程写入存储。这应该与用户名和密码以及持有者令牌互斥。

-progress-metric-name string
    Prometheus 指标名称,用于跟踪推送到远程写入存储的最后一个最大时间戳。这用于在失败后恢复迁
    移过程。(默认为“prom_migrator_progress”)

-progress-metric-password string
    远程写入存储的读取身份验证密码。与 password-file 互斥。

-progress-metric-password-file string
    远程写入存储的读取身份验证密码。与密码互斥。

-progress-metric-tls-ca-file string
    进度指标组件的 TLS CA 文件。

-progress-metric-tls-cert-file string
    progress-metric 组件的 TLS 证书文件。

-progress-metric-tls-insecure-skip-verify
    进度指标组件的 TLS 不安全跳过验证。

-progress-metric-tls-key-file string
    进度指标组件的 TLS 密钥文件。

-progress-metric-tls-server-name string
    progress-metric 组件的 TLS 服务器名称。

-progress-metric-url string
    包含 progress-metric 的远程存储的 URL。注意:此 url 用于获取上次推送的时间戳。如果希望
    迁移从离开的位置恢复,以防发生崩溃,请将其设置为迁移程序正在写入的远程写入存储以及启用进度的
    存储。

-reader-auth-bearer-token string
    用于远程读取存储的持有者令牌。这应该与用户名和密码以及持有者令牌文件互斥。

-reader-auth-bearer-token-file string
    用于远程读取存储的持有者令牌文件。这应该与用户名和密码以及持有者令牌互斥。

-reader-auth-password string
    远程读取存储的身份验证密码。与 password-file 互斥。

-reader-auth-password-file string
    用于远程读取存储的身份验证密码文件。与密码互斥。

-reader-auth-username string
    远程读取存储的身份验证用户名。

-reader-http-header key:value
    要与所有读取器请求一起发送的 HTTP 标头。它使用格式 key:value,例如 '-reader-http-header=“X-Scope-OrgID:42”'。可以多次设置,以定义多个标头或同一标头的多个值。

-reader-max-retries int
    出错前的最大重试次数。如果将此值设置为 0,则重试过程将永远持续,直到该过程完成。注意:如果不
    想重试,请将 on-timeout 或 on-error 的值更改为非重试选项。

-reader-metrics-matcher string
    指标向量选择器,用于读取要迁移的数据。(默认 “{__name__=~\”.+\“}”)

-reader-on-error string
    当读取过程中发生错误时,读卡器应该如何表现。有效选项:['retry', 'skip', 'abort']。有关
    上述选项的更多信息,请参阅“读取器超时”。 (默认“中止”)

-reader-on-timeout string
    当在读取过程中发生超时时,读者应该如何表现。有效选项:['retry', 'skip', 'abort']。如果
    “重试”,读取器将在延迟后重试获取当前板。如果“跳过”,则读取器将跳过正在读取的当前板,并移动到
    下一个板。如果“中止”,迁移过程将中止。(默认为“重试”)

-reader-retry-delay duration
    在 prom-migrator 重试获取 slab 之前等待“read-timeout”的持续时间。仅当在 OnTimeout 
    或 OnErr 中设置了“retry”选项时,才使用延迟。(默认 1 秒)

-reader-timeout duration
    从读取存储中提取数据的超时。此超时还用于获取进度指标。(默认 5m0s)

-reader-tls-ca-file string
    远程读取组件的 TLS CA 文件。

-reader-tls-cert-file string
    远程读取组件的 TLS 证书文件。

-reader-tls-insecure-skip-verify
    远程读取组件的 TLS 不安全跳过验证。

-reader-tls-key-file string
    远程读取组件的 TLS 密钥文件。

-reader-tls-server-name string
    远程读取组件的 TLS 服务器名称。

-reader-url 字符串
    要从中读取数据的存储的 URL 地址。

-slab-range-increment duration
    在连续板中递增的时间范围量。(默认 1m0s)

-start string
    开始时间(RFC3339格式,如“1970-01-01T00:00:00+00:00”,或自 unix 纪元以来的秒数,
    UTC)。(含)(默认为“1970-01-01T00:00:00+00:00”)

-writer-auth-bearer-token string
    用于远程写入存储的持有者令牌。这应该与用户名和密码以及持有者令牌文件互斥。

-writer-auth-bearer-token-file string
    用于远程写入存储的持有者令牌。这应该与用户名和密码以及持有者令牌互斥。

-writer-auth-password string
    远程写入存储的身份验证密码。与 password-file 互斥。

-writer-auth-password-file string
    用于远程写入存储的身份验证密码文件。与密码互斥。

-writer-auth-username string
    远程写入存储的身份验证用户名。

-writer-http-header key:value
    要与所有编写器请求一起发送的 HTTP 标头。它使用格式 key:value,例如 '-writer-http-
    header=“X-Scope-OrgID:42”'。可以多次设置,以定义多个标头或同一标头的多个值。

-writer-max-retries int
    出错前的最大重试次数。如果将此值设置为 0,则重试过程将永远持续,直到该过程完成。注意:如果不
    想重试,请将 on-timeout 或 on-error 的值更改为非重试选项。

-writer-on-error string
    当写入过程中发生错误时,写入器应如何操作。有效选项:['retry', 'skip', 'abort']。有关上
    述选项的更多信息,请参阅“超时写入器”。 (默认“中止”)

-writer-on-timeout string
    当在写入过程中发生超时时,编写器应如何操作。有效选项:['retry', 'skip', 'abort']。如果
    “重试”,则编写器会在延迟后重试推送当前板。如果“跳过”,则编写器将跳过正在推送的当前板,并移动
    到下一个板。如果“中止”,迁移过程将中止。(默认为“重试”)

-writer-retry-delay duration
    在“写入超时”之后等待的持续时间,然后 prom-migrator 重试推送 slab。仅当在 OnTimeout 或 
    OnErr 中设置了“retry”选项时,才使用延迟。(默认 1 秒)

-writer-timeout duration
    推送数据写入存储超时。(默认 5m0s)

-writer-tls-ca-file string
    远程编写器组件的 TLS CA 文件。

-writer-tls-cert-file string
    远程编写器组件的 TLS 证书文件。

-writer-tls-insecure-skip-verify
    远程编写器组件的 TLS 不安全跳过验证。

-writer-tls-key-file string
    远程编写器组件的 TLS 密钥文件。

-writer-tls-server-name string
    远程编写器组件的 TLS 服务器名称。

-writer-url string
    要写入数据迁移的存储的 URL 地址。

我的迁移命令:

从Prometheus迁移到TDengine

prom-migrator -start=1606408552 -reader-url='http://10.0.0.10:9090/api/v1/read' -writer-url='http://10.0.0.11:6041/prometheus/v1/remote_write/prometheus' -writer-auth-username='root' -writer-auth-password='[email protected]' -progress-enabled=false -concurrent-push 100000

据我个人的实验验证-concurrent-push 参数不要设置为1,如果设置为1的话 无法将Prometheus数据全部迁移到TDengine,需要设置大一些。

标签:存储,读取,工具,writer,Prometheus,reader,迁移,远程,string
From: https://www.cnblogs.com/liushiya/p/18066413

相关文章

  • Java诊断工具Arthas:开篇之watch实战
    Arthas是阿里开源的线上监控诊断产品,用于问题的排查和诊断。它的出现大大提高线上排查问题的效率,这篇只讲它一个非常牛逼的功能,其它功能往后篇章会在展开详细说。一、Arthas能为你做什么?1、遇到问题无法在线上debug,难道只能通过加日志再重新发布吗?2、我改的代码为什么没有执......
  • DependencyCheck开源的软件组件漏洞检测工具
    DependencyCheck是一个开源的软件组件漏洞检测工具,用于帮助开发人员和安全团队发现项目中使用的第三方库中的已知漏洞。它扫描应用程序的依赖关系,包括第三方库、框架和其他组件,然后与漏洞数据库进行比较,以识别是否存在已公开披露的安全漏洞。1.主要特点包括:1.**自动化扫描:**De......
  • SQlServer 高版本向低版本大量数据迁移
    SQlServer高版本向低版本大量数据迁移一、我的情况我们开发时数据库版本是Sqlserver2017,甲方的数据库版本是Sqlserver2014我们数据库中的数据量大约1亿条,.mdf文件有七十多GB我们数据库里存在一些外键约束和存储过程二、迁移步骤1.为整个数据库生成仅限架构的sql......
  • WPF 实现文件/文件夹监听工具
    参考gpt环境软件/系统版本说明WindowsWindows10专业版22H219045.4046MicrosoftVisualStudioMicrosoftVisualStudioCommunity2022(64位)-17.6.5Microsoft.NetSDK8.0.101手动安装Microsoft.NetSDK7.0.306MicrosoftVisualStudio......
  • Java Http Get Post 请求工具类
    importcom.alibaba.fastjson.JSONObject;importorg.apache.http.NameValuePair;importorg.apache.http.client.config.RequestConfig;importorg.apache.http.client.entity.UrlEncodedFormEntity;importorg.apache.http.client.methods.CloseableHttpResponse;importorg......
  • Prometheus监控系统进程---process-exporter
    参考文档Namedprocessesstacked|GrafanaLabsNamedprocesses|GrafanaLabsncabatoff/process-exporter:Prometheus导出器,用于挖掘/proc以报告所选进程(github.com)操作步骤下载安装包wgethttps://github.com/ncabatoff/process-exporter/releases/download/v0.7.......
  • 遥感图像镶嵌拼接:ENVI的Pixel Based Mosaicking工具操作方法
      本文介绍基于ENVI软件,利用“PixelBasedMosaicking”工具实现栅格遥感影像镶嵌拼接的方法。  首先需要说明的是,本文需要镶嵌的遥感影像并不含地理参考信息,因此仅可以使用ENVI中的“PixelBasedMosaicking”工具(该工具可以对含有或不含有地理参考信息的图像进行镶嵌),而不是......
  • 小工具icmpsh的基本操作
    小工具icmpsh的基本操作基础介绍原理:通过icmp这个协议进行反弹一个shell前提条件:Kali(192.168.126.134)与Windows7(192.168.126.129)靶机需要在同一个网段(内网)当中,可以进行通信操作流程1、github上下载资源,复制进Kali,进行解压GitHub-bdamele/icmpsh:SimplereverseICMPsh......
  • 升级Win11专业版只需一秒无需工具,Win11专业版升级密钥
    Windows11专业版是面向技术爱好者、企业和技术人员的操作系统版本,它在Windows11家庭版的基础上增加了许多功能,可帮助您提高工作效率和安全性。主要功能:设备和应用管理:可使用组策略、MicrosoftIntune和WindowsAutopilot等工具管理设备和应用。数据保护:使用Bit......
  • sqlite 可视化工具SQLite studio
    特点:1.轻量级2.独立性,没有依赖,无需安装3.隔离性全部在一个文件夹系统4.跨平台支持众多操作系统5.多语言接口支持众多编程语言6.安全性事物,通过独占性和共享锁来实现独立事务的处理,多个进程可以在同一个时间内从同一个数据库读取数据,但只有一个可以写入数据所支持的数据类型:......