With Datadog pod annotations Datadog k8s operator will automatically collect metrics using Autodiscovery feature
Pros
- No additional cost for native integrations
Cons
- Direct connection to applications is required (Ex: Datadog will connect to Postgres with user to fetch metrics)
Sample annotation for Redis
redis:
master:
podAnnotations:
ad.datadoghq.com/redis.checks: |
{
"redisdb": {
"init_config": {},
"instances": [
{
"host": "%%host%%",
"port":"6379",
"password":"%%env_REDIS_PASSWORD%%"
}
]
}
}
Pros
- Compatible with most of the monitoring systems (Ex: prometheus)
- Direct connection to application is not required
Cons
- Additional cost for custom metrics in Datadog
Sample annotation for Postgres
apiVersion: postgres-operator.crunchydata.com/v1beta1
kind: PostgresCluster
metadata:
name: simple
spec:
...
instances:
- name: instance1
...
metadata:
labels:
tags.datadoghq.com/service: "postgrescluster-simple"
tags.datadoghq.com/version: "14"
annotations:
ad.datadoghq.com/database.check_names: '["openmetrics"]'
ad.datadoghq.com/database.init_configs: '[{}]'
ad.datadoghq.com/database.instances: '[{"prometheus_url":"http://%%host%%:9187/metrics","namespace": "crunchy_data","metrics": ["*"]}]'