unix中的Splunk和python命令

时间:2014-06-13 10:31:25

标签: python unix splunk

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

(我也试过str(路径))

正在抛出错误:

  

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

     

命令:         启用local-index [-parameter] ...         禁用local-index [-parameter] ...         显示本地索引         添加[forward-server | search-server]服务器         删除[forward-server | search-server]服务器         list [forward-server | search-server]

     

物件:         转发服务器Splunk转发器以转发要索引的数据         搜索服务器Splunk服务器以转发搜索         本地索引Splunk服务器上的本地搜索索引

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

完全正常

我做错了什么?

1 个答案:

答案 0 :(得分:1)

"add""monitor"作为单独的参数传递:

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

shell是如何自然地传递它的,所以这就是它所期望的。