splunk-hec-go
splunk-hec-go copied to clipboard
Splunk HTTP Event Collector (HEC) Golang library
Splunk HEC Golang Library
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
- [x] Support HEC JSON mode and Raw mode
- [x] Send batch of events
- [x] Customize retrying times
- [x] Cut big batch into chunk less than MaxContentLength
- [x] Indexer acknowledgement
- [ ] Streaming data via HEC Raw
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.