Ejecutar tests Synthetic desde localizaciones privadas
Las localizaciones privadas permiten monitorizar aplicaciones internas o cualquier endpoint privado que no resultan accesibles a través de la red pública de Internet. También pueden utilizarse para:
- Crear localizaciones de Synthetic en áreas consideradas críticas para el desarrollo de tu negocio.
- Verificar el rendimiento de la aplicación en tu entorno interno de integración continua antes de lanzar nuevas funciones a la fase de producción con tests continuos y (CI/CD).
- Comparar el rendimiento de la aplicación desde dentro y fuera de tu red interna.
Las localizaciones privadas vienen como contenedores Docker o servicios Windows que puedes instalar en tu red privada. Después de crear e instalar una localización privada, puedes asignarle tests Synthetic, como a cualquier localización gestionada.
El worker de tu localización privada extrae tus configuraciones de test de los servidores de Datadog utilizando HTTPS, ejecuta el test de forma programada o bajo demanda y devuelve los resultados a los servidores de Datadog. A continuación, puedes ver los resultados de tus tests de localizaciones privadas exactamente de la misma forma que verías los tests que se ejecutan desde localizaciones gestionadas:
Requisitos previos
Para utilizar localizaciones privadas para tests continuos, necesitas v1.27.0 o posterior.
Las localizaciones privadas son contenedores Docker que puedes instalar en cualquier lugar de tu red privada. Puedes acceder a la imagen del worker de la localización privada en el hub Docker. Puede ejecutarse en un sistema operativo basado en Linux o un sistema operativo Windows, si el motor Docker está disponible en tu host y puede ejecutarse en modo de contenedor Linux.*
* El uso y el funcionamiento de este software se rigen por el Acuerdo de licencia del usuario final, disponible aquí.
Las localizaciones privadas son despliegues de Kubernetes que puedes instalar en tu clúster Kubernetes utilizando Helm. El Helm Chart puede ejecutarse en Kubernetes basado en Linux.
Nota: El uso y el funcionamiento de este software se rigen por el [Acuerdo de licencia del usuario final103.
Las localizaciones privadas son servicios de Windows que puedes instalar en cualquier lugar de tu red privada utilizando un archivo MSI. Ejecuta este archivo desde la máquina virtual o física en la que quieres instalar la localización privada.*
* El uso y el funcionamiento de este software se rigen por el Acuerdo de licencia del usuario final, disponible aquí.
Los requisitos de esta máquina se enumeran en la tabla siguiente. Los scripts de PowerShell deben estar habilitados en el equipo en el que instalas el worker de localización privada.
Sistema | Requisitos |
---|
Sistema operativo | Windows Server 2016, Windows Server 2019 o Windows 10. |
RAM | 4GB mínimo. 8GB recomendado. |
CPU | Procesador Intel o AMD compatible con 64 bits. Procesador de 2,8 GHz o superior recomendado. |
Nota: Para que las localizaciones privadas de Windows ejecuten tests de navegador, los navegadores (por ejemplo, Chrome, Edge o Firefox) deben estar instalados en el ordenador Windows.
Antes de utilizar el instalador MSI, debes instalar .NET versión 4.7.2 o posterior en tu ordenador.
El cumplimiento de FIPS no es compatible con las localizaciones privadas que informan a
ddog-gov.com
. Para deshabilitar este comportamiento, utiliza la opción
--disableFipsCompliance
.
Endpoints de localizaciones privadas de Datadog
Para extraer configuraciones de test y enviar resultados de test, el worker de la localización privada necesita acceso a los siguientes endpoints de API de Datadog.
Puerto | Endpoint | Descripción |
---|
443 | intake.synthetics.datadoghq.com | Utilizado por la localización privada para extraer configuraciones de test y enviar resultados de test en Datadog utilizando un protocolo interno basado en el protocolo AWS Signature versión 4. |
443 | intake-v2.synthetics.datadoghq.com para las versiones 0.2.0 o posteriores y 1.4.0 o anteriores | Utilizado por la localización privada para extraer artefactos de test de navegador, como capturas de pantalla, errores y recursos. |
Puerto | Endpoint | Descripción |
---|
443 | intake.synthetics.datadoghq.eu | Utilizado por la localización privada para extraer configuraciones de test y enviar resultados de test en Datadog utilizando un protocolo interno basado en el protocolo AWS Signature versión 4. |
Nota: Estos dominios apuntan a un conjunto de direcciones IP estáticas. Estas direcciones se pueden encontrar en https://ip-ranges.datadoghq.eu.
Puerto | Endpoint | Descripción |
---|
443 | intake.synthetics.us3.datadoghq.com | Utilizado por la localización privada para extraer configuraciones de test y enviar resultados de test en Datadog utilizando un protocolo interno basado en el protocolo AWS Signature versión 4. |
Puerto | Endpoint | Descripción |
---|
443 | intake.synthetics.ap1.datadoghq.com | Utilizado por la localización privada para extraer configuraciones de test y enviar resultados de test en Datadog utilizando un protocolo interno basado en el protocolo AWS Signature versión 4. |
Puerto | Endpoint | Descripción |
---|
443 | intake.synthetics.us5.datadoghq.com | Utilizado por la localización privada para extraer configuraciones de test y enviar resultados de test en Datadog utilizando un protocolo interno basado en el protocolo AWS Signature versión 4. |
Puerto | Endpoint | Descripción |
---|
443 | intake.synthetics.ddog-gov.com | Utilizado por la localización privada para extraer configuraciones de test y enviar resultados de test en Datadog utilizando un protocolo interno basado en el protocolo AWS Signature versión 4. Para la versión 1.32.0 y posteriores, estas solicitudes son compatibles con el Estándar federal de procesamiento de información (FIPS). |
Configuración de tu localización privada
Sólo los usuarios con el rol Synthetics Private Locations Write pueden crear localizaciones privadas. Para obtener más información, consulta Permisos.
Creación de tu localización privada
Ve a Monitorización Synthetic > Parámetros > Localizaciones privadas y haz clic en Add Private Location (Añadir localización privada).
Rellena la información de tu localización privada:
- Especifica el nombre y la descripción de tu localización privada.
- Añade cualquier Etiqueta que quieras asociar a tu localización privada.
- Selecciona una de tus claves de API actuales. Al seleccionar una clave de API, se posibilita la comunicación entre tu localización privada y Datadog. Si aún no tienes una clave de API, haz clic en Generate API key (Generar clave de API) para crear una en la página correspondiente. Sólo son obligatorios los campos
Name
y API key
. - Configura el acceso para tu localización privada y haz clic en Save Location and Generate Configuration File (Guardar localización y generar archivo de configuración). Datadog creará tu localización privada y generará el archivo de configuración asociado.
Configuración de tu localización privada
Configura tu localización privada personalizando el archivo de configuración generado. Cuando añadas parámetros de configuración inicial como proxies e IP reservadas bloqueadas en el Paso 3, el archivo de configuración generado se actualizará automáticamente en el Paso 4.
Puedes acceder a opciones avanzadas para ajustar la configuración en función de tu configuración de red interna. Para obtener más información sobre el comando help
, consulta Configuración.
Configuración del proxy
Si el tráfico entre tu localización privada y Datadog debe ir a través de un proxy, especifica la URL del proxy como http://<YOUR_USER>:<YOUR_PWD>@<YOUR_IP>:<YOUR_PORT>
para añadir el parámetro proxyDatadog
asociado al archivo de configuración generado.
Bloqueo de direcciones IP reservadas
De forma predeterminada, los usuarios de Synthetic pueden crear tests Synthetic en endpoints utilizando cualquier dirección IP. Si quieres impedir que los usuarios creen tests en direcciones IP internas confidenciales de tu red, activa el botón Block reserved IPs (Bloquear IP reservadas) para bloquear un conjunto predeterminado de intervalos de direcciones IP reservadas (registro de direcciones IPv4 y registro de direcciones IPv6) y configura el parámetro enableDefaultBlockedIpRanges
asociado como true
en el archivo de configuración generado.
Si algunos de los endpoints a los que quieres hacer un test se encuentran dentro de uno o varios intervalos de direcciones IP reservadas bloqueadas, puedes añadir sus IP o CIDR a las listas de permisos para añadir los parámetros allowedIPRanges
asociados al archivo de configuración generado.
Visualizar tu archivo de configuración
Luego de añadir las opciones correspondientes al archivo de configuración de tu localización privada, puedes copiar y pegar este archivo en tu directorio de trabajo. El archivo de configuración contiene secretos para la autenticación de localizaciones privadas, el descifrado de configuraciones de tests y el cifrado de resultados de tests.
Como Datadog no almacena tus secretos, debes almacenarlos localmente antes de hacer clic en View Installation Instructions (Ver instrucciones de instalación).
Nota: Debes poder volver a hacer referencia a estos secretos, si decides añadir más workers o instalar workers en otro host.
Instalación de tu localización privada
Puedes utilizar las variables de entorno DATADOG_API_KEY
, DATADOG_ACCESS_KEY
, DATADOG_SECRET_ACCESS_KEY
, DATADOG_PUBLIC_KEY_PEM
y DATADOG_PRIVATE_KEY
en tu definición de tarea.
Inicia tu localización privada en:
Ejecuta este comando para iniciar el worker de la localización privada montando tu archivo de configuración en el contenedor. Asegúrate de que tu archivo <MY_WORKER_CONFIG_FILE_NAME>.json
está en /etc/docker
y no la carpeta de inicio raíz:
docker run -d --restart unless-stopped -v $PWD/<MY_WORKER_CONFIG_FILE_NAME>.json:/etc/datadog/synthetics-check-runner.json datadog/synthetics-private-location-worker:latest
Nota: Si tienes direcciones IP bloqueadas reservadas, añade [funcionalidades de Linux] NET_ADMIN
1 a tu contenedor de localización privada.
Este comando inicia un contenedor Docker y prepara tu localización privada para realizar tests. Datadog recomienda ejecutar el contenedor en modo independiente con la política de reinicio adecuada.
Certificados raíz
Puedes cargar certificados raíz personalizados en tus localizaciones privadas para que tus tests de API y de navegador realicen el enlace SSL utilizando tus propios archivos .pem
.
Cuando pongas en marcha tus contenedores de localizaciones privadas, monta los archivos de certificado .pem
relevantes en /etc/datadog/certs/<filename>.pem
del mismo modo que montarías un archivo de configuración de localización privada. Estos certificados se consideran CA de confianza y se utilizan en tiempo de ejecución de tests. Nota: Si combinas todos tus archivos .pem
en un único archivo, el orden en el que se colocan los certificados es importante. Es necesario que el certificado intermedio preceda al certificado raíz para establecer correctamente una cadena de confianza.
Para obtener más información sobre parámetros de localizaciones privadas para administradores, consulta Configuración.
Crea un archivo con docker-compose.yml
:
version: "3"
services:
synthetics-private-location-worker:
image: datadog/synthetics-private-location-worker:latest
volumes:
- PATH_TO_PRIVATE_LOCATION_CONFIG_FILE:/etc/datadog/synthetics-check-runner.json
Nota: Si tienes IPs reservadas bloqueadas, añade las funcionalidades de Linux NET_ADMIN
a tu contenedor de localización privada.
Empieza tu contenedor con:
docker-compose -f docker-compose.yml up
Certificados raíz
Puedes cargar certificados raíz personalizados en tus localizaciones privadas para que tus tests de API y de navegador realicen el enlace SSL utilizando tus propios archivos .pem
.
Cuando pongas en marcha tus contenedores de localizaciones privadas, monta los archivos de certificado .pem
relevantes en /etc/datadog/certs
del mismo modo que montarías un archivo de configuración de localización privada. Estos certificados se consideran CA de confianza y se utilizan en tiempo de ejecución de tests. Nota: Si combinas todos tus archivos .pem
en un único archivo, el orden en el que se colocan los certificados es importante. Es necesario que el certificado intermedio preceda al certificado raíz para establecer correctamente una cadena de confianza.
Para obtener más información sobre parámetros de localizaciones privadas para administradores, consulta Configuración.
La configuración de Podman es muy similar a la de Docker, aunque necesitas definir NET_RAW
como funcionalidad adicional para tener compatibilidad con los tests ICMP.
Ejecuta sysctl -w "net.ipv4.ping_group_range = 0 2147483647"
desde el host donde se ejecuta el contenedor.
Ejecuta este comando para iniciar el worker de la localización privada montando tu archivo de configuración en el contenedor. Asegúrate de que tu archivo <MY_WORKER_CONFIG_FILE_NAME>.json
esté accesible para montarlo en el contendor:
podman run --cap-add=NET_RAW --rm -it -v $PWD/<MY_WORKER_CONFIG_FILE_NAME>.json:/etc/datadog/synthetics-check-runner.json gcr.io/datadoghq/synthetics-private-location-worker:latest
Si tienes direcciones IP reservadas bloqueadas configuradas, añade las funcionalidades de Linux NET_ADMIN
a tu contenedor de localización privada.
Este comando inicia un contenedor Podman y prepara tu localización privada para realizar tests. Datadog recomienda ejecutar el contenedor en modo independiente con la política de reinicio adecuada.
Para desplegar el worker de localizaciones privadas de forma segura, configura y monta un recurso de secreto de Kubernetes en el contenedor en /etc/datadog/synthetics-check-runner.json
.
Crea un secreto de Kubernetes con el archivo JSON creado anteriormente, ejecutando lo siguiente:
kubectl create secret generic private-location-worker-config --from-file=<MY_WORKER_CONFIG_FILE_NAME>.json
Utiliza despliegues para describir el estado deseado asociado a tus localizaciones privadas. Crea el siguiente archivo private-location-worker-deployment.yaml
:
apiVersion: apps/v1
kind: Deployment
metadata:
name: datadog-private-location-worker
namespace: default
spec:
selector:
matchLabels:
app: private-location
template:
metadata:
name: datadog-private-location-worker
labels:
app: private-location
spec:
containers:
- name: datadog-private-location-worker
image: datadog/synthetics-private-location-worker
volumeMounts:
- mountPath: /etc/datadog/synthetics-check-runner.json
name: worker-config
subPath: <MY_WORKER_CONFIG_FILE_NAME>
volumes:
- name: worker-config
secret:
secretName: private-location-worker-config
Nota: Si tienes IPs reservadas bloqueadas, añade las funcionalidades de Linux NET_ADMIN
a tu contenedor de localización privada.
Aplica la configuración:
kubectl apply -f private-location-worker-deployment.yaml
Para OpenShift, ejecuta la localización privada con el SCC anyuid
. Esto es necesario para que se ejecute tu test de navegador.
Puedes configurar variables de entorno en tus parámetros de configuración que apunten a secretos ya configurados. Para crear variables de entorno con secretos, consulta la documentación de Kubernetes.
También puedes hacer lo siguiente:
Añade la localización privada Synthetics de Datadog a tus repositorios Helm:
helm repo add datadog https://helm.datadoghq.com
helm repo update
Instala el chart con el nombre de la versión <RELEASE_NAME>
utilizando el archivo JSON creado anteriormente:
helm install <RELEASE_NAME> datadog/synthetics-private-location --set-file configFile=<MY_WORKER_CONFIG_FILE_NAME>.json
Nota: Si tienes direcciones IP bloqueadas reservadas, añade [funcionalidades de Linux] NET_ADMIN
2 a tu contenedor de localización privada.
Crea una nueva definición de tarea de EC2 que coincida con lo siguiente. Sustituye cada parámetro con el valor correspondiente de tu archivo de configuración de localización privada generado anteriormente:
{
...
"containerDefinitions": [
{
"command": [
"--site='...'",
"--locationID='...'",
"--accessKey='...'",
"--datadogApiKey='...'",
"--secretAccessKey='...'",
"--privateKey='-----BEGIN RSA PRIVATE KEY-----XXXXXXXX-----END RSA PRIVATE KEY-----'",
"--publicKey.pem='-----BEGIN PUBLIC KEY-----XXXXXXXX-----END PUBLIC KEY-----'",
"--publicKey.fingerprint='...'"
],
...
"image": "datadog/synthetics-private-location-worker:latest",
...
}
],
...
"compatibilities": [
"EC2"
],
...
}
Notas:
- Si tienes direcciones IP reservadas bloqueadas, configura un parámetro de Linux para conceder funcionalidades
NET_ADMIN
a tus contenedores de localización privada. - Si utilizas las variables de entorno
DATADOG_API_KEY
, DATADOG_ACCESS_KEY
, DATADOG_SECRET_ACCESS_KEY
, DATADOG_PUBLIC_KEY_PEM
y DATADOG_PRIVATE_KEY
, no es necesario incluirlas en la sección "command": [ ]
.
Crea una nueva definición de tarea de Fargate que coincida con lo siguiente. Sustituye cada parámetro con el valor correspondiente de tu archivo de configuración de localización privada generado anteriormente:
{
...
"containerDefinitions": [
{
"command": [
"--site='...'",
"--locationID='...'",
"--accessKey='...'",
"--datadogApiKey='...'",
"--secretAccessKey='...'",
"--privateKey='-----BEGIN RSA PRIVATE KEY-----XXXXXXXX-----END RSA PRIVATE KEY-----'",
"--publicKey.pem='-----BEGIN PUBLIC KEY-----XXXXXXXX-----END PUBLIC KEY-----'",
"--publicKey.fingerprint='...'"
],
...
"image": "datadog/synthetics-private-location-worker:latest",
...
}
],
...
"compatibilities": [
"EC2",
"FARGATE"
],
...
}
Nota: Como la opción de firewall de localización privada no es compatible con AWS Fargate, no es posible configurar el parámetro enableDefaultBlockedIpRanges
como true
.
Como Datadog ya se integra con Kubernetes y AWS, está preparado para monitorizar EKS.
Crea un secreto de Kubernetes con el archivo JSON creado anteriormente, ejecutando lo siguiente:
kubectl create secret generic private-location-worker-config --from-file=<MY_WORKER_CONFIG_FILE_NAME>.json
Utiliza despliegues para describir el estado deseado asociado a tus localizaciones privadas. Crea el siguiente archivo private-location-worker-deployment.yaml
:
apiVersion: apps/v1
kind: Deployment
metadata:
name: datadog-private-location-worker
namespace: default
spec:
selector:
matchLabels:
app: private-location
template:
metadata:
name: datadog-private-location-worker
labels:
app: private-location
spec:
containers:
- name: datadog-private-location-worker
image: datadog/synthetics-private-location-worker
volumeMounts:
- mountPath: /etc/datadog/synthetics-check-runner.json
name: worker-config
subPath: <MY_WORKER_CONFIG_FILE_NAME>
volumes:
- name: worker-config
configMap:
name: private-location-worker-config
Nota: Si tienes direcciones IP reservadas bloqueadas, configura un contexto de seguridad para conceder funcionalidades de Linux NET_ADMIN
a tus contenedores de localización privada.
Aplica la configuración:
kubectl apply -f private-location-worker-deployment.yaml
Descarga el archivo datadog-synthetics-worker-1.49.0.amd64.msi
y ejecútalo desde la máquina en la que quieres instalar la localización privada.
Haz clic en Next (Siguiente) en la página de bienvenida, lee el EULA y acepta los términos y condiciones. Luego, haz clic en Next (Siguiente).
Modifica dónde se instalará la aplicación o deja la configuración predeterminada. Haz clic en Next (Siguiente).
Para configurar tu localización Windows privada, puedes:
Pegar e introducir una configuración JSON para tu worker de localización privada Synthetics de Datadog. Este archivo es generado por Datadog cuando creas una localización privada.
Busca o escribe una ruta de acceso a un archivo que contenga una configuración JSON para tu worker de localización privada Synthetics de Datadog.
Una vez finalizada la instalación, puedes dejarla en blanco y ejecutar C:\\Program Files\Datadog-Synthetics\Synthetics\synthetics-pl-worker.exe --config=<PathToYourConfiguration>
en la línea de comandos Windows.
Puedes aplicar las siguientes opciones de configuración:
- Aplica las reglas de firewall que necesita este programa a Windows Firewall
- Permite que el instalador aplique reglas de firewall durante la instalación y las elimine durante la desinstalación.
- Aplica reglas para bloquear direcciones IP reservadas en Windows Firewall
- Configura reglas de bloqueo para Chrome, Firefox y Edge (si están instalados) y añade reglas para bloquear rangos de direcciones IP reservadas salientes en Windows Firewall.
- Habilita el registro de archivos
- Permite que el worker de localización privada Synthetics registre archivos en el directorio de instalación.
- Días de rotación de logs
- Especifica cuántos días conservar logs antes de eliminarlos del sistema local.
- Verbosidad del registro
- Especifica la verbosidad de la consola y el registro de archivos para el el worker de localización privada Synthetics.
Haz clic en Next (Siguiente) y en Install (Instalar) para iniciar el proceso de instalación.
Una vez completado el proceso, haz clic en Finish (Finalizar) en la página de finalización de la instalación.
Si introdujiste tu configuración JSON, el servicio de Windows comienza a ejecutarse utilizando esa configuración. Si no introdujiste tu configuración JSON, ejecuta C:\\Program Files\Datadog-Synthetics\Synthetics\synthetics-pl-worker.exe --config=< PathToYourConfiguration >
desde un símbolo del sistema o utilice el acceso directo del menú de inicio para iniciar el worker de localización privada Synthetics.
Descarga el archivo datadog-synthetics-worker-1.49.0.amd64.msi
y ejecútalo desde la máquina en la que quieres instalar la localización privada.
Ejecuta uno de los siguientes comandos dentro del directorio en el que descargaste el instalador.
Se pueden añadir parámetros adicionales:
Parámetro opcional | Definición | Valor | Valor por defecto | Tipo |
---|
APPLYDEFAULTFIREWALLRULES | Aplica las reglas de firewall necesarias para el programa. | 1 | N/A | 0: Deshabilitado 1: Habilitado |
APPLYFIREWALLDEFAULTBLOCKRULES | Bloquea las direcciones IP reservadas para cada navegador que tengas instalado (Chrome, Edge y Firefox). El bloqueo de conexiones loopback no es posible en Windows Firewall. | 0 | N/A | 0: Deshabilitado 1: Habilitado |
LOGGING_ENABLED | Cuando se habilita, se configura el registro de archivos. Estos logs se almacenan en el directorio de instalación en la carpeta de logs. | 0 | --enableFileLogging | 0: Deshabilitado 1: Habilitado |
LOGGING_VERBOSITY | Configura la verbosidad del registro para el programa. Esto afecta a la consola y a los logs de archivo. | Esto afecta a la consola y a los logs de archivo. | -vvv | -v : Error
-vvv : Advertencia-vvvv : Informaciónvvvv : Depurar |
LOGGING_MAXDAYS | Número de días para conservar logs de archivo en el sistema antes de eliminarlos. Puede ser cualquier número cuando se ejecuta una instalación desatendida. | 7 | --logFileMaxDays | Entero |
WORKERCONFIG_FILEPATH | Debe cambiarse por la ruta a tu archivo de configuración JSON del worker de localización privada Synthetics. Escriba esta ruta entre comillas, si la ruta contiene espacios. | | --config | Cadena |
Configurar sondeos de ejecución y preparación
Añade un sondeo de ejecución o preparación para que tu orquestador pueda garantizar el correcto funcionamiento de los workers.
Para los sondeos de preparación, debes habilitar sondeos de estado de localización privada en el puerto 8080
en tu implementación de localización privada. Para obtener más información, consulta Configuración de localizaciones privadas.
healthcheck:
retries: 3
test: [
"CMD", "wget", "-O", "/dev/null", "-q", "http://localhost:8080/liveness"
]
timeout: 2s
interval: 10s
start_period: 30s
livenessProbe:
httpGet:
path: /liveness
port: 8080
initialDelaySeconds: 30
periodSeconds: 10
timeoutSeconds: 2
readinessProbe:
initialDelaySeconds: 30
periodSeconds: 10
timeoutSeconds: 2
httpGet:
path: /readiness
port: 8080
livenessProbe:
httpGet:
path: /liveness
port: 8080
initialDelaySeconds: 30
periodSeconds: 10
timeoutSeconds: 2
readinessProbe:
initialDelaySeconds: 30
periodSeconds: 10
timeoutSeconds: 2
httpGet:
path: /readiness
port: 8080
"healthCheck": {
"retries": 3,
"command": [
"CMD-SHELL", "/usr/bin/wget", "-O", "/dev/null", "-q", "http://localhost:8080/liveness"
],
"timeout": 2,
"interval": 10,
"startPeriod": 30
}
"healthCheck": {
"retries": 3,
"command": [
"CMD-SHELL", "wget -O /dev/null -q http://localhost:8080/liveness || exit 1"
],
"timeout": 2,
"interval": 10,
"startPeriod": 30
}
livenessProbe:
httpGet:
path: /liveness
port: 8080
initialDelaySeconds: 30
periodSeconds: 10
timeoutSeconds: 2
readinessProbe:
initialDelaySeconds: 30
periodSeconds: 10
timeoutSeconds: 2
httpGet:
path: /readiness
port: 8080
Configuraciones de checks de estado adicionales
Este método de añadir checks de estado de localizaciones privadas ya no es compatible. Datadog recomienda utilizar sondeos de ejecución y preparación.
El archivo /tmp/liveness.date
de contenedores de localización privada se actualiza después de cada análisis que se realiza correctamente desde Datadog (por defecto, 2s). Se considera que el estado del contenedor no es adecuado si ha pasado tiempo sin realizar ningún análisis, por ejemplo: sin recuperación en el último minuto.
Utiliza la siguiente configuración para configurar checks de estado en tus contenedores con el livenessProbe
:
healthcheck:
retries: 3
test: [
"CMD", "/bin/sh", "-c", "'[ $$(expr $$(cat /tmp/liveness.date) + 300000) -gt $$(date +%s%3N) ]'"
]
timeout: 2s
interval: 10s
start_period: 30s
livenessProbe:
exec:
command:
- /bin/sh
- -c
- '[ $(expr $(cat /tmp/liveness.date) + 300000) -gt $(date +%s%3N) ]'
initialDelaySeconds: 30
periodSeconds: 10
timeoutSeconds: 2
failureThreshold: 3
livenessProbe:
exec:
command:
- /bin/sh
- -c
- '[ $(expr $(cat /tmp/liveness.date) + 300000) -gt $(date +%s%3N) ]'
initialDelaySeconds: 30
periodSeconds: 10
timeoutSeconds: 2
failureThreshold: 3
"healthCheck": {
"retries": 3,
"command": [
"CMD-SHELL", "/bin/sh -c '[ $(expr $(cat /tmp/liveness.date) + 300000) -gt $(date +%s%3N) ]'"
],
"timeout": 2,
"interval": 10,
"startPeriod": 30
}
"healthCheck": {
"retries": 3,
"command": [
"CMD-SHELL", "/bin/sh -c '[ $(expr $(cat /tmp/liveness.date) + 300000) -gt $(date +%s%3N) ]'"
],
"timeout": 2,
"interval": 10,
"startPeriod": 30
}
livenessProbe:
exec:
command:
- /bin/sh
- -c
- '[ $(expr $(cat /tmp/liveness.date) + 300000) -gt $(date +%s%3N) ]'
initialDelaySeconds: 30
periodSeconds: 10
timeoutSeconds: 2
failureThreshold: 3
Actualizar una imagen de localización privada
Para actualizar una localización privada existente, haga clic en el icono del engranaje del panel lateral de la localización privada y haz clic en Installation instructions (Instrucciones de instalación).
Luego, ejecuta el comando de configuración basado en tu entorno
para obtener la última versión de la imagen de la localización privada.
Nota: Si estás utilizando docker run
para iniciar la imagen de tu localización privada y ya has instalado la imagen de la localización privada utilizando la etiqueta (tag) latest
, asegúrate de añadir --pull=always
al comando docker run
para asegurarte de que se extraiga la última versión, en lugar de depender de la versión en caché de la imagen que pueda existir localmente con la misma etiqueta latest
.
Realizar un test de tu endpoint interno
Una vez que al menos un worker de localización privada comienza a informar a Datadog, el estado de la localización privada aparece en verde.
Puedes ver el estado de REPORTING
y el estado de un monitor asociado mostrados en la lista de localizaciones privadas lista en la página Parámetros.
Empieza realizando un test de tu primer endpoint interno ejecutando un test rápido en uno de tus endpoints internos para ver si obtienes la respuesta esperada:
Nota: Datadog sólo transmite tráfico saliente desde tu localización privada, pero no transmite tráfico entrante.
Iniciar tests Synthetic desde tu localización privada
Crea un test de API, de API de varios pasos o de navegador y selecciona tus Localizaciones privadas elegidas.
Utiliza localizaciones privadas de la misma forma que utilizas tus localizaciones gestionadas de Datadog: asigna tests Synthetic a localizaciones privadas, visualiza resultados de test, obtén métricas de Synthetic, etc.
Escalar tu localización privada
Dado que puedes ejecutar varios workers para una única localización privada con un único archivo de configuración, puedes escalar horizontalmente tus localizaciones privadas añadiéndoles o quitándoles workers. Al hacerlo, asegúrate de configurar un parámetro concurrency
y asignar recursos de worker que correspondan a los tipos y número de tests que quieres que ejecute tu localización privada.
También puedes escalar verticalmente tus localizaciones privadas aumentando la carga que tus workers de localización privada pueden manejar. Del mismo modo, debes utilizar el parámetro concurrency
para ajustar el número máximo de tests que tus workers pueden ejecutar y actualizar los recursos asignados a tus workers.
Para obtener más información, consulta Dimensionar tus localizaciones privadas.
Para utilizar localizaciones privadas para tests continuos, define un valor en el parámetro concurrency
para controlar tu paralelización. Para obtener más información, consulta Tests continuos.
Monitorizar tu localización privada
Mientras añades inicialmente recursos que se ajustan al número y tipo de tests que se van a ejecutar desde tu localización privada, la forma más sencilla de saber si vas a tener que reducir o ampliar la escala de tu localización privada es monitorizarlos con detalle. En Monitorización de localizaciones privadas encontrarás información sobre el rendimiento y estado de tu localización privada, además de métricas y monitores predefinidos.
Para obtener más información, consulta Monitorización de localizaciones privadas.
Permisos
De forma predeterminada, sólo los usuarios que tienen el rol de administrador de Datadog pueden crear localizaciones privadas, eliminarlas y acceder a directrices para instalarlas.
Los usuarios que tienen el rol de administrador de Datadog y el rol estándar de Datadog pueden visualizar localizaciones privadas, buscarlas y asignarles tests Synthetic. Para conceder acceso a la página Localizaciones privadas, actualiza tu usuario a uno de estos dos roles predeterminados.
Si utilizas la función de rol personalizado, añade tu usuario a un rol personalizado que incluya los permisos synthetics_private_location_read
y synthetics_private_location_write
.
Referencias adicionales
Más enlaces, artículos y documentación útiles: