Getting Data In

Choosing an approach for sending metrics to Splunk

sri420
New Member

Hi,

I have just started exploring Splunk.

My requirement is to capture metrics from the a set of micro services running in our environment.

I see splunk provides multiple options for this. I am not clear which one is the right one to use.

  1. I see REST API exposed by Splunk with endpoints for both CollectD and StatsD line protocols.
  2. Also I see there is a Universal forwarder which needs to be installed in the different host machines and that will forward to splunk indexer. I feel installing a forwarder on all machines might be a constraint but might have better performance but, I am not sure how we can send metrics to Universal Forwarder. Is there a REST API for that.
  3. Also, there is an option to use TCP instead of HTTP. I am also not sure how I can send using TCP. Also, would TCP give better performance than HTTP.

Can someone please guide me on the right approach for the right scenario?

0 Karma

esix_splunk
Splunk Employee
Splunk Employee

Well, first ill comment on #3...

TCP is a transport, and HTTP is an application on top of the Transport.. HTTP/S is over TCP. This is how the OSI model works ( 7 layers of the OSI, Google that and you’ll get a better feeling for what this means.)

Now the meat of your question..

Typically microservices provide some sort of logging out facitility, syslog is common, but some form of JSON out over HTTP is more prevalent. This is where the Splunk HEC comes into play. We have the capability to listen over HTTP/S and collect events in raw or JSON format and index them, in the same manner we would with a UF installed and reading a file.

I would look at this as an option for a microservice based world. As you mention, installing a UF requires some type of application footprint ( memory / cpu / storage.) Where as a logging endpoint is typically just a configuration setting, Awesome stuff!

REST API is another option, I don’t have a lot of thoughts on this except that customers at large scale are or pushing TBs+ of data per day over HEC or UF, and not REST... REST would entail writing some custom apps via shell or SDK though. While doable, HEC is much better suited here..

0 Karma
Get Updates on the Splunk Community!

Cloud Platform & Enterprise: Classic Dashboard Export Feature Deprecation

As of Splunk Cloud Platform 9.3.2408 and Splunk Enterprise 9.4, classic dashboard export features are now ...

Explore the Latest Educational Offerings from Splunk (November Releases)

At Splunk Education, we are committed to providing a robust learning experience for all users, regardless of ...

New This Month in Splunk Observability Cloud - Metrics Usage Analytics, Enhanced K8s ...

The latest enhancements across the Splunk Observability portfolio deliver greater flexibility, better data and ...