View a markdown version of this page

Configurar coletores Prometheus gerenciados para o Amazon Service OpenSearch - Amazon Managed Service for Prometheus

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Configurar coletores Prometheus gerenciados para o Amazon Service OpenSearch

O coletor gerenciado do Amazon Managed Service for Prometheus para Amazon OpenSearch Service coleta automaticamente as Prometheus-compatible métricas do seu domínio de OpenSearch serviço e as encaminha para o seu destino. O Amazon Managed Service for Prometheus gerencia o coletor para você, oferecendo a escalabilidade, a segurança e a confiabilidade de que você precisa, sem precisar gerenciar nenhuma instância, agente ou raspador sozinho. Seu destino pode ser um Amazon Managed Service for Prometheus Workspace ou Amazon. CloudWatch

Você também pode criar um raspador que se integre ao Amazon Elastic Kubernetes Service ou ao Amazon Managed Streaming para Apache Kafka. Para obter mais informações, consulte Integrar o Amazon EKS e Integrar o Amazon MSK.

Criar um extrator

Esse procedimento pressupõe que você esteja familiarizado com a administração de domínios do Amazon OpenSearch Service e com os conceitos de rede da Amazon Virtual Private Cloud.

Há alguns pré-requisitos para criar um raspador para um OpenSearch domínio de serviço:

  • Um domínio do Amazon OpenSearch Service com acesso à Amazon Virtual Private Cloud. Os coletores gerenciados oferecem suporte somente aos domínios OpenSearch de serviço que têm acesso à VPC. Domínios com acesso público não são compatíveis.

  • Grupos de segurança que permitem que o coletor gerenciado alcance seu endpoint do domínio de OpenSearch serviço por HTTPS (porta 443). Adicione uma regra de entrada ao grupo de segurança do domínio que permita o tráfego HTTPS do grupo de segurança que você fornece para o coletor.

Para informar ao raspador de qual domínio de OpenSearch serviço coletar, você especifica o domínio no exporters campo da solicitação. O exporters campo usa uma lista de configurações do exportador; para um domínio OpenSearch de serviço, forneça um openSearchConfiguration com o domainArn do domínio. Você fornece a rede (sub-redes e grupo de segurança) separadamente no source campo, conforme mostrado nos exemplos a seguir.

nota

O raspador usa o endpoint VPC do domínio conforme resolvido quando você cria o raspador. Se você recriar o domínio, ele receberá um novo endpoint, então você deve criar um novo raspador ou atualizar o existente UpdateScraper para coletar a partir dele.

Você fornece uma configuração de raspagem ao criar o raspador. O coletor gerenciado se conecta ao domínio que você especifica e coleta suas métricas automaticamente, portanto, você não especifica destinos de extração na configuração. A configuração deve incluir uma seção scrape_configs com uma tarefa cujo job_name seja exatamente opensearch-exporter. Uma configuração que não contém um trabalho chamado opensearch-exporter é rejeitada. Use a configuração de raspagem para definir o intervalo de coleta e, opcionalmente, para filtrar ou renomear as métricas coletadas. Veja a seguir um exemplo de configuração de raspagem:

global: external_labels: domain_name: my-opensearch-domain scrape_configs: - job_name: opensearch-exporter scrape_interval: 60s

Para obter mais informações sobre as opções de configuração de raspagem suportadas, consulteConfiguração do extrator.

To create a scraper using the AWS API

Use a operação CreateScraper da API para criar um raspador com a AWS API. O exemplo a seguir cria um raspador na região Leste dos EUA (Norte da Virgínia) que coleta métricas de um domínio de OpenSearch serviço e as envia para um espaço de trabalho do Amazon Managed Service for Prometheus. Substitua o example conteúdo por suas próprias informações de domínio, rede e espaço de trabalho e forneça sua configuração de raspador.

nota

Configure o grupo de segurança e as sub-redes para corresponder ao Amazon VPC do seu OpenSearch domínio de serviço. Inclua pelo menos duas sub-redes em duas zonas de disponibilidade.

POST /scrapers HTTP/1.1 { "alias": "myScraper", "source": { "vpcConfiguration": { "securityGroupIds": ["sg-security-group-id"], "subnetIds": ["subnet-subnet-id-1", "subnet-subnet-id-2"] } }, "exporters": [ { "openSearchConfiguration": { "domainArn": "arn:aws:es:us-east-1:123456789012:domain/my-opensearch-domain" } } ], "destination": { "ampConfiguration": { "workspaceArn": "arn:aws:aps:us-east-1:123456789012:workspace/ws-workspace-id" } }, "scrapeConfiguration": { "configurationBlob": "base64-encoded-blob" } }

Para enviar as métricas para a Amazon CloudWatch em vez de um espaço de trabalho do Amazon Managed Service for Prometheus, destination substitua a por uma configuração: CloudWatch

"destination": { "cloudWatchConfiguration": { "datasetArn": "arn:aws:cloudwatch:us-east-1:123456789012:dataset/default" } }

O scrapeConfiguration parâmetro exige um arquivo YAML de configuração do Prometheus codificado em base64. Execute um dos comandos a seguir para converter o arquivo YAML em base64. Você também pode usar qualquer conversor base64 online para converter o arquivo.

exemplo Linux/macOS
base64 -w0 scraper-config.yaml
exemplo Windows PowerShell
[Convert]::ToBase64String([System.IO.File]::ReadAllBytes("scraper-config.yaml"))
To create a scraper using the AWS CLI

Use o comando create-scraper para criar um extrator usando o AWS Command Line Interface. O exemplo a seguir cria um extrator na Região Leste dos EUA (Norte da Virgínia). Substitua o example conteúdo por suas próprias informações de domínio, rede e espaço de trabalho e forneça sua configuração de raspador.

nota

Configure o grupo de segurança e as sub-redes para corresponder ao Amazon VPC do seu OpenSearch domínio de serviço. Inclua pelo menos duas sub-redes em duas zonas de disponibilidade.

aws amp create-scraper \ --source '{"vpcConfiguration":{"securityGroupIds":["sg-security-group-id"],"subnetIds":["subnet-subnet-id-1","subnet-subnet-id-2"]}}' \ --exporters '[{"openSearchConfiguration":{"domainArn":"arn:aws:es:us-east-1:123456789012:domain/my-opensearch-domain"}}]' \ --scrape-configuration configurationBlob=base64-encoded-blob \ --destination '{"ampConfiguration":{"workspaceArn":"arn:aws:aps:us-east-1:123456789012:workspace/ws-workspace-id"}}'
  • A seguir está uma lista completa das operações de raspagem que você pode usar com a AWS API:

    Crie um extrator com a operação CreateScraper da API.

  • Liste os extratores existentes com a operação ListScrapers da API.

  • Atualize o alias, a configuração ou o destino de um raspador com a operação da UpdateScraper API.

  • Exclua um extrator com a operação DeleteScraper da API.

  • Obtenha mais detalhes sobre um extrator com a operação DescribeScraper da API.

Cross-account configuração

Para criar um raspador em uma configuração de contas cruzadas, quando o domínio do OpenSearch serviço do qual você deseja coletar métricas estiver em uma conta diferente do coletor do Amazon Managed Service for Prometheus, use o procedimento a seguir.

Por exemplo, você tem duas contas: uma conta de origem na account_id_source qual o domínio do OpenSearch serviço está localizado e uma conta de destino na account_id_target qual reside o espaço de trabalho do Amazon Managed Service for Prometheus.

nota

As políticas de confiança nas etapas a seguir se referem ao raspador por seu ARN, que inclui um scraper-id que não existe até você criar o raspador. Para evitar esse problema de ordenação, primeiro crie as funções com um curinga (scraper/*) no lugar do ARN específico do raspador, crie o raspador e, em seguida, atualize as duas políticas de confiança para substituir o curinga pelo ARN real do raspador que retorna. CreateScraper

Como criar um extrator em uma configuração entre contas
  1. Na conta de origem, crie um perfil arn:aws:iam::111122223333:role/Source e adicione a política de confiança a seguir.

    { "Effect": "Allow", "Principal": { "Service": [ "scraper.aps.amazonaws.com" ] }, "Action": "sts:AssumeRole", "Condition": { "ArnEquals": { "aws:SourceArn": "arn:aws:aps:aws-region:111122223333:scraper/scraper-id" }, "StringEquals": { "AWS:SourceAccount": "111122223333" } } }
  2. Na conta de destino, crie uma função arn:aws:iam::444455556666:role/Target e adicione a seguinte política de confiança, que permite que a função de origem a assuma.

    { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/Source" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:ExternalId": "arn:aws:aps:aws-region:111122223333:scraper/scraper-id" } } }

    Anexe uma política de permissões à função de destino que permita que ela grave em seu destino. Se seu destino for um espaço de trabalho do Amazon Managed Service for Prometheus, anexe AmazonPrometheusRemoteWriteAccess (que concede). aps:RemoteWrite Se seu destino for a Amazon CloudWatch, anexe uma política que conceda subsídios cloudwatch:PutMetricData ao conjunto de dados.

  3. Crie um extrator com a opção --role-configuration.

    aws amp create-scraper \ --source '{"vpcConfiguration":{"securityGroupIds":["sg-security-group-id"],"subnetIds":["subnet-subnet-id-1","subnet-subnet-id-2"]}}' \ --exporters '[{"openSearchConfiguration":{"domainArn":"arn:aws:es:aws-region:111122223333:domain/my-opensearch-domain"}}]' \ --scrape-configuration configurationBlob=<base64-encoded-blob> \ --destination '{"ampConfiguration":{"workspaceArn":"arn:aws:aps:aws-region:444455556666:workspace/ws-workspace-id"}}' \ --role-configuration '{"sourceRoleArn":"arn:aws:iam::111122223333:role/Source", "targetRoleArn":"arn:aws:iam::444455556666:role/Target"}'
  4. Valide a criação do extrator.

    aws amp list-scrapers

Encontrar e excluir extratores

Você pode usar a AWS API ou o AWS CLI para listar os raspadores em sua conta ou excluí-los.

nota

Verifique se você está usando a versão mais recente do AWS CLI ou SDK. A versão mais recente do SDK fornece os recursos e as funcionalidades mais recentes, além de atualizações de segurança. Como alternativa, use o AWS CloudShell, que fornece uma experiência de linha de comando sempre atualizada, automaticamente.

Para listar todos os extratores na conta, use a operação ListScrapers da API. Como alternativa, com o AWS CLI, ligue para:

aws amp list-scrapers

Para excluir um extrator, localize o scraperId do extrator que deseja excluir usando a operação ListScrapers e, em seguida, use a operação DeleteScraper para excluí-lo. Como alternativa, com o AWS CLI, ligue para:

aws amp delete-scraper --scraper-id scraperId

Métricas coletadas do Amazon OpenSearch Service

Quando você se integra ao Amazon OpenSearch Service, o coletor Amazon Managed Service for Prometheus coleta automaticamente as Prometheus-compatible métricas que descrevem a integridade e o desempenho do seu domínio. O coletor emite várias centenas de métricas; as tabelas a seguir listam métricas representativas de cada categoria. As opensearch_indices_ métricas nas tabelas a seguir são agregadas em todo o domínio e muitas têm variantes somente primárias e totais (com sufixo _primary ou). _total O coletor também emite as mesmas estatísticas por índice, prefixado e por fragmento prefixadoopensearch_index_stats_. opensearch_indices_shards_

Métrica Descrição e Objetivo

opensearch_cluster_health_status

Status de integridade do cluster (verde, amarelo ou vermelho).

opensearch_cluster_health_number_of_nodes

O número de nós no cluster do .

opensearch_cluster_health_number_of_data_nodes

Número de nós de dados no cluster.

opensearch_cluster_health_active_primary_shards

Número de fragmentos primários ativos.

opensearch_cluster_health_active_shards

Número total de fragmentos ativos, incluindo fragmentos primários e réplicas.

opensearch_cluster_health_relocating_shards

Número de fragmentos que estão sendo realocados entre os nós.

opensearch_cluster_health_initializing_shards

Número de fragmentos que estão sendo inicializados.

opensearch_cluster_health_unassigned_shards

Número de fragmentos que não estão atribuídos a um nó.

opensearch_cluster_health_delayed_unassigned_shards

Número de fragmentos não atribuídos cuja atribuição está atrasada.

opensearch_cluster_health_number_of_pending_tasks

Número de tarefas em nível de cluster que estão em fila e aguardando para serem executadas.

opensearch_cluster_health_number_of_in_flight_fetch

Número de solicitações de busca de fragmentos em andamento.

opensearch_cluster_health_task_max_waiting_in_queue_millis

Maior tempo de espera de uma tarefa na fila, em milissegundos.

Métrica Descrição e Objetivo

opensearch_os_cpu_percent

Porcentagem de CPU usada pelo sistema operacional no nó.

opensearch_os_load1

Média de carga do sistema operacional nos últimos 1 minuto. O coletor também emite e. opensearch_os_load5 opensearch_os_load15

opensearch_os_mem_used_bytes

Quantidade de memória física usada, em bytes. O coletor também emite opensearch_os_mem_free_bytesopensearch_os_mem_actual_used_bytes, e. opensearch_os_mem_actual_free_bytes

opensearch_jvm_memory_used_bytes

Quantidade de memória JVM usada, em bytes, por área de memória (pilha e não pilha). As métricas relacionadas incluem opensearch_jvm_memory_committed_bytes e opensearch_jvm_memory_max_bytes.

opensearch_jvm_gc_collection_seconds_count

Número total de eventos de coleta de lixo da JVM. Use comopensearch_jvm_gc_collection_seconds_sum, o tempo total gasto na coleta de lixo.

opensearch_jvm_uptime_seconds

Tempo de atividade da JVM, em segundos.

opensearch_thread_pool_active_count

Número de threads ativos em cada pool de threads. As métricas relacionadas incluem opensearch_thread_pool_queue_countopensearch_thread_pool_rejected_count, opensearch_thread_pool_completed_count e.

opensearch_filesystem_data_available_bytes

Quantidade de espaço em disco disponível para o nó, em bytes. As métricas relacionadas incluem opensearch_filesystem_data_free_bytes e opensearch_filesystem_data_size_bytes.

opensearch_filesystem_io_stats_device_read_operations_count

Número de operações de leitura de disco. O coletor também emite contagens totais e de gravação de operações e tamanhos de leitura e gravação (por exemplo,opensearch_filesystem_io_stats_device_read_size_kilobytes_sum).

opensearch_process_cpu_percent

Porcentagem de CPU usada pelo OpenSearch processo.

opensearch_process_mem_resident_size_bytes

Tamanho da memória residente do OpenSearch processo, em bytes.

opensearch_process_open_files_count

Número de descritores de arquivo abertos pelo OpenSearch processo.

opensearch_breakers_tripped

Número total de vezes que cada disjuntor disparou. As métricas relacionadas incluem opensearch_breakers_estimated_size_bytes e opensearch_breakers_limit_size_bytes.

opensearch_transport_rx_size_bytes_total

Quantidade total de dados recebidos pela camada de transporte entre os nós, em bytes. O coletor também emite opensearch_transport_tx_size_bytes_total e conta pacotes.

opensearch_indexing_pressure_current_all_in_bytes

Memória atual consumida pelas solicitações de indexação, em bytes, com opensearch_indexing_pressure_limit_in_bytes o limite configurado.

Métrica Descrição e Objetivo

opensearch_indices_docs

Número de documentos. As métricas relacionadas incluem opensearch_indices_docs_deletedopensearch_indices_docs_primary, opensearch_indices_docs_total e.

opensearch_indices_store_size_bytes

Tamanho total dos índices em disco, em bytes, com opensearch_indices_store_size_bytes_primary e opensearch_indices_store_size_bytes_total variantes.

opensearch_indices_indexing_index_total

Número total de documentos indexados. Use com opensearch_indices_indexing_index_time_seconds_total para indexar a latência.

opensearch_indices_indexing_is_throttled

Indica se a indexação está atualmente limitada, com o opensearch_indices_indexing_throttle_time_seconds_total tempo total limitado.

opensearch_indices_search_query_total

Número total de consultas de pesquisa. Use com opensearch_indices_search_query_time_seconds para latência de consulta.

opensearch_indices_search_fetch_total

Número total de operações de busca, com latência de opensearch_indices_search_fetch_time_seconds busca.

opensearch_indices_get_total

Número total de operações de obtenção, com latência opensearch_indices_get_time_seconds de obtenção.

opensearch_indices_merges_total

Número total de mesclagens de segmentos concluídas. As métricas relacionadas incluem opensearch_indices_merges_current e opensearch_indices_merges_total_time_seconds_total.

opensearch_indices_refresh_total

Número total de operações de atualização do índice, com o opensearch_indices_refresh_time_seconds_total tempo de atualização.

opensearch_indices_flush_total

Número total de operações de descarga do índice, com o opensearch_indices_flush_time_seconds tempo de descarga.

opensearch_indices_segments_count

Número de segmentos. O coletor também emite métricas de memória por segmento (por exemplo, opensearch_indices_segments_memory_bytes e). opensearch_indices_segment_terms_memory_total

opensearch_indices_translog_operations

Número de operações no registro de transações, com base opensearch_indices_translog_size_in_bytes em seu tamanho.

opensearch_indices_fielddata_memory_size_bytes

Memória usada pelo cache de dados de campo, em bytes, opensearch_indices_fielddata_evictions para despejos.

opensearch_indices_query_cache_memory_size_bytes

Memória usada pelo cache de consulta, em bytes. As métricas relacionadas incluem opensearch_indices_query_cache_count e opensearch_indices_query_cache_evictions.

opensearch_indices_request_cache_memory_size_bytes

Memória usada pelo cache da solicitação, em bytes. As métricas relacionadas incluem opensearch_indices_request_cache_count e opensearch_indices_request_cache_evictions.

Limitações

A integração do Amazon OpenSearch Service com o Amazon Managed Service for Prometheus tem as seguintes limitações:

  • Suportado somente para domínios OpenSearch de serviço que tenham acesso à Amazon Virtual Private Cloud. Domínios com acesso público não são compatíveis.

  • Um raspador coleta métricas de um único domínio de OpenSearch serviço. Para coletar métricas de mais de um domínio, crie um extrator separado para cada domínio.