nishanth-pinnapareddy / splunk-hec-go

Splunk HTTP Event Collector (HEC) Golang library

Home Page:http://dev.splunk.com/view/event-collector/SP-CAAAE6M

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Splunk HEC Golang Library

Build Status

Golang library for Splunk HTTP Event Collector (HEC).

Build

You need install glide before build.

Install all dependencies

glide install

Build the example

go build -o build/example ./example/main.go

Features

  • Support HEC JSON mode and Raw mode
  • Send batch of events
  • Customize retrying times
  • Cut big batch into chunk less than MaxContentLength
  • Streaming data via HEC Raw
  • Indexer acknowledgement

Example

client := hec.NewCluster(
	[]string{"https://127.0.0.1:8088", "https://localhost:8088"},
	"00000000-0000-0000-0000-000000000000",
)
client.SetHTTPClient(&http.Client{Transport: &http.Transport{
	TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
}})

event1 := hec.NewEvent("event one")
event1.SetTime(time.Now())
event2 := hec.NewEvent("event two")
event2.SetTime(time.Now().Add(-time.Minute))

err := client.WriteBatch([]*hec.Event{event1, event2})
if err != nil {
	log.Fatal(err)
}

See hec.go for more usages.

About

Splunk HTTP Event Collector (HEC) Golang library

http://dev.splunk.com/view/event-collector/SP-CAAAE6M

License:Apache License 2.0


Languages

Language:Go 100.0%