This documentation applies to the following versions of Splunk: 4.0 , 4.0.1 , 4.0.2 , 4.0.3 , 4.0.4 , 4.0.5 , 4.0.6
This topic discusses the various issues and considerations you should review before migrating to 4.0 from 3.4.x or earlier. You'll find information about aspects of your deployment that cannot be migrated automatically, some changes you will need to make manually, and other changes that the migration script will handle.
Note: If you're migrating from versions earlier than 3.4.x, please follow the documentation for that version to migrate to 3.4.x and then proceed from there. Migration to 4.x is only supported from 3.4.x.
Before you proceed with migration, you should also review the Known Issues for additional information.
Did you migrate an existing Splunk installation to 4.x and run into some issues? What led to your success? Share your tips with other users on the Splunk Community Wiki "Migration experiences" page.
Splunk 4 is a huge stride forward in performance and flexibility, but there are a few interaction changes vs. 3.4.x which upgraders should be aware of, and even some reasons why you might want to wait for a future release before upgrading. Below are some capabilities that have changed with the introduction of Splunk 4:
Live tail
Custom field actions
Snapshots
Event scrolling
Timeline and timestamp interaction
Crawl
FIFO inputs
Persistent Queue
RSS alerts
Let us know when you're ready to migrate, and we'll be here to help.
Splunk 4.x does not work with licenses from older releases.
$SPLUNK_HOME/etc/splunk.license file before you start Splunk 4.x. The instance will then pick up the 60-day Enterprise trial license.
Starting with 4.0.2, by default when you start Splunk for the first time, it moves aside any existing 3.x license and replaces it with a temporary Enterprise trial license. This allows you to bring up the new version of Splunk without having your license be expired until you get your new one copied in.
If you are migrating to Splunk 4.0.2 or later and have a valid 4.x license, you can pre-seed the license file so that it pulls in and installs your new license the first time you start Splunk 4. This is useful if you have to deploy multiple instances and don't want to have to manually copy the new license in after starting Splunk on each machine.
If you're making a deployable package, you can include the splunk-user.license file with your updated license in it before you tar/zip it up for deployment to other systems.
If you have not customized your 3.x deployment extensively, you may be able to use the automatic migration process described in either Migrate on Windows or Migrate on UNIX.
If you have customized your 3.x deployment to any degree, (in particular, if you have customized deployment.conf), you may have to consider migrating your deployment manually. In this case, follow the Steps for manual migration to Splunk 4.x.
Splunk 4.x is significantly different from earlier versions. Some configuration files from your 3.x deployment can be copied over to your new 4.x install without any migration required. However, some aspects of your existing deployment cannot be migrated, and must be rebuilt; this is most relevant for 3.x deployments and configurations that have been extensively customized.
All things to do with Splunk Web have been completely re-architected and rebuilt from the ground up. As a result, any customizations you've made that affect the display of Splunk Web cannot be migrated; you must rebuild them using the 4.x architecture and tools. These include:
In general, apps do not get migrated; you should re-architect your apps to follow the new 4.0 architecture. For more information about Apps in 4.0, refer to the Developer Manual. For more guidance on migrating your apps, consult this topic on migrating your 3.x apps in the Developer Manual.
Not all Splunk 3.4.x apps will be immediately available for 4.0. New apps will be added to the Splunk App Store as they become available.
Splunk for PCI Compliance and Splunk for Change Management have not yet been made available for Splunk 4, If you have one of these Apps, contact Support before upgrading, or consider installing a parallel instance of Splunk to maintain them.
4.x Deployment Server is not backwards compatible with 3.x Deployment clients.
If you use the Splunk deployment server, you must rebuild your deployment configuration using the new deployment server architecture in 4.x; it cannot be migrated. If you've made changes to deployment.conf in version 3.x, you should not copy it over into your new Splunk 4.x installation. Set it aside to use as a basis for building your new deployment server configuration.
In the meantime, if you have 3.4.x deployment server and clients and do not want to migrate all the clients at this time, you can use the instructions in this topic to configure a stripped-down 3.4.x deployment server to continue managing your deployment clients.
If you have 3.4.x forwarders, you can delay migrating them to 4.x; 3.4.x forwarders will work with a 4.x version of Splunk. This is especially useful for large forwarder deployments. You can wait until you are comfortable with your new deployment server configuration before migrating forwarders to 4.x.
In summary:
3.x Forwarders will work with a 4.x Indexer.
3.x Deployment Clients will not work with 4.x Deployment Server.
4.0.x distributed search is not backwards compatible with 3.x distributed search.
If you use distributed search, all your participating distributed search nodes will need to run Splunk 4.x in order to successfully communicate and return results.
This issue was resolved in 4.0.2.
To ensure your 4.x server doesn't contact your existing 3.x deployment clients, change the management port on the 4.x instance. Add the following to $SPLUNK_HOME/etc/system/local/web.conf to change it from the default 8089 port to 8090:
[settings] mgmtHostPort = 127.0.0.1:8090
Important: Version 4.x clients do not work with version 3.x deployment server.
Splunk 4.x differs significantly from version 3.x, and the migration script cannot convert the content of some configuration files. This section describes some of the changes that you will need to make manually.
Scheduled searches and alerts do not migrate automatically. In the 4.0 knowledge model, a search cannot execute outside of an app context. Thus, saved searches are considered part of the Search app; they are not global and viewable across all apps.
To migrate your saved searches:
1. Stop Splunk; execute the command:
$SPLUNK_HOME/bin/splunk stop
2. Move $SPLUNK_HOME/etc/system/local/savedsearches.conf to $SPLUNK_HOME/etc/apps/search/local/
3. Move any stanzas whose name starts with "savedsearches/" from $SPLUNK_HOME/etc/system/metadata/local.meta to $SPLUNK_HOME/etc/apps/search/metadata/local.meta
4. Start Splunk; execute the command:
$SPLUNK_HOME/bin/splunk start
Sourcetype renaming replaces "sourcetype aliasing "and isn't implemented by tags. For more information, see "About tags and aliases" in the Knowledge Manager manual. Saved searches that rely on aliased sourcetypes won't work without migration. For steps to migrate these saved searches, see migration concerns for scheduled searches and alerts.
The crawl.conf stanza [file_crawler] should be renamed [files]. This does not happen automatically.
The command line interface, CLI, has been completely rewritten for Splunk 4.x. There are no known migration or backwards compatibility issues. Refer to release notes for the list of changes to the CLI, which include deprecated CLI command options and new functionality.
During migration, many configuration files cannot simply be copied over. Splunk provides scripts for converting and migrating the content of these files so that they will function correctly in 4.x. You can run the migration preview utility to see what will be changed before you actually upgrade and migrate. The following is a list of some of the changes that take place during migration.
This configuration file is migrated with savedsearches.conf.
During migration, some attributes are added to indexes.conf while other local attributes are either removed or changed to global parameters. For more details about these parameters, refer to indexes.conf in the Admin manual.
The following attributes are no longer supported and have no effect:
The following global attributes are added with these defaults:
For high-volume indexes (such as main), the following defaults are used:
During migration, form searches are disabled, a default global view state is set, and owner attributes are moved so that they follow the 4.0 roles and permissions model.
search attribute contains macros ($<strings>$), disabled = 1 is added to the stanza.
viewstate.", the line is commented out.
During migration, the following attributes are moved from splunkd.xml to server.conf:
The following attributes, for the server certificate and key file and password, are renamed:
During migration, Windows-specific files (regmon-filters.conf, sysmon.conf, and wmi.conf) and knowledge objects are moved out of default and into the Windows app architecture.
During migration, the following conf files are removed:
Data indexed by version 3.x is completely compatible with 4.x and does not need to be re-indexed. However, note that it may have been indexed in a less efficient form, so searches performed over data that was originally indexed and migrated from 3.x may not be as fast as searches over newly-indexed 4.x data.