Splunk ES 接入 log 的方式


Splunk ES 接入 log 的方式主要有两种:

 

使用 Splunk Universal Forwarder (UF)

UF 是一个轻量级的代理,可以安装在各种操作系统和设备上。它可以收集各种类型的日志文件,并将它们发送到 Splunk ES 进行索引和分析。

通用转发器 (Universal Forwarder):通用转发器是一种轻量级代理,可以安装在各种操作系统上,包括 Windows、Linux、Mac OS X 等。Universal Forwarder 可以从各种来源收集数据,包括:

  • 系统日志
  • 应用程序日志
  • 网络流量
  • 安全事件

 

 

 

使用Heavy Forwarder (HF)

Heavy Forwarder 是一种高性能转发器,需要安装代理。它可以处理高数据量和高事件速率。

Heavy Forwarder 适用于大型环境,其中需要收集大量数据或事件速率很高。

 

Heavy Forwarder 可以安装在任何能够满足其系统要求的服务器上。 这些要求包括:

  • 操作系统:Red Hat Enterprise Linux、CentOS、Ubuntu、Debian、SUSE Linux Enterprise Server、Windows Server
  • CPU:至少 2 核
  • 内存:至少 4 GB
  • 磁盘空间:至少 10 GB

 

使用 HTTP Event Collector (HEC)

HEC 是一个 RESTful API,可以用于将日志数据从任何应用程序或设备发送到 Splunk ES。

HEC (HTTP Event Collector) 是一种使用 HTTP 协议发送日志到 Splunk Enterprise 或 Splunk Cloud 的工具。它可以从各种应用程序和设备收集数据,包括:

  • 应用程序
  • 脚本
  • 设备

HEC 发送日志的过程如下:

  1. 应用程序或设备将日志数据发送到 HEC 端点。
  2. HEC 端点将日志数据转发到 Splunk Enterprise 或 Splunk Cloud。
  3. Splunk Enterprise 或 Splunk Cloud 将日志数据索引和分析。

HEC 发送日志的示例:

curl -X POST \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "events": [
      {
        "timestamp": "2023-01-01T00:00:00.000Z",
        "source": "myapp",
        "sourcetype": "syslog",
        "message": "This is a log message."
      }
    ]
  }' \
  "https://<HEC_endpoint>/services/collector"

在这个示例中,curl 命令用于将日志数据发送到 HEC 端点。

  • -X POST 指定 HTTP 方法为 POST。
  • -H "Authorization: Bearer <token>" 指定 HEC 令牌。
  • -H "Content-Type: application/json" 指定请求内容类型为 JSON。
  • -d '{ "events": [ { "timestamp": "2023-01-01T00:00:00.000Z", "source": "myapp", "sourcetype": "syslog", "message": "This is a log message." } ] }' 指定要发送的日志数据。
  • "https://<HEC_endpoint>/services/collector" 指定 HEC 端点 URL。

有关 HEC 的更多信息,请参阅 Splunk 文档:

 

以下是一些使用 HEC 发送日志的第三方工具:

  • Logstash
  • Fluentd
  • Beats

这些工具可以帮助您从各种来源收集数据并将其发送到 Splunk 进行索引和分析。

posted @ 2024-02-18 14:41  安全泰哥  阅读(75)  评论(0编辑  收藏  举报