

# Agente do Amazon CloudWatch
<a name="CloudWatch-OTLPCloudWatchAgent"></a>

O atendente do CloudWatch é construído no OpenTelemetry Collector, então você pode usá-lo para receber dados do OpenTelemetry e enviá-los aos endpoints OTLP do CloudWatch. Para a maioria dos clientes, essa é a forma recomendada de enviar a telemetria do OpenTelemetry para o CloudWatch, porque um único atendente também pode potencializar experiências selecionadas, como o CloudWatch Application Signals e o CloudWatch Enhanced Container Insights.

Para enviar dados do OpenTelemetry por meio do atendente hoje, você fornece uma configuração do coletor do OpenTelemetry no YAML e a anexa à configuração do próprio atendente. Inicie o atendente com o arquivo de configuração do atendente do CloudWatch e, em seguida, anexe o arquivo YAML do OpenTelemetry:

```
/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -c file:/tmp/agent.json -s
/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a append-config -c file:{{/tmp/otel.yaml}} -s
```

O atendente mescla as duas configurações na inicialização e registra em log a configuração resolvida. Para evitar conflitos de mesclagem com pipelines que o atendente cria automaticamente, adicione um sufixo personalizado a cada componente e nome de pipeline em seu YAML OpenTelemetry (por exemplo, `otlphttp/cwagent`).

## Componentes do OpenTelemetry compatíveis
<a name="CloudWatch-OTLPCloudWatchAgent-Components"></a>

Os seguintes componentes do OpenTelemetry estão disponíveis para você configurar em sua configuração YAML anexada. Use o nome do tipo de componente mostrado aqui como a chave em seu YAML.


| Tipo de componente | Componentes disponíveis | 
| --- | --- | 
| Receptores | `otlp`, `prometheus`, `statsd`, `collectd`, `jmx`, `hostmetrics`, `filelog`, `tcplog`, `udplog`, `jaeger`, `zipkin`, `kafka`, `kubeletstats` | 
| Processadores | `batch`, `memory_limiter`, `filter`, `attributes`, `resource`, `resourcedetection`, `metricstransform`, `transform`, `cumulativetodelta`, `deltatocumulative`, `deltatorate`, `groupbyattrs`, `groupbytrace`, `k8sattributes`, `metricsgeneration`, `metricstarttime`, `probabilistic_sampler`, `span`, `tail_sampling` | 
| Exportadores | `otlphttp`, `awsemf`, `awscloudwatchlogs`, `awsxray`, `prometheusremotewrite`, `debug` | 
| Extensões | `sigv4auth`, `headers_setter`, `file_storage`, `health_check`, `pprof`, `zpages` | 

O atendente do CloudWatch só oferece suporte à gravação de telemetria em destinos da AWS.

## Exemplos de configuração
<a name="CloudWatch-OTLPCloudWatchAgent-Examples"></a>

Os exemplos a seguir enviam cada sinal para o endpoint OTLP correspondente do CloudWatch usando o exportador `otlphttp` e a extensão `sigv4auth`. Cada componente e nome de pipeline usa um sufixo `/cwagent` para evitar conflitos com pipelines que o atendente cria automaticamente. Substitua a {{região}} pela sua região da AWS.

**Métricas**

```
receivers:
  otlp/cwagent:
    protocols:
      http:
        endpoint: 0.0.0.0:4318
processors:
  batch/cwagent: {}
exporters:
  otlphttp/cwagent:
    metrics_endpoint: https://monitoring.{{region}}.amazonaws.com/v1/metrics
    auth:
      authenticator: sigv4auth/cwagent
extensions:
  sigv4auth/cwagent:
    region: "{{region}}"
    service: "monitoring"
service:
  extensions: [sigv4auth/cwagent]
  pipelines:
    metrics/cwagent:
      receivers: [otlp/cwagent]
      processors: [batch/cwagent]
      exporters: [otlphttp/cwagent]
```

**Logs do**

```
receivers:
  otlp/cwagent:
    protocols:
      http:
        endpoint: 0.0.0.0:4318
exporters:
  otlphttp/cwagent:
    logs_endpoint: https://logs.{{region}}.amazonaws.com/v1/logs
    headers:
      x-aws-log-group: {{my-log-group}}
      x-aws-log-stream: default
    auth:
      authenticator: sigv4auth/cwagent
extensions:
  sigv4auth/cwagent:
    region: "{{region}}"
    service: "logs"
service:
  extensions: [sigv4auth/cwagent]
  pipelines:
    logs/cwagent:
      receivers: [otlp/cwagent]
      exporters: [otlphttp/cwagent]
```

**Rastreamentos**

```
receivers:
  otlp/cwagent:
    protocols:
      http:
        endpoint: 0.0.0.0:4318
exporters:
  otlphttp/cwagent:
    traces_endpoint: https://xray.{{region}}.amazonaws.com/v1/traces
    auth:
      authenticator: sigv4auth/cwagent
extensions:
  sigv4auth/cwagent:
    region: "{{region}}"
    service: "xray"
service:
  extensions: [sigv4auth/cwagent]
  pipelines:
    traces/cwagent:
      receivers: [otlp/cwagent]
      exporters: [otlphttp/cwagent]
```

**nota**  
Certifique-se de que a Pesquisa de transações esteja habilitada antes enviar rastreamentos para o endpoint de rastros do OTLP.