View a markdown version of this page

Usando um pipeline OpenSearch de ingestão com o Amazon Managed Service para Prometheus - OpenSearch Serviço Amazon

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

Usando um pipeline OpenSearch de ingestão com o Amazon Managed Service para Prometheus

Você pode usar o Amazon Managed Service for Prometheus como um destino para OpenSearch seu pipeline de ingestão para armazenar métricas em formato de série temporal. O coletor Prometheus permite que você OpenTelemetry envie métricas ou outros dados de séries temporais do seu pipeline para um espaço de trabalho do Amazon Managed Service for Prometheus para monitoramento, alertas e análises.

O plug-in prometheus sink permite que os pipelines de OpenSearch ingestão gravem dados de métricas nos espaços de trabalho do Amazon Managed Service for Prometheus usando o protocolo de gravação remota do Prometheus. Essa integração permite a você:

  • Armazene dados de métricas de séries temporais no Amazon Managed Service for Prometheus

  • Monitore e alerte sobre métricas usando o Amazon Managed Service para Prometheus e o Amazon Managed Grafana

  • Encaminhe métricas para vários destinos simultaneamente (por exemplo, OpenSearch e o Amazon Managed Service for Prometheus)

  • Processe OpenTelemetry métricas de agentes externos ou gere métricas dentro do pipeline

Pré-requisitos

Antes de configurar o coletor Prometheus, verifique se você tem o seguinte:

  • Espaço de trabalho do Amazon Managed Service para Prometheus: crie um espaço de trabalho no mesmo e no Conta da AWS mesmo Região da AWS pipeline de ingestão. OpenSearch Para obter instruções, consulte Criação de um espaço de trabalho no Guia do usuário do Amazon Managed Service for Prometheus.

  • Permissões do IAM: configure uma função do IAM com permissões para gravar no Amazon Managed Service for Prometheus. Para obter mais informações, consulte Etapa 1: configurar a função do pipeline.

nota

Os espaços de trabalho do Amazon Managed Service para Prometheus devem usar chaves gerenciadas pelo serviço. AWS AWS KMS Atualmente, AWS KMS as chaves gerenciadas pelo cliente não são suportadas pelos coletores do Amazon Managed Service for Prometheus nos pipelines de ingestão. OpenSearch

Etapa 1: configurar a função do pipeline

O coletor do Prometheus herda automaticamente as permissões do IAM da função do pipeline para autenticação, portanto, nenhuma configuração de função adicional (sts_role_arncomo) é necessária nas configurações do coletor.

O exemplo de política a seguir mostra as permissões necessárias para usar o Amazon Managed Service for Prometheus como coletor:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AMPRemoteWrite", "Effect": "Allow", "Action": [ "aps:RemoteWrite" ], "Resource": "arn:aws:aps:region:account-id:workspace/workspace-id" } ] }

Substitua os seguintes espaços reservados:

  • region: Seu Região da AWS (por exemplo,us-east-1)

  • account-id: Seu Conta da AWS ID

  • workspace-id: Seu ID de espaço de trabalho do Amazon Managed Service para Prometheus

Você deve anexar essas permissões à sua função no pipeline.

Certifique-se de que sua função de funil tenha uma relação de confiança que permita à OpenSearch Ingestion assumi-la:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "osis-pipelines.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Etapa 2: Criar o pipeline

Depois de configurar suas permissões, você pode configurar um pipeline de OpenSearch ingestão para usar o Amazon Managed Service for Prometheus como coletor.

Configuração básica

O exemplo a seguir mostra uma configuração mínima do coletor Prometheus:

version: "2" sink: - prometheus: url: "https://aps-workspaces.region.amazonaws.com/workspaces/workspace-id/api/v1/remote_write" aws: region: "region"

Você deve especificar a url opção na configuração do prometheus coletor, que é o endpoint de gravação remota do Amazon Managed Service for Prometheus. Para formatar o URL, localize o ID do seu espaço de trabalho no console do Amazon Managed Service for Prometheus e construa o URL da seguinte forma:. https://aps-workspaces.region.amazonaws.com/workspaces/workspace-id/api/v1/remote_write

Opções de configuração

Use as seguintes opções para configurar o comportamento de agrupamento e descarga para o coletor Prometheus:

Opções de configuração do coletor Prometheus
Opção Obrigatório Tipo Description
max_events Não Inteiro O número máximo de eventos a serem acumulados antes de serem enviados para Prometheus. O padrão é 1000.
max_request_size Não Contagem de bytes O tamanho máximo da carga útil da solicitação antes da descarga. O padrão é 1mb.
flush_interval Não Duração O tempo máximo de espera antes dos eventos de descarga. O padrão é 10s. O valor máximo permitido é60s.

Exemplos de oleodutos

Exemplo 1: OpenTelemetry métricas para o Amazon Managed Service para Prometheus

Esse pipeline recebe OpenTelemetry métricas de um agente externo e as grava no Amazon Managed Service for Prometheus:

version: "2" source: otel_metrics_source: path: "/v1/metrics" output_format: otel sink: - prometheus: url: "https://aps-workspaces.us-east-1.amazonaws.com/workspaces/ws-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111/api/v1/remote_write" aws: region: "us-east-1"

Exemplo 2: coletor duplo — OpenSearch e Amazon Managed Service para Prometheus

Esse pipeline encaminha métricas para ambos OpenSearch e para o Amazon Managed Service for Prometheus:

version: "2" source: otel_metrics_source: path: "/v1/metrics" output_format: otel sink: - opensearch: hosts: - "https://search-domain-endpoint.us-east-1.es.amazonaws.com" index: "metrics-%{yyyy.MM.dd}" aws: region: "us-east-1" sts_role_arn: "arn:aws:iam::123456789012:role/OSI-Pipeline-Role" - prometheus: url: "https://aps-workspaces.us-east-1.amazonaws.com/workspaces/ws-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111/api/v1/remote_write" aws: region: "us-east-1"

Exemplo 3: Métricas com filtragem

Esse pipeline filtra as métricas antes de enviar para o Amazon Managed Service for Prometheus:

version: "2" source: otel_metrics_source: path: "/v1/metrics" output_format: otel processor: - drop_events: drop_when: '/name != "http.server.duration" and /name != "http.client.duration"' sink: - prometheus: url: "https://aps-workspaces.us-east-1.amazonaws.com/workspaces/ws-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111/api/v1/remote_write" aws: region: "us-east-1"

Você pode usar um esquema pré-configurado do Amazon Managed Service for Prometheus para criar esses pipelines. Para obter mais informações, consulte Trabalhar com esquemas.

Criação de um pipeline com o Amazon Managed Service for Prometheus sink

Usando o AWS console

  1. Navegue até o console OpenSearch de serviço.

  2. Escolha Pipelines em Ingestão.

  3. Selecione Criar pipeline.

  4. Selecione Criar usando o blueprint e escolha as OpenTelemetry métricas para o blueprint do Amazon Prometheus.

  5. Configure o pipeline:

    • Insira seu ID do espaço de trabalho do Amazon Managed Service for Prometheus

    • Especifique o ARN da função do pipeline

    • Defina as configurações de origem e processador conforme necessário

  6. Revise e crie o pipeline.

Usando a AWS CLI

Crie um arquivo de configuração de pipeline (por exemplo,amp-pipeline.yaml) com a configuração desejada e execute:

aws osis create-pipeline \ --pipeline-name my-amp-pipeline \ --min-units 2 \ --max-units 4 \ --pipeline-configuration-body file://amp-pipeline.yaml

Usando AWS CloudFormation

Resources: MyAMPPipeline: Type: AWS::OSIS::Pipeline Properties: PipelineName: my-amp-pipeline MinUnits: 2 MaxUnits: 4 PipelineConfigurationBody: | version: "2" source: otel_metrics_source: path: "/v1/metrics" output_format: otel sink: - prometheus: url: "https://aps-workspaces.us-east-1.amazonaws.com/workspaces/ws-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111/api/v1/remote_write" aws: region: "us-east-1"

Monitoramento e solução de problemas

CloudWatch métricas

Monitore o desempenho do seu funil usando CloudWatch métricas:

  • DocumentsWritten: Número de métricas gravadas com sucesso no Amazon Managed Service for Prometheus

  • DocumentsWriteFailed: Número de métricas que falharam na gravação

  • RequestLatency: Latência das solicitações de gravação remota

Problemas comuns

Problema: o Pipeline não consegue gravar no Amazon Managed Service para Prometheus

Soluções:

  • Verifique se o ID do espaço de trabalho e a região no URL estão corretos

  • Certifique-se de que a função do pipeline tenha aps:RemoteWrite permissão

  • Verifique se o espaço de trabalho usa chaves gerenciadas pelo serviço AWS KMS

  • Verifique se o pipeline e o espaço de trabalho estão no mesmo Conta da AWS

Problema: erros de autenticação

Soluções:

  • Verifique se a relação de confiança osis-pipelines.amazonaws.com permite assumir a função do pipeline

  • Certifique-se de que a função do pipeline tenha a aps:RemoteWrite permissão necessária

Problema: alta latência ou limitação

Soluções:

  • Aumentar as unidades de capacidade da tubulação

  • Implemente o agrupamento em lotes no processador

  • Analise as cotas de serviços do Amazon Managed Service para Prometheus

Limitações

Considere as seguintes limitações ao configurar um pipeline de OpenSearch ingestão para o Amazon Managed Service for Prometheus:

  • Os espaços de trabalho do Amazon Managed Service para Prometheus devem usar chaves gerenciadas pelo serviço. AWS AWS KMS Atualmente, não há suporte para AWS KMS chaves gerenciadas pelo cliente.

  • O pipeline e o espaço de trabalho do Amazon Managed Service for Prometheus devem estar no mesmo local. Conta da AWS

Práticas recomendadas

  • Use a mesma função do IAM: o coletor Prometheus usa automaticamente a função de pipeline. Se outros sumidouros forem usados, certifique-se de que sts_role_arn seja a mesma função da tubulação

  • Monitore métricas: configure CloudWatch alarmes para falhas de gravação e alta latência

  • Implemente a filtragem: use processadores para filtrar métricas desnecessárias antes de enviar para o Amazon Managed Service for Prometheus

  • Capacidade do tamanho certo: comece com a capacidade mínima e escale com base no volume de métricas

  • Use esquemas: utilize esquemas pré-configurados para casos de uso comuns