

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

# Invia metriche utilizzando OpenTelemetry
<a name="metrics-otel-send"></a>

Puoi pubblicare metriche personalizzate per l' CloudWatch utilizzo del protocollo (OTLP). OpenTelemetry Puoi usare gli SDK OTel (Java, Python, Go, .NET,) Node.js, Otel Collector o qualsiasi client. OTLP-compatible

## CloudWatch Endpoint OTLP
<a name="metrics-otel-send-endpoint"></a>

Invia le metriche all'endpoint CloudWatch OTLP nella tua regione:

```
https://monitoring.{{region}}.amazonaws.com/v1/metrics
```

L'autenticazione utilizza la firma SigV4 standard. AWS Il nome del servizio è. `monitoring` Per ulteriori informazioni sull'endpoint, sulle opzioni di autenticazione e sui limiti, consulta[Endpoint OTLP](CloudWatch-OTLPEndpoint.md).

## Avvio rapido: pubblica la tua prima metrica
<a name="metrics-otel-send-quickstart"></a>

### Opzione 1: oTel Collector (consigliato per la produzione)
<a name="metrics-otel-send-collector"></a>

Configura un OTel Collector con l'esportatore HTTP OTLP e l'autenticazione SigV4:

```
receivers:
  otlp:
    protocols:
      grpc:
        endpoint: 0.0.0.0:4317
      http:
        endpoint: 0.0.0.0:4318

processors:
  batch:
    send_batch_size: 200
    timeout: 10s

exporters:
  otlphttp:
    tls:
      insecure: false
    metrics_endpoint: "https://monitoring.{{us-east-1}}.amazonaws.com/v1/metrics"
    auth:
      authenticator: sigv4auth

extensions:
  sigv4auth:
    service: "monitoring"
    region: "{{us-east-1}}"

service:
  extensions: [sigv4auth]
  pipelines:
    metrics:
      receivers: [otlp]
      processors: [batch]
      exporters: [otlphttp]
```

Per istruzioni dettagliate sulla configurazione, vedere. [Nozioni di base](CloudWatch-OTLPGettingStarted.md)

### Opzione 2: OTel SDK (esempio in Python)
<a name="metrics-otel-send-python"></a>

```
from opentelemetry import metrics
from opentelemetry.sdk.metrics import MeterProvider
from opentelemetry.sdk.metrics.export import PeriodicExportingMetricReader
from opentelemetry.exporter.otlp.proto.http.metric_exporter import OTLPMetricExporter

# Point at the CloudWatch OTLP endpoint
exporter = OTLPMetricExporter(
    endpoint="https://monitoring.{{us-east-1}}.amazonaws.com:443/v1/metrics"
)
reader = PeriodicExportingMetricReader(exporter, export_interval_millis=60000)
provider = MeterProvider(metric_readers=[reader])
metrics.set_meter_provider(provider)

# Create and record a metric
meter = metrics.get_meter("my-app")
counter = meter.create_counter("http_requests_total", description="Total HTTP requests")
counter.add(1, {"method": "GET", "path": "/api/users", "status": "200"})
```

### Opzione 3: OTel SDK (esempio Java)
<a name="metrics-otel-send-java"></a>

```
import io.opentelemetry.api.metrics.Meter;
import io.opentelemetry.api.metrics.LongCounter;

Meter meter = GlobalOpenTelemetry.getMeter("my-app");
LongCounter counter = meter.counterBuilder("http_requests_total")
    .setDescription("Total HTTP requests")
    .build();

counter.add(1, Attributes.of(
    AttributeKey.stringKey("method"), "GET",
    AttributeKey.stringKey("path"), "/api/users",
    AttributeKey.stringKey("status"), "200"
));
```

## Autorizzazioni IAM richieste
<a name="metrics-otel-send-iam"></a>

Le metriche di invio delle identità richiedono l'`cloudwatch:PutMetricData`autorizzazione. Per l'autenticazione SigV4, allega la seguente politica:

```
{
  "Effect": "Allow",
  "Action": [
    "cloudwatch:PutMetricData"
  ],
  "Resource": "*"
}
```

Per l'autenticazione con token al portatore, vedere. [Configurazione dell'autenticazione con token al portatore per Metrics](CloudWatch-OTLP-MetricsBearerTokenAuth.md)

## Verifica che le metriche stiano arrivando
<a name="metrics-otel-send-verify"></a>

Apri la CloudWatch console, accedi a **Query Studio** ed esegui:

```
http_requests_total
```

Le metriche vengono in genere visualizzate entro 1-2 minuti dall'invio del primo punto dati.

## Tipi di metriche supportati
<a name="metrics-otel-send-types"></a>

La tabella seguente descrive i tipi di metrica Otel CloudWatch supportati e come interrogarli con PromQL.


| Tipo di metrica Otel | Comportamento ProMQL | 
| --- | --- | 
| Contatore | Usa rate() o increase() per interrogare | 
| Gauge | Interroga direttamente (valore corrente) | 
| Istogramma | Usa histogram\_quantile() per i percentili | 

## Best practice
<a name="metrics-otel-send-best-practices"></a>

Segui questi consigli quando invii le metriche tramite OTLP:
+ **Usa nomi di metriche significativi**: segui le convenzioni di denominazione di OTel (ad esempio, o). `http.server.request.duration` `http_request_duration_seconds`
+ **Mantieni ragionevole la cardinalità delle etichette**: evita gli ID di richiesta o gli UUID come valori di etichetta.
+ **Imposta un intervallo di esportazione appropriato**: 60 secondi sono standard. Intervalli più brevi aumentano i costi.
+ **Usa gli attributi delle risorse**: utilizza gli attributi delle risorse per i metadati statici (nome del servizio, versione, ambiente) anziché etichette per punti dati.