Integrations
Datadog

Datadog

Datadog integrations are supported in both the UI and the API.

To create a Datadog integration, you'll need at least an API key. An App key is optional, but would allow Grepr to use the integration as a Cloud source and for automatic exception parsing. You'll use the same API key in your agent as the one you configure in Grepr. See details about API and App Keys in Datadog at https://docs.datadoghq.com/account_management/api-app-keys/ (opens in a new tab).

Grepr SaaS has a Private Link connection to Datadog in AWS us-east1 (Datadog's main site). However, Grepr also supports all other Datadog sites as well.

Server logs

To send server logs to Grepr, you configure your Datadog-compatible collector (like Datadog Agent, Fluent Bit, Fluentd, or OpenTelemetry Collector) to forward logs to Grepr's Datadog-compatible ingestion endpoint. You will use the same API key in your collector's configuration as the one you configured in Grepr for the Datadog integration.

The Grepr ingestion hostname is generally formatted as: <integration-id>-<org-id>.ingest.grepr.ai. The Grepr UI will format the full endpoint URL and make it available for you to copy when you set up the integration. Otherwise, the integration-id is the ID of the Datadog integration you wish to use (available via the API), and org-id is your organization's ID.

Configuration details vary depending on the collector:

Datadog Agent

Configure the Datadog agent to send logs to Grepr via its logs_dd_url configuration key. You'll also need to enable the agent to send using HTTP, which corresponds to the force_use_http setting. Changing this configuration depends on how you deploy your Datadog agents. See below for common deployment models or visit https://docs.datadoghq.com/agent/logs (opens in a new tab) for more information.

The endpoint for the logs_dd_url setting is: https://<integration-id>-<org-id>.ingest.grepr.ai.

Basic standalone agent

If you have access to the Datadog agent datadog.yaml file:

  1. set logs_config.logs_dd_url to the Grepr endpoint.
  2. set logs_config.force_use_http to true (note this still uses HTTPS).

Cluster or Docker agent

These agents are usually configured via environment variables.

  1. set DD_LOGS_CONFIG_LOGS_DD_URL to the Grepr endpoint.
  2. set DD_LOGS_CONFIG_USE_HTTP to true (note this still uses HTTPS).

Fluent Bit

Fluent Bit can send logs to Grepr using its Datadog output plugin. Configure the output to point towards Grepr's ingestion endpoint.

Configuration (fluent-bit.conf):

[OUTPUT]
   Name        datadog
   Match       *
   Host        <integration-id>-<org-id>.ingest.grepr.ai
   TLS         On
   apikey      <dd-api-key>
   # Optional: Specify service, source, tags
   # dd_service
   # dd_source
   # dd_tags

Replace <integration-id>-<org-id>.ingest.grepr.ai with your specific Grepr ingestion hostname and <dd-api-key> with the Datadog API key from your Grepr Datadog integration.

For any additional information about the configuration file please see https://docs.fluentbit.io/manual/pipeline/outputs/datadog (opens in a new tab).

FluentD

Fluentd can forward logs to Grepr using the fluent-plugin-datadog. Ensure this plugin is installed in your Fluentd environment (e.g., fluent-gem install fluent-plugin-datadog). Configure a match directive to send logs to Grepr's HTTP ingestion endpoint.

Configuration (fluentd.conf):

<match your_tag.**> # Adjust your match pattern as needed
 @type datadog
 api_key <dd_api_key>
 host    <integration-id>-<org-id>.ingest.grepr.ai
 use_ssl false # Send via HTTP


 # Optional: Specify service, source, or tags
 # service
 # source
 # tags


 # Buffer configuration is recommended for production
 <buffer>
   @type memory # Or file for persistence
   flush_interval # Adjust as needed
   chunk_limit_size # Adjust as needed
   # Add other buffer parameters as needed
 </buffer>
</match>

Replace your_tag.** with the tag of the logs you want to forward. Substitute <integration-id>-<org-id>.ingest.grepr.ai with your Grepr ingestion hostname and <dd-api-key> with the Datadog API key from your Grepr Datadog integration.

For any additional information about the configuration file please see https://docs.datadoghq.com/integrations/fluentd/?tab=host (opens in a new tab).

OpenTelemetry Collector (OTLP)

The OpenTelemetry Collector can send logs to Grepr using the Datadog exporter. Configure the exporter to point to Grepr's HTTP ingestion endpoint. This typically requires using the otel/opentelemetry-collector-contrib distribution of the collector.

Configuration (collector.yaml):

exporters:
 datadog/exporter:
   api:
     key: <dd_api_key>
     fail_on_invalid_key: false
   logs:
     endpoint: http://<integration-id>-<org-id>.ingest.grepr.ai


service:
 pipelines:
   logs:
     receivers: [otlp] # Replace with your actual receiver(s)
     processors: [batch] # Replace/add your actual processor(s)
     exporters: [datadog/exporter]

Replace <integration-id>-<org-id>.ingest.grepr.ai with your specific Grepr ingestion hostname and <datadog-api-key> with the Datadog API key from your Grepr Datadog integration. Ensure the datadog/exporter is included in a logs pipeline within your service configuration.

For any additional information about the configuration file please see https://docs.datadoghq.com/opentelemetry/setup/collector_exporter/ (opens in a new tab) and/or https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/exporter/datadogexporter (opens in a new tab).

Browser logs

Grepr supports collecting browser logs (https://docs.datadoghq.com/logs/log_collection/javascript/ (opens in a new tab)). To send browser logs to Grepr, you configure your browser SDK with Grepr as a Proxy.

To send browser logs to Grepr:

  1. Create client token in datadog. Refer to Datadog documentation (opens in a new tab) for instructions on how to create a client token.
  2. Create a datadog integration in Grepr and add client token. Adding client token to Datadog integration
  3. Create a pipeline with the source with the above integration and copy the browser-intake ingest URL. Copying browser-intake ingest URL
  4. Configure your Datadog Browser SDK initialization with the Grepr endpoint from the previous step by setting the proxy using the following format:
// Initialize the Datadog Browser SDK with Grepr as a proxy
datadogLogs.init({
 clientToken: '<CLIENT_TOKEN>',
 site: '<DATADOG_SITE>',
 proxy: (options) =>
   `https://<browser-intake-ingest-url>/api/v2/logs?${options.parameters}`
 // other configuration options...
});

Consult the Datadog Browser SDK documentation for complete implementation details.

Exception Parsing

When your Datadog integration is configured with an App key, Grepr automatically monitors all log monitors configured in your Datadog account. It parses the log queries used in these monitors and makes them available as exceptions to the Log Reducer. On the integration page, under Observability vendors, you can click on the cloud sync icon under Actions to get a full list of exceptions from the parsed alerts.

Datadog Parsed Alerts

This powerful capability lets you deploy Grepr without modifying your existing monitors, ensuring your critical alerts continue to function while still achieving significant log volume reduction.