Documentation Index
Fetch the complete documentation index at: https://otel.fyi/llms.txt
Use this file to discover all available pages before exploring further.
Splunkenterprise Receiver
contrib
Maintainers: @shalper2, @MovieStoreGuy, @greatestusername
Source: opentelemetry-collector-contrib
Supported Telemetry
Overview
Configuration
By default the Splunk Enterprise receiver is not configured to gather any metrics other thansplunk.health
The following settings are required, omitting them will either cause your receiver to fail to compile or result in 4/5xx return codes during scraping.
NOTE: These must be set for each Splunk instance type (indexer, search head, or cluster master) from which you wish to pull metrics. At present, only one of each type is accepted, per configured receiver instance. This means, for example, that if you have three different “indexer” type instances that you would like to pull metrics from you will need to configure three different splunkenterprise receivers for each indexer node you wish to monitor.
basicauth(from basicauthextension): A configured stanza for the basicauthextension.auth(no default): String name referencing your auth extension.endpoint(no default): your Splunk Enterprise host’s endpoint.
collection_interval(default: 10m): The time between scrape attempts.timeout(default: 60s): The time the scrape function will wait for a response before returning empty.build_version_info(default: false): Elect to run an additional scrape which will retrieve build and version info for the configured endpoints and attach this as attributes to the selected metrics. A value of false will report an empty string as the attribute value but will speed up the receiver slightly.
Basic Example:
Individual Cluster Config Example (with specific metrics enabled/disabled):
Custom SPL Searches
The receiver supports running arbitrary SPL searches against configured Splunk endpoints. This allows you to create custom metrics from any data available in your Splunk deployment. WARNING: Custom searches execute ad-hoc searches on your Splunk deployment. Be mindful of the performance impact, especially with complex searches or short collection intervals.Search Configuration
Each custom search requires:spl(required): The SPL search string. Can be provided as a single line or multi-line YAML block.target(required): The endpoint type to run the search against. Must be one of:indexer,search_head, orcluster_master.earliest(optional): The earliest time for the search. Defaults to-{collection_interval}(e.g.,-10mif collection_interval is 10m). Ignored if SPL already containsearliest=.latest(optional): The latest time for the search. Defaults tonow. Ignored if SPL already containslatest=.metrics(required): A list of metric definitions that map search result columns to OTel metrics.
- For regular searches (like
index=_internal | stats count), the receiver automatically addsearliestandlatesttime modifiers. - For generating commands that start with
|(other than| tstats), no time range is added since these commands handle time differently.- Receiver will correctly add a time range to searches that begin with
| tstats
- Receiver will correctly add a time range to searches that begin with
metric_name(required): The name of the metric to emit (e.g.,splunk.custom.event_count).value_column(required): The column name from the SPL results that contains the metric value.attribute_columns(optional): List of column names to include as metric attributes.value_type(optional): Eitherint(default) ordouble.unit(optional): The unit of measurement (e.g.,{count},By,%).description(optional): A description of the metric.static_attributes(optional): Key-value pairs to add as static attributes to all data points.
Different Collection Intervals
All custom searches run at the samecollection_interval as the built-in metrics. If you need searches to run at different intervals, configure multiple receiver instances:
Custom Search Example
Metrics
| Metric Name | Description | Unit | Type | Attributes |
|---|---|---|---|---|
❌ splunk.aggregation.queue.ratio | Gauge tracking the average indexer aggregation queue ration (%). Note:* Search is best run against a Cluster Manager. | {%} | Gauge | splunk.host, splunk.splunkd.build, splunk.splunkd.version |
❌ splunk.buckets.searchable.status | Gauge tracking the number of buckets and their searchable status. Note:* Search is best run against a Cluster Manager. | {count} | Gauge | splunk.host, splunk.indexer.searchable, splunk.splunkd.build, splunk.splunkd.version |
❌ splunk.data.indexes.extended.bucket.count | Count of buckets per index | {buckets} | Gauge | splunk.index.name, splunk.splunkd.build, splunk.splunkd.version |
❌ splunk.data.indexes.extended.bucket.event.count | Count of events in this bucket super-directory. Note:* Must be pointed at specific indexer endpoint. | {events} | Gauge | splunk.index.name, splunk.bucket.dir, splunk.splunkd.build, splunk.splunkd.version |
❌ splunk.data.indexes.extended.bucket.hot.count | (If size > 0) Number of hot buckets. Note:* Must be pointed at specific indexer endpoint. | {buckets} | Gauge | splunk.index.name, splunk.bucket.dir, splunk.splunkd.build, splunk.splunkd.version |
❌ splunk.data.indexes.extended.bucket.warm.count | (If size > 0) Number of warm buckets. Note:* Must be pointed at specific indexer endpoint and gathers metrics from only that indexer. | {buckets} | Gauge | splunk.index.name, splunk.bucket.dir, splunk.splunkd.build, splunk.splunkd.version |
❌ splunk.data.indexes.extended.event.count | Count of events for index, excluding frozen events. Approximately equal to the event_count sum of all buckets. Note:* Must be pointed at specific indexer endpoint and gathers metrics from only that indexer. | {events} | Gauge | splunk.index.name, splunk.splunkd.build, splunk.splunkd.version |
❌ splunk.data.indexes.extended.raw.size | Size in bytes on disk of the <bucket>/rawdata/ directories of all buckets in this index, excluding frozen Note:* Must be pointed at specific indexer endpoint and gathers metrics from only that indexer. | By | Gauge | splunk.index.name, splunk.splunkd.build, splunk.splunkd.version |
❌ splunk.data.indexes.extended.total.size | Size in bytes on disk of this index Note:* Must be pointed at specific indexer endpoint and gathers metrics from only that indexer. | By | Gauge | splunk.index.name, splunk.splunkd.build, splunk.splunkd.version |
✅ splunk.health | The status (‘red’, ‘yellow’, or ‘green’) of the Splunk server. Health of ‘red’ produces a 0 while all other colors produce a 1. | {status} | Gauge | splunk.feature, splunk.feature.health, splunk.splunkd.build, splunk.splunkd.version |
❌ splunk.indexer.avg.rate | Gauge tracking the average rate of indexed data. Note: Search is best run against a Cluster Manager. | KBy | Gauge | splunk.host, splunk.splunkd.build, splunk.splunkd.version |
❌ splunk.indexer.cpu.time | Gauge tracking the number of indexing process cpu seconds per instance | {s} | Gauge | splunk.host, splunk.splunkd.build, splunk.splunkd.version |
❌ splunk.indexer.queue.ratio | Gauge tracking the average indexer index queue ration (%). Note:* Search is best run against a Cluster Manager. | {%} | Gauge | splunk.host, splunk.splunkd.build, splunk.splunkd.version |
❌ splunk.indexer.raw.write.time | Gauge tracking the number of raw write seconds per instance | {s} | Gauge | splunk.host, splunk.splunkd.build, splunk.splunkd.version |
❌ splunk.indexer.rollingrestart.status | The status of a rolling restart. | {status} | Gauge | splunk.searchable.restart, splunk.rollingorrestart, splunk.splunkd.build, splunk.splunkd.version |
❌ splunk.indexer.throughput | Gauge tracking average bytes per second throughput of indexer. Note:* Must be pointed at specific indexer endpoint and gathers metrics from only that indexer. | By/s | Gauge | splunk.indexer.status, splunk.splunkd.build, splunk.splunkd.version |
❌ splunk.indexes.avg.size | Gauge tracking the indexes and their average size (gb). Note:* Search is best run against a Cluster Manager. | Gb | Gauge | splunk.index.name, splunk.splunkd.build, splunk.splunkd.version |
❌ splunk.indexes.avg.usage | Gauge tracking the indexes and their average usage (%). Note:* Search is best run against a Cluster Manager. | {%} | Gauge | splunk.index.name, splunk.splunkd.build, splunk.splunkd.version |
❌ splunk.indexes.bucket.count | Gauge tracking the indexes and their bucket counts. Note:* Search is best run against a Cluster Manager. | {count} | Gauge | splunk.index.name, splunk.splunkd.build, splunk.splunkd.version |
❌ splunk.indexes.median.data.age | Gauge tracking the indexes and their median data age (days). Note:* Search is best run against a Cluster Manager. | {days} | Gauge | splunk.index.name, splunk.splunkd.build, splunk.splunkd.version |
❌ splunk.indexes.size | Gauge tracking the indexes and their total size (gb). Note:* Search is best run against a Cluster Manager. | Gb | Gauge | splunk.index.name, splunk.splunkd.build, splunk.splunkd.version |
❌ splunk.io.avg.iops | Gauge tracking the average IOPs used per instance | {iops} | Gauge | splunk.host, splunk.splunkd.build, splunk.splunkd.version |
❌ splunk.kvstore.backup.status | Backup and restore status of the KV store. | {status} | Gauge | splunk.kvstore.status.value, splunk.splunkd.build, splunk.splunkd.version |
❌ splunk.kvstore.replication.status | Replication status of the KV store. | {status} | Gauge | splunk.kvstore.status.value, splunk.splunkd.build, splunk.splunkd.version |
❌ splunk.kvstore.status | This is the overall status of the kvstore for the given deployment. | {status} | Gauge | splunk.kvstore.storage.engine, splunk.kvstore.external, splunk.kvstore.status.value, splunk.splunkd.build, splunk.splunkd.version |
❌ splunk.license.expiration.seconds_remaining | Gauge tracking the seconds remaining on any given Splunk License found via Splunk API. Note: This will only work on a Cluster Manager. | {seconds} | Gauge | splunk.license.status, splunk.license.label, splunk.license.type, splunk.splunkd.build, splunk.splunkd.version |
❌ splunk.license.index.usage | Gauge tracking the indexed license usage per index | By | Gauge | splunk.index.name, splunk.splunkd.build, splunk.splunkd.version |
❌ splunk.parse.queue.ratio | Gauge tracking the average indexer parser queue ration (%). Note:* Search is best run against a Cluster Manager. | {%} | Gauge | splunk.host, splunk.splunkd.build, splunk.splunkd.version |
❌ splunk.pipeline.set.count | Gauge tracking the number of pipeline sets per indexer. Note: Search is best run against a Cluster Manager. | KBy | Gauge | splunk.host, splunk.splunkd.build, splunk.splunkd.version |
❌ splunk.scheduler.avg.execution.latency | Gauge tracking the average execution latency of scheduled searches | {ms} | Gauge | splunk.host, splunk.splunkd.build, splunk.splunkd.version |
❌ splunk.scheduler.avg.run.time | Gauge tracking the average runtime of scheduled searches | {ms} | Gauge | splunk.host, splunk.splunkd.build, splunk.splunkd.version |
❌ splunk.scheduler.completion.ratio | Gauge tracking the ratio of completed to skipped scheduled searches | {%} | Gauge | splunk.host, splunk.splunkd.build, splunk.splunkd.version |
❌ splunk.search.duration | Gauge tracking the duration in seconds of the last search probe call. | {status} | Gauge | splunk.splunkd.build, splunk.splunkd.version |
❌ splunk.search.initiation | Gauge tracking whether the last search probe successfully initiated a search. | {status} | Gauge | splunk.splunkd.build, splunk.splunkd.version |
❌ splunk.search.status | Gauge tracking the dispatch status of the last search probe. | {status} | Gauge | splunk.search.state, splunk.splunkd.build, splunk.splunkd.version |
❌ splunk.search.success | Gauge tracking whether the last search probe call was successful with the dispatch state ‘DONE’. | {status} | Gauge | splunk.splunkd.build, splunk.splunkd.version |
❌ splunk.server.introspection.queues.current | Gauge tracking current length of queue. Note:* Must be pointed at specific indexer endpoint and gathers metrics from only that indexer. | {queues} | Gauge | splunk.queue.name, splunk.splunkd.build, splunk.splunkd.version |
❌ splunk.server.introspection.queues.current.bytes | Gauge tracking current bytes waiting in queue. Note:* Must be pointed at specific indexer endpoint and gathers metrics from only that indexer. | By | Gauge | splunk.queue.name, splunk.splunkd.build, splunk.splunkd.version |
❌ splunk.server.searchartifacts.adhoc | Gauge tracking number of ad hoc search artifacts currently on disk. Note:* Must be pointed at specific Search Head endpoint and gathers metrics from only that Search Head. Available in builds 9.1.2312.207+ and 9.3.x+. | {search_artifacts} | Gauge | splunk.host, splunk.splunkd.build, splunk.splunkd.version |
❌ splunk.server.searchartifacts.adhoc.size | Gauge total size (MB) of ad hoc search artifacts currently on disk. Note:* Must be pointed at specific Search Head endpoint and gathers metrics from only that Search Head. Available in builds 9.1.2312.207+ and 9.3.x+. | {search_artifacts} | Gauge | splunk.host, splunk.splunkd.build, splunk.splunkd.version |
❌ splunk.server.searchartifacts.completed | Gauge tracking number of artifacts currently on disk that belong to finished searches. Note:* Must be pointed at specific Search Head endpoint and gathers metrics from only that Search Head. Available in builds 9.1.2312.207+ and 9.3.x+. | {search_artifacts} | Gauge | splunk.host, splunk.splunkd.build, splunk.splunkd.version |
❌ splunk.server.searchartifacts.completed.size | Gauge total size (MB) of artifacts currently on disk that belong to finished searches. Note:* Must be pointed at specific Search Head endpoint and gathers metrics from only that Search Head. Available in builds 9.1.2312.207+ and 9.3.x+. | {search_artifacts} | Gauge | splunk.host, splunk.splunkd.build, splunk.splunkd.version |
❌ splunk.server.searchartifacts.incomplete | Gauge tracking number of artifacts currently on disk that belong to unfinished/running searches. Note:* Must be pointed at specific Search Head endpoint and gathers metrics from only that Search Head. Available in builds 9.1.2312.207+ and 9.3.x+. | {search_artifacts} | Gauge | splunk.host, splunk.splunkd.build, splunk.splunkd.version |
❌ splunk.server.searchartifacts.incomplete.size | Gauge total size (MB) of artifacts currently on disk that belong to unfinished/running searches. Note:* Must be pointed at specific Search Head endpoint and gathers metrics from only that Search Head. Available in builds 9.1.2312.207+ and 9.3.x+. | {search_artifacts} | Gauge | splunk.host, splunk.splunkd.build, splunk.splunkd.version |
❌ splunk.server.searchartifacts.invalid | Gauge tracking number of artifacts currently on disk that are not in a valid state, such as missing info.csv file, etc. Note:* Must be pointed at specific Search Head endpoint and gathers metrics from only that Search Head. Available in builds 9.1.2312.207+ and 9.3.x+. | {search_artifacts} | Gauge | splunk.host, splunk.splunkd.build, splunk.splunkd.version |
❌ splunk.server.searchartifacts.job.cache.count | Gauge tracking number search artifacts metadata stored in memory, available in builds 9.1.2312.207+ and 9.3.x+. | {search_artifacts} | Gauge | splunk.host, splunk.splunkd.build, splunk.splunkd.version |
❌ splunk.server.searchartifacts.job.cache.size | Gauge tracking, in megabytes, memory used to cache job status and job info of all search artifacts, available in builds 9.1.2312.207+ and 9.3.x+. | {mb} | Gauge | splunk.host, splunk.searchartifacts.cache.type, splunk.splunkd.build, splunk.splunkd.version |
❌ splunk.server.searchartifacts.savedsearches | Gauge tracking, for the splunk.server.searchartifacts.scheduled number of scheduled search artifacts, how many different saved-searches they belong to. Note:* Must be pointed at specific Search Head endpoint and gathers metrics from only that Search Head. Available in builds 9.1.2312.207+ and 9.3.x+. | {search_artifacts} | Gauge | splunk.host, splunk.splunkd.build, splunk.splunkd.version |
❌ splunk.server.searchartifacts.scheduled | Gauge tracking number of scheduled search artifacts currently on disk. Note:* Must be pointed at specific Search Head endpoint and gathers metrics from only that Search Head. Available in builds 9.1.2312.207+ and 9.3.x+. | {search_artifacts} | Gauge | splunk.host, splunk.splunkd.build, splunk.splunkd.version |
❌ splunk.server.searchartifacts.scheduled.size | Gauge total size (MB) of scheduled search artifacts currently on disk. Note:* Must be pointed at specific Search Head endpoint and gathers metrics from only that Search Head. Available in builds 9.1.2312.207+ and 9.3.x+. | {search_artifacts} | Gauge | splunk.host, splunk.splunkd.build, splunk.splunkd.version |
❌ splunk.typing.queue.ratio | Gauge tracking the average indexer typing queue ration (%). Note:* Search is best run against a Cluster Manager. | {%} | Gauge | splunk.host, splunk.splunkd.build, splunk.splunkd.version |
Attributes
| Attribute Name | Description | Type | Values |
|---|---|---|---|
splunk.bucket.dir | The bucket super-directory (home, cold, thawed) for each index | string | |
splunk.feature | The Feature name from the Splunk Health Introspection Endpoint | string | |
splunk.feature.health | The Health (in color form) of a Splunk Feature from the Splunk Health Introspection Endpoint | string | |
splunk.host | The name of the splunk host | string | |
splunk.index.name | The name of the index reporting a specific KPI | string | |
splunk.indexer.searchable | The searchability status reported for a specific object | string | |
splunk.indexer.status | The status message reported for a specific object | string | |
splunk.kvstore.external | Value denoting if the KV store is using an external service | string | |
splunk.kvstore.status.value | The string value of the status returned when reporting on KV store using the introspection endpoint | string | |
splunk.kvstore.storage.engine | The backend storage used by the KV store | string | |
splunk.license.label | The label of the license. | string | |
splunk.license.status | The status of the license. | string | |
splunk.license.type | The type of license. | string | |
splunk.queue.name | The name of the queue reporting a specific KPI | string | |
splunk.rollingorrestart | Boolean that indicates if there is a rolling restart or rolling upgrade in progress. | bool | |
splunk.search.state | The dispatch state of the search | string | |
splunk.searchable.restart | Boolean that indicates if a searchable rolling restart/upgrade in progress.t | bool | |
splunk.searchartifacts.cache.type | The search artifacts cache type | string | |
splunk.splunkd.build | The build number for this Splunk instance version | string | |
splunk.splunkd.version | The splunkd version number | string |
Configuration
Example Configuration
Last generated: 2026-04-20