Configure the Data Management API

Install the app and use an account with the required setup capabilities. If you enable authentication, update every existing Edge Processor instance before you run this procedure.

First-time setup is an idempotent PUT that replaces the complete supported setup state. The endpoint uses the nobody app namespace.

  1. Set the Splunk management URL.
    CODE
    export SPLUNK_MGMT_URL='https://splunk.example.com:8089'
  2. Run the first-time setup request.
    JSON
    curl --fail --user "$SPLUNK_SETUP_USER:$SPLUNK_SETUP_PASSWORD" \
      --request PUT \
      --header 'Content-Type: application/json' \
      --data '{
        "edgeProcessorEnabled": true,
        "requireAuthentication": true,
        "proxyHostPort": "https://splunk.example.com:8089",
        "defaultTelemetryIndexer": "indexer.example.com:9997"
      }' \
      "$SPLUNK_MGMT_URL/servicesNS/nobody/dmx_cmp/admin/v1/edge-processor-setup"
  3. Confirm that the response includes the expected setup state.

    edgeProcessorEnabled and requireAuthentication are required. If you omit proxyHostPort or send an empty value, the API derives https://<host-name>:8089. Provide proxyHostPort explicitly when the request's host name is not a usable public host name. If you omit defaultTelemetryIndexer or send an empty value, the API clears its explicit setting and uses the runtime fallback in Splunk.

  4. Restart Splunk only when restartRequired is true.

    POST to the returned restart.endpoint with a caller that has restart_splunkd. Do not restart when restartRequired is false.

  5. If the setup request reports a partial failure, retry the identical PUT before you restart.
  6. Inspect the persisted setup values.
    CODE
    curl --fail --user "$SPLUNK_SETUP_USER:$SPLUNK_SETUP_PASSWORD" \
      "$SPLUNK_MGMT_URL/servicesNS/nobody/dmx_cmp/admin/v1/edge-processor-setup"

First-time setup is complete. You can now deploy an Edge Processor pipeline.