The Python code in this App is dual 2.7/3 compatible. This version of the App enforces Python 3 for execution of the modular input script when running on Splunk 8+ in order to satisfy Splunkbase AppInspect requirements. If running this App on Splunk versions prior to 8 , then Python 2.7 will get executed.
This is a Splunk Modular Input Add-On for indexing messages from a Kafka broker or cluster of brokers.
https://kafka.apache.org/
This App contains a custom modular input written in Java
As such , the following binary JAR archives are required
$SPLUNK_HOME/etc/apps
directorySetup Credentials
menu tab and setup kafka username(s)/password(s).$SPLUNK_HOME/etc/apps/kafka_ta/local/passwords.conf
Data Inputs
menu tab and setup your Kafka Inputs.Activation Key
menu tab and enter your key.Modular Input logs will get written to $SPLUNK_HOME/var/log/splunk/kafkamodinput_app_modularinput.log
These logs are rotated after a max size of 5MB with a backup limit of 5.
Setup logs will get written to $SPLUNK_HOME/var/log/splunk/kafkamodinput_app_setuphandler.log
These logs are rotated daily with a backup limit of 5.
The Modular Input logging level can be specified in the input stanza you setup. The default level is INFO
.
You can search for these log sources in the _internal
index or browse to the Logs
menu item on the App's navigation bar.
Any Splunk internal errors can also be searched like : index=_internal kafka.py ERROR
The default heap maximum is 64MB.
If you require a larger heap, then you can alter this in $SPLUNK_HOME/etc/apps/kafka_ta/bin/kafka.py
You can declare custom JVM System Properties when setting up new input stanzas. Note : these JVM System Properties will apply to the entire JVM context and all stanzas you have setup
The way in which the Modular Input processes the received Kafka messages is enitrely pluggable with custom implementations should you wish.
To do this you code an implementation of the com.splunk.modinput.kafka.AbstractMessageHandler
class and jar it up.
Ensure that the necessary jars are in the $SPLUNK_HOME/etc/apps/kafka_ta/bin/lib
directory.
If you don't need a custom handler then the default handler com.splunk.modinput.kafka.DefaultMessageHandler
will be used.
This handler simply trys to convert the received byte array into a textual string for indexing in Splunk.
Everyone's Splunk environment and Users/Roles/Permissions setup are different.
By default this App ships with all of it's objects globally shared (in metadata/default.meta
)
So if you need to limit access to functionality within the App , such as who can see the setup page , then you should browse to Apps -> Manage Apps -> Kafka Messaging Modular Input -> View Objects
, and adjust the permissions accordingly for your specific Splunk environment.
$SPLUNK_HOME/bin/splunk cmd python ../etc/apps/kafka_ta/bin/kafka.py --scheme
BaboonBones.com offer commercial support for implementing and any questions pertaining to this App.