What Splunk software logs about itself
Splunk software keeps track of its activity by logging to various files in $SPLUNK_HOME/var/log/splunk
.
The Splunk platform internal log files are rolled based on size. You can change the default log rotation size by editing $SPLUNK_HOME/etc/log.cfg
.
Search these files in Splunk Web by typing:
index=_internal
Search for errors and warnings by typing:
index=_internal (log_level=error OR log_level=warn*)
Internal logs
Here is a list, with descriptions, of the internal logs in $SPLUNK_HOME/var/log/splunk
. The internal logs from Splunk software are useful for troubleshooting or metric analysis.
Note that some log files are not created until your Splunk platform instance uses them.
Log file name | Useful for? |
---|---|
audit.log | Information about user activity, most interestingly about a user logging in (or failing to log in), modifying a setting, updating a lookup, or running a search. For example, if you're looking for information about a saved search, audit.log matches the name of a saved search (savedsearch_name) with its search ID (search_id), user, and time. With the search_id, you can look up that particular search elsewhere, like in the search dispatch directory. Read about audit events in the Securing Splunk Manual. Audit.log is the only file indexed to _audit .
|
btool.log | Log of btool activity. Read about btool in this manual. |
conf.log | Contains messages about configuration replication related to search head clustering. |
django_access.log | Django HTTP request log (equivalent to web_access.log) for the Django Bindings component of the Splunk Web Framework. |
django_error.log | Raw Django error output from Splunk Web Framework (not really meant to be human readable). Used with link on error screens to see the full error in Splunk Web. |
django_service.log | General Django related messages from Splunk Web Framework (equivalent to web_service.log) |
export_metrics.log | Log of metrics related to exporting data with Hadoop Connect. |
first_install.log | Shows version number. |
intentions.log | Beginning with Splunk 5, no longer used. Read about intentions in Developing Views and Apps for Splunk Web. |
license_audit.log | No longer used. |
license_usage.log | Indexed volume in bytes per pool, index, source, source type, and host. Available only on a Splunk license master. |
license_usage_summary.log | Daily indexed volume in bytes per pool, stack, and host. Available only on a license master. Indexed to _telemetry. See Share data in Splunk Enterprise in the Admin Manual. |
metrics.log | Contains periodic snapshots of Splunk performance and system data, including information about CPU usage by internal processors and queue usage in Splunk's data processing. The metrics.log file is a sampling of the top ten items in each category in 30 second intervals, based on the size of _raw. It can be used for limited analysis of volume trends for data inputs. For more information about metrics.log, see About metrics.log and Work with metrics.log in this manual. |
migration.log | A log of events during install and migration. Specifies which files were altered during upgrade. |
mongod.log | Contains runtime messages from the Splunk Enterprise app key value store. |
python.log | Python events within Splunk. Useful for debugging REST endpoints, communication with splunkd, PDF Report Server App, Splunk Web display issues, sendmail (email alerts), and scripted or modular inputs. This log records "WARNING" instead of "WARN" for second most verbose logging level.
The |
remote_searches.log | Messages from StreamedSearch channel. This code is executed on the search peers when a search head makes a search request. So this file contains useful information on indexers regarding searches they're participating in. |
scheduler.log | All actions (successful or unsuccessful) performed by the splunkd search and alert scheduler. Typically, this shows scheduled search activity. |
searches.log | Beginning with Splunk 5, no longer used. Instead, use the following search syntax: | history . This shows all the searches that have been run, plus stats for the searches.
|
searchhistory.log | No longer used. |
splunkd.log | The primary log written to by the Splunk server. May be requested by Splunk Support for troubleshooting purposes. Any stderr messages generated by scripted inputs, scripted search commands, and so on, are logged here.
|
splunkd_access.log | Any action done from splunkd through the UI is logged here, including splunkweb, the CLI, all POST GET actions, deleted saved searches, and other programs accessing the REST endpoints. Also logs the time taken to respond to the requests. Search job artifacts logged here include size of data returned with search. sourcetype="splunkd_access" |
splunkd_stderr.log | The Unix standard error device for the server. Typically this contains (for *nix) times of healthy start and stop events, as well as various errors like exceptions, assertions, and errors generated by libraries and the operating system. |
splunkd_stdout.log | The Unix standard output device for the server. |
splunkd_ui_access.log | Starting in 6.2, contains a significant portion of the types of events that used to be logged in web_access.log. |
splunkd-utility.log | This log is written to by the prereq-checking utils splunkd clone-prep-clear-config , splunkd validatedb , splunkd check-license , splunkd check-transforms-keys , and splunkd rest (for offline CLI). Each util logs Splunk version, some basic config, and current OS limits like max number of threads, and then messages specific to the util. Consult this log file when splunkd didn't start.
|
web_access.log | Requests made of Splunk Web, in an Apache access_log format. Much of the types of events logged here are logged in splunkd_ui_access.log starting in 6.2. |
web_service.log | Primary log written by splunkweb. Records actions made by splunkweb. This and python.log are the only logs that, in second most verbose logging level, write messages with "WARNING" instead of Splunk log files' usual "WARN." |
Introspection logs
Splunk Enterprise platform instrumentation refers to data that your Splunk Enterprise deployment logs in the _introspection index. It gathers data about your Splunk instance and operating system and writes it to log files that you can search later to aid in troubleshooting a variety of problems. You can also view the data at REST endpoints.
Read more in "About Splunk Enterprise platform instrumentation" in this manual.
Splunk platform search logs
The Splunk platform also creates search logs. These are not indexed to _internal.
Each search has its own directory for all information specific to the search, including a search log. The directory for each search is named with (among other parameters) the search_id. This search_id is matched to a human-readable search name in audit.log. The search directory for a recent search is in $SPLUNK_HOME/var/run/splunk/dispatch/
. In addition to the search.log file, a search directory contains other information about the search job, including the results. A search directory for a completed search is referred to as a search artifact.
If you have any long-running real-time searches, you might want to adjust the maximum size of your search logs. These logs are rotated when they reach a default maximum size of 10 MB. Splunk software keeps up to five of them for each search, so the total log size for a search can conceivably grow as large as 30 MB.
Most searches are unlikely to generate logs anywhere near 10 MB in size. But size can become an issue if you have ongoing real-time searches.
To adjust the log size, edit $SPLUNK_HOME/etc/log-searchprocess.cfg
.
See Dispatch directory and search artifacts in the Search Manual.
Debug mode
The Splunk platform has a debugging parameter. Read about enabling debug logging in this manual.
Except where noted above, Splunk platform internal logging levels are DEBUG INFO WARN ERROR FATAL
(from most to least verbose).
Note: Running Splunk software with debugging turned on outputs a large amount of information. Make sure you do not leave debugging on for any significant length of time.
Use Splunk Web to manage logs
To view and manage logs, you can use Splunk Web:
1. Navigate to Settings > Server settings > Server logging. This generates a list of log channels and their status.
2. To change the logging level for a particular log channel, click on that channel. This brings up a page specific to that channel.
3. On the log channel's page, you can change its logging level.
When you change the logging level, note the following:
- The change is immediate and dynamic.
- The change is not persistent; it goes away when the Splunk platform is restarted.
Settings > Server settings > Server logging is meant only for dynamic and temporary changes to Splunk log files. For permanent changes, use $SPLUNK_HOME/etc/log.cfg
instead.
Included data models
Splunk Enterprise comes with several sample data models. These data models are constructed from the internal logs from Splunk Enterprise. By interacting with them, you can learn about Splunk software log files and about data models in one fell swoop.
To access the internal log data models, in the Search & Reporting app in Splunk Web, click Datasets.
Splunk on Splunk app | Enable debug logging |
This documentation applies to the following versions of Splunk® Enterprise: 7.0.0, 7.0.1, 7.0.2, 7.0.3, 7.0.4, 7.0.5, 7.0.6, 7.0.7, 7.0.8, 7.0.9, 7.0.10, 7.0.11, 7.0.13, 7.1.0, 7.1.1, 7.1.2, 7.1.3, 7.1.4, 7.1.5, 7.1.6, 7.1.7, 7.1.8, 7.1.9, 7.1.10, 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, 7.2.10
Feedback submitted, thanks!