Source du Splunk HTTP Event Collector (HEC)

Ce produit n'est pas pris en charge par le site Datadog que vous avez sélectionné. ().
Disponible pour:

Logs

Présentation

Utilisez la source Splunk HTTP Event Collector (HEC) d’Observability Pipelines pour recevoir des logs de votre Splunk HEC. Vous pouvez choisir de stocker le jeton HEC en tant que métadonnée d’événement et :

  • Envoyer des logs d’Observability Pipelines vers Splunk HEC avec le jeton d’origine envoyé avec l’événement.
  • Utilisez le processeur de tableau d’enrichissement pour ajouter un champ de log à partir de votre lookup file, basé sur le jeton dans les métadonnées, puis traitez et acheminez vos logs en fonction de la valeur de ce champ.

Remarques :

Prérequis

To use Observability Pipelines’ Splunk HTTP Event Collector (HEC) source, you have applications sending data to Splunk in the expected HEC format.

To use Observability Pipelines’ Splunk HEC destination, you have a Splunk Enterprise or Cloud instance configured with an HTTP Event Collector (HEC) input. You also have the following information available:

  • The Splunk HEC token.
  • The bind address that your Observability Pipelines Worker will listen on to receive logs from your applications. For example, 0.0.0.0:8080. Later on, you configure your applications to send logs to this address.
  • The base URL of the Splunk instance that the Worker will send processed logs to. This URL should include the port that is globally configured for Splunk HTTP Event Collectors on your Splunk instance. For example, for Splunk Cloud: https://prd-p-0mupp.splunkcloud.com:8088.
  • If your HECs are globally configured to enable SSL, then you also need the appropriate TLS certificates and password you used to create your private key file.

See Configure HTTP Event Collector on Splunk Web for more information about setting up Splunk HEC.

Note: Observability Pipelines does not support HEC Indexer Acknowledgement.

Configuration

Pour la gestion des secrets : saisissez uniquement les identifiants de l'adresse Splunk HEC et, le cas échéant, les clés de mot de passe TLS et de jeton d'authentification. Ne saisissez pas les valeurs réelles.

Configurez cette source lorsque vous configurez un pipeline. Vous pouvez configurer un pipeline dans l’interface utilisateur, en utilisant l’API ou avec Terraform. Les instructions de cette section concernent la configuration de la source dans l’UI.

Après avoir sélectionné la source Splunk HEC dans l’interface utilisateur du pipeline :

  1. Saisissez l’identifiant de votre adresse Splunk HEC. Si vous le laissez vide, le default est utilisé.
  2. Activez Store HEC token uniquement si vous souhaitez effectuer l’une des opérations suivantes :
    • Utilisez une destination Splunk HEC avec la stratégie de jeton From Source.
    • Utilisez un processeur de tableau d’enrichissement pour mapper les jetons Splunk HEC à partir d’un fichier local.
If you enter secret identifiers and then choose to use environment variables, the environment variable is the identifier entered and prepended with DD_OP_. For example, if you entered PASSWORD_1 for a password identifier, the environment variable for that password is DD_OP_PASSWORD_1.

Paramètres optionnels

Activer TLS

Toggle the switch to Enable TLS.

  • If you are using Secrets Management, enter the identifier for the key pass. See Secret defaults for the default used if the field is left blank.
  • Enter the following certificate and key files:
    • Server Certificate Path: The path to the certificate file that has been signed by your Certificate Authority (CA) root file in DER, PEM, or CRT (X.509).
    • (Optional) CA Certificate Path: The path to the certificate file that is your Certificate Authority (CA) root file in DER, PEM, or CRT (X.509).
    • (Optional) Private Key Path: The path to the .key private key file that belongs to your Server Certificate Path in DER, PEM, or CRT (PKCS #8) format.
    • Notes:
      • The configuration data directory /var/lib/observability-pipelines-worker/config/ is automatically appended to the file paths. See Advanced Worker Configurations for more information.
      • The file must be readable by the observability-pipelines-worker group and user.
  • (Optional) Toggle Verify certificate to require connecting clients to present a valid client certificate. This enforces mutual TLS (mTLS), where the Worker verifies the identity of each connecting client.

Configurer les jetons d’authentification

Si vous stockez des jetons Splunk HEC dans l’en-tête d’autorisation de votre requête HTTP, vous pouvez configurer Observability Pipelines pour vérifier si les requêtes HTTP entrantes possèdent un jeton valide. Les événements de requête qui ne possèdent pas de jeton valide sont abandonnés.

Pour configurer les jetons d’authentification, activez le commutateur Configure authentication tokens :

  1. Cliquez sur Manage Tokens puis sur Add Token.
  2. Saisissez l’identifiant de votre clé de jeton.
    Remarque : Si vous utilisez des variables d’environnement, la variable d’environnement pour ce jeton est l’identifiant que vous avez saisi, précédé de DD_OP_.
  3. (Facultatif) Saisissez un champ et une valeur si vous souhaitez ajouter des informations supplémentaires aux logs authentifiés avec succès avec ce jeton spécifique.

Valeurs par défaut des secrets

These are the defaults used for secret identifiers and environment variables.

  • Identifiant de l’adresse Splunk HEC :
    • Référence l’adresse de liaison, telle que 0.0.0.0:8088, sur laquelle votre Observability Pipelines Worker écoute pour recevoir les logs initialement destinés à l’indexeur Splunk.
    • L’identifiant par défaut est SOURCE_SPLUNK_HEC_ADDRESS.
  • Identifiant de la phrase secrète TLS Splunk HEC (lorsque TLS est activé) :
    • L’identifiant par défaut est SOURCE_SPLUNK_HEC_KEY_PASS.
  • Splunk HEC address:
    • The bind address that your Observability Pipelines Worker listens on to receive logs originally intended for the Splunk indexer. For example, 0.0.0.0:8088
      Note: /services/collector/event is automatically appended to the endpoint.
    • The default environment variable is DD_OP_SOURCE_SPLUNK_HEC_ADDRESS.
  • Splunk HEC TLS passphrase (when enabled):
    • The default environment variable is DD_OP_SOURCE_SPLUNK_HEC_KEY_PASS.

Send logs to the Observability Pipelines Worker over Splunk HEC

After you install the Observability Pipelines Worker and deploy the configuration, the Worker exposes three HTTP endpoints that uses the Splunk HEC API:

  • /services/collector/event
  • /services/collector/raw
  • /services/collector/health

To send logs to your Splunk index, you must point your existing logs upstream to the Worker.

curl http://<OPW_HOST>:8088/services/collector/event \
	-d '{"event": {"a": "value1", "b": ["value1_1", "value1_2"]}}'

<OPW_HOST> is the IP/URL of the host (or load balancer) associated with the Observability Pipelines Worker. For CloudFormation installs, the LoadBalancerDNS CloudFormation output has the correct URL to use. For Kubernetes installs, the internal DNS record of the Observability Pipelines Worker service can be used, for example opw-observability-pipelines-worker.default.svc.cluster.local.

At this point, your logs should be going to the Worker, processed by the pipeline, and delivered to the configured destination.

Envoyez des logs depuis la Splunk Distribution of the OpenTelemetry Collector vers Observability Pipelines

Pour envoyer des logs depuis la Splunk Distribution of the OpenTelemetry Collector :

  1. Installez le Splunk OpenTelemetry Collector en fonction de votre environnement :
  2. Configurez un pipeline en utilisant la source Splunk HEC.
  3. Configurez le Splunk OpenTelemetry Collector:
    cp /etc/otel/collector/splunk-otel-collector.conf.example etc/otel/collector/splunk-otel-collector.conf
    
    # Splunk HEC endpoint URL, if forwarding to Splunk Observability Cloud
    # SPLUNK_HEC_URL=https://ingest.us0.signalfx.com/v1/log
    # If you're forwarding to a Splunk Enterprise instance running on example.com, with HEC at port 8088:
    SPLUNK_HEC_URL=http://<OPW_HOST>:8088/services/collector
    
    • <OPW_HOST> est l’adresse IP ou l’URL de l’host (ou de l’équilibreur de charge) associé à l’Observability Pipelines Worker.
      • Pour les installations CloudFormation, la sortie LoadBalancerDNS CloudFormation contient l’URL correcte à utiliser.
      • Pour les installations Kubernetes, l’enregistrement DNS interne du service Observability Pipelines Worker peut être utilisé, par exemple opw-observability-pipelines-worker.default.svc.cluster.local.

Remarque : si vous utilisez un pare-feu, assurez-vous qu’il autorise le trafic du Splunk OpenTelemetry Collector vers le Worker.