【问题标题】:How to convert splunk curl query into Rcurl [closed]如何将 splunk curl 查询转换为 Rcurl [关闭]
【发布时间】:2015-08-29 02:12:05
【问题描述】:

我想把这个特殊的 splunk curl 请求转换成 Rcurl:

curl -k -u admin:pass https://localhost:8089/services/search/jobs --get -d search="eventCount>100"

【问题讨论】:

  • 你试过了吗?
  • 欢迎来到 SO。首先你应该阅读here关于如何提出一个好问题;一个好的问题有更好的变化需要解决,你会得到帮助。另一方面,阅读this 也不错。它解释了如何在 R 中创建一个可重现的示例。帮助用户通过提供一段数据来帮助你,提供所需的输出和你迄今为止尝试过的事情......最后:当然我们看不到 你的 i> 本地主机!
  • 感谢您的建议,但是没有人可以在论坛中分享服务器和其他详细信息。这是 splunk doc 本身的示例,因此通过替换参数可以很好地重现

标签: r rcurl splunk


【解决方案1】:

这通过httr 提供了一个习语,您可以从中推断出其他 Splunk 调用:

#' @param search_terms
#' @param other parameters passed to httr GET/POST request
#' @return data.frame of results
search_now <- function(search_terms, ...) {

  require(httr)

  # i.e. "https://localhost:8089"
  splunk_server <- Sys.getenv("SPLUNK_API_SERVER")
  username <- Sys.getenv("SPLUNK_USERNAME")
  password <- Sys.getenv("SPLUNK_PASSWORD")

  search_job_export_endpoint <- "servicesNS/admin/search/search/jobs/export"

  response <- GET(splunk_server,
                   path=search_job_export_endpoint,
                   encode="form",
                   config(ssl_verifyhost=FALSE, ssl_verifypeer=0),
                   authenticate(username, password),
                   query=list(search=paste0("search ", search_terms, collapse="", sep=""),
                              output_mode="csv"),
                   verbose(), ...)

  result <- read.table(text=content(response, as="text"), sep=",", header=TRUE,
                       stringsAsFactors=FALSE)

  result

}

它希望服务器基本 URL 位于 SPLUNK_API_SERVER 环境变量中(将它们粘贴在 .Renvion 中),并且用户名和密码位于代码中其他两个非常明显的变量中。

我在a gist 为其他人提供了它,很高兴它获得了更多里程。一个完整的splunkr 包正在开发中。

【讨论】:

  • 不错! splunkr 包准备好了吗? :)
猜你喜欢
  • 1970-01-01
  • 2023-03-30
  • 2016-12-17
  • 2014-09-04
  • 2015-06-13
  • 1970-01-01
  • 1970-01-01
  • 2021-01-28
  • 1970-01-01
相关资源
最近更新 更多