

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Utilizzo di una pipeline OpenSearch di ingestione con Amazon Managed Service for Prometheus
<a name="configure-client-prometheus"></a>

Puoi utilizzare Amazon Managed Service for Prometheus come destinazione per la OpenSearch tua pipeline di Ingestion per archiviare le metriche in formato serie temporale. Il sink Prometheus ti consente di OpenTelemetry inviare metriche o altre serie temporali dalla tua pipeline a un'area di lavoro di Amazon Managed Service for Prometheus per il monitoraggio, gli avvisi e l'analisi.

Il plug-in `prometheus` sink consente alle pipeline di OpenSearch Ingestion di scrivere dati metrici negli spazi di lavoro di Amazon Managed Service for Prometheus utilizzando il protocollo di scrittura remota Prometheus. Questa integrazione ti consente di:
+ Archivia i dati delle metriche delle serie temporali in Amazon Managed Service for Prometheus
+ Monitora e invia avvisi sui parametri utilizzando Amazon Managed Service for Prometheus e Amazon Managed Grafana
+ Indirizza le metriche verso più destinazioni contemporaneamente (ad esempio, OpenSearch e Amazon Managed Service for Prometheus)
+ Elabora le OpenTelemetry metriche degli agenti esterni o genera metriche all'interno della pipeline

**Topics**
+ [Prerequisiti](#prometheus-prereqs)
+ [Passaggio 1: configura il ruolo della pipeline](#prometheus-pipeline-role)
+ [Fase 2: Creare la pipeline](#prometheus-pipeline)
+ [Monitoraggio e risoluzione dei problemi](#prometheus-monitoring)
+ [Limitazioni](#prometheus-limitations)
+ [Best practice](#prometheus-best-practices)

## Prerequisiti
<a name="prometheus-prereqs"></a>

Prima di configurare il lavabo Prometheus, assicurati di avere quanto segue:
+ **Amazon Managed Service for Prometheus** Workspace: crea uno spazio di lavoro nella stessa pipeline di Ingestion. Account AWS Regione AWS OpenSearch Per istruzioni, consulta [Creazione di uno spazio di lavoro nella Guida](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-onboard-create-workspace.html) per l'utente di *Amazon Managed Service for Prometheus*.
+ **Autorizzazioni IAM**: configura un ruolo IAM con autorizzazioni per scrivere su Amazon Managed Service for Prometheus. Per ulteriori informazioni, consulta [Passaggio 1: configura il ruolo della pipeline](#prometheus-pipeline-role).

**Nota**  
Le aree di lavoro di Amazon Managed Service for Prometheus devono utilizzare chiavi gestite dal servizio. AWS AWS KMS Le AWS KMS chiavi gestite dai clienti non sono attualmente supportate per i sink Amazon Managed Service for Prometheus nelle pipeline di ingestione. OpenSearch 

## Passaggio 1: configura il ruolo della pipeline
<a name="prometheus-pipeline-role"></a>

Il sink Prometheus eredita automaticamente le autorizzazioni IAM del [ruolo pipeline per l'](pipeline-security-overview.md#pipeline-security-sink)autenticazione, quindi non è richiesta alcuna configurazione aggiuntiva del ruolo (`sts_role_arn`come) nelle impostazioni del sink.

La seguente policy di esempio mostra le autorizzazioni richieste per l'utilizzo di Amazon Managed Service for Prometheus come sink:

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

Sostituire i seguenti segnaposto:
+ `region`: La tua Regione AWS (ad esempio,) `us-east-1`
+ `account-id`: Il tuo Account AWS ID
+ `workspace-id`: il tuo ID dell'area di lavoro Amazon Managed Service per Prometheus

Devi associare queste autorizzazioni al tuo ruolo di pipeline.

Assicurati che il tuo ruolo nella pipeline abbia un rapporto di fiducia che consenta a OpenSearch Ingestion di assumerlo:

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

## Fase 2: Creare la pipeline
<a name="prometheus-pipeline"></a>

Dopo aver impostato le autorizzazioni, puoi configurare una pipeline di OpenSearch Ingestion per utilizzare Amazon Managed Service for Prometheus come sink.

### Configurazione di base
<a name="prometheus-basic-config"></a>

L'esempio seguente mostra una configurazione minima del sink Prometheus:

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

È necessario specificare l'`url`opzione all'interno della configurazione `prometheus` sink, che è l'endpoint di scrittura remota Amazon Managed Service for Prometheus. Per formattare l'URL, individua l'ID del tuo spazio di lavoro nella console Amazon Managed Service for Prometheus e costruisci l'URL come segue:. `https://aps-workspaces.region.amazonaws.com/workspaces/workspace-id/api/v1/remote_write`

### Opzioni di configurazione
<a name="prometheus-config-options"></a>

Utilizza le seguenti opzioni per configurare il comportamento di batching e flushing per il sink Prometheus:


**Opzioni di configurazione del lavello Prometheus**  

| Opzione | Richiesto | Tipo | Description | 
| --- | --- | --- | --- | 
| max\$1events | No | Numero intero | Il numero massimo di eventi da accumulare prima di passare a Prometheus. Il valore predefinito è “1000”. | 
| max\$1request\$1size | No | Numero di byte | La dimensione massima del payload della richiesta prima del flushing. Il valore predefinito è “1mb”. | 
| flush\$1interval | No | Durata | Il tempo massimo di attesa prima degli eventi di flushing. Il valore predefinito è “10s”. Il valore massimo consentito è. 60s | 

### Pipeline di esempio
<a name="prometheus-example-pipelines"></a>

**Esempio 1: OpenTelemetry metriche relative ad Amazon Managed Service for Prometheus**

Questa pipeline riceve i OpenTelemetry parametri da un agente esterno e li scrive su 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"
```

**Esempio 2: doppio lavabo OpenSearch e Amazon Managed Service per Prometheus**

Questa pipeline indirizza le metriche sia ad OpenSearch Amazon Managed Service for Prometheus che ad Amazon:

```
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"
```

**Esempio 3: metriche con filtro**

Questa pipeline filtra le metriche prima di inviarle ad 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"
```

Puoi utilizzare un blueprint Amazon Managed Service for Prometheus preconfigurato per creare queste pipeline. Per ulteriori informazioni, consulta [Lavorare con i progetti](pipeline-blueprint.md).

### Creazione di una pipeline con Amazon Managed Service for Prometheus sink
<a name="prometheus-create-pipeline"></a>

#### AWS Utilizzo della console
<a name="prometheus-console"></a>

1. Vai alla console OpenSearch di servizio.

1. Scegli **Pipelines in **Ingestion****.

1. Scegliere **Create pipeline (Crea pipeline)**.

1. Seleziona **Crea usando blueprint** e scegli i **OpenTelemetry parametri per il blueprint Amazon Prometheus**.

1. Configura la pipeline:
   + Inserisci il tuo ID dello spazio di lavoro Amazon Managed Service for Prometheus
   + Specificare il ruolo della pipeline (ARN)
   + Configura le impostazioni di origine e processore in base alle esigenze

1. Rivedi e crea la pipeline.

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

Crea un file di configurazione della pipeline (ad esempio,`amp-pipeline.yaml`) con la configurazione desiderata, quindi esegui:

```
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"
```

## Monitoraggio e risoluzione dei problemi
<a name="prometheus-monitoring"></a>

### CloudWatch metriche
<a name="prometheus-cloudwatch-metrics"></a>

Monitora le prestazioni della tua pipeline utilizzando CloudWatch le metriche:
+ `DocumentsWritten`: Numero di metriche scritte correttamente in Amazon Managed Service for Prometheus
+ `DocumentsWriteFailed`: numero di metriche che non è stato possibile scrivere
+ `RequestLatency`: Latenza delle richieste di scrittura remote

### Problemi comuni
<a name="prometheus-troubleshooting"></a>

**Problema**: Pipeline non riesce a scrivere su Amazon Managed Service for Prometheus

**Soluzioni:**
+ Verifica che l'ID dell'area di lavoro e la regione nell'URL siano corretti
+ Assicurati che il ruolo della pipeline sia autorizzato `aps:RemoteWrite`
+ Verifica che l'area di lavoro utilizzi chiavi gestite dal servizio AWS KMS 
+ Verifica che la pipeline e l'area di lavoro siano uguali Account AWS

**Problema: errori** di autenticazione

**Soluzioni:**
+ Verifica che la relazione di fiducia `osis-pipelines.amazonaws.com` consenta di assumere il ruolo di pipeline
+ Assicurati che il ruolo della pipeline disponga dell'autorizzazione richiesta `aps:RemoteWrite`

**Problema**: latenza o limitazione elevate

**Soluzioni:**
+ Aumentare la capacità delle unità della pipeline
+ Implementa il batching nel processore
+ Consulta le quote dei servizi Amazon Managed Service per Prometheus

## Limitazioni
<a name="prometheus-limitations"></a>

Considera le seguenti limitazioni quando configuri una pipeline di OpenSearch ingestione per Amazon Managed Service for Prometheus:
+ Le aree di lavoro di Amazon Managed Service for Prometheus devono utilizzare chiavi gestite dal servizio. AWS AWS KMS Le chiavi gestite dal cliente AWS KMS non sono attualmente supportate.
+ La pipeline e l'area di lavoro di Amazon Managed Service for Prometheus devono coincidere. Account AWS

## Best practice
<a name="prometheus-best-practices"></a>
+ **Usa lo stesso ruolo IAM**: il sink Prometheus utilizza automaticamente il ruolo pipeline. Se vengono utilizzati altri sink, assicurati che `sts_role_arn` sia lo stesso ruolo della pipeline
+ **Monitora le metriche**: imposta CloudWatch allarmi per scritture non riuscite e latenza elevata
+ **Implementazione del filtraggio**: utilizza i processori per filtrare le metriche non necessarie prima di inviarle ad Amazon Managed Service for Prometheus
+ **Capacità della giusta dimensione: inizia con la capacità** minima e la scalabilità in base al volume delle metriche
+ **Usa i blueprint: sfrutta i blueprint** preconfigurati per i casi d'uso più comuni