Unix中的Splunk和Python命令

0 投票
1 回答
536 浏览
提问于 2025-04-18 09:40
splunkmonitormessage= subprocess.Popen(["sudo", "/opt/splunkforwarder/bin/splunk", "add monitor", path], stdin=subprocess.PIPE, stdout=subprocess.PIPE)

(我也试过 str(path))

但是出现了一个错误:

命令错误:子命令 '/opt/logs/node_Default_Node.log' 对于命令 'add monitor' 来说是无效的。数据转发配置管理工具。

可用命令: enable local-index [-参数] ... disable local-index [-参数] ... display local-index add [forward-server|search-server] 服务器 remove [forward-server|search-server] 服务器 list [forward-server|search-server]

对象: forward-server 一个 Splunk 转发器,用于转发要索引的数据 search-server 一个 Splunk 服务器,用于转发搜索请求 local-index Splunk 服务器上的本地搜索索引

sudo /opt/splunkforwarder/bin/splunk add monitor /opt/logs/node_Default_Node.log

完全没问题

我到底哪里做错了?

1 个回答

2

"add""monitor" 当作两个单独的参数传递:

splunkmonitormessage = subprocess.Popen(
    ["sudo", "/opt/splunkforwarder/bin/splunk", "add", "monitor", path],
    stdin=subprocess.PIPE, stdout=subprocess.PIPE
)

这是命令行(shell)自然传递的方式,所以它就是这样期待的。

撰写回答