Configuración de recopiladores administrados para Amazon EKS
Para utilizar un recopilador de Amazon Managed Service para Prometheus, cree un scraper que detecte y extraiga las métricas del clúster de Amazon EKS. También puede crear un scraper que se integre con Amazon Managed Streaming para Apache Kafka. Para obtener más información, consulte Integración de Amazon MSK.
-
Es posible crear un raspador como parte de la creación del clúster de Amazon EKS. Para obtener más información sobre la creación de un clúster de Amazon EKS, incluida la creación de un raspador, consulte Creación de un clúster de Amazon EKS en la Guía del usuario de Amazon EKS.
-
Puede crear su propio raspador mediante programación con la API de AWS o mediante la AWS CLI.
Un recopilador de Amazon Managed Service para Prometheus recopila métricas que son compatibles con Prometheus. Para obtener más información acerca de las métricas compatibles con Prometheus, consulte ¿Cuáles son las métricas compatibles con Prometheus?. Los clústeres de Amazon EKS exponen las métricas del servidor de API. Los clústeres de Amazon EKS de la versión 1.28 y posteriores de Kubernetes también exponen métricas para el kube-scheduler y el kube-controller-manager. Para obtener más información, consulte Obtención de métricas sin procesar del plano de control en formato Prometheus en la Guía del usuario de Amazon EKS.
nota
El análisis de las métricas de un clúster puede conllevar gastos por el uso de la red. Una forma de optimizar estos costos consiste en configurar el punto de conexión /metrics para que comprima las métricas proporcionadas (por ejemplo, con gzip), con lo que se reducen los datos que deben transferirse a través de la red. La forma de hacerlo depende de la aplicación o la biblioteca que proporcione las métricas. En algunas bibliotecas se usa gzip de forma predeterminada.
En los temas siguientes se describe cómo crear, administrar y configurar raspadores.
Temas
Crear un raspador
Un recopilador de Amazon Managed Service para Prometheus consta de un raspador que descubre y recopila métricas de un clúster de Amazon EKS. Amazon Managed Service para Prometheus gestiona el raspador por usted y le brinda la escalabilidad, la seguridad y la fiabilidad que necesita, sin tener que gestionar usted mismo ninguna instancia, agente o raspador.
Existen tres formas de crear un scraper:
-
Al crear un clúster de Amazon EKS a través de la consola de Amazon EKS y activar las métricas de Prometheus, se crea automáticamente un scraper.
-
Es posible crear un scraper desde la consola de Amazon EKS para un clúster existente. Abra el clúster en la consola de Amazon EKS
y, a continuación, en la pestaña Observabilidad, elija Agregar scraper. Para obtener más información sobre los ajustes disponibles, consulte Activación de métricas de Prometheus en la Guía del usuario de Amazon EKS.
-
Puede crear un scraper mediante la API o la AWS CLI de AWS.
Estas opciones se explican en el procedimiento siguiente.
Existen algunos requisitos previos para crear su propio raspador:
-
Debe haber creado un clúster de Amazon EKS.
-
Su clúster de Amazon EKS debe tener configurado el control de acceso al punto de conexión del clúster para incluir el acceso privado. Puede incluir el privado y el público, pero debe incluir el privado.
-
La Amazon VPC en la que reside el clúster de Amazon EKS debe tener el DNS habilitado.
nota
El clúster se asociará al analizador por el nombre de recurso de Amazon (ARN). Si elimina un clúster y, a continuación, crea uno nuevo con el mismo nombre, el ARN se reutilizará para el nuevo clúster. Por este motivo, el analizador intentará recopilar métricas para el nuevo clúster. Elimine los analizadores aparte de la eliminación del clúster.
A continuación se muestra una lista completa de las operaciones del raspador que puede usar con la API de AWS:
-
Crear un analizador con la operación de la API CreateScraper.
-
Enumerar los analizadores existentes con la operación de la API ListScrapers.
-
Actualice el alias, la configuración o el destino de un scraper con la operación de la API UpdateScraper.
-
Eliminar un analizador con la operación de la API DeleteScraper.
-
Obtener más detalles sobre un analizador con la operación de la API DescribeScraper.
-
Obtener una configuración de uso general para los analizadores con la operación de la API GetDefaultScraperConfiguration.
nota
El clúster de Amazon EKS que está recopilando debe estar configurado para permitir que Amazon Managed Service para Prometheus acceda a las métricas. En el siguiente tema se describe cómo configurar el clúster.
Configuración entre cuentas
Para crear un scraper entre cuentas cuando el clúster de Amazon EKS y el espacio de trabajo de Amazon Managed Service para Prometheus estén en cuentas diferentes, siga el procedimiento que se indica a continuación. Por ejemplo, tiene una cuenta de origen account_id_source que contiene el clúster de Amazon EKS y una cuenta de destino account_id_target que contiene el espacio de trabajo de Amazon Managed Service para Prometheus.
Para crear un scraper en una configuración entre cuentas
-
En la cuenta de origen, cree un rol
arn:aws:iam::y agregue la siguiente política de confianza.account_id_source:role/Source{ "Effect": "Allow", "Principal": { "Service": [ "scraper.aps.amazonaws.com" ] }, "Action": "sts:AssumeRole", "Condition": { "ArnEquals": { "aws:SourceArn": "scraper_ARN" }, "StringEquals": { "AWS:SourceAccount": "account_id" } } } -
En cada combinación de origen (clúster de Amazon EKS) y de destino (Amazon Managed Service para Prometheus Workspace), debe crear un rol
arn:aws:iam::y agregar la siguiente política de confianza con permisos para AmazonPrometheusRemoteWriteAccess.account_id_target:role/Target{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account_id_source:role/Source" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:ExternalId": "scraper_ARN" } } } -
Cree un scraper con la opción
--role-configuration.aws amp create-scraper \ --source eksConfiguration="{clusterArn='arn:aws:eks:us-west-2:account-id_source:cluster/xarw,subnetIds=[subnet-subnet-id]}" \ --scrape-configuration configurationBlob=<base64-encoded-blob>\ --destination ampConfiguration="{workspaceArn='arn:aws:aps:us-west-2:account-id_target:workspace/ws-workspace-id'}"\ --role-configuration '{"sourceRoleArn":"arn:aws:iam::account-id_source:role/Source", "targetRoleArn":"arn:aws:iam::account-id_target:role/Target"}' -
Valide la creación del scraper.
aws amp list-scrapers { "scrapers": [ { "scraperId": "scraper-id", "arn": "arn:aws:aps:us-west-2:account_id_source:scraper/scraper-id", "roleArn": "arn:aws:iam::account_id_source:role/aws-service-role/scraper.aps.amazonaws.com/AWSServiceRoleForAmazonPrometheusScraperInternal_cc319052-41a3-4", "status": { "statusCode": "ACTIVE" }, "createdAt": "2024-10-29T16:37:58.789000+00:00", "lastModifiedAt": "2024-10-29T16:55:17.085000+00:00", "tags": {}, "source": { "eksConfiguration": { "clusterArn": "arn:aws:eks:us-west-2:account_id_source:cluster/xarw", "securityGroupIds": [ "sg-security-group-id", "sg-security-group-id" ], "subnetIds": [ "subnet-subnet_id" ] } }, "destination": { "ampConfiguration": { "workspaceArn": "arn:aws:aps:us-west-2:account_id_target:workspace/ws-workspace-id" } } } ] }
Cambio entre un rol RoleConfiguration y un rol vinculado al servicio
Si quiere volver a un rol vinculado al servicio en lugar del rol RoleConfiguration para escribir en un espacio de trabajo de Amazon Managed Service para Prometheus, debe actualizar UpdateScraper y proporcionar un espacio de trabajo en la misma cuenta que el scraper sin el rol RoleConfiguration. El rol RoleConfiguration se eliminará del scraper y se utilizará el rol vinculado al servicio.
Si cambia de espacio de trabajo en la misma cuenta que el scraper y quiere seguir utilizando el rol RoleConfiguration, debe volver a proporcionar el RoleConfiguration en UpdateScraper.
Creación de un scraper para espacios de trabajo habilitados con claves administradas por el cliente
Para crear un scraper para incorporar métricas a un espacio de trabajo de Amazon Managed Service para Prometheus con claves administradas por el cliente, utiliza el rol --role-configuration con el origen y el destino configurados en la misma cuenta.
aws amp create-scraper \ --source eksConfiguration="{clusterArn='arn:aws:eks:us-west-2:account-id:cluster/xarw,subnetIds=[subnet-subnet_id]}" \ --scrape-configuration configurationBlob=<base64-encoded-blob>\ --destination ampConfiguration="{workspaceArn='arn:aws:aps:us-west-2:account-id:workspace/ws-workspace-id'}"\ --role-configuration '{"sourceRoleArn":"arn:aws:iam::account_id:role/Source", "targetRoleArn":"arn:aws:iam::account_id:role/Target"}'
Errores comunes al crear analizadores
Los siguientes son los problemas más comunes al intentar crear un analizador nuevo.
-
Los recursos de AWS necesarios no existen. El grupo de seguridad, las subredes y el clúster de Amazon EKS especificados deben existir.
-
Espacio de direcciones IP insuficiente. Debe tener al menos una dirección IP disponible en cada subred que pase a la API
CreateScraper.
Configuración del clúster de Amazon EKS
Su clúster de Amazon EKS debe estar configurado para permitir que el raspador acceda a las métricas. Hay dos opciones para esta configuración:
-
Usar las entradas de acceso de Amazon EKS para proporcionar acceso al clúster a los recopiladores de Amazon Managed Service para Prometheus de forma automática.
-
Configurar el clúster de Amazon EKS de forma manual para el analizador de métricas administrado.
En los siguientes tema, se describe cada una de estas opciones de manera más detallada.
Configuración Amazon EKS para el acceso del analizador con entradas de acceso
Utilizar entradas de acceso para Amazon EKS es la forma más fácil de conceder acceso a Amazon Managed Service para Prometheus a fin de analizar métricas del clúster.
El clúster de Amazon EKS que está analizando debe estar configurado para permitir la autenticación de API. El modo de autenticación del clúster se debe establecer a API o API_AND_CONFIG_MAP. Se puede ver en la consola de Amazon EKS, en la pestaña Configuración de acceso de los detalles del clúster. Para obtener más información, consulte Cómo permitir que los roles o los usuarios de IAM accedan al objeto de Kubernetes en el clúster de Amazon EKS en la Guía del usuario de Amazon EKS.
Puede crear el analizador al crear el clúster o después de crearlo:
-
Al crear un clúster: puede configurar este acceso al crear un clúster de Amazon EKS a través de la consola de Amazon EKS (siga las instrucciones para crear un analizador como parte del clúster) y se creará de forma automática una política de entrada de acceso que permitirá a Amazon Managed Service para Prometheus acceder a las métricas del clúster.
-
Al agregarlo después de crear un clúster: si el clúster de Amazon EKS ya existe, establezca el modo de autenticación en
APIoAPI_AND_CONFIG_MAP; de este modo, los scrapers que cree a través de la API o la CLI de Amazon Managed Service para Prometheus o a través de la consola de Amazon EKS tendrán creada de forma automática la política de entrada de acceso correcta para usted y los scrapers tendrán acceso al clúster.
Creación de la política de acceso y entrada
Cuando crea un analizador y deja que Amazon Managed Service para Prometheus genere una política de entrada de acceso para usted, genera la siguiente política. Para obtener más información sobre las entradas de acceso, consulte Cómo permitir que los roles o los usuarios de IAM accedan a Kubernetes en la Guía del usuario de Amazon EKS.
{ "rules": [ { "effect": "allow", "apiGroups": [ "" ], "resources": [ "nodes", "nodes/proxy", "nodes/metrics", "services", "endpoints", "pods", "ingresses", "configmaps" ], "verbs": [ "get", "list", "watch" ] }, { "effect": "allow", "apiGroups": [ "extensions", "networking.k8s.io" ], "resources": [ "ingresses/status", "ingresses" ], "verbs": [ "get", "list", "watch" ] }, { "effect": "allow", "apiGroups": [ "metrics.eks.amazonaws.com" ], "resources": [ "kcm/metrics", "ksh/metrics" ], "verbs": [ "get" ] }, { "effect": "allow", "nonResourceURLs": [ "/metrics" ], "verbs": [ "get" ] } ] }
Configuración manual de Amazon EKS para el acceso de los analizadores
Si prefiere usar aws-auth ConfigMap para controlar el acceso al clúster de Kubernetes, puede seguir concediendo acceso a las métricas a los analizadores de Amazon Managed Service para Prometheus. Con los siguientes pasos se concede acceso a Amazon Managed Service para Prometheus con el fin de analizar métricas del clúster de Amazon EKS.
nota
Para obtener más información sobre ConfigMap y las entradas de acceso, consulte Cómo permitir que los roles o los usuarios de IAM accedan a Kubernetes en la Guía del usuario de Amazon EKS.
Este procedimiento utiliza kubectl y la CLI de AWS. Para obtener más información sobre la instalación de kubectl, consulte Instalación de kubectl en la Guía del usuario de Amazon EKS.
Configuración manual del clúster de Amazon EKS para el análisis de métricas administrado
-
Cree un archivo denominado
clusterrole-binding.ymlcon el siguiente contenido:apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: aps-collector-role rules: - apiGroups: [""] resources: ["nodes", "nodes/proxy", "nodes/metrics", "services", "endpoints", "pods", "ingresses", "configmaps"] verbs: ["describe", "get", "list", "watch"] - apiGroups: ["extensions", "networking.k8s.io"] resources: ["ingresses/status", "ingresses"] verbs: ["describe", "get", "list", "watch"] - nonResourceURLs: ["/metrics"] verbs: ["get"] - apiGroups: ["metrics.eks.amazonaws.com"] resources: ["kcm/metrics", "ksh/metrics"] verbs: ["get"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: aps-collector-user-role-binding subjects: - kind: User name: aps-collector-user apiGroup: rbac.authorization.k8s.io roleRef: kind: ClusterRole name: aps-collector-role apiGroup: rbac.authorization.k8s.io -
Ejecute el siguiente comando para comprobar en el clúster:
kubectl apply -f clusterrole-binding.ymlEsto creará el enlace y la regla del rol del clúster. En este ejemplo se utiliza
aps-collector-rolecomo el nombre de rol yaps-collector-usercomo el nombre de clave. -
El siguiente comando proporciona información sobre el raspador con el ID
scraper-id. Este es el raspador que creó con el comando de la sección anterior.aws amp describe-scraper --scraper-idscraper-id -
En los resultados de
describe-scraper, busqueroleArn. Este tendrá el siguiente formato:arn:aws:iam::account-id:role/aws-service-role/scraper.aps.amazonaws.com/AWSServiceRoleForAmazonPrometheusScraper_unique-idAmazon EKS requiere un formato diferente para este ARN. Debe ajustar el formato del ARN devuelto para usarlo en el siguiente paso. Edítelo para que coincida con este formato:
arn:aws:iam::account-id:role/AWSServiceRoleForAmazonPrometheusScraper_unique-idPor ejemplo, este ARN:
arn:aws:iam::111122223333:role/aws-service-role/scraper.aps.amazonaws.com/AWSServiceRoleForAmazonPrometheusScraper_1234abcd-56ef-7Debe reescribirse como:
arn:aws:iam::111122223333:role/AWSServiceRoleForAmazonPrometheusScraper_1234abcd-56ef-7 -
Ejecute el siguiente comando en el clúster, utilizando el
roleArnmodificado del paso anterior, así como el nombre y la región del clúster:eksctl create iamidentitymapping --clustercluster-name--regionregion-id--arnroleArn--username aps-collector-userEsto permite que el raspador acceda al clúster mediante el rol y el usuario que creó en el archivo
clusterrole-binding.yml.
Buscar y eliminar raspadores
Puede usar la API de AWS o la AWS CLI para enumerar los raspadores de su cuenta o eliminarlos.
nota
Asegúrese de que utiliza la versión más reciente de la AWS CLI o del SDK. La última versión le proporciona las características y funcionalidades más recientes, así como actualizaciones de seguridad. Como alternativa, puede utilizar AWS CloudShell, que proporciona una experiencia de línea de comandos siempre actualizada de forma automática.
Para enumerar todos los analizadores de la cuenta, utilice la operación de la API ListScrapers.
Como alternativa, con la AWS CLI, llame a:
aws amp list-scrapers --regionaws-region
ListScrapers devuelve todos los raspadores de su cuenta, por ejemplo:
{ "scrapers": [ { "scraperId": "s-1234abcd-56ef-7890-abcd-1234ef567890", "arn": "arn:aws:aps:us-west-2:123456789012:scraper/s-1234abcd-56ef-7890-abcd-1234ef567890", "roleArn": "arn:aws:iam::123456789012:role/aws-service-role/AWSServiceRoleForAmazonPrometheusScraper_1234abcd-2931", "status": { "statusCode": "DELETING" }, "createdAt": "2023-10-12T15:22:19.014000-07:00", "lastModifiedAt": "2023-10-12T15:55:43.487000-07:00", "tags": {}, "source": { "eksConfiguration": { "clusterArn": "arn:aws:eks:us-west-2:123456789012:cluster/my-cluster", "securityGroupIds": [ "sg-1234abcd5678ef90" ], "subnetIds": [ "subnet-abcd1234ef567890", "subnet-1234abcd5678ab90" ] } }, "destination": { "ampConfiguration": { "workspaceArn": "arn:aws:aps:us-west-2:123456789012:workspace/ws-1234abcd-5678-ef90-ab12-cdef3456a78" } } } ] }
Para eliminar un analizador, busque scraperId correspondiente al analizador que desea eliminar mediante la operación ListScrapers y, a continuación, utilice la operación DeleteScraper para eliminarlo.
Como alternativa, con la AWS CLI, llame a:
aws amp delete-scraper --scraper-idscraperId
Configuración del raspador
Puede controlar la forma en que su raspador descubre y recopila las métricas con una configuración de raspador compatible con Prometheus. Por ejemplo, puede cambiar el intervalo en el que se envían las métricas al espacio de trabajo. También puede usar el reetiquetado para reescribir dinámicamente las etiquetas de una métrica. La configuración del raspador es un archivo YAML que forma parte de la definición del raspador.
Cuando se crea un nuevo raspador, se especifica una configuración proporcionando un archivo YAML codificado en base64 en la llamada a la API. Puede descargar un archivo de configuración de uso general con la operación GetDefaultScraperConfiguration en la API de Amazon Managed Service para Prometheus.
Para modificar la configuración de un scraper, puede utilizar la operación UpdateScraper. Si necesita actualizar el origen de las métricas (por ejemplo, a un clúster de Amazon EKS diferente), debe eliminar el scraper y volver a crearlo con la nueva fuente.
Configuración admitida
Para obtener información sobre el formato de configuración del analizador, incluido un desglose detallado de los valores posibles, consulte Configuración<scrape_config> describen las opciones que se necesitan con más frecuencia.
Dado que Amazon EKS es el único servicio admitido, la única configuración de detección de servicios (<*_sd_config>) que se admite es <kubernetes_sd_config>.
Lista completa de secciones de configuración permitidas:
-
<global> -
<scrape_config> -
<static_config> -
<relabel_config> -
<metric_relabel_configs> -
<kubernetes_sd_config>
Las limitaciones de estas secciones se enumeran después del archivo de configuración de muestra.
Archivo de configuración de muestra
A continuación se muestra un ejemplo de archivo de configuración de YAML con un intervalo de raspado de 30 segundos. Este ejemplo incluye soporte para las métricas del servidor de la API de kube, así como para las métricas de kube-controller-manager y kube-scheduler. Para obtener más información, consulte Obtención de métricas sin procesar del plano de control en formato Prometheus en la Guía del usuario de Amazon EKS.
global: scrape_interval: 30s external_labels: clusterArn: apiserver-test-2 scrape_configs: - job_name: pod_exporter kubernetes_sd_configs: - role: pod - job_name: cadvisor scheme: https authorization: type: Bearer credentials_file: /var/run/secrets/kubernetes.io/serviceaccount/token kubernetes_sd_configs: - role: node relabel_configs: - action: labelmap regex: __meta_kubernetes_node_label_(.+) - replacement: kubernetes.default.svc:443 target_label: __address__ - source_labels: [__meta_kubernetes_node_name] regex: (.+) target_label: __metrics_path__ replacement: /api/v1/nodes/$1/proxy/metrics/cadvisor # apiserver metrics - scheme: https authorization: type: Bearer credentials_file: /var/run/secrets/kubernetes.io/serviceaccount/token job_name: kubernetes-apiservers kubernetes_sd_configs: - role: endpoints relabel_configs: - action: keep regex: default;kubernetes;https source_labels: - __meta_kubernetes_namespace - __meta_kubernetes_service_name - __meta_kubernetes_endpoint_port_name # kube proxy metrics - job_name: kube-proxy honor_labels: true kubernetes_sd_configs: - role: pod relabel_configs: - action: keep source_labels: - __meta_kubernetes_namespace - __meta_kubernetes_pod_name separator: '/' regex: 'kube-system/kube-proxy.+' - source_labels: - __address__ action: replace target_label: __address__ regex: (.+?)(\\:\\d+)? replacement: $1:10249 # Scheduler metrics - job_name: 'ksh-metrics' kubernetes_sd_configs: - role: endpoints metrics_path: /apis/metrics.eks.amazonaws.com/v1/ksh/container/metrics scheme: https bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token relabel_configs: - source_labels: - __meta_kubernetes_namespace - __meta_kubernetes_service_name - __meta_kubernetes_endpoint_port_name action: keep regex: default;kubernetes;https # Controller Manager metrics - job_name: 'kcm-metrics' kubernetes_sd_configs: - role: endpoints metrics_path: /apis/metrics.eks.amazonaws.com/v1/kcm/container/metrics scheme: https bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token relabel_configs: - source_labels: - __meta_kubernetes_namespace - __meta_kubernetes_service_name - __meta_kubernetes_endpoint_port_name action: keep regex: default;kubernetes;https
Las siguientes limitaciones son específicas de los recopiladores administrados por AWS:
-
Intervalo de raspado: la configuración del raspador no puede especificar un intervalo de raspado inferior a 30 segundos.
-
Objetivos: los objetivos de
static_configdeben especificarse como direcciones IP. -
Resolución de DNS: en relación con el nombre de destino, el único nombre de servidor que se reconoce en esta configuración es el servidor de la API de Kubernetes,
kubernetes.default.svc. Los nombres de todas las demás máquinas deben especificarse mediante una dirección IP. -
Autorización: se omite si no se necesita autorización. Si es necesaria, la autorización debe ser
Bearery debe apuntar al archivo/var/run/secrets/kubernetes.io/serviceaccount/token. En otras palabras, si se utiliza, la sección de autorización debe tener el siguiente aspecto:authorization: type: Bearer credentials_file: /var/run/secrets/kubernetes.io/serviceaccount/tokennota
type: Beareres el valor predeterminado, por lo que se puede omitir.
Solución de problemas de configuración del raspador
Los recopiladores de Amazon Managed Service para Prometheus descubren y raspan métricas automáticamente. Pero, ¿cómo puede solucionar los problemas si no ve una métrica que esperaba ver en su espacio de trabajo de Amazon Managed Service para Prometheus?
importante
Compruebe que el acceso privado a su clúster de Amazon EKS esté habilitado. Para obtener más información, consulte Punto de conexión privado del clúster en la Guía del usuario de Amazon EKS.
La métrica up es una herramienta útil. Esta métrica se proporciona automáticamente para cada punto de conexión que descubre un recopilador de Amazon Managed Service para Prometheus. Hay tres estados de esta métrica que pueden ayudarte a solucionar los problemas que se producen en el recopilador.
-
upno está presente: si no hay ninguna métricauppara un punto de conexión, significa que el recopilador no ha podido encontrar el punto de conexión.Si tiene claro que el punto de conexión existe, hay varios motivos por los que es posible que el scraper no lo encuentre.
-
Es posible que necesite ajustar la configuración de análisis. Es posible que sea necesario ajustar
relabel_configen la detección. -
Podría haber un problema con el
roleutilizado para la detección. -
Es posible que la Amazon VPC utilizada por el clúster de Amazon EKS no tenga el DNS habilitado, lo que impediría que el scraper encuentre el punto de conexión.
-
-
upestá presente, pero siempre es 0: siupestá presente, pero es 0, el recopilador podrá detectar el punto de conexión, pero no podrá encontrar ninguna métrica compatible con Prometheus.En este caso, puede intentar utilizar un comando
curldirectamente según el punto de conexión. Puede validar que tiene los detalles correctos, por ejemplo, el protocolo (httpohttps), el punto de conexión o el puerto que está utilizando. También puede comprobar que el punto de conexión responde con una respuesta200válida y sigue el formato de Prometheus. Por último, el cuerpo de la respuesta no puede superar el tamaño máximo permitido. (Para conocer los límites de los recopiladores administrados por AWS, consulte la siguiente sección). -
upestá presente y es superior a 0: siupestá presente y es superior a 0, las métricas se envían a Amazon Managed Service para Prometheus.Valide que está buscando las métricas correctas en Amazon Managed Service para Prometheus (o en su panel alternativo, como Amazon Managed Grafana). Puede volver a usar curl para comprobar los datos esperados en su punto de conexión
/metrics. Compruebe también que no ha superado otros límites, como el número de puntos de conexión por raspador. Puede conocer el número de puntos de conexión de las métricas que se están analizando si consulta el recuento de métricasup, mediantecount(up).
Limitaciones del raspador
Los raspadores totalmente gestionados que ofrece Amazon Managed Service para Prometheus presentan pocas limitaciones.
-
Región: el clúster de EKS, el raspador administrado y el espacio de trabajo de Amazon Managed Service para Prometheus deben estar en la misma región de AWS.
-
Recopiladores: puede tener un máximo de 10 raspadores de Amazon Managed Service para Prometheus por región y cuenta.
nota
Puede solicitar un aumento de este límite solicitando un aumento de cuota
. -
Respuesta de métricas: el cuerpo de la respuesta de cualquier solicitud de punto de conexión
/metricsno puede tener más de 50 megabytes (MB). -
Puntos de conexión por raspador: un raspador puede raspar un máximo de 30 000 puntos de conexión
/metrics. -
Intervalo de raspado: la configuración del raspador no puede especificar un intervalo de raspado inferior a 30 segundos.