簡體   English   中英

R的Splunk查詢語言

[英]Splunk query language for R

我大量使用SPLUNK和SPLUK Rest API。 在大多數情況下,這可以正常工作。 SPUNK查詢語言對於非開發人員也易於使用。 我在SPLUNK旁邊使用R來開發高級分析包,以測試軟件的健壯性。 我要混合兩者。

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

更新2018:

  • 源代碼已從github中刪除
  • 該應用程序已從splunkbase中刪除

我不知道在使用rest api之外在R中使用Splunk的好方法。


原始帖子:

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

它稱為R項目。

使用它真的很容易。

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

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

| r myscript.r

輸入作為input ,您需要將結果定向到output以將其返回到Splunk。

  1. 下載應用程式
  2. 將路徑添加到$SPLUNK_HOME/etc/apps/r/default/r.conf的R bin中,例如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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM