Datadog¶
Connect HolmesGPT to Datadog for comprehensive observability including logs, metrics, traces, and more.
Important: Disable Default Logging Toolset
Only one logging toolset should be enabled at a time. If you enable this toolset, disable the default kubernetes/logs
toolset.
Available Log Sources:
- Kubernetes logs - Direct pod log access (enabled by default)
- Loki - Centralized logs via Loki
- OpenSearch logs - Logs from OpenSearch/Elasticsearch
- Coralogix logs - Logs via Coralogix platform
- DataDog - Logs from DataDog
💡 Choose one: Only enable one logging toolset at a time for best performance.
Quick Start¶
1. Get Your API Keys¶
You'll need two keys from your Datadog account:
- API Key: Found under Organization Settings > API Keys
- Application Key: Found under Organization Settings > Application Keys
2. Configure HolmesGPT¶
Set environment variables:
Add to your config file:
toolsets:
# Enable all Datadog toolsets
datadog/logs:
enabled: true
config:
dd_api_key: "{{ env.DD_API_KEY }}"
dd_app_key: "{{ env.DD_APP_KEY }}"
site_api_url: https://app.datadoghq.com # Change for EU/other regions
datadog/metrics:
enabled: true
config:
dd_api_key: "{{ env.DD_API_KEY }}"
dd_app_key: "{{ env.DD_APP_KEY }}"
site_api_url: https://app.datadoghq.com
datadog/traces:
enabled: true
config:
dd_api_key: "{{ env.DD_API_KEY }}"
dd_app_key: "{{ env.DD_APP_KEY }}"
site_api_url: https://app.datadoghq.com
datadog/rds:
enabled: true
config:
dd_api_key: "{{ env.DD_API_KEY }}"
dd_app_key: "{{ env.DD_APP_KEY }}"
site_api_url: https://app.datadoghq.com
datadog/general:
enabled: true
config:
dd_api_key: "{{ env.DD_API_KEY }}"
dd_app_key: "{{ env.DD_APP_KEY }}"
site_api_url: https://app.datadoghq.com
First, create a Kubernetes secret with your API keys:
kubectl create secret generic holmes-datadog-secrets \
--from-literal=dd-api-key=your-datadog-api-key \
--from-literal=dd-app-key=your-datadog-app-key
Then add to your Holmes Helm values:
# Load API keys from secret
additionalEnvVars:
- name: DD_API_KEY
valueFrom:
secretKeyRef:
name: holmes-datadog-secrets
key: dd-api-key
- name: DD_APP_KEY
valueFrom:
secretKeyRef:
name: holmes-datadog-secrets
key: dd-app-key
toolsets:
# Enable all Datadog toolsets
datadog/logs:
enabled: true
config:
dd_api_key: "{{ env.DD_API_KEY }}"
dd_app_key: "{{ env.DD_APP_KEY }}"
site_api_url: https://app.datadoghq.com # Change for EU/other regions
datadog/metrics:
enabled: true
config:
dd_api_key: "{{ env.DD_API_KEY }}"
dd_app_key: "{{ env.DD_APP_KEY }}"
site_api_url: https://app.datadoghq.com
datadog/traces:
enabled: true
config:
dd_api_key: "{{ env.DD_API_KEY }}"
dd_app_key: "{{ env.DD_APP_KEY }}"
site_api_url: https://app.datadoghq.com
datadog/rds:
enabled: true
config:
dd_api_key: "{{ env.DD_API_KEY }}"
dd_app_key: "{{ env.DD_APP_KEY }}"
site_api_url: https://app.datadoghq.com
datadog/general:
enabled: true
config:
dd_api_key: "{{ env.DD_API_KEY }}"
dd_app_key: "{{ env.DD_APP_KEY }}"
site_api_url: https://app.datadoghq.com
First, create a Kubernetes secret with your API keys:
kubectl create secret generic holmes-datadog-secrets \
--from-literal=dd-api-key=your-datadog-api-key \
--from-literal=dd-app-key=your-datadog-app-key
Then add to your Robusta Helm values:
runner:
# Load API keys from secret
additionalEnvVars:
- name: DD_API_KEY
valueFrom:
secretKeyRef:
name: holmes-datadog-secrets
key: dd-api-key
- name: DD_APP_KEY
valueFrom:
secretKeyRef:
name: holmes-datadog-secrets
key: dd-app-key
customToolsets:
# Enable all Datadog toolsets
datadog/logs:
enabled: true
config:
dd_api_key: "{{ env.DD_API_KEY }}"
dd_app_key: "{{ env.DD_APP_KEY }}"
site_api_url: https://app.datadoghq.com # Change for EU/other regions
datadog/metrics:
enabled: true
config:
dd_api_key: "{{ env.DD_API_KEY }}"
dd_app_key: "{{ env.DD_APP_KEY }}"
site_api_url: https://app.datadoghq.com
datadog/traces:
enabled: true
config:
dd_api_key: "{{ env.DD_API_KEY }}"
dd_app_key: "{{ env.DD_APP_KEY }}"
site_api_url: https://app.datadoghq.com
datadog/rds:
enabled: true
config:
dd_api_key: "{{ env.DD_API_KEY }}"
dd_app_key: "{{ env.DD_APP_KEY }}"
site_api_url: https://app.datadoghq.com
datadog/general:
enabled: true
config:
dd_api_key: "{{ env.DD_API_KEY }}"
dd_app_key: "{{ env.DD_APP_KEY }}"
site_api_url: https://app.datadoghq.com
3. Test It Works¶
# Test logs
holmes ask "show me recent logs from Datadog"
# Test metrics
holmes ask "list available Datadog metrics"
# Test general API
holmes ask "list Datadog monitors"
That's it! You're now connected to Datadog with all toolsets enabled.
Available Toolsets¶
HolmesGPT provides five specialized Datadog toolsets:
Toolset | Purpose | Common Use Cases |
---|---|---|
datadog/logs | Query application logs | Debugging errors, tracking deployments, historical analysis |
datadog/metrics | Access performance metrics | CPU/memory monitoring, custom metrics, SLI tracking |
datadog/traces | Analyze distributed traces | Latency issues, service dependencies, bottlenecks |
datadog/rds | Monitor RDS databases | Database performance, slow queries, connection issues |
datadog/general | Access other Datadog APIs | Monitors, dashboards, SLOs, incidents, synthetics |
Core Configuration¶
All Datadog toolsets share the same basic configuration structure:
Add the following to ~/.holmes/config.yaml. Create the file if it doesn't exist:
toolsets:
datadog/<toolset-name>:
enabled: true
config:
dd_api_key: "{{ env.DD_API_KEY }}"
dd_app_key: "{{ env.DD_APP_KEY }}"
site_api_url: https://api.datadoghq.com # Required - see regions below
When using the standalone Holmes Helm Chart, update your values.yaml
:
toolsets:
datadog/<toolset-name>:
enabled: true
config:
dd_api_key: "{{ env.DD_API_KEY }}"
dd_app_key: "{{ env.DD_APP_KEY }}"
site_api_url: https://api.datadoghq.com # Required - see regions below
Apply the configuration:
helm upgrade holmes holmes/holmes --values=values.yaml
When using the Robusta Helm Chart (which includes HolmesGPT), update your generated_values.yaml
:
holmes:
toolsets:
datadog/<toolset-name>:
enabled: true
config:
dd_api_key: "{{ env.DD_API_KEY }}"
dd_app_key: "{{ env.DD_APP_KEY }}"
site_api_url: https://api.datadoghq.com # Required - see regions below
Apply the configuration:
helm upgrade robusta robusta/robusta --values=generated_values.yaml --set clusterName=<YOUR_CLUSTER_NAME>
Regional Endpoints¶
Configure the correct API endpoint for your Datadog region:
Region | Site API URL |
---|---|
US1 (default) | https://app.datadoghq.com |
US3 | https://us3.datadoghq.com |
US5 | https://us5.datadoghq.com |
EU1 | https://app.datadoghq.eu |
US1-FED (Government) | https://app.ddog-gov.com |
AP1 (Japan) | https://ap1.datadoghq.com |
AP2 (Australia) | https://ap2.datadoghq.com |
Toolset Details¶
Datadog Logs¶
Query and analyze logs from Datadog, including historical data from terminated pods.
Configuration
Add the following to ~/.holmes/config.yaml. Create the file if it doesn't exist:
toolsets:
datadog/logs:
enabled: true
config:
dd_api_key: "{{ env.DD_API_KEY }}"
dd_app_key: "{{ env.DD_APP_KEY }}"
site_api_url: https://api.datadoghq.com
request_timeout: 60 # Timeout in seconds (default: 60)
# Optional: Log search configuration
indexes: ["*"] # Log indexes to search (default: ["*"])
storage_tiers: ["indexes"] # Options: indexes, online-archives, flex
page_size: 300 # Results per page (default: 300)
default_limit: 1000 # Max logs to retrieve (default: 1000)
# Optional: Kubernetes field mappings
labels:
pod: "pod_name" # Datadog field for pod name
namespace: "kube_namespace" # Datadog field for namespace
# Disable Kubernetes native logging when using Datadog
kubernetes/logs:
enabled: false
When using the standalone Holmes Helm Chart, update your values.yaml
:
toolsets:
datadog/logs:
enabled: true
config:
dd_api_key: "{{ env.DD_API_KEY }}"
dd_app_key: "{{ env.DD_APP_KEY }}"
site_api_url: https://api.datadoghq.com
request_timeout: 60 # Timeout in seconds (default: 60)
# Optional: Log search configuration
indexes: ["*"] # Log indexes to search (default: ["*"])
storage_tiers: ["indexes"] # Options: indexes, online-archives, flex
page_size: 300 # Results per page (default: 300)
default_limit: 1000 # Max logs to retrieve (default: 1000)
# Optional: Kubernetes field mappings
labels:
pod: "pod_name" # Datadog field for pod name
namespace: "kube_namespace" # Datadog field for namespace
# Disable Kubernetes native logging when using Datadog
kubernetes/logs:
enabled: false
Apply the configuration:
helm upgrade holmes holmes/holmes --values=values.yaml
When using the Robusta Helm Chart (which includes HolmesGPT), update your generated_values.yaml
:
holmes:
toolsets:
datadog/logs:
enabled: true
config:
dd_api_key: "{{ env.DD_API_KEY }}"
dd_app_key: "{{ env.DD_APP_KEY }}"
site_api_url: https://api.datadoghq.com
request_timeout: 60 # Timeout in seconds (default: 60)
# Optional: Log search configuration
indexes: ["*"] # Log indexes to search (default: ["*"])
storage_tiers: ["indexes"] # Options: indexes, online-archives, flex
page_size: 300 # Results per page (default: 300)
default_limit: 1000 # Max logs to retrieve (default: 1000)
# Optional: Kubernetes field mappings
labels:
pod: "pod_name" # Datadog field for pod name
namespace: "kube_namespace" # Datadog field for namespace
# Disable Kubernetes native logging when using Datadog
kubernetes/logs:
enabled: false
Apply the configuration:
helm upgrade robusta robusta/robusta --values=generated_values.yaml --set clusterName=<YOUR_CLUSTER_NAME>
Capabilities
Tool | Description |
---|---|
fetch_pod_logs |
Retrieve logs for specific pods with time range and filter support |
Example Usage
# Get logs for a specific pod
holmes ask "show me logs for pod payment-service in namespace production"
# Search for errors in the last hour
holmes ask "find all error logs in the last hour"
# Historical logs from deleted pods
holmes ask "show me logs from the crashed pod that was running yesterday"
Datadog Metrics¶
Access and analyze metrics from your infrastructure and applications.
Configuration
Add the following to ~/.holmes/config.yaml. Create the file if it doesn't exist:
toolsets:
datadog/metrics:
enabled: true
config:
dd_api_key: "{{ env.DD_API_KEY }}"
dd_app_key: "{{ env.DD_APP_KEY }}"
site_api_url: https://api.datadoghq.com
request_timeout: 60 # Timeout in seconds (default: 60)
# Optional
default_limit: 1000 # Max data points to retrieve (default: 1000)
When using the standalone Holmes Helm Chart, update your values.yaml
:
toolsets:
datadog/metrics:
enabled: true
config:
dd_api_key: "{{ env.DD_API_KEY }}"
dd_app_key: "{{ env.DD_APP_KEY }}"
site_api_url: https://api.datadoghq.com
request_timeout: 60 # Timeout in seconds (default: 60)
# Optional
default_limit: 1000 # Max data points to retrieve (default: 1000)
Apply the configuration:
helm upgrade holmes holmes/holmes --values=values.yaml
When using the Robusta Helm Chart (which includes HolmesGPT), update your generated_values.yaml
:
holmes:
toolsets:
datadog/metrics:
enabled: true
config:
dd_api_key: "{{ env.DD_API_KEY }}"
dd_app_key: "{{ env.DD_APP_KEY }}"
site_api_url: https://api.datadoghq.com
request_timeout: 60 # Timeout in seconds (default: 60)
# Optional
default_limit: 1000 # Max data points to retrieve (default: 1000)
Apply the configuration:
helm upgrade robusta robusta/robusta --values=generated_values.yaml --set clusterName=<YOUR_CLUSTER_NAME>
Capabilities
Tool | Description |
---|---|
list_active_datadog_metrics |
List metrics that have reported data in the last 24 hours |
query_datadog_metrics |
Query specific metrics with aggregation and filtering |
get_datadog_metric_metadata |
Get metadata about available metrics |
list_datadog_metric_tags |
List available tags and aggregations for a specific metric |
Example Usage
# List available metrics
holmes ask "what metrics are available for my application?"
# Query CPU usage
holmes ask "show me CPU usage for the payment service over the last 6 hours"
# Custom application metrics
holmes ask "analyze the payment_processing_time metric for anomalies"
Datadog Traces¶
Analyze distributed traces to identify performance bottlenecks and latency issues.
Configuration
Add the following to ~/.holmes/config.yaml. Create the file if it doesn't exist:
toolsets:
datadog/traces:
enabled: true
config:
dd_api_key: "{{ env.DD_API_KEY }}"
dd_app_key: "{{ env.DD_APP_KEY }}"
site_api_url: https://api.datadoghq.com
request_timeout: 60 # Timeout in seconds (default: 60)
# Optional
indexes: ["*"] # Trace indexes to search (default: ["*"])
When using the standalone Holmes Helm Chart, update your values.yaml
:
toolsets:
datadog/traces:
enabled: true
config:
dd_api_key: "{{ env.DD_API_KEY }}"
dd_app_key: "{{ env.DD_APP_KEY }}"
site_api_url: https://api.datadoghq.com
request_timeout: 60 # Timeout in seconds (default: 60)
# Optional
indexes: ["*"] # Trace indexes to search (default: ["*"])
Apply the configuration:
helm upgrade holmes holmes/holmes --values=values.yaml
When using the Robusta Helm Chart (which includes HolmesGPT), update your generated_values.yaml
:
holmes:
toolsets:
datadog/traces:
enabled: true
config:
dd_api_key: "{{ env.DD_API_KEY }}"
dd_app_key: "{{ env.DD_APP_KEY }}"
site_api_url: https://api.datadoghq.com
request_timeout: 60 # Timeout in seconds (default: 60)
# Optional
indexes: ["*"] # Trace indexes to search (default: ["*"])
Apply the configuration:
helm upgrade robusta robusta/robusta --values=generated_values.yaml --set clusterName=<YOUR_CLUSTER_NAME>
Capabilities
Tool | Description |
---|---|
fetch_datadog_traces |
Search and fetch traces by service, operation, or tags |
fetch_datadog_trace_by_id |
Get detailed information about a specific trace |
fetch_datadog_spans |
Search for spans with specific filters |
Example Usage
# Find slow requests
holmes ask "find traces where the checkout service took longer than 5 seconds"
# Analyze specific trace
holmes ask "analyze trace ID abc123 for performance issues"
# Service dependencies
holmes ask "show me traces involving both payment and inventory services"
Datadog RDS¶
Monitor and troubleshoot RDS database instances.
Configuration
Add the following to ~/.holmes/config.yaml. Create the file if it doesn't exist:
toolsets:
datadog/rds:
enabled: true
config:
dd_api_key: "{{ env.DD_API_KEY }}"
dd_app_key: "{{ env.DD_APP_KEY }}"
site_api_url: https://api.datadoghq.com
request_timeout: 60 # Timeout in seconds (default: 60)
# Optional
default_time_span_seconds: 3600 # Time span for queries (default: 1 hour)
default_top_instances: 10 # Number of top instances (default: 10)
When using the standalone Holmes Helm Chart, update your values.yaml
:
toolsets:
datadog/rds:
enabled: true
config:
dd_api_key: "{{ env.DD_API_KEY }}"
dd_app_key: "{{ env.DD_APP_KEY }}"
site_api_url: https://api.datadoghq.com
request_timeout: 60 # Timeout in seconds (default: 60)
# Optional
default_time_span_seconds: 3600 # Time span for queries (default: 1 hour)
default_top_instances: 10 # Number of top instances (default: 10)
Apply the configuration:
helm upgrade holmes holmes/holmes --values=values.yaml
When using the Robusta Helm Chart (which includes HolmesGPT), update your generated_values.yaml
:
holmes:
toolsets:
datadog/rds:
enabled: true
config:
dd_api_key: "{{ env.DD_API_KEY }}"
dd_app_key: "{{ env.DD_APP_KEY }}"
site_api_url: https://api.datadoghq.com
request_timeout: 60 # Timeout in seconds (default: 60)
# Optional
default_time_span_seconds: 3600 # Time span for queries (default: 1 hour)
default_top_instances: 10 # Number of top instances (default: 10)
Apply the configuration:
helm upgrade robusta robusta/robusta --values=generated_values.yaml --set clusterName=<YOUR_CLUSTER_NAME>
Capabilities
Tool | Description |
---|---|
datadog_rds_performance_report |
Generate comprehensive performance report for an RDS instance |
datadog_rds_top_worst_performing |
Get report of worst performing RDS instances by latency, CPU, and errors |
Example Usage
# List database instances
holmes ask "show me all RDS instances and their status"
# Performance analysis
holmes ask "analyze the performance of the production database"
# Slow query analysis
holmes ask "find slow queries on the analytics database"
Datadog General¶
Access general-purpose Datadog API endpoints for read-only operations including monitors, dashboards, SLOs, incidents, synthetics, and more.
Configuration
Add the following to ~/.holmes/config.yaml. Create the file if it doesn't exist:
toolsets:
datadog/general:
enabled: true
config:
dd_api_key: "{{ env.DD_API_KEY }}"
dd_app_key: "{{ env.DD_APP_KEY }}"
site_api_url: https://api.datadoghq.com
request_timeout: 60 # Timeout in seconds (default: 60)
# Optional
max_response_size: 10485760 # Max response size in bytes (default: 10MB)
allow_custom_endpoints: false # Allow non-whitelisted endpoints (default: false)
When using the standalone Holmes Helm Chart, update your values.yaml
:
toolsets:
datadog/general:
enabled: true
config:
dd_api_key: "{{ env.DD_API_KEY }}"
dd_app_key: "{{ env.DD_APP_KEY }}"
site_api_url: https://api.datadoghq.com
request_timeout: 60 # Timeout in seconds (default: 60)
# Optional
max_response_size: 10485760 # Max response size in bytes (default: 10MB)
allow_custom_endpoints: false # Allow non-whitelisted endpoints (default: false)
Apply the configuration:
helm upgrade holmes holmes/holmes --values=values.yaml
When using the Robusta Helm Chart (which includes HolmesGPT), update your generated_values.yaml
:
holmes:
toolsets:
datadog/general:
enabled: true
config:
dd_api_key: "{{ env.DD_API_KEY }}"
dd_app_key: "{{ env.DD_APP_KEY }}"
site_api_url: https://api.datadoghq.com
request_timeout: 60 # Timeout in seconds (default: 60)
# Optional
max_response_size: 10485760 # Max response size in bytes (default: 10MB)
allow_custom_endpoints: false # Allow non-whitelisted endpoints (default: false)
Apply the configuration:
helm upgrade robusta robusta/robusta --values=generated_values.yaml --set clusterName=<YOUR_CLUSTER_NAME>
Capabilities
Tool | Description |
---|---|
datadog_api_get |
Perform GET requests to whitelisted Datadog API endpoints |
datadog_api_post_search |
Perform POST search operations on whitelisted endpoints |
list_datadog_api_resources |
List available API resource categories and endpoints |
Supported API Endpoints
The general toolset provides access to the following read-only API categories:
- Monitors: List, search, and get monitor details
- Dashboards: Access dashboard configurations and lists
- SLOs: Query Service Level Objectives and their history
- Events: Search and retrieve events
- Incidents: Access incident details and timelines
- Synthetics: Retrieve synthetic test results and configurations
- Security Monitoring: Access security rules and signals
- Service Map: Query APM services and dependencies
- Hosts: List and get host information
- Usage & Cost: Access usage metrics and cost estimates
- Organizations & Teams: Query organizational structure
Example Usage
# List all monitors
holmes ask "show me all Datadog monitors"
# Get dashboard details
holmes ask "retrieve my application dashboard from Datadog"
# Check SLO status
holmes ask "what's the current status of our API availability SLO?"
# Search incidents
holmes ask "find recent incidents in Datadog"
# Get synthetic test results
holmes ask "show me the latest synthetic test results for our homepage"
Complete Configuration Example¶
Here's a comprehensive example enabling all Datadog toolsets:
Add the following to ~/.holmes/config.yaml. Create the file if it doesn't exist:
toolsets:
# Logs configuration
datadog/logs:
enabled: true
config:
dd_api_key: "{{ env.DD_API_KEY }}"
dd_app_key: "{{ env.DD_APP_KEY }}"
site_api_url: https://api.datadoghq.eu # EU region
request_timeout: 60
indexes: ["main", "security"]
storage_tiers: ["indexes", "online-archives"]
page_size: 300
default_limit: 2000
labels:
pod: "pod_name"
namespace: "kube_namespace"
# Metrics configuration
datadog/metrics:
enabled: true
config:
dd_api_key: "{{ env.DD_API_KEY }}"
dd_app_key: "{{ env.DD_APP_KEY }}"
site_api_url: https://api.datadoghq.eu
request_timeout: 60
default_limit: 5000
# Traces configuration
datadog/traces:
enabled: true
config:
dd_api_key: "{{ env.DD_API_KEY }}"
dd_app_key: "{{ env.DD_APP_KEY }}"
site_api_url: https://api.datadoghq.eu
request_timeout: 60
indexes: ["*"]
# RDS monitoring
datadog/rds:
enabled: true
config:
dd_api_key: "{{ env.DD_API_KEY }}"
dd_app_key: "{{ env.DD_APP_KEY }}"
site_api_url: https://api.datadoghq.eu
request_timeout: 60
default_time_span_seconds: 3600
default_top_instances: 10
# General API access
datadog/general:
enabled: true
config:
dd_api_key: "{{ env.DD_API_KEY }}"
dd_app_key: "{{ env.DD_APP_KEY }}"
site_api_url: https://api.datadoghq.eu
request_timeout: 60
max_response_size: 10485760
allow_custom_endpoints: false
# Disable Kubernetes native logging when using Datadog
kubernetes/logs:
enabled: false
When using the standalone Holmes Helm Chart, update your values.yaml
:
toolsets:
# Logs configuration
datadog/logs:
enabled: true
config:
dd_api_key: "{{ env.DD_API_KEY }}"
dd_app_key: "{{ env.DD_APP_KEY }}"
site_api_url: https://api.datadoghq.eu # EU region
request_timeout: 60
indexes: ["main", "security"]
storage_tiers: ["indexes", "online-archives"]
page_size: 300
default_limit: 2000
labels:
pod: "pod_name"
namespace: "kube_namespace"
# Metrics configuration
datadog/metrics:
enabled: true
config:
dd_api_key: "{{ env.DD_API_KEY }}"
dd_app_key: "{{ env.DD_APP_KEY }}"
site_api_url: https://api.datadoghq.eu
request_timeout: 60
default_limit: 5000
# Traces configuration
datadog/traces:
enabled: true
config:
dd_api_key: "{{ env.DD_API_KEY }}"
dd_app_key: "{{ env.DD_APP_KEY }}"
site_api_url: https://api.datadoghq.eu
request_timeout: 60
indexes: ["*"]
# RDS monitoring
datadog/rds:
enabled: true
config:
dd_api_key: "{{ env.DD_API_KEY }}"
dd_app_key: "{{ env.DD_APP_KEY }}"
site_api_url: https://api.datadoghq.eu
request_timeout: 60
default_time_span_seconds: 3600
default_top_instances: 10
# General API access
datadog/general:
enabled: true
config:
dd_api_key: "{{ env.DD_API_KEY }}"
dd_app_key: "{{ env.DD_APP_KEY }}"
site_api_url: https://api.datadoghq.eu
request_timeout: 60
max_response_size: 10485760
allow_custom_endpoints: false
# Disable Kubernetes native logging when using Datadog
kubernetes/logs:
enabled: false
Apply the configuration:
helm upgrade holmes holmes/holmes --values=values.yaml
When using the Robusta Helm Chart (which includes HolmesGPT), update your generated_values.yaml
:
holmes:
toolsets:
# Logs configuration
datadog/logs:
enabled: true
config:
dd_api_key: "{{ env.DD_API_KEY }}"
dd_app_key: "{{ env.DD_APP_KEY }}"
site_api_url: https://api.datadoghq.eu # EU region
request_timeout: 60
indexes: ["main", "security"]
storage_tiers: ["indexes", "online-archives"]
page_size: 300
default_limit: 2000
labels:
pod: "pod_name"
namespace: "kube_namespace"
# Metrics configuration
datadog/metrics:
enabled: true
config:
dd_api_key: "{{ env.DD_API_KEY }}"
dd_app_key: "{{ env.DD_APP_KEY }}"
site_api_url: https://api.datadoghq.eu
request_timeout: 60
default_limit: 5000
# Traces configuration
datadog/traces:
enabled: true
config:
dd_api_key: "{{ env.DD_API_KEY }}"
dd_app_key: "{{ env.DD_APP_KEY }}"
site_api_url: https://api.datadoghq.eu
request_timeout: 60
indexes: ["*"]
# RDS monitoring
datadog/rds:
enabled: true
config:
dd_api_key: "{{ env.DD_API_KEY }}"
dd_app_key: "{{ env.DD_APP_KEY }}"
site_api_url: https://api.datadoghq.eu
request_timeout: 60
default_time_span_seconds: 3600
default_top_instances: 10
# General API access
datadog/general:
enabled: true
config:
dd_api_key: "{{ env.DD_API_KEY }}"
dd_app_key: "{{ env.DD_APP_KEY }}"
site_api_url: https://api.datadoghq.eu
request_timeout: 60
max_response_size: 10485760
allow_custom_endpoints: false
# Disable Kubernetes native logging when using Datadog
kubernetes/logs:
enabled: false
Apply the configuration:
helm upgrade robusta robusta/robusta --values=generated_values.yaml --set clusterName=<YOUR_CLUSTER_NAME>