【发布时间】:2019-07-09 08:21:04
【问题描述】:
我有一个不错的 PowerShell 脚本,用于获取事件日志并将它们导出到 CSV,然后我打算将其解析为 influxDB,并且我尝试了几种方法。其中是:
通过 PowerShell 流式写入 Telegraf。会发送包裹,但我认为包裹中没有任何东西,因为我脑子里有一些文本编码方式。
通过 API 进行 POST 查询。
第三方程序(尽管它们以 Syslog 为重点,也无济于事)。
我现在找到了一个Python script on Github,它将向我的 Influx 服务器发送一个 CSV 文件,这将是完美的,并且看起来可以工作,除了它给我关于时间戳的错误。 虽然这个 Python 脚本确实连接并可以创建数据库,但事件日志中的时间戳似乎有问题,即使我在 CSV 文件本身中手动将其更改为默认时间戳,它仍然会抱怨: python.exe:回溯(最近一次调用最后): 在行:1 字符:1 + python.exe .\csv-to-influx\csv-to-influxdb.py ` + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (Traceback (last last call last)::String) [], RemoteException + FullyQualifiedErrorId : NativeCommandError 文件“.\csv-to-influx\csv-to-influxdb.py”,第 175 行,在 args.timezone) 文件“.\csv-to-influx\csv-to-influxdb.py”,第 68 行,在 loadCsv 对于阅读器中的行: 文件“C:\Users\alexander.hansen\AppData\Local\Programs\Python\Python37-32\lib\csv.py”,第 111 行,在 __next__ self.fieldnames 文件“C:\Users\alexander.hansen\AppData\Local\Programs\Python\Python37-32\lib\csv.py”,第 98 行,在字段名中 self._fieldnames = next(self.reader) _csv.Error:行包含 NULL 字节
在尝试使用 Py 脚本插入这 1 行 CSV 时出现此问题:
EntryType,"TimeGenerated","Source","EventID","MachineName","Message" 警告,"2019-07-03 13:27:03","组策略本地用户和组","4098","主机名","---'组策略对象中的计算机“管理员”首选项不适用,因为它失败并出现错误代码“0x8007052a”不允许此操作,因为它可能导致管理帐户被禁用、删除或无法登录。此错误已被抑制。”我希望能够真正理解问题所在,但我不确定。 CSV 似乎是它应该的样子?
【问题讨论】:
-
文档使用这个例子
python csv-to-influxdb.py --dbname test --input data.csv --fieldcolumns value。尝试指定参数input、dbname -
运行脚本时已经指定了这些。
标签: python windows powershell influxdb