Deployment Architecture

Do big implementations break down the serverclass.conf into multiple files?

ddrillic
Ultra Champion

We wonder if it makes sense to break down the serverclass.conf into multiple smaller files.
As it grows into five or six thousand lines, we wonder if it makes sense to keep growing it up.

Any thoughts?

Tags (1)
1 Solution

koshyk
Super Champion

Very good question and absolutely is the answer. It all depends on how much automation you require for your organisation and how your load balancing & firewall is enabled.

Let's take a large organisation and assume the hosts/clients are part of CMDB. So the simple 1 level iteration we could do is
1. Collect hostname, operating_system from cmdb (into a CSV)
2. Using a script, split this into minimum of 2 serverclass . (eg Windows, Unix). Details of machineTypesFilter in here

So your script/automation can generate two serverclass (MY_windows_serverclass, MY_nix_serverclass) and put stanza automatically something like (example of MY_windows_serverclass)

[serverClass:WindowsMachineTypes]
machineTypesFilter=windows*
whitelist.0=winhost1
whitelist.1=winhost2
..
whitelist.3012=winhostSomeOther3012

[serverClass:WindowsMachineTypes:app:AppsForDesktops]
[serverClass:WindowsMachineTypes:app:AppsForWindowsOnly2]

This way, your Windows Serverclass App will contain settings for Windows and deployment-app to be pushed only for Windows etc.
You can split this further into more chunks depending on how much automation you need (like Win 2012, Win2008) on what you get from CMDB

The more modular you make, better the automation and management of whitelists

View solution in original post

ddrillic
Ultra Champion

From the SE -

-- How many files of one type (inputs, props, transforms, server class) doesn't matter to Splunk, it's all read into memory as one object.

If breaking them into multiple files makes your job easier though, go for it. Doesn't matter to Splunk.

0 Karma

koshyk
Super Champion

Very good question and absolutely is the answer. It all depends on how much automation you require for your organisation and how your load balancing & firewall is enabled.

Let's take a large organisation and assume the hosts/clients are part of CMDB. So the simple 1 level iteration we could do is
1. Collect hostname, operating_system from cmdb (into a CSV)
2. Using a script, split this into minimum of 2 serverclass . (eg Windows, Unix). Details of machineTypesFilter in here

So your script/automation can generate two serverclass (MY_windows_serverclass, MY_nix_serverclass) and put stanza automatically something like (example of MY_windows_serverclass)

[serverClass:WindowsMachineTypes]
machineTypesFilter=windows*
whitelist.0=winhost1
whitelist.1=winhost2
..
whitelist.3012=winhostSomeOther3012

[serverClass:WindowsMachineTypes:app:AppsForDesktops]
[serverClass:WindowsMachineTypes:app:AppsForWindowsOnly2]

This way, your Windows Serverclass App will contain settings for Windows and deployment-app to be pushed only for Windows etc.
You can split this further into more chunks depending on how much automation you need (like Win 2012, Win2008) on what you get from CMDB

The more modular you make, better the automation and management of whitelists

Got questions? Get answers!

Join the Splunk Community Slack to learn, troubleshoot, and make connections with fellow Splunk practitioners in real time!

Meet up IRL or virtually!

Join Splunk User Groups to connect and learn in-person by region or remotely by topic or industry.

Get Updates on the Splunk Community!

A Four-Part Event Series: Full Stack Observability For the AI Era

As AI reshapes applications, infrastructure, and the way teams operate, the traditional boundaries of ...

SOC4Kafka - New Kafka Connector Powered by OpenTelemetry

The new SOC4Kafka connector, built on OpenTelemetry, enables the collection of Kafka messages and forwards ...

Event Series: Level up your SOC: Advancing with Splunk Enterprise Security

AI has fundamentally raised the stakes for security operations, and this three-part series is your guide to ...