How workload management works
Workload management lets you reserve groups of CPU and memory resources on Linux operating systems, and allocate those resources to search processes in Splunk Enterprise. These resource groups are called workload pools. You can create multiple workload pools of varying sizes to support the search requirements of different users and groups.
Workload management also lets you define policies that control who has access to specific workload pools. These policies are called workload rules. You can use workload rules to ensure that users running high-priority searches have access to sufficient resources, while those running less important searches are appropriately restricted.
After you create workload pools and rules, you can assign individual scheduled or ad-hoc searches to designated workload pools, based on workload rules that you define. For more information, see Assign searches to workload pools.
You can monitor your workload management configuration, and track CPU and memory usage on a per pool basis, using the workload management dashboards in the Monitoring Console. For more information, see Monitor workload management.
Workload management concepts and features
The following concepts and features are important to understand before you configure and use workload management.
cgroups (control groups) are a Linux kernel feature that lets you prioritize a specified amount of system resources for a group of processes. cgroups also include a rules engine that lets you control user access to resources. Workload management in Splunk Enterprise is an abstraction of the underlying functionality of Linux cgroups.
Before you can configure workload management in Splunk Enterprise, you must set up cgroups on your Linux operating system. For more information, see Set up Linux for workload management.
systemd is a system startup and service manager for Linux operating systems that organizes processes under cgroups. You can configure
systemd to allow
splunkd to manage cgroups.
systemd uses instructions for a daemon specified in a unit configuration file. You can configure this unit file to run
splunkd as a
For information on how to configure
systemd for workload management, see Configure systemd distributions.
A workload pool is a specified amount of CPU and memory resources that you can define and allocate to search processes in Splunk Enterprise. Each workload pool reserves a subset of the total amount of CPU and memory available on the system. You can assign individual scheduled or ad-hoc searches to designated workload pools, based on policies that you define in workload rules.
For more information, see Create workload pools.
A workload rule is a policy that you define to control access to workload pools. Each workload rule has a predicate condition that determines which apps and roles can assign searches to a designated pool. You can specify a priority order for workload rules that determines which apps and roles, and therefore which searches, have priority access to workload pools.
For more information, see Create workload rules.
About workload management
This documentation applies to the following versions of Splunk® Enterprise: 7.2.0, 7.2.1, 7.2.2, 7.2.3, 7.2.4, 7.2.5, 7.2.6, 7.2.7, 7.2.8, 7.2.9