

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
<a name="configure-client-prometheus"></a>

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

**Topics**
+ [Pré-requisitos](#prometheus-prereqs)
+ [Etapa 1: configurar a função do pipeline](#prometheus-pipeline-role)
+ [Etapa 2: Criar o pipeline](#prometheus-pipeline)
+ [Monitoramento e solução de problemas](#prometheus-monitoring)
+ [Limitações](#prometheus-limitations)
+ [Práticas recomendadas](#prometheus-best-practices)

## Pré-requisitos
<a name="prometheus-prereqs"></a>

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](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-onboard-create-workspace.html) 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](#prometheus-pipeline-role).

**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
<a name="prometheus-pipeline-role"></a>

O coletor do Prometheus herda automaticamente [as permissões do IAM da função do pipeline](pipeline-security-overview.md#pipeline-security-sink) para autenticação, portanto, nenhuma configuração de função adicional (`sts_role_arn`como) é 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
<a name="prometheus-pipeline"></a>

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
<a name="prometheus-basic-config"></a>

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
<a name="prometheus-config-options"></a>

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\$1events | Não | Inteiro | O número máximo de eventos a serem acumulados antes de serem enviados para Prometheus. O padrão é 1000. | 
| max\$1request\$1size | Não | Contagem de bytes | O tamanho máximo da carga útil da solicitação antes da descarga. O padrão é 1mb. | 
| flush\$1interval | 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
<a name="prometheus-example-pipelines"></a>

**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](pipeline-blueprint.md).

### Criação de um pipeline com o Amazon Managed Service for Prometheus sink
<a name="prometheus-create-pipeline"></a>

#### Usando o AWS console
<a name="prometheus-console"></a>

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

1. Escolha **Pipelines** em **Ingestão**.

1. Selecione **Criar pipeline**.

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

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

1. Revise e crie o pipeline.

#### Usando a AWS CLI
<a name="prometheus-cli"></a>

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
<a name="prometheus-cfn"></a>

```
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
<a name="prometheus-monitoring"></a>

### CloudWatch métricas
<a name="prometheus-cloudwatch-metrics"></a>

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
<a name="prometheus-troubleshooting"></a>

**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
<a name="prometheus-limitations"></a>

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
<a name="prometheus-best-practices"></a>
+ **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