You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Telegraf 1.24.1版本号解析:将10.2.12拆分为主/次/补丁变量

拆分Telegraf版本号为独立变量的方案

Telegraf本身没有内置的字符串拆分函数,但可以通过以下两种实用方案实现版本号拆分:

方法一:利用exec插件配合shell命令解析

在Telegraf配置中,通过exec插件调用shell命令拆分版本号,直接输出结构化字段:

[[inputs.exec]]
  commands = ["echo '1.24.1' | awk -F '.' '{print \"major=\"$1, \"minor=\"$2, \"patch=\"$3}'"]
  data_format = "influx"

执行后会生成major=1、minor=24、patch=1三个字段,可直接被Telegraf采集。

方法二:使用starlark处理器编写脚本处理

Telegraf 1.19及以上版本支持starlark处理器,可通过简单脚本拆分版本号:

[[processors.starlark]]
  source = '''
def apply(metric):
    # 假设版本号存储在tags的version字段中
    version = metric.tags["version"]
    parts = version.split(".")
    metric.fields["major"] = int(parts[0])
    metric.fields["minor"] = int(parts[1])
    metric.fields["patch"] = int(parts[2])
    return metric
'''

如果版本号是固定值,可直接替换为version = "1.24.1"进行拆分。

额外说明

  • 若版本号包含预发布标签(如1.24.1-beta),需先截取-前的部分再拆分,比如在shell命令中添加cut -d '-' -f 1,或在starlark脚本中用version.split("-")[0]处理。
  • exec插件为Telegraf核心插件,全版本支持;starlark处理器需Telegraf 1.19+版本。

内容的提问来源于stack exchange,提问作者Alberkillo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 23:41:29