

# Registro em log de pares do servidor de rotas
<a name="route-server-peer-logging"></a>

Use o registro em log de pares do VPC Route Server quando precisar:
+ Monitorar a integridade da sessão de BGP e BFD
+ Solucionar problemas de conexão
+ Revisar as alterações históricas da sessão
+ Rastrear o status da rede

## Preços
<a name="pricing"></a>
+ **CloudWatch**: cobranças por ingestão de dados e arquivamento para logs vendidos são aplicadas quando você publica logs de pares do servidor de rotas no CloudWatch Logs. 
+ **S3**: cobranças por ingestão e arquivamento de dados para logs vendidos se aplicam quando você publica logs de pares do servidor de rotas no Amazon S3.
+ **Data Firehose**: cobranças padrão de ingestão e entrega são aplicáveis.

Os logs fornecidos são logs de serviços da AWS específicos que estão disponíveis com preços em níveis de volume e são entregues ao CloudWatch Logs, Amazon S3 ou Amazon Data Firehose. Para obter mais informações, abra [Preços do Amazon CloudWatch](https://aws.amazon.com//cloudwatch/pricing/), selecione **Logs** e encontre **Logs vendidos**.

## Exemplo de formato de log
<a name="example-log-format"></a>

```
{
    "resource_arn": "arn:aws:ec2:us-east-1:111122223333:route-server-peer/rsp-1234567890abcdef0",
    "event_timestamp": 1746643505367,
    "type": "RouteStatus",
    "status": "ADVERTISED",
    "message": {
        "prefix": "10.24.34.0/32",
        "asPath": "65000",
        "med": 100,
        "nextHopIp": "10.24.34.1"
    }
}

{
    "resource_arn": "arn:aws:ec2:us-east-1:111122223333:route-server-peer/rsp-1234567890abcdef0",
    "event_timestamp": 1746643490000,
    "type": "BGPStatus",
    "status": "UP",
    "message": null
}
```

Em que:
+ `resource_arn` é o ARN do par do servidor de rotas.
+ `event_timestamp` é o carimbo de data/hora do evento.
+ `type` dos eventos de log que produzimos (`RouteStatus`, `BGPStatus`, `BFDStatus`).
+ O campo `status` é a atualização de status.
  + Para mensagens do tipo `RouteStatus`
    + `ADVERTISED` (a rota foi anunciada pelo par)
    + `UPDATED` (a rota existente foi atualizada pelo par)
    + `WITHDRAWN` (a rota foi retirada pelo par)
  + Para atualizações de `BFDStatus` e `BGPStatus`
    + `UP`, `DOWN`.
+ No momento, o campo `message` é usado apenas para atributos de rota do tipo de mensagem RouteStatus, mas pode ser preenchido com informações relevantes para qualquer tipo.

------
#### [ AWS Management Console ]

Para criar logs de pares de servidor de rotas:

1. Abra o console da Amazon VPC, em [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/).

1. No painel de navegação, em **Nuvem privada virtual**, escolha **Servidores de rotas**.

1. Na página **Servidores de rotas**, escolha **Pares de servidor de rotas**.

1. Escolha a guia **Entrega de logs**.

1. Escolha **Adicionar entrega de logs**.

1. Escolha um destino e configure as opções:
   + Amazon CloudWatch Logs
     + **Tipo de log**: tipos de logs a serem entregues. O único tipo de log com suporte é EVENT\$1LOGS.
     + **Grupo de logs de destino**: o grupo de logs do CloudWatch para o qual os logs serão enviados. Você pode escolher um grupo de logs existente ou criar um novo (exemplo: /aws/vpc/route-server-peers).
     + **Seleção de campo**: campos de dados a serem incluídos em seus logs.
     + **Formato de saída**: como os logs são formatados:
       + JSON: formato estruturado para processamento computacional
       + Texto: formato de texto simples
     + **Delimitador de campo**: ao usar o formato de Texto, esse é o caractere que separa os campos (exemplo: vírgula, tabulação, espaço).
   + Amazon S3
     + Entre contas: envio de logs para contas da AWS diferentes
       + **Tipo de log**: tipos de logs a serem entregues. O único tipo de log com suporte é EVENT\$1LOGS.
       + **ARN do destino da entrega**: o Nome de recurso da Amazon do bucket do S3 em outra conta da AWS para a qual os logs serão enviados.
       + **Seleção de campo**: campos de dados a serem incluídos em seus logs.
       + **Sufixo**: o final adicionado aos nomes dos arquivos de log (exemplo: .log, .txt).
       + **Compatível com o Hive**: quando essa opção está ativada, organiza os logs em uma estrutura de pastas que funciona com ferramentas baseadas no Hive para facilitar a pesquisa com serviços como o Amazon Athena.
       + **Delimitador de campo**: quando o formato Texto é usado, esse é o caractere que separa os campos.
     + Na conta atual
       + **Tipo de log**: tipos de logs a serem entregues. O único tipo de log com suporte é EVENT\$1LOGS.
       + **Bucket do S3 de destino**: o bucket do S3 em sua conta para o qual os logs serão enviados. Você pode especificar um caminho de subpasta.
       + **Seleção de campo**: campos de dados a serem incluídos em seus logs.
       + **Sufixo**: o final adicionado aos nomes dos arquivos de log (exemplo: .log, .txt).
       + **Compatível com o Hive**: quando essa opção está ativada, organiza os logs em uma estrutura de pastas que funciona com ferramentas baseadas no Hive para facilitar a pesquisa.
       + **Delimitador de campo**: quando o formato Texto é usado, esse é o caractere que separa os campos.
   + Amazon Data Firehose
     + Entre contas
       + **Tipo de log**: tipos de logs a serem entregues. O único tipo de log com suporte é EVENT\$1LOGS.
       + **ARN do destino da entrega**: o Nome do recurso da Amazon do stream de entrega do Firehose em outra conta da AWS.
       + **Seleção de campo**: campos de dados a serem incluídos em seus logs.
       + **Delimitador de campo**: quando o formato Texto é usado, esse é o caractere que separa os campos.
     + Na conta atual
       + **Tipo de log**: tipos de logs a serem entregues. O único tipo de log com suporte é EVENT\$1LOGS.
       + **Stream de destino da entrega**: o stream de entrega do Firehose em sua conta para onde os logs serão enviados. O stream deve usar o tipo de origem "Direct Put".
       + **Seleção de campo**: campos de dados a serem incluídos em seus logs.
       + **Formato de saída**: como os logs são formatados:
         + JSON: formato estruturado para processamento computacional
         + Texto: formato de texto simples
       + **Delimitador de campo**: quando o formato Texto é usado, esse é o caractere que separa os campos.

------
#### [ Command line ]

Os comandos nessa seção são vinculados à *Referência de comando AWS CLI*. A documentação fornece descrições detalhadas das opções que você pode usar ao executar os comandos.

Para criar logs de pares de servidor de rotas:

1. Use o comando [put-delivery-source](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/logs/put-delivery-source.html).
   + Exemplo de solicitação

     ```
     aws logs put-delivery-source --name "source-rsp-1234567890abcdef0" --resource-arn "arn:aws:ec2:us-east-1:111122223333:route-server-peer/rsp-1234567890abcdef0" --log-type "EVENT_LOGS"
     ```
   + Exemplo de resposta

     ```
     {
          "deliverySource": {
             "name": "source-rsp-1234567890abcdef0",
             "arn": "arn:aws:logs:us-east-1:111122223333:delivery-source:source-rsp-1234567890abcdef0",
             "resourceArns": [
                 "arn:aws:ec2:us-east-1:111122223333:route-server-peer/rsp-1234567890abcdef0"
             ],
             "service": "ec2",
             "logType": "EVENT_LOGS"
         }
     }
     ```

1. Use o comando [put-delivery-destination](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/logs/put-delivery-destination.html).
   + O exemplo de CLI da AWS a seguir cria um log do servidor de rotas. Os logs são entregues ao grupo de logs especificado.
   + Exemplo de solicitação

     ```
     aws logs put-delivery-destination --name "destination-rsp-abcdef01234567890" --destination-resource-arn "arn:aws:logs:us-east-1:111122223333:log-group:/aws/vendedlogs/ec2/route-server-peer/EVENT_LOGS/rsp-abcdef01234567890"
     ```
   + Exemplo de resposta

     ```
     {
          "deliveryDestination": {
             "name": "destination-rsp-abcdef01234567890",
             "arn": "arn:aws:logs:us-east-1:111122223333:delivery-destination:destination-rsp-abcdef01234567890",
             "deliveryDestinationType": "CWL",
             "deliveryDestinationConfiguration": {
                 "destinationResourceArn": "arn:aws:logs:us-east-1:111122223333:log-group:/aws/vendedlogs/ec2/route-server-peer/EVENT_LOGS/rsp-abcdef01234567890"
             }
         }
     }
     ```

1. Use o comando [create-delivery](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/logs/create-delivery.html).
   + Exemplo de solicitação

     ```
     aws logs create-delivery --delivery-source-name "source-rsp-1234567890abcdef0" --delivery-destination-arn "arn:aws:logs:us-east-1:111122223333:delivery-destination:destination-rsp-abcdef01234567890"
     ```
   + Exemplo de resposta

     ```
     {
          "delivery": {
             "id": "1234567890abcdef0",
             "arn": "arn:aws:logs:us-east-1:111122223333:delivery:1234567890abcdef0",
             "deliverySourceName": "source-rsp-1234567890abcdef0",
             "deliveryDestinationArn": "arn:aws:logs:us-east-1:111122223333:delivery-destination:destination-rsp-abcdef01234567890",
             "deliveryDestinationType": "CWL",
             "recordFields": [
                 "resource_arn",
                 "event_timestamp",
                 "type",
                 "status",
                 "message"
             ]
         }
     }
     ```

------