2014-10-28 119 views
0

我大量使用SPLUNK和SPLUK Rest API。大多數時候這工作正常。 SPUNK查詢語言也易於用於非開發人員。我在SPLUNK旁邊使用R來開發高級分析包來測試軟件的穩健性。我想混合兩者。Splunk查詢語言R

是否有任何R軟件包或R軟件接受並處理SPLUNK查詢?如果不是,在R中也需要有人使用這個功能?

+0

這可能是更好地將R添加到[Splunk搜索管道](h ttps://apps.splunk.com/app/1735/),但是您可以輕鬆使用'httr'軟件包來處理Splunk的[REST API](http://dev.splunk.com/view/SP-CAAADQT )。 – hrbrmstr 2014-10-28 11:55:26

回答

4

是的!有一個Splunk應用程序的確切目的。

它被稱爲R Project.

使用它是很容易。

| r "output = data.frame(Name=c('A','B','C'),Value=c(1,2,3))" 

...或上傳到應用程序A R腳本文件只是名字:

| r myscript.r 

輸入進來爲input,你需要你直接的結果output讓他們回到Splunk。

  1. 下載的應用程序
  2. 添加路徑到您的[R斌$SPLUNK_HOME/etc/apps/r/default/r.conf例如r=/usr/bin/R
  3. 管至R在您的搜索命令是這樣的:

| r "exp(mean(log(data.matrix(input)))) -> output"

這裏有一個稍微複雜的例子:

sourcetype=ps earliest=-4m 
| multikv fields RSZ_KB 
| search RSZ_KB > 0 AND VSZ_KB > 0 
| table RSZ_KB VSZ_KB 
| r " 
gm_mean = function(x, na.rm=TRUE){ 
    exp(sum(log(x[x > 0]), na.rm=na.rm)/length(x)) 
} 
data <- data.matrix(input); 
output <- apply(data, 2, gm_mean)" 

提供

x 
132.902175678696 
34188.4285350717