This documentation does not apply to the most recent version of Splunk.
This documentation applies to the following versions of Splunk: 3.3 , 3.3.1 , 3.3.2 , 3.3.3 , 3.3.4 , 3.4 , 3.4.1 , 3.4.2 , 3.4.3 , 3.4.5 , 3.4.6 , 3.4.8 , 3.4.9 , 3.4.10 , 3.4.11 , 3.4.12
Here are descriptions of the various components of Splunk's architecture. This page focuses on the most useful aspects of Splunk's architecture for developing against the Splunk platform.
A Splunk server runs two processes running on your host, splunkd and splunkweb:
splunkd is a distributed C/C++ server that accesses, processes and indexes streaming IT data. It also handles search requests. splunkd processes and indexes your data by streaming it through a series of pipelines, each made up of a series of processors.
splunkd process, each configured with a single snippet of XML.
splunkd supports a command line interface for searching and viewing results.
splunkweb is a Python-based application server providing the Splunk Web user interface. It allows users to search and navigate IT data stored by Splunk servers and to manage your Splunk deployment through a web interface.
splunkweb and splunkd can both communicate with your web browser via REST:
splunkd also runs a webserver on port 8089 with SSL/HTTPS turned on by default.
splunkweb runs a web server on port 8000 without SSL/HTTPS by default.
Most of Splunk's advance configurations are affected via configuration files.
Important files for developers include:
A complete list of configuration files is located here.