Versión de la integración4.1.0
Este check monitoriza a Calico a través del Datadog Agent.
El check de Calico envía métricas sobre la red y la seguridad en un clúster de Kubernetes establecido con Calico.
Configuración
Instalación
El check de Calico está incluido en el paquete del Datadog Agent.
Instalación con un Agent basado en clústeres de Kubernetes
Uso de anotaciones:
Configura Calico en tu clúster.
Habilita las métricas de Prometheus siguiendo las instrucciones en Monitorizar las métricas del componente de Calico.
Una vez habilitado, deberías tener un servicio felix-metrics-svc
funcionando en tu clúster, así como un prometheus-pod
.
Para utilizar Autodiscovery, modifica prometheus-pod
. Añade el siguiente fragmento a tu archivo de configuración YAML de Prometheus:
metadata:
[...]
annotations:
ad.datadoghq.com/prometheus-pod.check_names: |
["openmetrics"]
ad.datadoghq.com/prometheus-pod.init_configs: |
[{}]
ad.datadoghq.com/prometheus-pod.instances: |
[
{
"prometheus_url": "http://<FELIX-SERVICE-IP>:<FELIX-SERVICE-PORT>/metrics",
"namespace": "calico",
"metrics": ["*"]
}
]
spec:
[....]
Puedes encontrar los valores de <FELIX-SERVICE-IP>
y <FELIX-SERVICE-PORT>
ejecutando kubectl get all -all-namespaces
.
Instalación con un Agent basado en un sistema operativo
Sigue las instrucciones en Monitorizar las métricas del componente de Calico hasta que tengas un servicio felix-metrics-svc
funcionando con kubectl get all --all-namespaces
.
Si utilizas minikube, debes redirigir el puerto 9091 a felix-metrics-svc
.
Ejecuta kubectl port-forward service/felix-metrics-svc 9091:9091 -n kube-system
.
Si no estás utilizando minikube, comprueba que felix-metrics-svc
tenga una IP externa. Si el servicio no tiene una IP externa, utiliza kubectl edit svc
para cambiar su tipo de ClusterIP
a LoadBalancer
.
Configuración
Sigue las instrucciones para configurar este check para un Agent que se ejecuta en un host. Para entornos en contenedores, consulta la sección Contenedores.
Host
Para configurar este check para un Agent que se ejecuta en un host:
Edita el archivo calico.d/conf.yaml
en la carpeta conf.d/
en la raíz de tu directorio de configuración del Agent para comenzar a recopilar tus datos de rendimiento de Calico.
El único parámetro obligatorio es la URL openmetrics_endpoint
. Consulta el calico.d/conf.yaml de ejemplo para ver todas las opciones disponibles de configuración.
Si utilizas minikube, utiliza ‘http://localhost:9091/métricas’ como URL de openmetrics_endpoint
.
Si no utilizas minikube, utiliza http://<FELIX-METRICS-SVC-EXTERNAL-IP>:<PORT>/metrics
como URL de openmetrics_endpoint
.
Reinicia el Agent.
Recopilación de métricas
La configuración predeterminada de tu archivo calico.d/conf.yaml
activa la recopilación de tus métricas de Calico. Ve el calico.d/conf.yaml de ejemplo para todas las opciones disponibles de configuración.
Reinicia el Agent.
Recopilación de logs
Dado que la estructura de Calico se configura en un clúster de Kubernetes, se crea con despliegues, pods y servicios. La integración de Kubernetes obtiene logs de los contenedores.
Después de configurar la integración de Kubernetes, los logs de Calico estarán disponible en el Datadog Log Explorer.
La recopilación de logs está desactivada por defecto en el Datadog Agent. Actívala en tu archivo datadog.yaml
:
Contenedores
Para entornos en contenedores, 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.
Recopilación de métricas
Parámetro | Valor |
---|
<INTEGRATION_NAME> | calico |
<INIT_CONFIG> | en blanco o {} |
<INSTANCE_CONFIG> | {openmetrics_endpoint: <OPENMETRICS_ENDPOINT>} |
Recopilación de logs
La recopilación de logs está desactivada por defecto en el Datadog Agent. Para activarla, consulta Recopilación de logs de Kubernetes.
Parámetro | Valor |
---|
<LOG_CONFIG> | {"source": "calico", "service": "<SERVICE_NAME>"} |
Validación
Ejecuta el subcomando de estado del Agent y busca calico
en la sección de Checks.
Métricas
calico.felix.active.local_endpoints (gauge) | Number of active endpoints on this host |
calico.felix.active.local_policies (gauge) | Number of policies on this host |
calico.felix.active.local_selectors (gauge) | Number of active selectors on this host |
calico.felix.active.local_tags (gauge) | Number of active tags on this host [versions < Calico v3.23] |
calico.felix.cluster.num_host_endpoints (gauge) | Total number of host endpoints cluster-wide |
calico.felix.cluster.num_hosts (gauge) | Total number of Calico hosts in the cluster |
calico.felix.cluster.num_workload_endpoints (gauge) | Total number of workload endpoints cluster-wide |
calico.felix.int_dataplane_failures.count (count) | Number of dataplane failures. |
calico.felix.ipset.calls.count (count) | Number of ipset commands executed |
calico.felix.ipset.errors.count (count) | Number of ipset command failures |
calico.felix.ipsets.calico (gauge) | Number of active Calico IP sets. |
calico.felix.ipsets.total (gauge) | Total number of active IP sets. |
calico.felix.iptables.chains (gauge) | Number of active iptables chains. |
calico.felix.iptables.restore_calls.count (count) | Number of iptables-restore calls. |
calico.felix.iptables.restore_errors.count (count) | Number of iptables-restore errors. |
calico.felix.iptables.rules (gauge) | Number of active iptables rules. |
calico.felix.iptables.save_calls.count (count) | Number of iptables-save calls. |
calico.felix.iptables.save_errors.count (count) | Number of iptables-save errors. |
Eventos
La integración de Calico no incluye ningún evento.
Checks de servicio
Solucionar problemas
¿Necesitas ayuda? Ponte en contacto con el servicio de asistencia de Datadog.
Referencias adicionales
Más enlaces, artículos y documentación útiles: