telegraf - 度量解析错误:偏移量 # 处的预期字段不是很有帮助
问题描述
我遇到了 Telegraf 的问题,它在使用 powershell 脚本生成的以下行时在输入中返回错误:
nps,Component\ Name=E\:\ Label\:DB\ Serial\ Number\ 51646c8b,Component\ Type=DISK,Node\ Name=f-lon21-wmemstr.testsystem.ie,Node\ Location=Labenv,Node\ Family =Microsoft\ Windows\ NT\ Servers,Node\ Vendor=Microsoft,metric_name=Disk\ Space\ Free\ -\ MB metric_value=42639.22 1546062000000000000 nps,Component\ Name=E\:\ Label\:DB\ Serial\ Number\ 51646c8b ,Component\ Type=DISK,Node\ Name=f-lon21-wmemstr.testsystem.ie,Node\ Location=Labenv,Node\ Family=Microsoft\ Windows\ NT\ Servers,Node\ Vendor=Microsoft,metric_name=Disk\ Space \ Total\ -\ MB metric_value=140960 1546062000000000000 nps,Component\ Name=E\:\ Label\:DB\ Serial\ Number\ 51646c8b,Component\ Type=DISK,Node\ Name=f-lon21-wmemstr.testsystem.ie ,Node\ Location=Labenv,Node\ Family=Microsoft\ Windows\ NT\ Servers,Node\ Vendor=Microsoft,metric_name=Disk\ Space\ Utilization metric_value=0。69751 1546062000000000000 nps,Component\ Name=E\:\ Label\:DB\ Serial\ Number\ 51646c8b,Component\ Type=DISK,Node\ Name=f-lon21-wmemstr.testsystem.ie,Node\ Location=Labenv,Node \ Family=Microsoft\ Windows\ NT\ Servers,Node\ Vendor=Microsoft,metric_name=Disk\ Space\ Used\ -\ MB metric_value=98320.77 1546062000000000000
截断的错误是:
2018-12-29T06:48:27Z E!插件 [inputs.exec] 中的错误:度量解析错误:偏移量 61 处的预期字段:“nps,组件名称=E:标签:DB 序列号 51646c8b,组件\ 类型=磁盘,节点\名称=f-lon21-wmemstr。 testsystem.ie,Node\ Location=Labenv,Node\ Family=Microsoft\ Windows\ NT\ Servers,Node\ Vendor=Microsoft,metric_name=Disk\ Space\ Free\ -\ MB metric_value=42639.22 1546062000000000000\nnps,Component\ Name= E\:\\ Label\:DB\ Serial\ Number\ 51646c8b,Component\ Type=DISK,Node\ Name=f-lon21-wmemstr.testsystem.ie,Node\ Location=Labenv,Node\ Family=Microsoft\ Windows\ NT\ Servers,Node\ Vendor=Microsoft,metric_name=Disk\ Space\ Total\ -\ MB metric_value=140960 1546062000000000000\nnps,Component\ Name=E\:\\ Label\:DB\ Serial\ Number\ 51646c8b,Component\ Type=DISK,Node\ Name=f-lon21-wmemstr.testsystem.ie,Node\ Location=Labenv,
偏移量 61 看起来很无辜,其中没有特殊字符。此外,是否应该检查 powerhsell 输出或电报日志中的行也不是很清楚。
解决方案
我将从删除键和值中的空格开始。流入线协议使用空格来表示度量名称/标签和实际统计值之间的分隔。
推荐阅读
- r - 重命名列名,然后使用 R 中重命名的列创建数据框
- c++ - 如何防止初始化列表中的错误值?
- nuget - 确保只能从特定源安装 NuGet 包
- linux - 如何使用 mobaXterm 将本地文件正确上传到服务器?
- android-fragments - 将值从一个片段传递到另一个片段
- java - libc++abi.dylib:使用 JAVA 构建 OpenGL 应用程序时以 NSException 类型的未捕获异常终止
- kubernetes - 如何将秘密挂载到 Kubernetes StatefulSet
- c# - OpenGL将错误的数据写入图像
- node.js - AWS Amplify 配置不允许登录控制台
- ubuntu-18.04 - 为什么我的 Ubuntu 机器没有 /dev/cpu/0/cpuid 目录?