gpt4 book ai didi

powershell - 没有手动换行符,Logstash无法解析json数据

转载 作者:行者123 更新时间:2023-12-02 23:57:46 31 4
gpt4 key购买 nike

我有一个获取Internet历史记录的powershell脚本,我想将数据发送到logstash。该函数返回一个PSObjects数组,我将该数组传递给该函数:

function ConvertTo-logstash
{

Begin {
$result = ""
}
Process {
$result += $_ | ConvertTo-Json -Compress -Depth 1
$result += "`n"
}
end {
$result.replace("\","\\")
}

}

返回的数据如下所示:
{"Browser":"IE10/11","Category":"internethistory","Function":"inethistory","HostIP":"172.16.100.93","HostName":"wkst-7-2","LastVisitTime":"2016-08-01T16:27:13","Title":"","URL":"res://C:\\Windows\\system32\\mmcndmgr.dll/views.htm","User":"scrub","VisitCount":2}
{"Browser":"IE10/11","Category":"internethistory","Function":"inethistory","HostIP":"172.16.100.93","HostName":"wkst-7-2","LastVisitTime":"2016-08-02T14:33:26","Title":"","URL":"file:///C:/Users/scrub/Desktop/privEsc.ps1","User":"scrub","VisitCount":1}
{"Browser":"IE10/11","Category":"internethistory","Function":"inethistory","HostIP":"172.16.100.93","HostName":"wkst-7-2","LastVisitTime":"2016-08-15T10:24:38","Title":"","URL":"file:///C:/Users/scrub/Documents/template.pdf","User":"scrub","VisitCount":22}
...

我将此信息写入文件,然后通过套接字连接将此数据发送到logstash。问题在于,logstash阻塞了此数据,指出json无效,并且索引字段“Category”必须小写。当我在记事本中打开文件并在第一个条目后放置换行符然后发送时,logstash会很好地处理它。我尝试改变
$result += "`n"


$result += "`r`n"

因为那是将换行符放在记事本中所做的更改,但没有运气。为什么logstash似乎无缘无故地扼杀了这些数据?

编辑:添加换行符是不相关的。只需在记事本中打开然后保存而不修改就可以解决该错误。当前正在检查文件的二进制文件以查找差异。

最佳答案

检查以确保所收集的数据中没有任何空字节。 Logstash不知道如何处理其中包含空字节的条目。记事本将空字节解释为空格,然后在保存时将空字节替换为空格。如果这是问题所在,那么它将解释为什么仅在记事本中保存而不进行修改将使其起作用。

干杯!

关于powershell - 没有手动换行符,Logstash无法解析json数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38997334/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com