Supported OS Linux Windows Mac OS

Versión de la integración4.1.0

Información general

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:

  1. Configura Calico en tu clúster.

  2. 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.

  3. 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

  1. 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.

  2. 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:

  1. 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.

  2. 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.

  3. Reinicia el Agent.

Recopilación de métricas
  1. 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.

  2. 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:

logs_enabled: true

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ámetroValor
<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ámetroValor
<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:

PREVIEWING: dgreen15/github-error-fix