Este producto no es compatible con el
sitio Datadog seleccionado. (
).
CloudPrem está en vista previa
Únete a la vista previa de CloudPrem para acceder a las nuevas funciones de gestión de logs autoalojadas.
Request AccessEsta página proporciona orientación para la resolución de problemas comunes que puedes encontrar al desplegar o utilizar Datadog CloudPrem. Incluye mensajes de error típicos, pasos de diagnóstico y consejos para resolver problemas relacionados con los permisos de acceso, la configuración del almacenamiento y el estado de los componentes. Utiliza esta guía para diagnosticar rápidamente los problemas o para obtener contexto antes de ponerte en contacto con el soporte de Datadog.
Estado de los componentes
Los pods no arrancan
Comprueba los eventos del pod:
kubectl describe pod -n datadog-cloudprem <pod-name>
Problemas comunes:
- Recursos insuficientes: comprueba la capacidad del nodo con
kubectl describe nodes - Errores de extracción de imágenes: verifica la conectividad de la red y la disponibilidad de la imagen
- Secreto no encontrado: verifica que existen secretos con
kubectl get secrets -n datadog-cloudprem
Permisos de acceso
Los errores más comunes provienen de los permisos de acceso al almacenamiento de objetos o al metastore. Para solucionar problemas, utiliza kubectl y verifica los logs de los componentes de CloudPrem: pods de indexadores, pods del metastore y pods de buscadores.
Metastore no puede conectarse a PostgreSQL
Error: failed to connect to metastore: connection error: pool timed out
Solución: comprueba que se puede acceder a PostgreSQL desde el clúster:
kubectl run psql-client \
--rm -it \
--image=bitnami/postgresql:latest \
--command -- psql "host=<HOST> port=<PORT> dbname=<DATABASE> user=<USERNAME> password=<PASSWORD>"
Causas comunes:
- PostgreSQL no es accesible desde la red del clúster
- Las reglas del firewall están bloqueando la conexión
- Host, puerto o credenciales incorrectas en el secreto de
cloudprem-metastore-uri
Error: failed to connect to metastore: invalid port number
Solución: confirma que la contraseña en el URI del metastore está codificada en URL. Los caracteres especiales deben tener escape:
# Correct format
postgresql://user:abc%2Fdef%2Bghi%3D@host:5432/cloudprem
# Incorrect format (fails)
postgresql://user:abc/def+ghi=@host:5432/cloudprem
Problemas con la conexión de Cloud SQL (GKE)
Error: failed to connect to metastore: connection error: pool timed out
Solución: verifica que las redes autorizadas de Cloud SQL incluyen IPs de nodos de GKE:
gcloud sql instances describe cloudprem-postgres \
--format="value(settings.ipConfiguration.authorizedNetworks)"
Actualiza las redes autorizadas si es necesario:
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
Error: failed to connect to metastore: invalid port number
Solución: confirma que la contraseña en el URI del metastore está codificada en URL. Los caracteres especiales deben tener escape:
# Correct format
postgresql://postgres:abc%2Fdef%2Bghi%3D@IP:5432/cloudprem
# Incorrect format (fails)
postgresql://postgres:abc/def+ghi=@IP:5432/cloudprem
Errores de almacenamiento
Si estableces unas credenciales de AWS incorrectas, verás este mensaje de error con Unauthorized en los logs de tus indexadores:
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 configuras una región incorrecta, verás este error:
Command failed: Another error occurred. `Metastore error`. Cause: `StorageError(kind=Internal, source=failed to fetch object: s3://my-bucket/datadog-index/some-id.split)`
Problemas de acceso al almacenamiento GCS (GKE)
Error: failed to write to GCS bucket
Solución: verifica que la cuenta de servicio tiene los permisos correctos:
gsutil iam get gs://${BUCKET_NAME}
Concede permisos si faltan:
gsutil iam ch \
serviceAccount:${SERVICE_ACCOUNT_NAME}@${PROJECT_ID}.iam.gserviceaccount.com:objectAdmin \
gs://${BUCKET_NAME}
Problemas de acceso al almacenamiento de MinIO
Error: failed to put object o NoSuchBucket
Solución: verifica la conectividad y las credenciales de 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>"
Causas comunes:
- No se puede acceder al endpoint de MinIO desde el clúster
- Clave de acceso o clave secreta incorrecta
- El bucket no existe
force_path_style_access no está configurado en true en la configuración de almacenamiento
Problemas de identidad de la carga de trabajo (GKE)
Error: could not generate access token
Solución: verifica la vinculación de la identidad de la carga de trabajo:
# 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
Vuelve a crear la vinculación si es necesario:
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]"
Referencias adicionales
Más enlaces, artículos y documentación útiles: