---
schema_version: "1"
id: 7af11913500a7fee92875712a6c8983ee614a845042597afc022b722ee181b10
title: Set Up Log Streaming to Third-Party Monitoring Tools
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/cc/264-0-0/b2c_set_up_log_streaming.md
canonical_url: https://help.salesforce.com/s/articleView?id=cc.b2c_set_up_log_streaming.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 84eadb998c85344f0ace7a92160c8c1d71a619f5e5de50ef2a23673d93bf9242
description: For enterprise-scale monitoring and automation, stream B2C Commerce logs to third-party analytics platforms, including Splunk, Datadog, Grafana Loki, New Relic, Dynatrace, SumoLogic, and AWS Elastic Cloud. You can also use a generic HTTP connection to stream logs to other tools.
products:
  - Commerce
  - B2C Commerce
release: "264"
---
# Set Up Log Streaming to Third-Party Monitoring Tools

For enterprise-scale monitoring and automation, stream B2C Commerce logs to third-party analytics platforms, including Splunk, Datadog, Grafana Loki, New Relic, Dynatrace, SumoLogic, and AWS Elastic Cloud. You can also use a generic HTTP connection to stream logs to other tools.

1. Log in to [Log Center](https://logcenter-us.visibility.commercecloud.salesforce.com/logcenter/dashboard).
2. Select the **Log Streaming** tab.
    
    ![Log streaming page in Log Center](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-cc-b2c_merchandiser_administrator-264-0-0-production-enus/ea76f372-6cfa-42a6-8e7c-05c6df7abed8/cc/b2c_merchandiser_administrator/images/b2c_log_center_streaming_tab.png)
3. To create a new log stream configuration, click the **Log Streaming Configurations** plus icon.
    
    ![New log stream configuration](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-cc-b2c_merchandiser_administrator-264-0-0-production-enus/ea76f372-6cfa-42a6-8e7c-05c6df7abed8/cc/b2c_merchandiser_administrator/images/b2c_log_center_log_stream_config.png)
4. Enter the log stream name. Use alphanumeric and special characters with spaces. Using the same name for multiple configurations isn’t allowed.
5. From the Destination Type dropdown, select the Destination Type. The options include Splunk (Cloud and enterprise are supported), Datadog, New Relic, Grafana Loki, Dynatrace, SumoLogic, AWS Elastic Cloud, and Generic HTTP.
6. Enter the third-party endpoint URL as the destination for the log.
    
    <table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
            <colgroup>
              <col style="width:20%">
              <col style="width:80%">
            </colgroup>
            <thead class="slds-text-title_caps ">
              <tr class="">
                <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d191560e110">Destination Type</th>
                <th scope="col" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" id="d191560e113">ENDPOINT URL</th>

              </tr>
            </thead>
            <tbody>
              <tr class="">
                <td data-label="Destination Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d191560e110 ">Splunk</td>

                <td data-label="ENDPOINT URL" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d191560e113 ">
                  <p> Splunk Cloud:
                    https://http-inputs-firehose-<samp class="filepath">&lt;your_unique_cloud_hostname&gt;</samp>.splunkcloud.com
                  </p>
                  <p style="margin-bottom:0;">Splunk Enterprise: See <a href="https://docs.splunk.com/Documentation/AddOns/released/Firehose/ConfigureFirehose" target="_blank">Splunk Add-on for Amazon Kinesis
                      Firehose</a></p>
                </td>

              </tr>
              <tr class="">
                <td data-label="Destination Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d191560e110 ">Datadog</td>

                <td data-label="ENDPOINT URL" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d191560e113 ">
                  <p>US1: <a href="https://aws-kinesis-http-intake.logs.datadoghq.com/v1/input" target="_blank">https://aws-kinesis-http-intake.logs.datadoghq.com/v1/input</a>
                  </p>
                  <p>US3: <a href="https://aws-kinesis-http-intake.logs.us3.datadoghq.com/api/v2/logs?dd-protocol=aws-kinesis-firehose" target="_blank">https://aws-kinesis-http-intake.logs.us3.datadoghq.com/api/v2/logs?dd-protocol=aws-kinesis-firehose</a></p>
                  <p>US5: <a href="https://aws-kinesis-http-intake.logs.us5.datadoghq.com/api/v2/logs?dd-protocol=aws-kinesis-firehose" target="_blank">https://aws-kinesis-http-intake.logs.us5.datadoghq.com/api/v2/logs?dd-protocol=aws-kinesis-firehose</a></p>
                  <p>AP1: <a href="https://aws-kinesis-http-intake.logs.ap1.datadoghq.com/api/v2/logs?dd-protocol=aws-kinesis-firehose" target="_blank">https://aws-kinesis-http-intake.logs.ap1.datadoghq.com/api/v2/logs?dd-protocol=aws-kinesis-firehose</a></p>
                  <p>AP2: <a href="https://aws-kinesis-http-intake.logs.ap2.datadoghq.com/api/v2/logs?dd-protocol=aws-kinesis-firehose" target="_blank">https://aws-kinesis-http-intake.logs.ap2.datadoghq.com/api/v2/logs?dd-protocol=aws-kinesis-firehose</a></p>
                  <p style="margin-bottom:0;">EU: <a href="https://aws-kinesis-http-intake.logs.datadoghq.eu/v1/input" target="_blank">https://aws-kinesis-http-intake.logs.datadoghq.eu/v1/input</a></p>
                </td>

              </tr>
              <tr class="">
                <td data-label="Destination Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d191560e110 ">New Relic</td>

                <td data-label="ENDPOINT URL" class="slds-cell-wrap" style="vertical-align:top;" headers="d191560e113 ">
                  <p>US: <a href="https://aws-api.newrelic.com/firehose/v1" target="_blank">https://aws-api.newrelic.com/firehose/v1</a>
                  </p>
                  <p style="margin-bottom:0;">EU: <a href="https://aws-api.eu.newrelic.com/firehose/v1" target="_blank">https://aws-api.eu.newrelic.com/firehose/v1</a></p>
                </td>

              </tr>
              <tr class="">
                <td data-label="Destination Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d191560e110 ">Grafana Loki</td>

                <td data-label="ENDPOINT URL" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d191560e113 ">
                  <a href="https://aws-logs-prod.grafana.net/aws-logs/api/v1/push" target="_blank">https://aws-logs-prod.grafana.net/aws-logs/api/v1/push</a>
                </td>

              </tr>
              <tr class="">
                <td data-label="Destination Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d191560e110 ">Dynatrace</td>

                <td data-label="ENDPOINT URL" class="slds-cell-wrap" style="vertical-align:top;" headers="d191560e113 "><a href="https://live.dynatrace.com/api/v2/logs/ingest/aws_firehose" target="_blank">https://live.dynatrace.com/api/v2/logs/ingest/aws_firehose</a></td>

              </tr>
              <tr class="">
                <td data-label="Destination Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d191560e110 ">SumoLogic</td>

                <td data-label="ENDPOINT URL" class="slds-cell-wrap" style="vertical-align:top;" headers="d191560e113 ">
                  <p><a href="https://sumologic.com/receiver/v1/kinesis/" target="_blank">https://sumologic.com/receiver/v1/kinesis/</a>
                  </p>
                  <p style="margin-bottom:0;"><a href="https://sumologic.net/receiver/v1/kinesis/" target="_blank">https://sumologic.net/receiver/v1/kinesis/</a></p>
                </td>

              </tr>
              <tr class="">
                <td data-label="Destination Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d191560e110 ">AWS Elastic Cloud</td>

                <td data-label="ENDPOINT URL" class="slds-cell-wrap" style="vertical-align:top;" headers="d191560e113 "><a href="https://es.aws.elastic-cloud.com" target="_blank">https://es.aws.elastic-cloud.com</a></td>

              </tr>
              <tr class="">
                <td data-label="Destination Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d191560e110 ">Generic HTTP</td>

                <td data-label="ENDPOINT URL" class="slds-cell-wrap" style="vertical-align:top;" headers="d191560e113 "> Any HTTPS endpoint that can receive delivery from Firehose, per
                  specification.</td>

              </tr>
            </tbody>
          </table>
7. Enter a user ID (required for Grafana Loki).
8. Enter the API token for the third-party tool.
    
      
    | Destination Type | API Token | Documentation Reference |
    | --- | --- | --- |
    | Splunk | Authentication Token | [Splunk Add-on for Amazon Kinesis Firehose](https://docs.splunk.com/Documentation/AddOns/released/Firehose/ConfigureFirehose) |
    | Datadog | Authentication Keys | [Datadog API and Application Keys](https://docs.datadoghq.com/account_management/api-app-keys/) |
    | New Relic | API Keys | [New Relic API Keys](https://docs.newrelic.com/docs/apis/intro-apis/new-relic-api-keys/) |
    | Grafana Loki | Token | [Grafana Labs: Configure Logs with Firehose](https://grafana.com/docs/grafana-cloud/monitor-infrastructure/monitor-cloud-provider/aws/logs/firehose-logs/config-firehose-logs/) |
    | Dynatrace | API Token | [Stream logs via Amazon Data Firehose](https://docs.dynatrace.com/docs/setup-and-configuration/amazon-web-services/integrate-with-aws/aws-logs-ingest/lma-stream-logs-with-firehose) |
    | SumoLogic | Any | [Sumo Logic: AWS Kinesis Firehose for Logs Source](https://help.sumologic.com/docs/send-data/hosted-collectors/amazon-aws/aws-kinesis-firehose-logs-source) |
    | AWS Elastic Cloud | API Key | [Elastic: Monitor Amazon Web Services (AWS) with Amazon Data Firehose](https://www.elastic.co/docs/solutions/observability/cloud/monitor-amazon-web-services-aws-with-amazon-data-firehose) |
    | Generic HTTP | Customized Authentication | Not applicable. |
9. Select the realm from the dropdown menu, and then configure the number of streams.
    
    For each realm, configure up to 5 streams per destination type.
10. (Optional) For Edit Permission List, enter a comma-separated list of email IDs for the users who have edit access. Note these guidelines.
    
    - The user who configures the log stream is the primary owner.
    - The primary owner can enable, edit, and delete permissions for other users assigned to the same realm.
        - Identify users with a comma-separated list of their email IDs. There's no limit to the number of email IDs.
        - Invalid or incorrect email addresses are ignored.
    - Users assigned to the same realm can view the realm but don't have edit or delete permissions.
11. (Optional) Set Filters. Click the plus sign.
    
    Enter the filter field values exactly as shown in the table or the parameter are ignored.
    
    - For multiple values of a single filter type, use the OR operator
    - For multiple filter types, use the AND operator
    - Filters and negative filters can’t be configured for the same type.
    - Each row represents one filter type. If you configure multiple rows with the same type, they’re combined
    
    <table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
            <colgroup>
              <col style="width:20%">
              <col style="width:40%">
              <col style="width:40%">
            </colgroup>
            <thead class="slds-text-title_caps ">
              <tr class="">
                <th scope="col" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" id="d191560e463">Types</th>
                <th scope="col" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" id="d191560e466">Description</th>
                <th scope="col" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" id="d191560e469">Example</th>
              </tr>
            </thead>
            <tbody>
              <tr class="">
                <td data-label="Types" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d191560e463 ">Category</td>

                <td data-label="Description" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d191560e466 ">Logs category type from search aggregation. Enter a
                  comma-separated list of values. </td>

                <td data-label="Example" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d191560e469 ">
                  <ul>
                    <li>Category Type</li>

                    <li>system</li>

                    <li>custom</li>

                    <li>customfiles</li>

                    <li>Jdbc</li>

                    <li>syslog</li>

                    <li>api</li>

                    <li>job</li>

                    <li>staging</li>

                    <li>sysevent</li>

                    <li>analytics</li>

                    <li>quota</li>

                    <li>deprecation</li>

                    <li>impex</li>

                    <li>batch</li>

                    <li>migration</li>

                  </ul>
                </td>

              </tr>
              <tr class="">
                <td data-label="Types" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d191560e463 ">Request</td>

                <td data-label="Description" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d191560e466 ">Logs request type from search aggregation. Enter comma-separated
                  list of values. </td>

                <td data-label="Example" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d191560e469 ">
                  <ul>
                    <li>Request Type</li>

                    <li>JOB</li>

                    <li>BUSINESSMGR</li>

                    <li>STOREFRONT</li>

                    <li>TEMPORARY</li>

                    <li>REST</li>

                  </ul>
                </td>

              </tr>
              <tr class="">
                <td data-label="Types" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d191560e463 ">Service</td>

                <td data-label="Description" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d191560e466 ">Logs service type from search aggregation. Enter comma-separated
                  list of values. </td>

                <td data-label="Example" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d191560e469 ">
                  <ul>
                    <li>Service Type</li>

                    <li>ecom</li>

                    <li>JWA</li>

                    <li>MRT</li>

                  </ul>
                </td>

              </tr>
              <tr class="">
                <td data-label="Types" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d191560e463 ">Severity</td>

                <td data-label="Description" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d191560e466 ">Logs severity from search aggregation. Enter a comma-separated
                  list of values. </td>

                <td data-label="Example" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d191560e469 ">
                  <ul>
                    <li>Severity</li>

                    <li>info</li>

                    <li>warn</li>

                    <li>error</li>

                    <li>debug</li>

                    <li>fatal</li>

                  </ul>
                </td>

              </tr>
              <tr class="">
                <td data-label="Types" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d191560e463 ">Tenant Name</td>

                <td data-label="Description" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d191560e466 ">Logs tenant name ID from search aggregation. Enter a
                  comma-separated list of values. </td>

                <td data-label="Example" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d191560e469 ">
                  <ul>
                    <li>Tenant Name</li>

                    <li>production.functional09.qa222 bgzz_prd</li>

                    <li>dev02.functional09.qa222 bgzz_s02</li>

                    <li>dev04.functional09.qa222 bgzz_s04</li>

                  </ul>
                </td>

              </tr>
              <tr class="">
                <td data-label="Types" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d191560e463 ">Tenant Type</td>

                <td data-label="Description" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d191560e466 ">Logs tenant type from search aggregation. Enter a comma-separated
                  list of values. </td>

                <td data-label="Example" class="slds-cell-wrap" style="text-align:left;vertical-align:top;" headers="d191560e469 ">
                  <ul>
                    <li>Tenant Type</li>

                    <li>sbx</li>

                    <li>prd</li>

                    <li>stg</li>

                    <li>dev</li>

                  </ul>
                </td>

              </tr>
            </tbody>
          </table>
12. (Optional) Set Negative Filters. Click the plus sign.
    
    - For multiple values of a single filter type, use the OR operator
    - For multiple filter types, use the OR operator
    - Filters and negative filters can’t be configured for the same type
    - Each row represents one type of filter. If you configure multiple rows with the same type, they’re combined
13. (Optional) Set Parameters. Click the**Parameters plus icon**.
    
    Parameters allow you to customize any extra HTTP header, which ends up as an X-Amz-Firehose-Common-Attributes header. For more information, see [Amazon Data Firehouse request and response specifications.](https://docs.aws.amazon.com/firehose/latest/dev/httpdeliveryrequestresponse.html).
    
    - Grafana Loki parses HTTP header key with the prefix lbl\_ into tags.
    - Datadog parses HTTP header keys into tags.
    - New Relic parses HTTP header key into attributes.
    - Splunk and Dynatrace don't support parameters
    - Sumo Logic accepts \_sourceCategory and \_sourceName attributes for filtering.
    - AWS Elastic Cloud accepts the parameters es\_datastream\_name, include\_cw\_extracted\_fields, and . For more information see [Monitor Amazon Web Services (AWS) with Amazon Data Firehose](https://www.elastic.co/docs/solutions/observability/cloud/monitor-amazon-web-services-aws-with-amazon-data-firehose) .
    - Duplicate parameters aren’t combined.
14. Save your configuration changes.
15. Click **Close**.
16. After you configure log your streaming, click **Refresh**, and check for any error messages.