Understanding Edge Processor
Understanding Edge Processor
Each forwarder deployment is independent, so the collection process is opaque. Different inputs
are setup in different places. Edge Processor provides a centralized cloud control plane from
which all of your nodes can be centrally configured and monitored. Additionally, SPL2 pipelines
are easier to interpret than many layered .conf files.
• Horizontally scale and load balance fleet-wide by adding more Edge Processor instances.
These node binary and pipeline designs are auto-updated.
Edge Processor helps you control overall operational cost more effectively. The Edge Processor
service is provided as an integral part of Splunk Cloud at no additional cost. All you need is to
supply your own Edge Processor hosts.
• Pipelines composed with SPL2, the next-generation of the Splunk Processing Language
Combined, you can enable data processing at the edge of your network. Flip the cards below to
learn more about each:
Splunk hosts the Edge Processor service as part of the Splunk Cloud Platform. The Edge
Processor service provides a cloud control plane that lets you deploy configurations, monitor
the status of your Edge Processors, and gain visibility into the amount of data that is moving
through your network.
You install Edge Processors on self-managed hosts. Edge Processors provide a data plane that
lets you reduce and sanitize your data before sending it outside of your network.
Pipeline
In the Edge Processor service, you create pipelines to specify what data to process, how to
process it, and what destination to send the processed data to. Then, you apply pipelines to
your Edge Processors to configure them to start processing data according to those instructions.
The following diagram provides an overview of how these components work together:
You access your Edge Processor service through the Splunk Cloud Platform. The Splunk Cloud
Platform, or SCP, is a cloud-native environment that hosts a variety of Splunk cloud application
services. Unlike the classic Splunk Cloud stacks, the SCP is a multi-tenant environment where all
service binaries are centrally managed but independently deployed based on subscriptions. A
tenant is the namespace for a customer entity where Splunk cloud services are subscribed and
available. The tenants are isolated from each other in cells, so the security and resources for
each tenant is protected. It is the SCP resource container that defines what activities the
members of a tenant are allowed to perform.
The path your data takes remains the same as before – it moves from sources to destinations.
The only change is the additional Edge Processor instances that sit between your Splunk input
agents and the storage destinations. Edge Processor currently supports Splunk forwarders, HEC
inputs, and Syslog.
Input agents forward the data to the Edge Processor instances. Each instance acts as an
additional data processing engine. Edge Processor pipelines expressed in SPL2 are the actual
instructions that refine the data. Any source with no applicable pipeline is sent to its default
destination. Edge Processors can be configured to drop or route by default.
Edge Processor can run as a standalone instance or as a collection of nodes; however, a host can
only support one Edge Processor instance.
Forwarders can be configured to send data to Edge Processor in the same way that they are
configured to send data to indexers, using outputs.conf.
So, how does an Edge Processor instance in your network know which version of executables
and pipelines to use?
When you get the installation script from the Edge Processor service, it installs a data processing
engine along with a Splunk instance management tool called "Supervisor". Supervisor allocates
needed resources on the host and communicates to the Edge Processor Service at a set interval
using the same secure channel used in Splunk Assist called "Teleport". Supervisor maintains the
connection to the Edge Processor service, reports its heartbeats, and monitors any updates on
its runtime and pipelines. When Splunk releases new features for Edge Processor, Supervisor
detects these changes and automatically updates its executables.
• US (Oregon, Virginia)
• UK (London)
• Canada (Central)
This module guides you through the initial configuration of your Edge Processor service and
provides an overview of its menu. By the end of this module, you will be able to accomplish the
following:
• Enable communications between the Edge Processor and Splunk Cloud Stack
You access your Edge Processor tenant through the Console Service page. If you're familiar with
AWS, the Splunk Cloud Console is similar to the AWS Console in that it provides a single point-
of-entry for SCS services.
When you navigate to the URL, you will be prompted to enter your tenant ID.
Let's say you work for Awesome Company (I hear they're hiring!) and your Splunk Cloud Stack
URL is the following:
https://awesomeco.splunk.com
In this example, awesomeco is your stack ID. It's also your tenant ID. After signing in to the
Splunk Cloud Console, you will be routed to a URL similar to the following:
https://console.scs.splunk.com/awesomeco
Your tenant and the Splunk Cloud Platform communicate via a dedicated bridge called, wait for
it... scpbridge. It allows Splunk Cloud users to access Splunk Cloud services. If you already have
an account in the Cloud stack and the proper role-capabilities, your identity is carried forward to
all SCS experiences. Your Console page displays all the applications available to you. By default,
any user with the sc_admin role is given the tenant.admins and tenant.users access permissions
and admin privilege in the Edge Processor service.
The screenshot below shows the landing page presented to you when you first access the
Splunk Cloud Platform application.
Click Launch to start the SCP and access your Edge Processor.
• Create a role and service account that will allow your tenant to access SCP indexes
Who in your Splunk Cloud stack should have access to the service and with what capabilities?
Answering these questions will help you determine the additional roles you need to create and
manage. If you want to have more users in the cloud-stack working with the Edge Processor
service, further planning is advised.
There are three different Splunk user-roles you will want to consider:
• scpbridge service account: This account is used to expose the indexes in your cloud-
stack
• Edge Processor users: These are the optional users who can add Edge Processor
instances and build and apply data pipelines but can't modify the scpbridge connection
settings
Their privileges in SCP are associated with their Splunk role capabilities.
Edge Processor Service Administrators: A user with the tenant.admins SCS role
Service Account: This account is used to expose the indexes in your cloud-stack to the SCP
Edge Processor users: These are the optional users who can add Edge Processor instances and
build and apply data pipelines but can't modify the scpbridge connection settings.
The Edge Processor Service Administrator is you. You are the tenant administrator because you
have the sc_admin role in the cloud stack. But if you want to assign someone as a backup
tenant-administrator without granting the full sc_admin role, allowing
the admin_all_object and edit_edge_processor capabilities will do. With these capabilities, the
users can access and update the scpbridge connection details.
Creating a Service Account
To create a service account, you need a Splunk role. You may use the existing role but
dedicating a new role is recommended.
Log into your Splunk Cloud-stack as a user with the sc_admin role.
On the user role, under the Actions column, select the Edit dropdown and then select Clone.
Log into your Splunk Cloud-stack as a user with the sc_admin role.
After selecting Capabilities, proceed to Indexes, and determine which indexes you want to
expose.
Click Clone to create the new role.
When you create the service account with this role, be sure to deselect the check box for
"Require password change on first login".
Confirm the settings and click Save.
The Edge Processor user-role is optional. It's not needed in an environment where only a few
users will use and manage the Edge Processor service. In a large deployment where there are
different groups responsible for managing destinations and applying pipelines on different Edge
Processor instances, having a bit more granular permissions would be useful.
Note that when you remove the admin_all_object capability and keep only
the edit_edge_processor capability, the users in this role can only work with pipeline-related
menus. They will not have the ability to modify the bridge connection settings.
When you access any Edge Processor menu for the first time, it reminds you to run the first-time
setup. If you get the prompt to do so, configure the accompanied connection and destination
forms.
To set up the initial connection to your stack, click the "Settings" icon, and then select System
connections. You will be routed to a page similar to the following:
Click New Platform Connection and fill in the form.
Connection name
The name scpbridge is already set to signify the paired default connection.
Hostname
Enter the hostname of your Splunk Cloud stack.
Service account username
Enter the username for the service account that you prepared in the previous topic.
If and when the connection is successful, you will get a pop-up notification. If you receive an
error notification, double check your URL and your credentials or go back and verify your service
account was created correctly. Your system connections page will now display
your scpbridge connection.
Any indexes that this account is allowed to access will be listed here.
On the Universal Forwarder landing page, click the Download Universal Forwarder
Credentials button.
Meanwhile, back in your tenant, navigate to the Data management dashboard and click on
the Set up Edge Processors button. This will route you to the First-time setup page where you
can upload your UF credentials:
During the first-time setup, you add this credentials package to
the default_splunk_cloud_destination. Upload the splunkclouduf.spl file, then click Save at the
bottom of the page.
You only need to do this once. As you deploy your Edge Processor instances later, they will
automatically get this package. When you update the package in the future, the Supervisor
process running on every Edge Processor instance will automatically pick up this change and
update itself as well. This is one of the key benefits of having the Splunk Cloud Service centrally
manage a fleet of Edge Processor instances.
https://docs.splunk.com/Documentation/SplunkCloud/latest/Security/Rolesandcapabilities
There are two versions of this topic: one for Splunk Cloud Platform and the other for Splunk
Enterprise. This is the Splunk Cloud Platform version of the topic. To change to the Splunk
Enterprise version, select "Splunk Enterprise" from the "Product" drop-down list box in this topic.
When you perform user management on the Splunk platform, you can assign one or more roles
to the user as part of that process. Each role contains a set of capabilities. These capabilities
define what users who hold a certain role can do on the Splunk platform.
Users can only access the Splunk platform and use capabilities through roles that you assign to
them. For example, if a user receives the edit_tokens_settings capability through a role, that user
can modify the Token Authentication scheme on the Splunk platform instance. If they receive
the admin_all_objects capability through another role, they can modify nearly any object on the
instance.
Capabilities are always additive in nature. You cannot take away the ability to do something by
adding a capability. If you don't want users who hold a role to perform a certain function on
your Splunk platform instance, then do not assign that role a capability that lets a user perform
that function.
Similarly, users who hold multiple roles can access any capabilities that are assigned to those
roles. If you do not want a certain user to have access to all the capabilities that a role provides,
do not assign that role to that user.
In nearly all cases, capabilities whose names begin with edit_ give users the ability to perform
create, read, update, and delete operations for the feature with which they associate. For
example, the edit_udp capability grants you the ability to create, read, update, and delete UDP
network inputs - even if you do not have access to edit other types of inputs. Exercise caution
when assigning edit_ capabilities.
You can add, edit, or remove capabilities from new, existing, and default roles. These actions
change the kind of access that the role provides. For example, you might give a role the
capability to add inputs or edit saved searches.
To add or change the capabilities of a role, choose one of the following methods:
• To add or change the capabilities of a role in Splunk Web, see Create and manage roles
with Splunk Web.
• To create roles and assign capabilities by editing the authorize.conf configuration file in
Splunk Enterprise, see Add and edit roles with authorize.conf.
• To learn more about roles and how they work, see About configuring role-based user
access.
Splunk is in the process of retiring the use of the "admin" user and role for external customers.
The "admin" account and role are holdovers from the early days of the Splunk Cloud Platform
service, and as Splunk continues to evolve its capabilities in Splunk Cloud Platform, the account
and role are no longer relevant for these customers.
This table shows the capabilities that you can add to any role, and whether or not the
capabilities are assigned by default to the user, power, admin or sc_admin roles.
For the most up-to-date list of capabilities that are assigned to a role, see the Imported
Capabilities text box on the Create a role page in Splunk Web.
Because capabilities change frequently from release to release, not every capability that is
available to the Splunk platform appears in this list. Apps and add-ons can add their own
capabilities which also do not appear here. See the documentation for the app or add-on that
you use to potentially get information on app- and add-on-specific capabilities.
Capability name What it lets you do User Power Admin Sc_admin
accelerate_datamodel Enable or disable acceleration for data models. Set acceleration to true to enable X X
automatic acceleration of this data model. Additional space is required depending on
the number of events, fields, and distinct field values in the data. See the Knowledge
Manager Manual for more information.
accelerate_search Lets the user enable or disable acceleration for reports. The user must also have the X X X X
schedule_search capability assigned. Works for searches that use transforming
commands. See the Knowledge Manager Manual for more information.
acs_* Capabilities required to run operations against Admin Config Service (ACS) API X X
endpoints. See Manage ACS API access with capabilities in the Admin Config Service
Manual.
admin_all_objects Lets the user access and modify any object in the system regardless of any restrictions X X
set in the objects. For example user objects, search jobs, reports, and knowledge objects.
Lets the user bypass any ACL restrictions, much the way root access in a *nix
environment does.
change_authentication Lets the user change authentication settings and reload authentication. See the Securing X X
Splunk Enterprise Manual for more about authentication.
delete_by_keyword Lets the user use the "delete" operator. The "delete" command marks all of the events
returned by the search as deleted. This masks the data from showing up in search results
but does not actually delete the raw data on disk. See the Search Manual for more
information.
delete_messages Lets a user delete system messages that appear in the UI navigation bar. X X X
edit_bookmarks_mc Lets a user add bookmark URLs within the Monitoring Console. The URLs redirect X
administrators to Monitoring Console instances in other Splunk deployments.
edit_deployment_client Lets the user change deployment client settings. See the Managing Indexers and X
Clusters of Indexers Manual for more about the deployment client.
edit_deployment_server Lets the user change deployment server settings. User can change or create remote X
inputs that are pushed to the forwarders and other deployment clients. See the
Managing Indexers and Clusters of Indexers manual for more about the deployment
server.
edit_dist_peer Lets the user add and edit peers for distributed search. See the Managing Indexers and X
Clusters of Indexers Manual for more information.
edit_edge_processor Users with this capability can create, update, delete, and view all resources in the Edge X
Processor service. Resources include source types, pipelines, Edge Processors, and
destinations.
edit_encryption_key_provider Lets the user view and edit key provider properties when they use Server-Side X
Encryption (SSE) for a remote storage volume.
edit_field_filter Lets a user create, edit, or delete field filters by using Splunk Web or the Splunk platform X X
REST API authorization/fieldfilters and authorization/fieldfilters/{name} endpoints
to update field filters. See Protect PII, PHI, and other sensitive data with field filters.
edit_forwarders Lets the user change forwarder settings, including settings for SSL, backoff schemes, etc. X
Also used by TCP and Syslog output admin handlers.
edit_health Lets a user enable/disable health reporting, set health status alerts, and set indicator X
thresholds for a feature in the splunkd health status tree through the server/health-
config/ endpoint.
edit_health_subset Lets a user disable or enable health reporting for a feature in the "health_subset" view of X
the health status tree. Actions are performed through the server/health-
config/{feature_name} endpoint.
edit_httpauths Lets the user edit and end user sessions through the httpauth-tokens endpoint. X
edit_indexer_cluster Lets the user edit indexer clusters. See the Managing Indexers and Clusters of Indexers X
Manual for more about indexers.
edit_indexerdiscovery Lets the user edit settings for indexer discovery, including settings X
for master_uri, pass4SymmKey, and so on. Used by Indexer Discovery admin handlers.
edit_ingest_processor Users with this capability can create, update, delete, and view all resources in the Ingest X
Processor solution. Resources include pipelines, and destinations.
edit_input_defaults Lets the user use the server settings endpoint to change default hostnames for input X X
data.
edit_ip_allow_list Lets the user edit ip allow lists for their deployment. See configure IP allow lists using X X
Splunk Web.
edit_local_apps Lets the user edit actions for application management. Applies only when you set X
the enable_install_apps setting to "true" in authorize.conf.
edit_log_alert_event Lets a user log an event when an alert condition is met. Also lets the user select the "Log X X X
an event" option for an alert action in Splunk Web.
edit_limits_conf Lets a user view and edit limits.conf settings using the Configure limits UI in Splunk Web. X X
edit_metric_schema Lets the user set up log-to-metrics transformations, which can convert single log events X
into multiple metric data points.
edit_metrics_rollup Lets the user create and edit metrics rollup policies, which set rules for the aggregation X
and summarization of metrics on a specific metric index.
edit_monitor Lets the user add inputs and edit settings for monitoring files. Also used by X
the standard inputs endpoint and the one-shot input endpoint.
The The sc_admin role does not receive the edit_monitor capability because Splunk
Cloud Platform cannot directly monitor files and directories.
edit_modinput_journald Lets the user add and edit journald inputs. This input is not available on Windows. X
edit_own_objects X X X X
edit_roles Lets the user edit roles and change user/role mappings. Used by both X
the user and role endpoint.
edit_roles_grantable Lets the user edit roles and change user/role mappings for a limited set of roles. Can X X
assign any role to other users. To limit this ability, configure grantableRoles in
authorize.conf. For example: grantableRoles = role1;role2;role3
edit_search_schedule_priority Lets the user assign a search a higher-than-normal schedule priority. For information X X
about the search scheduler, see the Knowledge Manager Manual.
edit_search_schedule_window Lets the user assign schedule windows to scheduled reports. Requires the X X X X
schedule_search capability. For more about the search scheduler, see the Knowledge
Manager Manual.
edit_search_scheduler Lets the user enable and disable the search scheduler. See the Knowledge Manager X X
Manual.
edit_search_server Lets the user edit general distributed search settings like timeouts, heartbeats, and deny X
lists.
edit_server Lets the user edit general server settings like server name, log levels, etc. X
edit_server_crl Lets the user edit general server settings like server name, log levels, etc. Inherits the X
ability to read general server and introspection settings.
edit_sourcetypes Lets the user edit sourcetypes. See the Knowledge Manager manual for more X X X
information about sourcetypes.
edit_splunktcp Lets the user change settings for receiving TCP inputs from another Splunk instance. X
edit_splunktcp_ssl Lets the user view or edit any SSL-specific settings for Splunk TCP input. X
edit_storage_passwords Lets the user make HTTP POST and DELETE calls to the /storage/passwords endpoint, X X
which stores or deletes secrets. Users must hold the 'list_storage_passwords' role to
retrieve secrets.
edit_tcp Lets the user change settings for receiving general TCP inputs. X
edit_tcp_token Lets the user change TCP tokens. This is an admin capability and should only be X
assigned to system administrators.
edit_telemetry_settings Opt in or out of product instrumentation. See Share data in Splunk Enterprise in X
the Admin Manual.
edit_token_http Lets the user create, edit, display, and remove settings for HTTP token input. Also X
enables the HTTP Event Collector feature.
edit_user Lets the user create, edit, or remove users. A role with the edit_user capability can assign X X
any role to other users. To limit this ability, configure grantableRoles in authorize.conf.
For example: grantableRoles = role1;role2;role3. Also lets a user manage certificates for
distributed search.
edit_web_settings Lets the user change settings for web.conf through the system settings endpoint. X
edit_webhook_allow_list Lets the user edit the webhook allow list, which determines the URL endpoints to which X X
a webhook alert action is authorized to send HTTP POST requests. See Configure
webhook allow list in Splunk Web.
edit_workload_pools Lets the user create and edit workload pools through the workloads/pools endpoint. X
edit_workload_rules Lets the user create and edit workload rules through the workloads/rules endpoint. X
embed_report Lets the user embed reports and disable embedding for embedded reports. X X
export_results_is_visible Lets the user display or hide the Export Results button in Splunk Web. The default value X X X X
is to display the button.
fsh_manage Lets the user view, create, and edit federated provider and federated index definitions X X
through Splunk Web. Federated providers and federated indexes are required for
federated search.
get_diag Lets the user get a remote diag from a Splunk instance using X
the /streams/diag endpoint.
get_typeahead Lets the user use typeahead in the endpoint and the typeahead search field. X X X X
input_file Lets the user add a file as an input through inputcsv (except for dispatch=t mode) and X X X X
inputlookup.
install_apps Lets the user install, uninstall, create, and make updates to apps. Applies only when you X
configure the enable_install_apps setting to "true" in authorize.conf.
license_read Lets the user access license attributes and related information.
license_tab Lets the user access and change the license. This attribute is deprecated. X
license_view_warnings Lets the user see a warning message when they are exceeding data limits or reaching X
the expiration date of their license. These warnings appear on the system banner.
list_accelerate_search Lets the user view accelerated reports. User cannot accelerate reports. X
list_all_apps Lets a user list all configuration settings for the configuration endpoints. This capability X X X X
prevents unauthorized access to configuration endpoints.
list_all_roles Lets a user list all roles and the capabilities that are assigned to those roles. For full X
access to listing users, roles, and capabilities, the user must also have or assign the
'list_all_users' capability.
If you log into your Splunk Cloud Platform instance as the sc_admin or ps_admin user,
you might see additional users that are associated with these capabilities when you view
them in the Users settings page in Splunk Web.
list_all_users Lets a user list all users by accessing the /services/authentication/users REST endpoint. X
For full access to listing users, roles, and capabilities, the user must also have or assign
the 'list_all_roles' capability.
If you log into your Splunk Cloud Platform instance as the sc_admin or ps_admin user,
you might see additional users that are associated with these capabilities when you view
them in the Users settings page in Splunk Web.
list_field_filter Lets a user view field filters by using Splunk Web or the Splunk platform REST X X X
API authorization/fieldfilters and authorization/fieldfilters/{name} endpoints.
See Protect PII, PHI, and other sensitive data with field filters.
list_forwarders Lets a user list and view settings for data forwarding. Can be used by TCP and Syslog X
output admin handlers.
list_health_subset Lets a user monitor the health of Splunk Enterprise features (such as search scheduler) X
through REST endpoints.
list_httpauths Lets the user view user sessions through the httpauth-tokens endpoint. X X
list_indexer_cluster Lets the user view the list of indexer clusters as well as indexer cluster objects such as X
buckets, peers, etc.
list_indexerdiscovery Lets the user view settings for indexer discovery. Also used by indexer discovery X
handlers.
list_inputs Lets the user view lists of various inputs, including input from files, TCP, UDP, scripts, etc. X X X X
list_introspection Lets the user read introspection settings and statistics for indexers, search, processors, X X
queues, etc.
list_metrics_catalog Lets the user query for lists of metrics catalog information such as metric names, X X X
dimensions, and dimension values.
list_search_head_clustering Lets the user list and view search head clustering objects like artifacts, delegated jobs, X X
members, captain, etc.
list_settings Lets the user list and view server and introspection settings such as the server name, log X X
levels, etc. You must have the list_settings capability to send emails from alerts.
list_storage_passwords Lets the user list and view the /storage/passwords endpoint, lets the user perform X X
GETs. The admin_all_objects capability must be added to the role for the user to perform
POSTs to the /storage/passwords endpoint.
list_tokens_scs Lets a user retrieve a Splunk Cloud Platform Services (SCS) token for an SCS service with X X
which this Splunk Cloud deployment has been configured to communicate.
Customers do not use or assign this capability, rather, it might appear in various
configuration panes in Splunk Web.
list_workload_pools Lets a user list and view workload pool and workload status information from X
the workloads/rules endpoint.
list_workload_rules Lets a user list and view workload rule information from the workloads/rules endpoint. X
metric_alerts Lets a user create, update, enable, disable, and delete a streaming metric alert. X X
output_file Lets the user create file outputs, including outputcsv (except for dispatch=t mode) and X X X X
outputlookup.
pattern_detect Lets the user see and use the Patterns tab in the Search view. X X X X
request_remote_tok Lets the user obtain a remote authentication token, which lets the user perform some X X X X
distributed peer management and bundle replication and distribute searches to old 4.0.x
Splunk instances.
rest_access_server_endpoints Lets a user access any /services/server/* endpoints using the rest command. For X X X X
example, a role with the rest_access_server_endpoints capability can run the following
searches:
rest_apps_management Lets the user edit settings for entries and categories in the python remote apps handler. X X
See restmap.conf for more information.
rest_apps_view Lets the user list and view various properties in the Python remote apps handler. X X X X
See restmap.conf for more information.
rest_properties_get Lets the user get information from the services/properties endpoint. X X X X
restart_splunkd Lets the user restart Splunk Enterprise through the server control handler. X X
run_commands_ignoring_field_filter When field filters are in use, this capability lets users run searches across any indexes in X X X
the organization using certain restricted commands that return protected data. This
capability is required for roles to run the following commands that are restricted by
default: tstats, mstats, mpreview, walklex, and typeahead. These commands can return
sensitive index information to which roles that are restricted by field filters should not
have access. See Protect PII, PHI, and other sensitive data with field filters.
run_custom_commands Lets the user run custom search commands. For more information on custom search X X X
commands and how to create them, see Create custom search commands for apps in
Splunk Cloud Platform or Splunk Enterprise in the Splunk Developer Portal.
run_mcollect Lets the user run the mcollect and meventcollect commands. X X X
run_walklex Lets the user run searches that include the walklex command, even if they have a role
that has search filters applied to it. By its nature, the walklex command bypasses role-
based search filters. Avoid giving this capability to roles that must have their search
functionality restricted. This capability is not assigned to any role by default.
schedule_rtsearch Lets the user schedule real-time saved searches. The schedule_search and rtsearch X X X X
capabilities must also be assigned to the role.
schedule_search Lets the user schedule saved searches, create and update alerts, review triggered alert X X X
information, and use the sendemail command.
search Lets the user run a search. See the Search Manual for more information. X X X X
search_process_config_refresh Lets the user use the "refresh search-process-config" CLI command to manually flush X X X
idle search processes.
select_workload_pools Lets a user assign a scheduled search or ad-hoc search to a workload pool. X
srchFilter Lets the user manage search filters. See the Search Manual for more information. X
srchIndexesAllowed Lets the user run search indexes. See the Search Manual for more information. X
srchMaxTime Lets the user set the maximum time for a search. X
upload_lookup_files Lets the user upload files that can be used in conjunction with lookup definitions. Only X X X
affects lookup types that involve the upload of a file, such as CSV and geospatial
lookups.
upload_mmdb_files Lets the user upload .mmdb files that are used by the iplocation command to extract X X
location information from IP addresses.
use_file_operator Lets the user use the "file" search operator. The "file" search operator is deprecated. X
• My workspace
• Shared workspaces
• Datasets
• Search
• Pipelines
• Edge Processors
o Source types
o Shared settings
• Destinations
If you didn't complete it yet, you will learn more about modules in the SPL2 course. For the time
being, you need to know the following about modules:
Using Datasets
The Datasets dashboard provides an overview of the data available to you for use in your
modules and pipelines.
If you didn't complete it yet, you will learn more about datasets in the SPL2 course. For the time
being, you need to know the following:
• A dataset is a collection of data. You can read from it and write to it.
• A dataset may be data that you want to search or it may be the result of a search.
• Datasets may be derived from indexes, forwarder data, and S3 buckets, to name a few
examples.
Using Search
Similar to the Search app in Splunk Cloud or Enterprise, the Search dashboard allows you to
compose searches and pipelines in SPL2 using your available datasets. You can save your work
here as a module in your workspace. Note that Search is not important for creating Edge
Processor artifacts.
Pipelines
This is where you design, test and deploy your pipelines according to your data collection
strategy. You can build a pipeline from scratch, or by cloning a template.
Edge Processors
This is where you add, monitor and manage all your Edge Processor instances.
Source types
Source types determine how inbound data is broken into distinct events before it goes through
a pipeline.
There are many source types supplied by the Edge Processor service but if you don’t see a
particular one that meets your needs, you can add a new one here.
Shared settings
In Shared settings, you can modify fleet-wide default settings such as receiver ports and
monitoring thresholds.
Destinations
In order to route data from an Edge Processor instance, you must define the storage locations
as destinations.
When you have configured the first-time setup, the default destination is added using
the scpbridge connection. This dedicated connection allows Splunk Cloud users to access Splunk
Cloud services through role-based controls set in the Splunk UI.
https://docs.splunk.com/Documentation/SplunkCloud/latest/EdgeProcessor/Firsttimesetup
After you request access to the Edge Processor solution and the provisioning process is
completed, you receive a welcome email confirming that you now have access to a tenant in the
Splunk cloud environment. The tenant is your entry point to the Edge Processor service, where
you can perform actions such as configuring and deploying Edge Processors, creating data
processing pipelines, and more.
If you are the first user on the tenant, you need to complete a one-time setup procedure before
you can start using the Edge Processor service. During this setup procedure, you finish
connecting the tenant and your Splunk Cloud Platform deployment by providing the tenant with
credentials that allow it to read and write data to your Splunk Cloud Platform deployment. In
order for the Edge Processor solution to work, it must be able to store and retrieve Edge
Processor logs and metrics in designated indexes in the Splunk Cloud Platform deployment and
then display that data in the user interface of the Edge Processor service.
This one-time setup process is only required for newly provisioned tenants. Once this process is
completed, you don't need to go through it again.
Understanding the connection between your tenant and your Splunk Cloud Platform
deployment
When you first receive your tenant, it already has a partial connection to your Splunk Cloud
Platform deployment. This partial connection grants the tenant the following characteristics:
• The name of the tenant is the same as the name of the connected Splunk Cloud Platform
deployment. For example, if the name of your Splunk Cloud Platform deployment
is buttercupgames and you use the URL https://buttercupgames.splunkcloud.com to
access it, then the name of the tenant is also buttercupgames and you would use the
URL https://px.scs.splunk.com/buttercupgames to access the tenant.
• The tenant uses the connected Splunk Cloud Platform deployment as an identity
provider for managing user accounts and logins. As a result, the tenant accepts the same
login credentials as the Splunk Cloud Platform deployment.
If you configured Splunk Cloud Platform to use another service as the identity provider for
single sign-on (SSO), then use your SSO credentials when logging in to the tenant.
Splunk Cloud Platform users can access the tenant as long as the user account has the
admin_all_objects capability.
Be aware that the tenant does not start with the complete connection necessary for reading and
writing data to the Splunk Cloud Platform deployment. The first-time setup procedure finishes
connecting the tenant to the Splunk Cloud Platform deployment and allows the tenant to use
the deployment as a storage location for the logs and metrics generated by Edge Processors.
Before beginning the first-time setup procedure for the Edge Processor solution, confirm that
your Splunk Cloud Platform account has the required capabilities and that you can log in to the
tenant.
2. In the Settings menu, in the Users and authentication section, select Users.
3. In the row that lists your username, select Edit and then select View Capabilities.
4. Check if your account has the admin_all_objects capability. If your account doesn't have
that capability, assign it. See Define roles on the Splunk platform with capabilities in
the Securing Splunk Cloud Platform manual for more information.
5. In the Settings menu, select Data Management experience. If you have activated Edge
Processor, then you will be redirected to your tenant. If you have not activated Edge
Processor, you will be redirected to the Splunk Adoption Hubs.
If you encounter authentication errors or cannot access the Edge Processor service despite
ensuring that your user account has the required capabilities, contact your Splunk representative
for assistance.
To make the necessary indexes from your Splunk Cloud Platform deployment available to your
tenant, you must create a service account that can access those indexes and then configure the
tenant to connect to the Splunk Cloud Platform deployment using that account. Do the
following:
1. In Splunk Cloud Platform, create a role that can access the required indexes. See Create a
role for the service account.
2. Create a service account, which is a Splunk Cloud Platform account that uses the role you
created. See Create a service account.
3. In your tenant, configure a connection to your Splunk Cloud Platform deployment using
the service account. See Connect your tenant to your Splunk Cloud Platform deployment.
This connection grants your tenant the same permissions as the service account, allowing the
Edge Processor service to send data to your indexes.
In Splunk Cloud Platform, create a role that grants access to the internal indexes.
2. To start creating the role for the service account, clone the default user role:
1. In the Settings menu, in the Users and authentication section, select Roles.
2. In the row that lists the default user role, select Edit, then Clone.
3. In the Name field, specify a name for the new role, such as scp_user.
4. If you have search head clustering (SHC) on your Splunk Cloud Platform deployment,
then you must add the list_search_head_clustering capability to the role. To do this,
select the 2. Capabilities tab and then select list_search_head_clustering.
5. On the 3. Indexes tab, select the Included check box for all the indexes that you want to
make available in your tenant. At minimum, you must make all internal indexes available.
Instead of specifying internal indexes individually, you can select the Included check box
in the _* (All internal indexes) row.
6. To avoid concurrent search limitations, select the 5. Resources tab and do the following:
1. In the Role search job limit settings, change Standard search limit to 300.
2. In the User search job limit settings, change Standard search limit to 200.
3. In the Disk space limit settings, change Standard search limit to 10000.
7. To save your settings and finish creating the role, select Clone.
8. (Optional) If you've already completed this first-time setup process before, and you are
now updating these role settings, then you must refresh the connection to your Splunk
Cloud Platform deployment by doing the following steps in the Edge Processor service:
In Splunk Cloud Platform, create an account that uses the role you created during the preceding
steps. This account is a service account to be used by the tenant and the Edge Processor service.
1. In the Settings menu, in the Users and authentication section, select Users.
3. In the Name field, specify a name for the service account, such as service_acct.
4. In the Set password and Confirm password fields, specify a password for the service
account.
1. Add the role that you created during Create a role for the service account.
7. To save your settings and finish creating the service account, select Save.
8. To confirm that the service account is valid, log out of your Splunk Cloud Platform
deployment and then log back in using the service account credentials.
On some systems, you might be prompted to reset the password even though you disabled that
requirement. If prompted, reset the password.
9. After confirming that you can successfully log in to Splunk Cloud Platform using the
service account, log out of the service account.
10. (Optional) To prevent the service account from being locked out due to password expiry
and failed login attempts, review the password policies configured for your Splunk Cloud
Platform deployment and configure an expiration alert.
For more information, see Configure Splunk password policies in the Securing Splunk
Cloud Platform manual. If you are using another service as the identity provider, then
refer to the documentation for that service.
You now have a service account that your tenant can use to connect to your Splunk Cloud
Platform deployment.
1. In Splunk Cloud Platform, select Settings then select Data Management experience.
If you configured Splunk Cloud Platform to use another service as the identity provider for SSO,
then use your SSO credentials when logging in to the tenant.
The browser redirects you to the Data management page in the Edge Processor service.
Field Description
Connection The name of the connection. The value scpbridge is provided and can't be changed.
name
Host name The URL for your Splunk Cloud Platform deployment. The https:// is assumed. For example, if your URL
is https://scpanalytics.splunkcloud.com you would specify scpanalytics.splunkcloud.com.
Management The default port number. Most Splunk Cloud Platform deployments use the 8089 port as the default port. If you
port changed the default port in your deployment, specify that port number.
Service account The name of the service account that you created during Create a service account. For example, service_acct.
username
8. (Optional) If you need to change the connection after it has been successfully created, do
the following:
The indexes from your Splunk Cloud Platform deployment are now available in the tenant. After
you complete the remaining steps in this first-time setup process, you can send data into these
indexes.
Step 2: Retrieve credentials to allow communications between the Edge Processor service
and Splunk Cloud Platform
The Edge Processor service must prove its identity using TLS certificates before Splunk Cloud
Platform allows the service to communicate with it. To allow the Edge Processor service to
securely communicate with your Splunk Cloud Platform deployment, you must retrieve the
universal forwarder credentials package from the Splunk Cloud Platform deployment and then
store that credentials package in the Edge Processor service. This credentials package contains
the necessary TLS certificates.
2. Select Download Universal Forwarder Credentials. Note the location of the credentials
file. The credentials file is named splunkclouduf.spl.
During the next step, you upload this credentials package to the Edge Processor service.
Upload the Splunk Cloud Platform universal forwarder credentials package to the Edge
Processor service and finish setting up communication between the Edge Processor service and
your Splunk Cloud Platform deployment.
Field Description
This is a preset destination name for your Splunk Cloud Platform deployment.
Universal forwarder Upload the universal forwarder credentials package that you downloaded during Step 2: Retrieve credentials to allow communications
credentials between the Edge Processor service and Splunk Cloud Platform.
3. Select Save.
Next steps
Now that you've finished setting up the indexes and connections required by the Edge
Processor solution, you can start using it to receive, transform, and route your data. For more
information on how to get started, see Quick start: Process and route data using Edge
Processors.
If you create additional indexes in your Splunk Cloud Platform deployment after completing
these first-time setup steps, you must refresh the connection between your tenant and the
Splunk Cloud Platform deployment in order to make those indexes available in the tenant. For
detailed instructions, see Make more indexes available to the tenant.
Index destination precedence is similar to the order followed by a typical Splunk ingestion
pipeline set. Once the index name is set in the collection path, it persists until you override
it with one of the options along its path. The last place to override this value is at the
indexer's ruleset or the transforms.conf transformation. The following list outlines index
destination precedence from highest to lowest:
1. In order to send data from an Edge Processor to a storage location such as an index or
an Amazon S3 bucket, you must define the location as a destination in the Edge
Processor service. Each destination contains the connection information necessary for
allowing an Edge Processor to send data to a given location.
2. The steps for adding a destination to the Edge Processor service varies depending on
whether the destination is part of the Splunk Cloud Platform deployment that's
connected to your cloud tenant:
• When you connect your tenant to a Splunk Cloud Platform deployment as part of the
first-time setup of the Edge Processor solution, all the indexers and indexes that the
service account can access become available as destinations. For information about
working with destinations that are associated with this connection, see Send data from
Edge Processors to the Splunk Cloud Platform deployment connected to your tenant.
• For destinations that are not part of the connected deployment, such as Amazon S3
buckets or indexes from other Splunk platform deployments, you must use
the Destinations page in the Edge Processor service to add and configure them. See the
following pages for more information:
3. You can confirm the destinations that are available by checking the Destinations page,
and view additional details about a given destination by selecting it on
the Destinations page.
5. Queued data is stored on the hard drive of the Edge Processor host. By default, the
queue is configured to hold up to 10000 batches of events. Depending on which
receiver you use, each batch can contain various amounts of events ranging from 1 to
128 events. The amount of data contained and how quickly the queue fills up varies
depending on the rate at which the Edge Processor is receiving data.
6. If your pipeline uses either the branch or route command and one of the queues for
your destination is full, then data may be delivered more than once for the other healthy
destinations causing data duplication.
7. Once the destination is available again, the Edge Processor sends the queued events to
the destination. It might take some time for newer data to be processed by an Edge
Processor as the data in the queue is prioritized first. If you want to adjust the size of the
queue, see the solution instructions in An Edge Processor fails to send data, and logs a
"Dropping data because sending_queue is full" error.
https://docs.splunk.com/Documentation/SplunkCloud/latest/EdgeProcessor/DestinationsOvervi
ew
SendingCloud
Splunk
Enterprise
data from
Platform
Edgeor
Processors
Splunk to
Sending data from Edge Processors to Splunk Cloud Platform or Splunk Enterprise
You can send data from Edge Processors to Splunk Enterprise or Splunk Cloud Platform. The steps
that you need to take in order to send data to a Splunk platform deployment varies depending on
these factors:
• Are you sending data to the Splunk Cloud Platform deployment that is connected to the
Edge Processor service?
• Do you want to send this data using the Splunk-to-Splunk (S2S) protocol or the HTTP
Event Collector (HEC)?
During the first-time setup process for the Edge Processor solution, the Edge Processor service is
connected to a Splunk Cloud Platform deployment. Due to this connection, the indexers associated
with this deployment are already available as data destinations for Edge Processor pipelines. You
can create a pipeline to send data to the connected Splunk Cloud Platform deployment using the
S2S protocol. For more information, see Send data from Edge Processors to the Splunk Cloud
Platform deployment connected to your tenant.
Before you can send data to a non-connected Splunk Cloud Platform or Splunk Enterprise
deployment, you must add the indexers from those deployments as destinations in the Edge
Processor service. When sending data to a non-connected Splunk platform deployment, you can
choose to use the S2S protocol or HEC:
S2S is the proprietary, TCP-based data transmission protocol used between Splunk
•
software. The S2S protocol typically sends data faster and more efficiently than HEC,
and does not require any additional configurations on the Splunk platform deployment.
To send data using S2S, add and use a Splunk platform S2S destination. See Send data
from Edge Processors to non-connected Splunk platform deployments using S2S for
more information.
• HEC is a mechanism that allows HTTP clients and logging agents to send data to the
Splunk platform over HTTP or HTTPS. If your Splunk platform deployment has HEC
turned on and valid HEC tokens configured, then you can choose to send data using
HEC. To do this, add and use a Splunk platform HEC destination. See Send data from
Edge Processors to non-connected Splunk platform deployments using HEC for more
information.
The protocol that you use to send the data affects how that data gets routed to an index. See the rest
of this topic for details.
Edge Processors use the S2S protocol when sending data to the Splunk Cloud Platform deployment
that's connected to the tenant.
Data routing configurations in the Splunk platform If the deployment is configured to route events to different indexes based on field values, then the Edge Processor sends dat a to the index determined by these routing configurations.
deployment
For example, if the props.conf file specifies a transforms.conf stanza, and that stanza uses the REGEX and DEST_KEY properties to route data to different indexes based on extracted field values, then data from
the Edge Processor is routed according to these settings.
The SPL2 statement of the pipeline If the pipeline contains an eval command that sets the index field to a specific value, then the Edge Processor sends data to the specified index. For example, if you apply the following pipeline, then the Edge
Processor sends data to an index called AppLogEvents:
$pipeline = | from $source | eval index="AppLogEvents" | into $destination;
You can add this command by specifying a target index during pipeline creation or by selecting the Target index action when editing a pipeline. See Create pipelines for Edge Processors for more information.
The metadata in the event payload If the event contains metadata that specifies an index, then the Edge Processor sends the event to that index.
The index in the event metadata can be set through various methods as the event travels from the original data source to the Edge Processor. For example:
• When you use a Splunk forwarder to send the event to the Edge Processor, the index value in the inputs.conf file specifies the index in the event metadata.
• When you use HEC to send the event to the Edge Processor, the index parameter in the HTTP request specifies the index in the event metadata.
None of the previously described configurations The Edge Processor sends data to the default index of the Splunk platform deployment, which is typically main. See Manage Splunk Cloud Platform indexes in the Splunk Cloud Platform Admin Manual for more
specify an index information.
If the destination index determined by this precedence order does not exist in the Splunk platform
deployment, then one of the following outcomes occur:
Configuration Description
The SPL2 statement of the pipeline If the pipeline contains an eval command that sets the index field to a specific value, then the Edge Processor sends data to
the specified index. For example, if you apply the following pipeline, then the Edge Processor sends data to an index
called AppLogEvents:
You can add this command by specifying a target index during pipeline creation or by selecting the Target index action when
editing a pipeline. See Create pipelines for Edge Processors for more information.
The metadata in the event payload If the event contains metadata that specifies an index, then the Edge Processor sends the event to that index.
The index in the event metadata can be set through various methods as the event travels from the original data source to the
Edge Processor. For example:
• When you use a Splunk forwarder to send the event to the Edge Processor, the index value in the
inputs.conf file specifies the index in the event metadata.
• When you use HEC to send the event to the Edge Processor, the index parameter in the HTTP request
specifies the index in the event metadata.
The Default index configuration in a Splunk If the pipeline uses a Splunk platform HEC destination, and the Default index setting in the destination specifies an index
platform HEC destination name, then the Edge Processor sends data to that index.
The Default Index configuration in the HEC If the pipeline uses a Splunk platform HEC destination, and the Default Index setting in the HEC token specifies an index name,
token then the Edge Processor sends data to that index.
The Default Index configuration in the HEC If you're sending data to Splunk Enterprise using a Splunk platform HEC destination, and the Default Index setting in the HEC
shared settings of a Splunk Enterprise shared settings of the Splunk Enterprise deployment specifies an index name, then the Edge Processor sends data to that index.
deployment
None of the previously described The Edge Processor sends data to the default index of the Splunk platform deployment, which is typically main. See Manage
configurations specify an index Splunk Cloud Platform indexes in the Splunk Cloud Platform Admin Manual for more information.
If the destination index determined by this precedence order does not exist in the Splunk platform
deployment, then one of the following outcomes occur:
• If the lastChanceIndex property is configured in the Splunk platform deployment,
then the data goes to the index specified by that property.
• If the lastChanceIndex property is not configured, then the data is dropped.
For more information about the lastChanceIndex property, see indexes.conf in the Splunk
Enterprise Admin Manual.
https://docs.splunk.com/Documentation/SplunkCloud/latest/EdgeProcessor/SplunkPlatformDest
ination
To route data from Edge Processor instances to Splunk Enterprise indexers or other Splunk
Cloud stacks that are not paired, you add and register them as new destinations. Once you
define the connection details, you can select them as a destination in the pipeline. These
destinations can be defined to receive data in one of two methods:
Remember Splunk Cloud stacks only receive encrypted data using TLS v1.2 or later. Senders and
receivers authorize each other with the keys provided in the Universal Forwarder Credentials
package.
To add a destination, navigate to the Destinations dashboard, select New destination, then
select the type of destination. Click the hotspots below for information on creating a destination
using S2S.
Indexers
Add another
TLS
Before you decide to add a new Splunk destination, have the following information ready for
each indexer destination:
Edge Processor will load balance across the indexers entered here.
For hybrid solutions with self-managed components, data between those components is
encrypted only if you configure the connection to be encrypted. For other self-managed
indexers using TLS, you need to configure Edge Processor to forward using their TLS keys.
Splunk Enterprise
A decrypted key for the client certificate. Equivalent to the sslPassword attribute in outputs.conf.
A decrypted key for the client certificate. Equivalent to the sslPassword attribute in outputs.conf.
CA certificates
Configure these indexers by providing the following details in separate PEM, Privacy Enhanced
Mail, files:
How to prepare TLS certificates for use with the Splunk platform
How to prepare TLS certificates for use with the Splunk platform
• TLS certificates let you secure communication between Splunk Enterprise components
from end to end. After you get the certificates, you need to prepare them for use with
your deployment before you install them and configure your deployment to use them.
• As part of preparing TLS certificates for use, you must combine them with the private
keys that you either received or generated to create the certificates into a single
certificate file that the Splunk platform can use.
• All certificates and respective keys that you use on the Splunk platform must be
concatenated in this manner. A certificate or key alone does not work, even if you
configure it correctly. Regardless of the service or contact point you secure, they all must
use combined certificates files.
Create a single combined certificate file
• After you obtain certificates, several files are available depending on the method you
used to get them. You will combine these files into one file. You must combine the files
in the right order and the combined file must be in the correct format. If you don't
combine them correctly, your Splunk platform instance won't be able to use the file to
secure its communications with other instances.
• If you got the certificate by purchasing them from a certificate authority, you'll have the
following at a minimum:
• The certificate authority certificate file, which was used to create the server certificate
• If you got the certificate by creating a certificate signing request and submitting that
request to a CA, you will have the following:
• The private key file that you created and subsequently used to create the certificate
signing request
• The server certificate file that you downloaded from the certificate authority after
submitting your certificate signing request.
• The certificate authority certificate file that you downloaded from the certificate authority
after downloading the server certificate.
• If you created and signed a certificate yourself, you will have the following:
• The private key file that you used to create and sign the certificate authority certificate.
• The root certificate file that you generated with the private key file and the certificate
authority certificate signing request file
• The private key file that you created to create and sign the server certificate
• The server certificate file. You created this file using the private key and the server
certificate signing request file
• Depending on the method you used, you must combine the server certificate, the private
key, and the public certificate, in that order, into a single file. The combined file must be
in privacy-enhanced mail (PEM) format.
cat <server certificate file> <server private key file> type <server certificate file> <server private ke
<certificate authority certificate file> > <combined server <certificate authority certificate file> > <comb
certificate file> certificate file>
• After you create the combined certificate file, review it using a text editor. Its contents
must contain, in the following order:
-----BEGIN CERTIFICATE-----
MIICUTCCAboCCQCscBkn/xey1TANBgkqhkiG9w0BAQUFADBtMQswCQYDVQQGEwJV
...
<Server Certificate>
...
8/PZr3EuXYk1c+N5hgIQys5a/HIn
-----END CERTIFICATE-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,CFCECC7976725DE5
S+DPcQ0l2Z1bk71N3cBqr/nwEXPNDQ4uqtecCd3iGMV3B/WSOWAQxcWzhe9JnIsl
...
-----BEGIN CERTIFICATE-----
MIICUTCCAboCCQCscBkn/xey1TANBgkqhkiG9w0BAQUFADBtMQswCQYDVQQGEwJV
...
...
8/PZr3EuXYk1c+N5hgIQys5a/HIn
-----END CERTIFICATE-----
• To use multiple certificates, place any intermediate certificates after the server certificate
and before the root certificate. You can add as many intermediate certificates as you
need, in decreasing order of hierarchy, up to the root certificate.
[ server certificate]
[ intermediate certificate]
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
Valid certificate chains must contain the -----BEGIN CERTIFICATE---- and -----END CERTIFICATE-
---- certificate markers to be valid. Do not remove these markers from the certificate file.
• In another example, when you use Splunk forwarder to indexer certificates that contain a
Private Key, the completed certificate file might look like the following:
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
Next steps
• After you combine certificates into one file, you can then configure the Splunk platform
to use the certificates.
• See Configure Splunk indexing and forwarding to use TLS certificates for instructions on
configuring TLS certificates to secure communications between indexers and forwarders.
You can use mutually authenticated TLS (mTLS) to secure communications between data sources
and Edge Processors. When mTLS is active, the data source and the Edge Processor must prove
their identities by presenting valid TLS certificates before they can connect and communicate
with each other. To configure mTLS, you must provide client certificates that validate the identity
of the data source and server certificates that validate the identity of the Edge Processor.
The instructions on this page describe how to obtain the necessary TLS certificates. If you
already have certificates that you'd like to use, then proceed to the following pages for
information on how to configure your data source and Edge Processor to use the certificates:
The certificates that you use to configure mTLS between data sources and Edge Processors are
different from the certificates that you use to configure TLS or mTLS between Edge Processors
and Splunk indexers. If you are looking for instructions on configuring TLS or mTLS between
Edge Processors and indexers, see the "Obtaining TLS certificates" section in Send data from
Edge Processors to non-connected Splunk platform deployments using S2S or Send data from
Edge Processors to non-connected Splunk platform deployments using HEC.
o A client certificate, private key, and CA certificate that the data source can use to
prove its identity.
o A server certificate, private key, and CA certificate that the Edge Processor can
use to prove its identity.
Typically, each certificate is stored in a separate Privacy Enhanced Mail (PEM) file. However, if the
data source is a Splunk forwarder, then you must concatenate the client certificate, private key,
and CA certificate in the listed order into the same PEM file. For more information, see How to
prepare TLS certificates for use with the Splunk platform in the Securing Splunk
Enterprise manual.
The Edge Processor uses the same PEM files to prove its identity to all data sources where mTLS
is used. For example, if you turn on mTLS for both Splunk forwarders and HTTP Event Collector
(HEC) data sources, then the Edge Processor uses the same server-side PEM files when receiving
data from both types of data sources.
The steps that you must follow to obtain TLS certificates depend on the type of certificates you
intend to use. You have two options for obtaining these certificates:
• Create and sign the certificates yourself. This is the fastest and lowest cost method for
getting certificates, but it is less secure than getting signed certificates from a third party.
For instructions, see Generate and self-sign client and server certificates to secure
communications on this page.
• Get signed certificates from a third party. This option is the most secure method for
getting certificates, but it involves a third party and potentially a cost to obtain the
certificates. For instructions, see Obtain a certificate from a third-party on this page.
If you're working with a Splunk forwarder that has the sslVerifyServerCert property in the
outputs.conf file turned on, then you must use a certificate from a third party.
Follow these steps if you've chosen to create and sign your own certificates to secure
communications between data sources and Edge Processors.
Before creating a certificate authority (CA), you must choose a signing algorithm for the CA's
private key. Follow the set of instructions that match the signing algorithm that you'd like to use:
Follow these steps if you've chosen to create and sign your own certificates with the RSA signing
algorithm to secure communications between data sources and Edge Processors.
1. Open a command line interface, for example, a shell prompt, or a Terminal or PowerShell
window.
2. Create a new directory that you'd like to store your certificates on.
3. Change to the new directory you created.
2. openssl req -newkey rsa:2048 -nodes -days 825 -sha256 -subj "/C=<Country>/O=<Organization>/CN=<Common-Name>/emailAddress=<Email>"
-keyout edge_server_key.pem -out edge_server_req.pem
4. openssl x509 -req -days 825 -sha256 -set_serial 01 -extfile <(printf "subjectAltName=DNS:<FQDN_Edge_Processor_Instance>") -in
edge_server_req.pem -out edge_server_cert.pem -CA ca_cert.pem -CAkey ca_key.pem
1. Generate the private key and certificate request. Replace the text contained in
the -subj flag with the information relevant to you.
2. openssl req -newkey rsa:2048 -nodes -days 825 -sha256 -subj "/C=<Country>/O=<Organization>/CN=<Common-Name>/emailAddress=<Email>" -keyout
data_source_client_key.pem -out data_source_client_req.pem
4. openssl x509 -req -days 825 -sha256 -set_serial 01 -in data_source_client_req.pem -out data_source_client_cert.pem -CA ca_cert.pem -CAkey ca_key.pem
Follow these steps if you've chosen to create and sign your own certificates with the ECDSA
signing algorithm to secure communications between data sources and Edge Processors.
1. Open a command line interface, for example, a shell prompt, or a Terminal or PowerShell
window.
2. Create a new directory that you'd like to store your certificates on.
3. Generate the private key and certificate request. Replace the text contained in
the -subj flag with the information relevant to you.
4. openssl req -new -SHA384 -key edge_server_key.pem -nodes -subj "/C=<Country>/O=<Organization>/CN=<Common-
Name>/emailAddress=<Email>" -out edge_server_req.pem
6. openssl x509 -req -days 825 -set_serial 01 -extfile <(printf "subjectAltName=DNS:<FQDN_Edge_Processor_Instance>") -in
edge_server_req.pem -out edge_server_cert.pem -CA ca_cert.pem -CAkey ca_key.pem
3. Generate the private key and certificate request. Replace the text contained in
the -subj flag with the information relevant to you.
openssl x509 -req -SHA384 -days 825 -set_serial 01 -in data_source_client_req.pem -out
data_source_client_cert.pem -CA ca_cert.pem -CAkey ca_key.pem
After generating and self-signing the certificates, you have the following files:
File name Description
ca_cert.pem The CA certificate that will be uploaded to both the Edge Processor and the data
source
If you want to use a signed third party certificate from a CA such as Let's Encrypt, Sectigo, or
Symantec, you can acquire the certificate directly from those CAs, and upload them to the Edge
Processor service.
You will need to ask the third party for the client certificates for the data sources, the server
certificates for the Edge Processors, and the CA certificate. If there is an intermediate certificate
from the third party, then add it to your server certificate:
When preparing TLS certificates for proving the identity of a universal forwarder or a heavy
forwarder, you must combine the certificates into a single PEM file. For more information,
see How to prepare TLS certificates for use with the Splunk platform in the Securing Splunk
Enterprise manual.
Next steps
Configure your data source and Edge Processor to use the TLS certificates. See the following
pages:
https://docs.splunk.com/Documentation/SplunkCloud/latest/EdgeProcessor/SecureForwarders
Using HEC destinations
Use HEC if and when S2S is not an option. To prepare the destination on the indexer-side,
take the following steps:
If you're using Splunk Enterprise, you will need to enable HEC in the Global Settings
dialog: Settings > Data inputs > HTTP Event Collector > Global Settings. Select Enabled
on the All tokens toggle.
From the New destination dropdown on the Destinations landing page, select Splunk
Platform using HEC. You will be routed a to a page similar to the following:
HEC URI
As above with S2S, enter the IP address or hostname of the Splunk instance followed by the port
number. Note that Splunk Cloud uses a fixed URL: https://http-inputs.<stack_id>.splunkcloud.com:443
Enter the token created in and copied from Splunk Cloud or Enterprise.
TLS
The same details you have configured in the indexer-side should be entered in this Edge
Processor Destination form.
The HEC data is sent to the /services/collector API endpoint. The /services/collector/raw or other
endpoints are not supported.
Getting Data In
SetSplunk
in up andWeb
use HTTP Event Collector
Set up and use HTTP Event Collector in Splunk Web
The HTTP Event Collector (HEC) lets you send data and application events to a Splunk deployment
over the HTTP and Secure HTTP (HTTPS) protocols. HEC uses a token-based authentication model.
You can generate a token and then configure a logging library or HTTP client with the token to send
data to HEC in a specific format. This process eliminates the need for a Splunk forwarder when you
send application events.
After you enable HEC, you can use HEC tokens in your app to send data to HEC. You do not need to
include Splunk credentials in your app or supported files to access the Splunk platform instance.
• HEC can accept events that you send to it over the HTTP protocol in addition to the
HTTPS protocol.
• HEC can forward events to another Splunk indexer with an optional forwarding output
group.
• You can use the deployment server to distribute HEC tokens across indexers in a
distributed deployment.
For instructions on how to enable and manage HEC on Splunk Enterprise, see Configure HTTP
Event Collector on Splunk Enterprise.
Agents and clients use a token to authenticate their connections to HEC. When the clients connect,
they present this token value. If HEC receives a valid token, it accepts the connection and the client
can deliver its payload of application events in either text or JavaScript Object Notation (JSON)
format.
HEC receives the events and Splunk Cloud Platform indexes them based on the configuration of the
token. HEC uses the source, source type, and index that was specified in the token. If a forwarding
output group configuration exists on a Splunk Enterprise instance, HEC forwards the data to
indexers in that output group.
Confirm that no firewall blocks the port number that you specified in the '''HTTP
Port Number''' field, either on the clients or the Splunk instance that hosts HEC.
• You can make an HTTP request using your favorite HTTP client and send your JSON-
encoded events.
• As a developer, you can use the Java, JavaScript ( node.js ), and .NET logging libraries in
your application to send data to HEC. These libraries are compatible with popular
logging frameworks. See Java, JavaScript (Node.js), and .NET on the Splunk Dev Portal.
Where:
If you do not include these prefixes before your Splunk Cloud Platform hostname when you send
data, the data cannot reach HEC.
• For developer content on using HTTP Event Collector, see HTTP Event Collector
Examples, as well as Introduction to Splunk HTTP Event Collector in the Splunk
Developer Portal.
A bucket policy grants what actions are permitted for the authenticated account. These
permissions apply to all the specified objects in the bucket policy. Verify the S3 bucket policy
and tune it as necessary.
Also, turn off the “Object Lock” option if it is enabled on your S3 bucket.
The data in S3 lives forever by default unless they are explicitly removed. Plan and set the
correct life cycle policies for your S3 buckets before you define the destination in the Edge
Processor service.
The Amazon S3 bucket that you want to send data to with Object Lock turned off
Currently the only supported output data format is the Splunk HTTP Event Collector schema in
newline delimited JSON format.
Authentication
You have two authentication options depending on where your Edge Processor instances will be
deployed.
1. For Edge Processors deployed outside of the Amazon EC2 environment, you must use an S3
access key and secret combination.
2. For Edge Processors running in Amazon EC2 regions, you may use either the access key and
secret combination or an AWS Identity and Access Management (IAM) role. However, using the
IAM role is recommended.
Advanced settings
Note that a single S3 object has a size limit of 5 GB in AWS. An attempt to upload an object
greater than this size may result in data loss. To minimize the number of objects in any one S3
partition, The Edge Processor flushes its buffer every 30 seconds or batches 4,096 events,
whichever comes first, as an S3 object. If necessary, you can adjust this batch count in the
"Advanced settings".
A schema for the S3 object partitioning is constructed using the values you enter in
"Amazon S3 object key name settings" along with auto-generated values by the Edge
Processor.
• The instance ID is the Edge Processor instance that is handling the data.
• The UUID is for the batched payload. It is automatically generated for each S3
object by the Edge Processor.
• If the data does not have a timestamp, the S3-partition defaults to the current
time.
For example, you have configured the following values for the object key names:
When this "Hello, world!" payload enters and passes through an Edge Processor
pipeline without any other processing would have the S3 object partitioned like this:
S3://foo/bar/year=2023/month=08/day=21/instanceId=<EP_ID>/baz-<UUID>.json
Verifying destinations
To verify the destination connection, you must send data through an Edge Processor following
these steps:
1. Deploy an Edge Processor instance.
2. Define a source-type.
3. Select a destination.
4. Optionally, create and apply a pipeline to the Edge Processor instance. The
default behavior of any Edge Processor can be set to send data to any
destination without a pipeline.
5. Send data to this Edge Processor instance.
To confirm that data is flowing to your destination, click the destination detail and review
the data-flow metrics. These metrics are not real-time so refresh the page to get the latest.
An additional confirmation is to search the data in the destination. For data sent to an S3
bucket, use the AWS-provided tools such as S3 bucket browser or AWS CLI.
Use Edge Processors
https://docs.splunk.com/Documentation/SplunkCloud/latest/EdgeProcessor/AmazonS3Destination
• If any of the instances in your Edge Processor are not installed on Amazon EC2, then
you must authenticate the connection using the access key ID and secret access key of
an Identity and Access Management (IAM) user who can access the bucket.
• If all the instances of your Edge Processor are installed on Amazon EC2, then you can
choose to authenticate the connection using either an IAM role or an access key ID and
secret access key.
• You can then create a pipeline that uses that destination. When you apply that pipeline to
your Edge Processor, the Edge Processor starts sending data that it receives to your Amazon S3
bucket. In Amazon S3, the data from your Edge Processor is identified by an object key name that is
constructed using auto-generated values from the Edge Processor and some of the values that you
specify in the destination configuration.
• When you create your Amazon S3 destination, you specify the bucket name, folder name,
file prefix, and file extension to be used in this object key name. The instance ID is taken from the ID
of the Edge Processor instance that handled the data, and the Edge Processor automatically
generates the date partitions and the UUID (universally unique identifier).
• For example, if you send data to Amazon S3 on October 31, 2022 using a destination that
has the following configurations:
Prerequisites
• Before you can send data to Amazon S3, the following requirements must be met:
• The Amazon S3 bucket that you want to send data to does not have Object Lock turned
on.
Object Lock cannot be turned off after it is turned on, so you might need to create a new
bucket. For more information,
see https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-
configure.html in the Amazon Simple Storage Service (S3) User Guide.
• "Version": "2012-10-17",
• "Statement": [
• {
• "Effect": "Allow",
• "Action": [
• "s3:PutObject",
• "s3:GetBucketLocation"
• ],
• "Resource": "<S3_bucket_ARN>/*"
• }
• ]
• }
Steps
1. In the Edge Processor service, select Destinations.
2. On the Destinations page, select New destination > Amazon S3.
3. Provide a name and description for your destination:
Field Description
Bucket Name The name of the bucket that you want to send your data to.
•
Edge Processors use this bucket name as a prefix in the object key name.
Folder name (Optional) The name of a folder where you want to store your data in the bucket.
•
In the object key name, Edge Processors include this folder name after the bucket name and before a set of auto-generated timestamp
partitions.
File prefix (Optional) The file name that you want to use to identify your data.
•
In the object key name, Edge Processors include this file prefix after the auto-generated timestamp partitions and before an auto-
generated UUID value.
Output data Edge Processors only support the JSON (Splunk HTTP Event Collector schema) setting.
format
•
This setting causes your data to be stored as .json files in the Amazon S3 bucket. The contents of these .json files are formatted into the
event schema that's supported by the Splunk HTTP Event Collector. See Event metadata in the Splunk Cloud Platform Getting Data
In manual.
Compression The compression format for your data. Select one of the following options:
type
5. Specify the AWS region and authentication method to allow this destination to
connect with your Amazon S3 bucket.
Field Description
Authentication The method for authenticating the connection between your Edge Processor and your Amazon S3
bucket.
•
If all of your Edge Processor instances are installed on Amazon EC2, then select Authenticate
using IAM role for Amazon EC2. Otherwise, select Authenticate using access key ID and
secret access key.
AWS access key ID The access key ID for your IAM user.
•
This field is available only when Authentication is set to Authenticate using access key ID
and secret access key.
AWS secret access The secret access key for your IAM user.
key
•
This field is available only when Authentication is set to Authenticate using access key ID
and secret access key.
6. (Optional) To adjust the maximum number of records that this destination sends
in each batch of output data, expand Advanced settings and enter your desired
maximum number of records in the Batch size field.
In most cases, the default Batch size value is sufficient. Be aware that the actual
size of each batch can vary depending on the rate at which the Edge Processor is
sending out data.
AWS
AWS CLI Command Reference
https://awscli.amazonaws.com/v2/documentation/api/latest/index.html
• The S2S traffic from the forwarder is load-balanced with the outputs.conf settings on
those forwards. This is a setting that you must apply on each forwarder.
• For HTTP Event Collector traffic going to the Edge Processor, you must provide your own
load balancing mechanism.
Currently, you can only install Edge Processors on Linux servers that are on kernel version 4.9
and higher. At minimum, the host must be able to dedicate the following to the Edge Processor
runtime binaries:
• 1 GB of RAM
If you plan to send to more than one destination, allocate an additional 5 GB of disk space per
destination.
Edge Processor uses port 1777 and port 8888 internally for its diagnostics and metrics.
Take a look at the following tabs for details on inbound and outbound traffic:
You must open the ports for S2S and HEC traffic.
Ports 9997 and 8088 are typically used, but you may use different ports. These are global
settings and apply to all Edge Processors.
Your network policy must allow all the ports used by your destinations.
Typically ports 443, 8088, 9997 and/or any other ports your destinations require. These are
configured per each destination.
Finally, Edge Processors must be able to communicate with Splunk Cloud services. Make
sure your firewall policy allows outbound calls to the following URLs
(replacing <tenant> with your cloud tenant ID):
• https://<tenant>.api.scs.splunk.com
• https://<tenant>.auth.scs.splunk.com
• https://auth.scs.splunk.com
• https://beam.scs.splunk.com
Depending on how you want to control default behaviors of your Edge Processor, the
following requirements should also be considered:
• When you install the Edge Processor client, you do not need
administrator level privileges on the Linux host. However, if you
want systemd to manage the underlying Edge Processor process, you
need the sudo privilege.
• Next, decide what to do with unprocessed data coming to the Edge
Processor. Unprocessed data refers to data that has no assigned
pipelines within the Edge Processor. You can specify either to drop, or to
route them to a default destination. If you want to route, then you must
have the destination created beforehand.
• Next, you need to decide how the Edge Processor receives its data – S2S
or HEC. Note, the inbound HEC input does not use authentication
currently. As noted earlier, the recommended practice is not to mix and
match the source-to-destination types because Edge Processor cannot
guarantee the connection flags to be propagated down to different
destinations.
When Edge Processor receives parsed or unparsed UF data, it leaves it as
•
is. The implication is that this maintains the same TA-behavior in the
Splunk destinations. If you ingest HF data, the use of rulesets is the only
option to make further modifications at the indexing tier
• Use Edge Processors
Installation requirements for Edge
Processors
• Installation requirements for Edge Processors
Before installing an Edge Processor, make sure that the host that you're installing on meets the
following requirements. Meeting these requirements and addressing issues arising from the host
environment, including the hardware, operating system and network, is your responsibility.
• Hardware requirements
• Software requirements
• Network requirements
This is step 1 of 6 for using an Edge Processor to process data and route it to a destination. To see
an overview of all of the steps, see Quick start: Process and route data using Edge Processors.
Hardware requirements
The host machine where you want to install an Edge Processor must meet the following system
requirements.
Hardware Specifications
CPU 2 vCPUs
Memory 2 GB, assuming that 1 GB from this amount is used to run the operating system.
Disk space 20 GB, assuming that the Edge Processor is configured to send data to 1 destination.
To improve the performance of the Edge Processor, allocate resources beyond these minimum
requirements.
Software requirements
The host machine where you want to install an Edge Processor instance cannot already have
another Edge Processor instance installed on it. You must install each Edge Processor instance on a
different machine.
Additionally, the system clock of the host machine must be synchronized with a Network Time
Protocol (NTP) server. If the system time is incorrect, this can cause the Edge Processor installation
to fail due to prematurely expired security tokens. For information about how to synchronize the
system clock to an NTP server, refer to the documentation for your operating system.
• Amazon Linux 2
• Debian 10 and 11
• Red Hat Enterprise Linux (RHEL) 8.0 and higher
• SUSE Linux Enterprise 15.0 and higher
• Ubuntu 20.04 LTS and 22.04 LTS
Network requirements
Configure your firewall settings and the ports on your host machines to allow your Edge Processors
to communicate with data sources, data destinations, the Edge Processor cloud service, and your
Splunk platform deployment.
• Firewall settings
• localhost ports
• Inbound ports
• Outbound ports
Firewall settings
The Edge Processors in your network must be able to communicate with the following external
resources:
This collected data only contains information pertaining to the operational status of the Edge
Processors. It does not contain any of the actual data that you are ingesting and processing through
Edge Processors.
To allow your Edge Processors to communicate with these external resources, make sure that your
firewall allows access to the following URLs:
The Edge Processor service in the cloud Allow access to these URLs, where <tenant> is the name of your cloud tenant:
• https://<tenant>.api.scs.splunk.com
• https://<tenant>.auth.scs.splunk.com
• https://auth.scs.splunk.com
• https://beam.scs.splunk.com
The Splunk Cloud Platform deployment that is paired with your cloud For each deployment, allow access to the following URL, where
tenant, as well as any deployments that are used as data destinations <deployment_name> is the name of the Splunk Cloud Platform deployment:
*.<deployment_name>.splunkcloud.com
Services that Splunk uses to monitor the health of the Edge Processor Allow access to these URLs:
solution
• https://dataeng-data-cmp-prod.s3.us-east-1.amazonaws.com
• https://http-inputs-products-telemetry.splunkcloud.com
• https://telemetry-splkmobile.dataeng.splunk.com
localhost ports
Edge Processors use the following ports associated with localhost or IP address 127.0.0.1 to
support internal processes. Make sure that these ports are open for local loopback on the host
machines where you're installing your Edge Processors.
You don't need to expose these ports to external traffic.
Port Details
1777 Edge Processors use port 1777 to send logs to the edge_diagnostic tool.
You can run the edge_diagnostic tool manually and locally on the host machine of the Edge Processor.
The tool compiles information from Edge Processor logs, but does not expose any information externally. For
more information, see Generate a diagnostic report for an Edge Processor instance.
8888 Edge Processors use port 8888 to send application health metrics to internal dashboards used by Splunk
Support.
Inbound ports
Edge Processors use inbound ports to listen for data from data sources. Make sure that these ports
are available and that your network policy allows them to be opened to incoming external traffic.
You can choose which port numbers to use for each supported type of inbound data. For more
information, see Configure shared Edge Processor settings.
By default, Edge Processors are configured to use the following inbound ports to receive data:
Edge Processors support the ingestion of syslog data, but do not have a default inbound port
configured for it. You must choose the port number for receiving syslog data. See Configure a port
for receiving syslog data.
Outbound ports
Edge Processors use outbound ports to communicate with other components in your Splunk
platform deployment and with external destinations. Make sure that these ports are available and
that your network policy allows them to be opened to outgoing external traffic.
Port Details
• Send internal logs to the Splunk Cloud Platform deployment that's connected to the tenant.
• Send data to Splunk Enterprise and Splunk Cloud Platform.
If your Splunk platform deployments use ports other than 9997 to listen for incoming data, then
you must configure your Edge Processors to use those ports instead and make sure that those ports
are available.
• During the first-time setup process, you connect your tenant to a Splunk Cloud Platform
deployment. The listening ports used by the indexers in that deployment determine
which ports your Edge Processors use to send internal logs. For more information,
see First-time setup instructions for the Edge Processor solution.
• To configure the port that an Edge Processor uses to send data to Splunk Enterprise or
Splunk Cloud Platform, start by adding a Splunk platform destination that specifies the
correct port number. Then, use that destination in a pipeline and apply the pipeline to
your Edge Processor. See Send data from Edge Processors to non-connected Splunk
platform deployments using S2S and Send data from Edge Processors to non-connected
Splunk platform deployments using HEC for more information.
Use Edge Processors
Set up an Edge Processor
Set up an Edge Processor
The first step towards incorporating the Edge Processor solution into your existing Splunk
ecosystem is to configure and install an Edge Processor. An Edge Processor is a single server
instance or a group of multiple server instances that provide computing resources for processing
and routing data. You install Edge Processors in your own network so that you can reduce and
sanitize your data before sending it outside of your local network. See How the Edge Processor
solution works for more information about the Edge Processor architecture.
Setting up an Edge Processor involves completing the following tasks:
1. Adding an Edge Processor in your tenant. See Add an Edge Processor for more
information.
2. Installing an Edge Processor instance on a machine in your network. See Install
an Edge Processor instance for more information.
3. If necessary, adding more instances to the Edge Processor to provide more
computing resources. See Add more instances to an Edge Processor for more
information.
This is step 2 of 6 for using an Edge Processor to process data and route it to a destination. To see
an overview of all of the steps, see Quick start: Process and route data using Edge Processors.
Prerequisites
Make sure that the environment where you're installing the Edge Processor meets the system and
network requirements. See Installation requirements for Edge Processors.
Depending on how you want to configure your Edge Processor, the following requirements might
also apply:
• When installing the Edge Processor instance, you can choose to configure systemd on
your host machine to manage the underlying process of the Edge Processor instance as
a service. If you want to use this configuration, you must have super user permissions
on the host machine.
• To prevent unprocessed data from being dropped, you'll need to configure your Edge
Processor to use a default destination for storing unprocessed data. To do this, you
must first create a destination. See Add or manage destinations and Data pathway for
more information.
o If you plan to use a Splunk platform HEC destination as the default
destination, make sure that the Default source type setting in the
destination specifies an appropriate value. If the events routed to this
destination aren't already associated with a source type, then the Default
source type value is used.
• You can secure communications between your data source and your Edge Processor
using TLS or mutually authenticated TLS (mTLS). When TLS or mTLS is active, the data
source and the Edge Processor must prove their identities by presenting valid TLS
certificates before they can connect and communicate with each other.
o If you want to use mTLS, then you must have the following certificates in
Privacy Enhanced Mail (PEM) format:
▪ A client certificate, CA certificate, and private key that the data
source can use to prove its identity.
1. In the Edge Processor service, navigate to the Edge Processors page and then
select New Edge Processor.
2. Enter a Name and a Description for the Edge Processor.
3. To prevent unprocessed data from being dropped, specify a default destination
that the Edge Processor can send the unprocessed data to. Select To a default
destination. Then, from the Default destination drop-down list, select the
destination you want to use.
4. To turn on receivers that allow your Edge Processor to receive data from specific
data inputs, select data inputs as necessary in the Receive data from these
inputs section.
5. If you want to use TLS or mTLS to secure communications between this Edge
Processor and the data sources that are sending data to it, then do the following:
1. Select your preferred type of connection protocol for your data inputs.
2. If you choose to use mTLS with your data input, upload PEM files
containing the certificates for proving the Edge Processor's identity in
the Server private key, Server certificate, and CA certificates fields.
3. If you choose to use TLS with your data input, upload PEM files
containing the certificates for proving the Edge Processor's identity in
the Server private key, and Server certificate fields.
The Edge Processor uses the same PEM files to prove its identity to all
data sources where TLS or mTLS is used. For example, if you select
both Splunk forwarders and HTTP Event Collector, then the Edge
Processor uses the same server-side PEM files when receiving data
from forwarders and HEC data sources.
6. Select Save.
The Edge Processor service creates an Edge Processor configuration with the settings that you
specified. Next, install an instance of this Edge Processor on a machine in your network.
2. On the machine where you want to install the instance, open a command-line
interface in the directory where you want to install the Edge Processor instance
and then paste and run the commands.
The commands create a splunk-edge directory in your chosen installation
location.
3. To verify that the instance was installed successfully, return to your cloud tenant
and select the Instances tab in the Manage instances panel. Confirm that your
instance is listed and has the Healthy status. It may take up to 1 minute for the
status to change to Healthy. See Manage and uninstall Edge Processors for
information about instance statuses and what they mean.
You now have a single-instance Edge Processor that you can use to receive and process data. For
information about creating and applying pipelines for data processing, see Create pipelines for Edge
Processors.
If you want to scale out your Edge Processor to a group of multiple Edge Processor instances, see
the Add more instances to an Edge Processor section for information.
The following instructions ensure that the user has the necessary permissions by setting the home
directory of the user to the installation directory of the Edge Processor instance. However, if
desired, you can choose to use an existing cgroup and user or configure the user permissions
through another method.
1. On the machine where you want to install the instance, create a cgroup and a
user.
1. Create a cgroup by running the following command, where
<group_name> is the name of the cgroup:
sudo groupadd <group_name>
2. In your cloud tenant, navigate to the panel that displays the installation
commands.
1. On the Edge Processors page, in the row that lists your Edge
Processor, select the Actions icon ( ) and then select Open.
2. In the panel that contains your Edge Processor details, select Manage
instances.
3. Select the Install/uninstall tab, and then expand the Step 1: Run
commands to install/uninstall instances section.
4. Select Install to view the commands for downloading and installing
an Edge Processor instance on a Linux machine, and then select Copy
to clipboard.
5. Open a text editor and paste the commands. Delete the following
command, which comes after the # Install the Edge Processor
instance comment:
5. To add the splunk-edge process to systemd and then finish installing the Edge
Processor instance, run the following commands:
6. sudo chown -R splunk: <install_directory>
7. sudo cp <install_directory>/etc/splunk-edge.service /etc/system
d/system
8. sudo systemctl daemon-reload
9. sudo systemctl enable splunk-edge
10. sudo systemctl start splunk-edge
When the installation is complete, the following message is returned:
11. To confirm that you've successfully added the splunk-edge process to systemd ,
run the following command:
sudo systemctl status splunk-edge.service
Review the status information that is returned and confirm that there are no
errors.
12. To verify that the instance is healthy, return to your cloud tenant and select
the Instances tab in the Manage instances panel. Confirm that your instance is
listed and has the Healthy status. It may take up to 1 minute for the status to
change to Healthy. See Manage and uninstall Edge Processors for information
about instance statuses and what they mean.
You now have a single-instance Edge Processor that you can use to receive and process data. For
information about creating and applying pipelines for data processing, see Create pipelines for Edge
Processors.
If you want to scale out your Edge Processor to a group of multiple Edge Processor instances, see
the Add more instances to an Edge Processor section for information.
Add more instances to an Edge Processor
To ensure that your Edge Processor has sufficient computing resources for your data processing
workload, you can scale out your Edge Processor into a group of multiple Edge Processor instances
as needed.
Be aware that there is a soft limit on the maximum number of Edge Processor instances that can be
supported. See Tested and recommended service limits (soft limits) in the Splunk Cloud Platform
Service Details for more information.
To scale out your Edge Processor by adding more instances, do the following:
Splunk In the outputs.conf file, update the server property to include the host and port information of your new instance. You
forwarders can get an outputs.conf stanza with the settings relevant to your Edge Processor by selecting the Configure data
sources action for your Edge Processor and then selecting Splunk forwarder from the drop-down list.
As a best practice, if you have many forwarders configured to send data to the same multi-instance Edge Processor,
use a DNS record to keep your outputs.conf settings up to date. Map all the Edge Processor instance hosts to a DNS
record, and then set the server property in your outputs.conf files to the IP address of that DNS record. When you
add or remove instances to your Edge Processor, you only need to update the DNS record instead of updating
multiple outputs.conf files. For more information about using a DNS to manage forwarder outputs, see Options for
configuring receiving targets for load balancing in the Splunk Cloud Platform Forwarding Data manual.
HTTP clients or If you want the HTTP client or logging agent to send data to multiple Edge Processor instances, you must set up a load
logging agents balancer to pass the HTTP request to all of the instances. Then, update the URI of the HTTP request so that the request is
using HTTP directed to the load balancer.
Event Collector
(HEC) Otherwise, if you want the HTTP client or logging agent to send data to the new Edge Processor instance only,
update the URI of the HTTP request so that the request is directed to the new instance. You can get HTTP request
examples with hostname and port values relevant to your instance by selecting the Configure data sources action
for your Edge Processor and then selecting HTTP Event Collector from the drop-down list.
You now have a group of Edge Processor instances that you can use to receive and process data. For
information about creating and applying pipelines for data processing, see Create pipelines for Edge
Processors.
https://docs.splunk.com/Documentation/SplunkCloud/latest/EdgeProcessor/CreateNode
Adding an Edge Processor
To add an Edge Processor, click Edge Processors in the SCP menu and then click the New Edge
Processor button. The “Add an Edge Processor” panel will appear.
Name
The name given here represents the logical cluster group. It can have a single instance or a group of
instances.
Since you will have different options to deploy Edge Processors, it is a good practice to have a
naming convention. That way you can easily identify different Edge Processor clusters.
Default destination
This setting determines how to handle unprocessed data. Select either to forward or drop them.
Splunk forwarders send their internal logs destined to the _internal, _audit, and _introspection
indexes. To Edge Processor, these internal logs are unprocessed data. Pay special attention when
selecting the default destination. Normally you want to aggregate these internal logs to a single
destination.
If that destination is somewhere other than the paired Cloud stack, recommend selecting a “Splunk
platform S2S” destination.
If you are planning to aggregate unprocessed data to destinations other than the Splunk indexers,
then you must create separate pipelines to filter and route, because non-Splunk destinations only
work with the source type associated pipelines.
Receiver setttings
Edge Processors can receive data from Splunk forwarders and HTTP Event Collectors currently.
Select which type of connections you want the Edge Processor to use. If you want to secure
communication between this Edge Processor group and your data sources, select TLS. You must
provide a TLS package to both Edge Processor and your data source clients.
PEM files
Upload the following PEM files:
• A server private key
• A server certificate
• A CA certificate
The certificates can be self-signed or signed by a third-party. The TLS for outbound traffic is
configured in the Destinations menu.
Fill in the required fields and click Save.
Edge A data processing engine that allocates You install Edge Processors on machines in your local network. Edge Processors provide
Processor resources for processing and routing data an on-premises data plane that lets you reduce and sanitize your data before sending it
outside of your network.
Edge A cloud service that provides a centralized Splunk hosts the Edge Processor service as part of Splunk Cloud Platform. The Edge
Processor console for managing Edge Processors Processor service provides a cloud control plane that lets you deploy configurations,
service monitor the status of your Edge Processors, and gain visibility into the amount of data that
is moving through your network.
Pipeline A set of data processing instructions In the Edge Processor service, you create pipelines to specify what data to process, how to
written in SPL2, which is the data search process it, and what destination to send the processed data to. Then, you apply pipelines to
and preparation language used by Splunk your Edge Processors to configure them to start processing data according to those
software instructions.
By using the Edge Processor solution, you can process data in your own local network while also
managing and monitoring your data ingest ecosystem from a Splunk-managed cloud service.
The following diagram provides an overview of these elements:
• The components that comprise the Edge Processor solution, and whether each
component is hosted in the Splunk cloud environment or your local environment. See
the System architecture section on this page for more information.
• The path your data takes as it moves from source to destination through an Edge
Processor. See the Data pathway section on this page for more information.
System architecture
The primary components of the Edge Processor solution include the Edge Processor service, Edge
Processors, and SPL2 pipelines that support data processing.
• Configure and install Edge Processors on your local environment for on-location data
processing.
• Create and apply SPL2 pipelines that determine how each Edge Processor processes
and routes the data that it receives.
• Define source types to identify the kind of data that you want to process and determine
how Edge Processors break and merge that data into distinct events.
• Create connections to the destinations that you want your Edge Processors to send
processed data to.
You access the Edge Processor service by logging in to your tenant in the Splunk cloud
environment. Your tenant is connected with your Splunk Cloud Platform deployment, and uses it as
an identity provider for managing user accounts and logins. To log in and access the Edge Processor
service, use the same username and password as you would when logging in to your Splunk Cloud
Platform deployment.
The connection between the tenant and the Splunk Cloud Platform deployment also allows the Edge
Processor solution to use the deployment as a storage location for the logs and metrics that are
generated by Edge Processors. The Edge Processor service retrieves these logs and metrics from
the deployment and displays them in the user interface of the service.
These Edge Processor logs and metrics only contain information pertaining to the operational
status of a given Edge Processor. They do not contain any of the actual data that you are ingesting
and processing through Edge Processors. See the Edge Processors section that follows for more
details.
Edge Processors
An Edge Processor is a data processing engine that allocates resources for processing and routing
data. You can install an Edge Processor on a single server node in your network or on a cluster of
multiple server nodes. Multi-instance Edge Processors provide more powerful data processing
capabilities than single-instance Edge Processors. Be aware that multiple Edge Processor instances
cannot run on the same machine, so you must install each instance on a different machine.
Each Edge Processor instance is associated with a supervisor, which contacts the cloud service at
regular intervals to check for system updates, provide telemetry data, and confirm that the instance
is still connected to the service. When you use the Edge Processor service to change your Edge
Processor configurations or pipeline definitions, or when Splunk releases new features or bug fixes
for Edge Processors, the supervisor detects these changes and automatically updates the instance
as needed.
The supervisor sends the following information from the Edge Processor instance to the Edge
Processor service in the cloud:
The information that an Edge Processor instance and its supervisor sends to the cloud does not
contain any of the actual data that is being ingested and processed. The data that you send through
an Edge Processor only gets transmitted to the destinations that you choose in the Edge Processor
configuration settings and the applied pipelines.
Pipelines
A pipeline is a set of data processing instructions written in SPL2. When you create a pipeline, you
write a specialized SPL2 statement that specifies which data to process, how to process it, and
where to send the results. For example, you can create a pipeline that filters for syslog events and
sends them to a dedicated index in Splunk Cloud Platform. When you apply a pipeline to an Edge
Processor, the Edge Processor uses those instructions to process all the data that it receives from
data sources such as Splunk forwarders, HTTP clients, and logging agents.
The Edge Processor solution supports a subset of SPL2 commands and functions. Pipelines can
include only the commands and functions that are part of the EdgeProcessor profile. For
information about the specific SPL2 commands and functions that you can use to write pipelines for
Edge Processors, see Edge Processor pipeline syntax. For a summary of how
the EdgeProcessor profile supports different commands and functions compared to other SPL2
profiles, see the following pages in the SPL2 Search Reference:
Data pathway
Data moves through the Edge Processor solution as follows:
As the Edge Processor receives and processes data, it measures metrics indicating the volume of
data that was received, processed, and sent to a destination. These metrics are stored in
the _metrics index of the Splunk Cloud Platform deployment that is connected to your tenant. The
Edge Processor service surfaces the metrics in the dashboard, providing detailed overviews of the
amount of data that is moving through the system.
Partitions
Each Edge Processor instance merges the received data into an internal dataset before processing
and routing that data. A partition is a subset of data that is selected for processing by a pipeline.
Each pipeline that you apply to an Edge Processor creates a partition from the internal dataset. For
information about how to specify a partition when creating a pipeline, see Create pipeline for Edge
Processors.
The partitions that you create and the configuration of your Edge Processor determines how the
Edge Processor routes the received data and whether any data is dropped:
• The data that the Edge Processor receives is defined as processed or unprocessed based
on whether there is at least one partition for that data. For example, if your Edge
Processor receives Windows event logs and Linux audit logs, but you only applied a
pipeline for Windows event logs, then those Windows event logs are selected in a
partition and considered to be processed while the Linux audit logs are considered to
be unprocessed.
• Each pipeline creates a partition of the incoming data based on specified conditions, and
only processes data that meets those conditions. Any data that does not meet those
conditions is considered to be unprocessed.
• If you configure your pipeline to filter the processed data, the data that is filtered out
gets dropped.
• If you configure your Edge Processor to have a default destination, then the
unprocessed data goes to that default destination.
• If you do not set a default destination, then the unprocessed data is dropped.
The following is a diagram of the Edge Processor data pathway.
See also
For information about how to set up and use specific components of the Edge Processor solution,
see the following resources.
The Edge Processor uses the same PEM files to prove its identity to all data
sources where mTLS is used. For example, if you turn on mTLS for both Splunk
forwarders and HTTP Event Collector (HEC) data sources, then the Edge
Processor uses the same server-side PEM files when receiving data from both
types of data sources.
The steps that you must follow to obtain TLS certificates depend on the type of certificates you
intend to use. You have two options for obtaining these certificates:
• Create and sign the certificates yourself. This is the fastest and lowest cost method
for getting certificates, but it is less secure than getting signed certificates from a third
party. For instructions, see Generate and self-sign client and server certificates to
secure communications on this page.
• Get signed certificates from a third party. This option is the most secure method for
getting certificates, but it involves a third party and potentially a cost to obtain the
certificates. For instructions, see Obtain a certificate from a third-party on this page.
If you're working with a Splunk forwarder that has the sslVerifyServerCert property in the
outputs.conf file turned on, then you must use a certificate from a third party.
ca_cert.pem The CA certificate that will be uploaded to both the Edge Processor and the data
Next steps
Configure your data source and Edge Processor to use the TLS certificates. See the following pages:
https://docs.splunk.com/Documentation/SplunkCloud/latest/EdgeProcessor/SecureForwarders
1. Downloads the latest Supervisor package from Splunk Cloud Service and validates
its authenticity.
2. Extracts the package into the directory called splunk-edge in your current working
directory.
3. Saves the SCS environment information and the authentication token.
4. Contacts the SCS tenant for the latest runtime package.
5. Installs the latest Edge Processor runtime and other support processes.
Do not interrupt the script. Let the installation finish, after which you will be presented
with a screen similar to the following in SCP:
If you navigate to the Edge Processors landing page, you will see your new instance and its
health status:
When the "Instance health" status turns to green , you are good to continue.
Running Edge Processors under systemd
The installation script configures your Edge Processor client to run in the user session.
Optionally, you may configure the splunk-edge process as a service and
have systemd manage the underlying process. By doing so, systemd can start the process at
boot time or automatically restart it if it is terminated unexpectedly.
For this purpose, the installation script provides a unit file template called splunk-
edge.service. You can find this file in the etc sub-directory.
Before you can use the unit file, you need to prepare the host. The template file is hard-
coded to use "splunk" as the user and the group. The user running the service must have
read and write permissions to the installation directory and have the associated control
group, or cgroup, provisioned.
Scaling and working with service limits and constraints
You now have a single Edge Processor instance running in the logical group.
By default, the instance health warning is set to trigger when either of the CPU or memory
resource usage crosses 80%. This profiling is based on a 30-second interval.
An occasional high usage may be OK but if it is in a warning state for a prolonged time,
consider adding more nodes to the Edge Processor.
Each Splunk Cloud tenant permits up to 50 Edge Processor instances, deployed across up to
10 clusters or 100TB/day total traffic running through all deployed instances.
Clustering Edge Processor nodes
If you decide to scale out your Edge Processor, select the Actions icon associated with the
current Edge Processor name – shown as three vertical dots.
Instance options
Open the instance options by clicking the three vertically stacked dots.
Manage instances
Select 'Manage instances'
Select Manage instances > Install/uninstall.
You will be presented with an installation script similar to the one above. Execute the script
in the new instance, configure the systemd unit file if it's used, and wait for the instance to
reach a healthy state. If you are using systemd to manage the splunk-edge process, be sure
to configure the account and the cgroup settings in the new instance first as you have
learned in the previous topic. You might need to update your data sources after installing.
You will learn about this next.
Again, these settings apply globally to all instances in this group. You have set these details
while adding the name for this logical group. If you have turned on the TLS option for
inbound forwarder data, all forwarders should be configured to use the same client
certificates.
If the new nodes are set to receive data from Splunk forwarders, click the “View updated
stanzas” button, after all Edge Processor instances are in healthy state. This generates
updated stanzas that you can copy and paste into the outputs.conf file of each forwarder.
The forwarders will handle the load balance across the identified instances in the “server”
attribute. Depending on your Edge Processor configurations, you might have to check, and
additionally update other .conf files on the forwarders.
Configuring data sources
If you are adding a new Edge Processor instance at a later time, select the Actions icon and
select “Configure data sources”. A panel overlay will slide in providing you with the details
required to configure the new data source. There are three options:
• Splunk forwarder
• HTTP event collector
• Syslog
To distribute HTTP Event Collector data across the instances in this cluster, remember, you
need to use a network or an application load balancer.
When configuring your input agents to send data sources to this Edge Processor group, a
good practice is to use a DNS record to map all the Edge Processor instances. This way
when you add or remove instances from this group, you only need to update the DNS
record.
Checking Edge Processor configurations
To confirm that data is flowing through your Edge Processor, restart your forwarders.
On the Edge Processors page, select the Actions menu for your instance and select “Open”.
You will be routed to a page detailing the data path this group is configured to follow. The
“Received data” tab lists the sourcetypes it has seen in the last 30 minutes, but you can use
the search-range dropdown to select a different time-frame. The pipeline tab shows the
outbound data rate per pipeline and unprocessed data. The panel on the right displays the
current configurations and the inbound and outbound data metrics.
Remember these panels are not real time displays. To get updated metrics, refresh the
page.
If the Edge Processor view doesn’t show the inbound and outbound data, or no internal
logs from the forwarders have indexed in your default destination, check the logs in the
Edge Processor client.
When you have run the installation script, it creates a sub-directory named splunk-
edge under your working directory where you have executed the script.
Under the var/log sub-directories, there are two logs of interest:
• supervisor.log: contains the management-plane logs between this instance and the
Splunk Cloud Service tenant, such as heartbeat check, package updates, etc.
• edge.log: contains the data-plane processor logs and metrics, such as receiver,
processor, exporter, etc.
Under a successful configuration, these events should be indexed in the _internal index of
your cloud stack. You can also install the UF on the Edge Processor instances and forward
these internal logs to your own indexers, just in case the connection to the cloud is lost or
the instance processes restart and are in an errored state.
Splunk Cloud Platform Service Description
Service limits and constraints
Email Maximum number of 50 This is a hard limit of the Splunk Cloud Platform email
notifications email recipients relay service. Use an email distribution list to increase
the number of email recipients.
Email Maximum email 40 MB This is a hard limit of the Splunk Cloud Platform email
notifications attachment size relay service.
IT Service Event Analytics / 100 You can configure up to 100 Correlation Searches.
Intelligence Correlation Searches
IT Service Event Analytics / Notable 100 You can configure up to 100 Notable Event Aggregation
Intelligence Event Aggregation Policies with 50/50 division between time-based and
Policies non-time-based NEAPs.
IT Service Service Insights / Service 1000 Services per Service You can configure up to 1000 Services per Service
Intelligence Templates Template (having 5 KPIs Template if the Service Template is configured with the
and 40 Entities) 5 KPIs and 40 Entities.
600 Services per Service You can configure up to 600 Services per Service
Template (having 10 KPIs Template if the Service Template is configured with the
and 75 Entities) 10 KPIs and 75 Entities.
300 Services per Service You can configure up to 300 Services per Service
Template (having 10 KPIs Template if the Service Template is configured with the
and 150 Entities) 10 KPIs and 150 Entities.
Other Splunk Cloud Platform ID A minimum of 4 This naming standard applies to all regions.
characters and a
maximum of 22
characters. The ID must
start with a letter. Any
lowercase letter from the
alphabet, any number
from 0 to 9, and the
hyphen character are
allowed. All other ASCII
characters are not
allowed.
Search CSV lookup 5 GB Larger CSV lookups will not replicate across a Search
Head Cluster and will be quarantined on the Search
Head it was generated. We recommend using KV store
for lookups larger than 1 GB.
Search Knowledge Bundle 3 GB This is the hard limit of the maximum Knowledge
replication size Bundle replication size. If the Knowledge Bundle
exceeds this service limit, the search tier will not push
the bundle to the indexer tier. Searches on the indexer
tier will instead use the previously pushed bundle,
which will be within the size limit.
Search Search concurrency per 38 When you add these Premium Apps subscriptions to
Premium Solution listed Splunk Cloud Platform, additional search processes are
below: available for each Premium App. These search
• Splunk App for processes are exclusive to the Premium Solution
Microsoft subscription.
Exchange
• Splunk App for
VMware
Security IP allow list address rules 230 This is the hard limit per IP allow list group. For
per allow list group in example, the service limit for collecting data is separate
Splunk Cloud Platform from sending search queries. Customers specify the IP
deployment in AWS address or IP address range that is permitted to access
regions Splunk Cloud Platform and those from which Splunk
Cloud Platform can collect data (forwarders and HEC)
and send search queries. These are generically referred
to as IP allow list rules. These rules can be configured
to use CIDR blocks to maximize the IP allow list
coverage. For more information, see IP allow list
behavior and IP subnet limits.
Security IP allow list address rules 200 This is the hard limit per IP feature allow list. For
per feature allow list in example, the IP allow list service limit for collecting
Splunk Cloud Platform data is separate from sending search queries.
deployment in Google Customers specify the IP address or IP address range
Cloud regions that is permitted to access Splunk Cloud Platform and
those from which Splunk Cloud Platform can collect
data (forwarders and HEC) and send search queries.
These are generically referred to as IP allow list rules.
These rules can be configured to use CIDR blocks to
maximize the IP allow list coverage. For more
information, see IP allow list behavior and IP subnet
limits.
Security IP allow list address rules 230 This is the hard limit per IP allow list group. For
per allow list group in example, the service limit for collecting data is separate
Splunk Cloud Platform from sending search queries. Customers specify the IP
deployment in Azure address or IP address range that is permitted to access
regions Splunk Cloud Platform and those from which Splunk
Cloud Platform can collect data (forwarders and HEC)
and send search queries. These are generically referred
to as IP allow list rules. These rules can be configured
to use CIDR blocks to maximize the IP allow list
coverage. For more information, see IP allow list
behavior and IP subnet limits.
Apps Splunkbase and private apps 250 This is the maximum tested limit for the self-service
Splunkbase and private app management. If you exceed this
soft service limit, you may experience issues with performing
self-service app management.
Data Ingress Active indexes 1000 for Victoria Experience This is the maximum tested limit for the number of active
indexes per Splunk Cloud Platform environment. If you exceed
this soft service limit, you may experience issues.
700 for Classic Experience
Data Collection HEC maximum content length 1 MB There is a recommended limit to the HEC payload size in
size limit Splunk Cloud Platform to ensure data balance and ingestion
fidelity. A HEC request can have one or more Splunk events
batched into it but the payload size should be no larger than
this limit. If you exceed this limit, you may experience
performance issues related to data balance and ingestion
fidelity.
Data Egress Dynamic Data Self-Storage No limit to the amount of data Dynamic Data Self-Storage is designed to export 1 TB of data
export of aged data per index that can be exported from per hour.
from Splunk Cloud Platform your indexes to your Amazon
to Amazon S3 or Google Cloud S3 or Google Cloud Storage
Storage account in the same region.
Data Egress Search results via UI or REST Recommend no more than For optimal performance, no single query, or all queries in
API 10% of ingested data aggregate over the day from the UI or REST API, should return
full results of more than 10% of ingested daily volume. To
route data to multiple locations, consider solutions like Ingest
Actions, Ingest Processor, or the Edge Processor solution.
Data Egress Search results to Splunk User No limit Data as a result of search queries to feed into Splunk User
Behavior Analytics (UBA) Behavior Analytics (UBA).
Edge Processor Total traffic through an Edge 100TB/day This is the maximum total amount of traffic running through
solution Processor network all deployed instances of Edge Processors for each Splunk
Cloud Platform environment.
Edge Processor Number of Edge Processors 50 instances This is the maximum total number of Edge Processor
solution instances instances. As a reminder, an Edge Processor can be made up of
1 or multiple Edge Processor instances.
Edge Processor Number of applied pipelines 100 pipelines This is the maximum total number of applied pipelines per
solution per Edge Processor Edge Processor. Pipelines with longer SPL2 configurations
may reduce this maximum limit.
Enterprise Correlation Searches 400 for Victoria experience This was the limit tested for Enterprise Security on Splunk
Security Cloud Platform. Note that there are different service limits for
the Victoria and Classic experiences. A correlation search is a
600 for Classic experience type of scheduled search. Correlation searches are a part of
Enterprise Security, and are used to generate notable events or
execute other adaptive response actions. If your use case
exceeds the tested limit and is deemed to be causing
performance issues, the remediation is to change the
configured limit to no more than the tested limit.
See Correlation search overview for Splunk Enterprise
Security.
Enterprise Data Models accelerated 20 for Victoria experience This was the limit tested for Enterprise Security on Splunk
Security Cloud Platform. Note that there are different service limits for
the Victoria and Classic experiences. Data models and data
75 for Classic experience model acceleration are critical components of Enterprise
Security. To provide the best experience possible for
customers, we suggest a maximum of 9 accelerated models.
The most common data models deployed are: Change,
Endpoint, Authentication, Intrusion Detection, Network
Sessions, Network Resolution, Network Traffic, Web, and
Performance. If your use case exceeds the tested limit and is
deemed to be causing performance issues, the remediation is
to change the configured limit to no more than the tested limit.
See Configure data models for Splunk Enterprise Security.
Enterprise Maximum ES search 150 for Victoria experience When you add an Enterprise Security subscription to Splunk
Security concurrency per Splunk Cloud Platform, additional search processes are available for it
Cloud Platform environment that are in addition to the search concurrency included in the
78 for Classic experience Splunk Cloud Platform subscription. This is the standard limit
to the number of searches that Enterprise Security can
concurrently admit as tracked in metrics.log. If you require ES
search concurrency beyond the standard limit, you may be
able to do so through optimizing your existing search
workload or by contacting your Splunk sales representative to
increase your SVC entitlement.
Enterprise Total ES daily searches 500,000 searches/day for This is the maximum tested limit of Enterprise Security
Security entitlement of more than 166 specific searches that can be executed successfully in a well-
SVC or 1 TB for Victoria tuned system.
Experience
If you exceed this soft service limit, you may experience issues
with scheduled search completion. Note that other factors
such as search concurrency limit or the nature of searches may
additionally limit the number of successful searches that run.
Ingest Processor Maximum number of 50 pipelines Maximum number of pipelines per tenant for Ingest Processor
pipelines per tenant
IT Service Event analytics / Alert 100,000 alerts per minute You can ingest up to 100,000 alerts per minute into Event
Intelligence Ingestion Analytics with your Correlation Searches.
IT Service Total Search Concurrency 150 When you add an IT Service Intelligence subscription to
Intelligence Splunk Cloud Platform, additional search processes are
available for it. This starting point scales up at higher ingestion
rates and also for workload-based subscriptions.
KV Store Maximum collection size 25 GB This is the maximum size of a single collection that is tested
with KV Store per Splunk Cloud Platform environment.
KV Store Total maximum size 100 GB This is the total maximum recommended size of KV Store
across all collections per Splunk Cloud Platform environment.
Search Federated search for Amazon 100,000 events This is the maximum configurable implicit default limit for
S3 and Federated Analytics federated search for Amazon S3. You can change this limit by
reaching out to Splunk Support.
Search Federated search for Amazon 10 TB by default This is the maximum configurable overall data volume limit for
S3 and Federated Analytics federated search for Amazon S3. You cannot use a LIMIT
clause to create searches that exceed that volume limit. You
can change this limit by reaching out to Splunk Support..
Search Federated search for Splunk 25 This is the maximum tested limit for the number of Splunk
Cloud Platform and Splunk Enterprise remote deployments
used with federated search for Splunk. If you exceed this soft
service limit, you may experience issues with performing
federated search for Splunk.
Search join command for subsearch 50,000 The join command combines the results of a subsearch with
the results of a main search. This limit is the maximum number
of result rows in the output of a subsearch that can be joined
against a main search. For more information, see
the join command in the Splunk Cloud Platform Search
Reference.
Search Knowledge Bundle 3 GB This is the hard limit of the maximum Knowledge Bundle
replication size replication size. If the Knowledge Bundle exceeds this service
limit, the search tier will not push the bundle to the indexer
tier. Searches on the indexer tier will instead use the
previously pushed bundle, which will be within the size limit.
Search Maximum search 400 for entitlement of more This is the standard limit to the number of ad hoc and
concurrency per Splunk than 900 SVC or 7 TB scheduled searches that Splunk Cloud Platform environment
Cloud Platform environment. can concurrently admit as tracked in metrics.log. Search
concurrency limits apply to searches initiated either from the
Cloud search tier or from on-premises hybrid and federated
search heads.
Search Scheduled search 700,000 searches/day for This is the maximum tested limit of scheduled searches that
entitlement of less than 166 can be scheduled successfully. Note the subscription tiers and
SVC or 1 TB applicable service limit.
1.5 M searches/day If you exceed this soft service limit, you may experience issues
entitlement of more than 166 with scheduled search completion. Note that other factors
SVC or 1 TB such as search concurrency limit or the nature of searches may
additionally limit the number of successful scheduled searches
that run.
Storage DDAA restorations 25 TB Dynamic Data Active Archive restorations were not designed
to exceed 25 TB. If more data than 25 TB is needed, split your
desired time frame into multiple smaller restores less than the
recommended size limit.
Storage DDAA restorations 10% of DDAS Dynamic Data Active Archive enables restoring data up to 10%
of your Active Searchable storage. If you no longer need
already restored data, you can clear it before it expires to
reclaim space to perform additional restores.
If you still require more data than 10% of your DDAS, please
reach out to your account team to discuss options.
Workload Workload Rules 100 You can configure up to 100 Workload Rules.
Management
You can use transport layer security (TLS) certificates to secure connections between forwarders
and indexers.
The certificates you use can replace the default certificates that Splunk provides. You can either
obtain certificates from a certificate authority, or create and sign them yourself.
Do not use these instructions to configure secure forwarding of data to a Splunk Cloud Platform
instance. Instead, download and use the Splunk Cloud Universal Forwarder Credentials package
and install it on your forwarding infrastructure. For details, see Install and configure the Splunk
Cloud Platform universal forwarder credentials package in the Universal Forwarder Manual.
Prerequisites for configuring Splunk indexing and forwarding using TLS certificates
Before you can secure communications between Splunk indexers and forwarders, you must have
the following:
o You can either obtain third party certificates from a certificate authority, or create
and sign them yourself
o After you get the certificates, you must prepare the certificates for use with
Splunk platform instances
o The certificates must be in Privacy-Enhanced Mail format and comply with the
x.509 public key certificate standard
o You must have a private key file for each certificate file.
o The key files that come with the certificates must be in RSA security format.
You can configure indexers to use TLS certificates. The certificates you configure on indexers
control how the indexer receives data from a forwarder.
When you configure Splunk Enterprise to use TLS certificates, upon restart, it changes the file
permissions on the certificates so that only the user that Splunk Enterprise runs as has full
access. This is by design, in line with security industry standards, and cannot be changed.
4. In the inputs.conf file, configure the indexer to use the server certificate. Add the
following stanzas and settings to the file.
[splunktcp-ssl:<port>] stanza Defines a TCP network input to receive data over TLS/SSL on the port
you specify.
[SSL] stanza Defines the TLS/SSL settings for all inputs that you define for this
instance.
serverCert string The location of the server certificate on the Splunk platform instance.
This is the certificate that the machine uses to support inbound
connections over TLS/SSL. You can specify either the absolute path to
the certificate, such
as /opt/splunk/etc/auth/mycerts/myServerCert.pem, or you can use a
relative path, such as etc/auth/mycerts/myServerCert.pem and the
instance uses the Splunk platform instance installation directory.
sslPassword (Optional) string The password that you entered when you created the certificate, if you
created a password. Do not configure this setting if you did not specify
a password when you created your certificates.
requireClientCert (Optional Boolean Whether or not the Splunk platform instance requires that a
except in certain cases) connecting client present a valid TLS certificate before the connection
can succeed. A value of "true" means that the receiving instance must
see a valid certificate to let the client authenticate. A value of "false"
means that clients can connect without presenting a certificate.
If you want to use the
Configure this setting to "true" if you want your receivers to require
Certificate Assist helper
authentication with certificates. When both the forwarder and receiver
package for the Splunk Assist
have a "true" value for this setting, mutually authenticated TLS or mTLS
monitoring service, then this
is active.
is a required setting.
sslVersions (Optional) comma- The list of SSL versions that the receiver supports. The Splunk platform
separated supports the following versions for SSL and TLS: "ssl3", "tls1.0", "tls1.1",
list and "tls1.2".
cipherSuite (Optional) string The list of cipher suite strings that the TLS/SSL sessions are to use.
sslCommonNameToCheck comma- A list of one or more common names, or fully-qualified host names,
(Optional except in certain separated upon which the receiving Splunk platform instance checks for a match
cases) list in the certificate that the client presents upon connecting to the
receiver. This setting is only valid if you have configured the
'requireClientCert' setting with a value of "true". If none of the
common names in this setting value matches the common name in
the certificate of the connecting client, the receiving instance declines
the connection as not authorized.
sslAltNameToCheck comma- A list of one or more alternate names upon which the receiving Splunk
(Optional except in certain separated platform instance checks for a match in the certificate that the client
cases) list presents upon connecting to the receiver. This setting is only valid if
you have configured the 'requireClientCert' setting with a value of
"true". If none of the alternate names in this setting value matches the
alternate name in the certificate of the connecting client, the receiving
instance declines the connection as not authorized.
7. Add the following text to establish the location of the certificate authority certificate.
8. [sslConfig]
• The indexer checks incoming certificates to ensure that the Common Name field in the
certificate contains either "indexer1.mycompany.com" or "indexer2.mycompany.com"
[splunktcp-ssl:9997]
disabled=0
[SSL]
serverCert = /opt/splunk/etc/auth/mycerts/myServerCert.pem
sslPassword = myCertificatePassword
requireClientCert = true
sslVersions = *,-ssl2
sslCommonNameToCheck = indexer1.mycompany.com,indexer2.mycompany.com
If you supply a password for your server certificate in the inputs.conf file by providing a value for
the sslPassword setting, the Splunk platform encrypts that password from clear text when you
restart the Splunk platform instance.
The server.conf configuration file establishes and references the location of the certificate
authority certificate:
[sslConfig]
sslRootCAPath = /opt/splunk/etc/auth/mycerts/myCACertificate.pem
The certificates you configure on forwarders control how the forwarder connects to the indexer
and how it communicates with the indexer to send data. If you configure the receiver to require
a client certificate, you must configure the forwarder to present that client certificate when it
connects to the indexer.
1. Copy the new certificate and the certificate authority certificate files into an accessible
folder on the forwarders you want to configure. For example, you can use a destination
folder of $SPLUNK_HOME/etc/auth/mycerts on the forwarder.
server string The hostname or IP address and port on which to connect securely to forward data.
clientCert string The location of the client certificate on the forwarder. This is the certificate that the
forwarder uses to connect to the receiving indexer over TLS. You can specify either the
absolute path to the certificate, such
as /opt/splunk/etc/auth/mycerts/myClientCertificate.pem, or you can use a relative
path, such as etc/auth/mycerts/myClientCertificate.pem and the instance uses the
Splunk platform instance installation directory.
useClientSSLCompression Boolean Whether or not the forwarder performs TLS compression when it connects with a
(Optional) receiver. The default value of "true" means that the client uses TLS compression. A value
of "false" means the client doesn't use compression. Disabling compression, particularly
with TLS, can increase bandwidth usage.
sslPassword (Optional) string Same as the setting in the inputs.conf configuration file
sslVerifyServerCert Boolean Whether or not, upon connection to a receiver, the forwarder confirms that the receiver
(Optional) has a valid TLS server certificate. A value of "true" means that the forwarder checks for a
valid server certificate upon connection, then checks the common or alternate names
against the names in the server certificate against the names in the values for the
'sslCommonNameToCheck' and 'sslAltNameToCheck' settings on the forwarder. If there
is no match against the common or alternate names, the forwarder aborts the
connection to the receiver as not authorized.
sslVerifyServerName Boolean Whether or not, upon connection to a receiver, the forwarder confirms that the valid TLS
(Optional) certificate that the receiver presents contains the host name of the receiver in the
common name or subject alternate name field of the certificate. A value of "true" means
that the forwarder checks for a host name match in the certificate that the receiver
presents. If the host name in the certificate does not match the receiver host name, the
forwarder aborts the connection to the receiver as not authorized.
sslCommonNameToCheck comma- Same as the setting in the inputs.conf configuration file, except that you must give the
(Optional) separated 'sslVerifyServerCert' setting a value of "true" in the outputs.conf configuration file and
list the forwarder does the certificate verification.
sslAltNameToCheck comma- Same as the setting in the inputs.conf configuration file, except that you must give the
(Optional) separated 'sslVerifyServerCert' setting a value of "true" in the outputs.conf configuration file and
list the forwarder does the certificate verification.
cipherSuite (Optional) comma- Same as the setting in the inputs.conf configuration file.
separated
list
5. On forwarders that do not run on Windows, open the server.conf configuration file for
editing.
7. [sslConfig]
• The forwarder requires that the receiving indexer present a certificate, and that that
certificate contain a common name of indexer1.mycompany.com or
indexer2.mycompany.com, or a subject alternate name of indexer3.mycompany.com
[tcpout:group1]
server=10.1.1.197:9997
disabled = 0
clientCert = /opt/splunk/etc/auth/mycerts/myClientCert.pem
useClientSSLCompression = true
sslPassword = myCertificatePassword
sslCommonNameToCheck = indexer1.mycompany.com,indexer2.mycompany.com
sslAltNameToCheck = indexer3.mycompany.com
sslVerifyServerCert = true
The server.conf configuration file establishes and references the location of the certificate
authority certificate. This certificate is the trust anchor to verify the indexer certificate in a TLS
connection. You must configure this on the forwarder even though it is the client:
[sslConfig]
sslRootCAPath = /opt/splunk/etc/auth/mycerts/myCACertificate.pem
Send data over TLS from a forwarder to more than one indexer
If you need to forward data securely to multiple indexers, complete the following procedure:
1. On the forwarder where you want to send data to multiple indexers, use the "Configure
forwarders to use a signed certificate" procedure earlier in this topic to open and make
changes to the outputs.conf configuration file.
2. In the target output group definition stanza for the forwarder, add a host:port line for
each indexer to which you want to send data over TLS. Separate multiple entries with
commas.
The following example outputs.conf file uses the same certificate for the forwarders as it does
the indexers:
[tcpout]
[tcpout:group1]
server = 10.1.12.112:9997,10.1.12.111:9999
disabled = 0
clientCert = $SPLUNK_HOME/etc/auth/client.pem
useClientSSLCompression = true
sslCommonNameToCheck = indexercn.example.org
sslVerifyServerCert = true
Forward data over TLS to multiple indexers using certificates with different common
names
If you have created one server certificate for each indexer and you have set a
unique sslCommonNameToCheck or sslAltNameToCheck in each indexer certificate to be
checked by the forwarders, you must configure one [tcpout-server://host:port] configuration
stanza for each indexer in the outputs.conf file. This action lets you specify which name to check
for each indexer.
Next steps
Confirm that the forwarder and indexer configurations work properly. See Test and troubleshoot
TLS connections.
$SPLUNK_HOME/etc/apps/100_edgeprocessor/local %SPLUNK_HOME%\etc\apps\100_edgeprocessor\local
clientCert The full path to the PEM file containing the combined client certificate, private key, and CA certificate.
sslVerifyServerCert true
sslAltNameToCheck A comma-separated list of alternate names that the forwarder checks when verifying the server certificate used by the
Edge Processor.
3. [tcpout:edge-processor]
4. server=123.45.123.45:9987
5. clientCert=$SPLUNK_HOME/etc/apps/100_edgeprocessor/loc
al/forwarder_client_cert.pem
6. sslVerifyServerCert = true
7. sslAltNameToCheck = buttercupgames.com
3. state = disabled
This setting turns off any existing data forwarding that was configured in the
Universal Forwarder Credentials app. If you would like to route data to Edge
Processors and to previous destinations that you've configured, see Route and
filter data in the Splunk Enterprise Forwarding Data manual.
$SPLUNK_HOME/bin/splunk %SPLUNK_HOME%\bin\splunk
restart restart
Your Edge Processor starts receiving data from your forwarder once the forwarder restarts.
Refresh your browser and review the inbound data metrics displayed in the Received data pane to
confirm that your Edge Processor is successfully receiving data from the forwarder.
https://docs.splunk.com/Documentation/SplunkCloud/latest/EdgeProcessor/Forwarders#Forwar
d_data_to_an_Edge_Processor
Congratulations!
This concludes the "Introduction to Edge Processor" course. You learned how to accomplish the
following: