Versión de la integración3.3.0
Este check monitoriza Argo CD a través del Datadog Agent.
Configuración
Instalación
El check de Argo CD está incluido en el paquete del Datadog Agent. No se necesita ninguna instalación adicional en tu servidor.
Note: Este check requiere el Agent v7.42.0 o posterior.
Configuración
Argo CD expone métricas con formato Prometheus en tres de sus componentes:
- Controlador de aplicaciones
- Servidor API
- Servidor de repositorio
El Datadog Agent puede recopilar las métricas expuestas utilizando esta integración. Sigue las instrucciones siguientes para configurar la recopilación de datos de cualquiera de los componentes o de todos ellos.
Nota: Este check utiliza OpenMetrics para la recopilación de métricas, lo que requiere Python v3.
En contenedores
Recopilación de métricas
Asegúrate de que las métricas con formato Prometheus están expuestas en tu clúster CD Argo. Esto está activado por defecto, si se utilizan los manifiestos predeterminados de CD Argo. Para que el Agent reúna todas las métricas, es necesario anotar cada uno de los tres componentes mencionados. Para obtener más información sobre las anotaciones, consulta las plantillas de la integración Autodiscovery como guía. Si consultas el argocd.d/conf.yaml de ejemplo, podrás ver otras opciones de configuración.
Hay casos de uso en los que las aplicaciones CD Argo contienen etiquetas (labels) que deben exponerse como métricas de Prometheus. Estas etiquetas (labels) están disponibles utilizando la métrica argocd_app_labels
, que está desactivada en el controlador de aplicaciones de forma predeterminada. Para ver instrucciones sobre cómo activarla, consulta la documentación de ArgoCD.
Ejemplo de configuraciones:
Controlador de aplicaciones:
apiVersion: v1
kind: Pod
# (...)
metadata:
name: '<POD_NAME>'
annotations:
ad.datadoghq.com/argocd-application-controller.checks: |
{
"argocd": {
"init_config": {},
"instances": [
{
"app_controller_endpoint": "http://%%host%%:8082/metrics"
}
]
}
}
# (...)
spec:
containers:
- name: 'argocd-application-controller'
# (...)
Servidor API:
apiVersion: v1
kind: Pod
# (...)
metadata:
name: '<POD_NAME>'
annotations:
ad.datadoghq.com/argocd-server.checks: |
{
"argocd": {
"init_config": {},
"instances": [
{
"api_server_endpoint": "http://%%host%%:8083/metrics"
}
]
}
}
# (...)
spec:
containers:
- name: 'argocd-server'
# (...)
Servidor de repositorio:
apiVersion: v1
kind: Pod
# (...)
metadata:
name: '<POD_NAME>'
annotations:
ad.datadoghq.com/argocd-repo-server.checks: |
{
"argocd": {
"init_config": {},
"instances": [
{
"repo_server_endpoint": "http://%%host%%:8084/metrics"
}
]
}
}
# (...)
spec:
containers:
- name: 'argocd-repo-server'
# (...)
Nota: Para consultar la lista completa de endpoints compatibles, consulta el archivo conf.yaml de ejemplo.
Solucionar problemas
Nombres de etiqueta (tag) en conflicto:
La integración Argo CD adjunta un nombre de etiqueta (tag) derivado de la etiqueta (label) del nombre de la aplicación OpenMetrics, cuando está disponible. En algunas ocasiones, esto puede provocar problemas con las consultas, si un nombre de etiqueta (tag) ya está asociado a un host, como se ve en el ejemplo name: host_a, app_a
. Para evitar comportamientos no deseados durante la consulta, es aconsejable reasignar el nombre de la etiqueta (label) a algo más exclusivo, como argocd_app_name
, si el host ya tiene un nombre de etiqueta (tag). A continuación se muestra un ejemplo de configuración:
Controlador de aplicaciones:
apiVersion: v1
kind: Pod
# (...)
metadata:
name: '<POD_NAME>'
annotations:
ad.datadoghq.com/argocd-application-controller.checks: |
{
"argocd": {
"init_config": {},
"instances": [
{
"app_controller_endpoint": "http://%%host%%:8082/metrics",
"rename_labels": {
"name": "argocd_app_name"
}
}
]
}
}
# (...)
spec:
containers:
- name: 'argocd-application-controller'
# (...)
Recopilación de logs
Disponible para la versión 6.0 o posteriores del Agent
Los logs de Argo CD pueden recopilarse de los diferentes pods de Argo CD a través de Kubernetes. La recopilación de logs está desactivada por defecto en el Datadog Agent. Para habilitarla, consulta la recopilación de logs de Kubernetes.
Consulta las plantillas de integración de Autodiscovery para obtener orientación sobre la aplicación de los parámetros que se indican a continuación.
Parámetro | Valor |
---|
<LOG_CONFIG> | {"source": "argocd", "service": "<SERVICE_NAME>"} |
Validación
Ejecuta el subcomando de estado del Agent y busca argocd
en la sección Checks.
Datos recopilados
Métricas
Eventos
La integración Argo CD no incluye eventos.
Checks de servicio
Solucionar problemas
¿Necesitas ayuda? Contacta con el equipo de asistencia de Datadog.
Referencias adicionales
Más enlaces, artículos y documentación útiles: