Dépannage

Ce produit n'est pas pris en charge par le site Datadog que vous avez sélectionné. ().
CloudPrem est en bêta

Participez à la bêta de CloudPrem pour profiter de nouvelles fonctionnalités autohébergées de gestion des logs.

Request Access

Présentation

Cette page rassemble des conseils de dépannage pour les problèmes courants susceptibles de se produire lors du déploiement ou de l’utilisation de la solution CloudPrem Datadog. Vous pouvez consulter des messages d’erreur types, des étapes de diagnostic, ainsi que des recommandations de mesures de résolution pour les problèmes liés aux autorisations d’accès, à la configuration du stockage et à l’intégrité des composants. Référez-vous à ce guide pour diagnostiquer rapidement des problèmes ou pour obtenir des informations contextuelles avant de contacter l’assistance Datadog.

Santé des composants

Pods qui ne démarrent pas

Vérifiez les événements des pods :

kubectl describe pod -n datadog-cloudprem <pod-name>

Problèmes courants :

  • Ressources insuffisantes : vérifiez la capacité des nœuds avec kubectl describe nodes
  • Erreurs de récupération d’image : vérifiez la connectivité réseau et la disponibilité de l’image
  • Secret introuvable : vérifiez que les secrets existent avec kubectl get secrets -n datadog-cloudprem

Autorisations d’accès

Les erreurs les plus courantes proviennent des autorisations d’accès au stockage objet ou au metastore. Pour effectuer le dépannage, utilisez kubectl et vérifiez les logs des composants CloudPrem : pods d’indexation, pods metastore et pods de moteur de recherche.

Erreurs metastore

Le metastore ne peut pas se connecter à PostgreSQL

Erreur : failed to connect to metastore: connection error: pool timed out

Solution : vérifiez que PostgreSQL est accessible depuis le cluster :

kubectl run psql-client \
  --rm -it \
  --image=bitnami/postgresql:latest \
  --command -- psql "host=<HOST> port=<PORT> dbname=<DATABASE> user=<USERNAME> password=<PASSWORD>"

Causes courantes :

  • PostgreSQL n’est pas accessible depuis le réseau du cluster
  • Des règles de pare-feu bloquent la connexion
  • Hôte, port ou identifiants incorrects dans le secret cloudprem-metastore-uri

Erreur : failed to connect to metastore: invalid port number

Solution : confirmez que le mot de passe dans l’URI du metastore est encodé en URL. Les caractères spéciaux doivent être échappés :

# Correct format
postgresql://user:abc%2Fdef%2Bghi%3D@host:5432/cloudprem

# Incorrect format (fails)
postgresql://user:abc/def+ghi=@host:5432/cloudprem

Problèmes de connexion Cloud SQL (GKE)

Erreur : failed to connect to metastore: connection error: pool timed out

Solution : vérifiez que les réseaux autorisés Cloud SQL incluent les adresses IP des nœuds GKE :

gcloud sql instances describe cloudprem-postgres \
  --format="value(settings.ipConfiguration.authorizedNetworks)"

Mettez à jour les réseaux autorisés si nécessaire :

export NODE_IPS=$(kubectl get nodes -o jsonpath='{.items[*].status.addresses[?(@.type=="ExternalIP")].address}' | tr ' ' ',')
gcloud sql instances patch cloudprem-postgres \
  --authorized-networks=${NODE_IPS} \
  --quiet

Erreur : failed to connect to metastore: invalid port number

Solution : confirmez que le mot de passe dans l’URI du metastore est encodé en URL. Les caractères spéciaux doivent être échappés :

# Correct format
postgresql://postgres:abc%2Fdef%2Bghi%3D@IP:5432/cloudprem

# Incorrect format (fails)
postgresql://postgres:abc/def+ghi=@IP:5432/cloudprem

Erreurs de stockage

Si vous avez défini des identifiants AWS incorrects, le message d’erreur suivant contenant Unauthorized apparaît dans les logs de vos indexeurs :

Command failed: Another error occurred. `Metastore error`. Cause: `StorageError(kind=Unauthorized, source=failed to fetch object: s3://my-bucket/datadog-index/some-id.split)`

Si vous avez défini une région incorrecte, l’erreur suivante apparaît :

Command failed: Another error occurred. `Metastore error`. Cause: `StorageError(kind=Internal, source=failed to fetch object: s3://my-bucket/datadog-index/some-id.split)`

Problèmes d’accès au stockage GCS (GKE)

Erreur : failed to write to GCS bucket

Solution : vérifiez que le compte de service dispose des autorisations correctes :

gsutil iam get gs://${BUCKET_NAME}

Accordez les autorisations manquantes si nécessaire :

gsutil iam ch \
  serviceAccount:${SERVICE_ACCOUNT_NAME}@${PROJECT_ID}.iam.gserviceaccount.com:objectAdmin \
  gs://${BUCKET_NAME}

Problèmes d’accès au stockage MinIO

Erreur : failed to put object ou NoSuchBucket

Solution : vérifiez la connectivité et les identifiants MinIO :

kubectl run minio-client \
  --rm -it \
  --image=minio/mc:latest \
  --command -- bash -c "mc alias set myminio <MINIO_ENDPOINT> <ACCESS_KEY> <SECRET_KEY> && mc ls myminio/<BUCKET_NAME>"

Causes courantes :

  • L’endpoint MinIO n’est pas accessible depuis le cluster
  • Clé d’accès ou clé secrète incorrecte
  • Le bucket n’existe pas
  • force_path_style_access n’est pas défini sur true dans la configuration du stockage

Problèmes de Workload Identity (GKE)

Erreur : could not generate access token

Solution : vérifiez la liaison Workload Identity :

# Check service account annotation
kubectl get serviceaccount cloudprem-ksa -n datadog-cloudprem -o yaml | grep iam.gke.io

# Verify IAM binding
gcloud iam service-accounts get-iam-policy \
  ${SERVICE_ACCOUNT_NAME}@${PROJECT_ID}.iam.gserviceaccount.com

Recréez la liaison si nécessaire :

gcloud iam service-accounts add-iam-policy-binding \
  ${SERVICE_ACCOUNT_NAME}@${PROJECT_ID}.iam.gserviceaccount.com \
  --role=roles/iam.workloadIdentityUser \
  --member="serviceAccount:${PROJECT_ID}.svc.id.goog[datadog-cloudprem/cloudprem-ksa]"

Pour aller plus loin

Documentation, liens et articles supplémentaires utiles: