Unix中的Splunk和Python命令
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)自然传递的方式,所以它就是这样期待的。