

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

# Configurazione dei dispositivi syslog
<a name="CWL_Syslog_DeviceConfig"></a>

Dopo aver configurato l'ingestione di syslog, configura le tue fonti syslog per inviare messaggi al nome DNS dell'endpoint VPC. I tuoi dispositivi raggiungono l'endpoint tramite la connessione VPN o Direct Connect al VPC.

**Nota**  
Le seguenti configurazioni sono fornite a titolo di esempio. Per le opzioni di configurazione complete e le migliori pratiche, fate riferimento alla documentazione ufficiale per l'implementazione di syslog (rsyslog, syslog-ng o il fornitore del dispositivo).

Negli esempi seguenti, sostituiscilo `{{VPCE_DNS}}` con il nome DNS dell'endpoint VPC della procedura di configurazione (ad esempio,). `vpce-0abc123def456.syslog-logs.us-east-1.vpce.amazonaws.com`

## rsyslog
<a name="CWL_Syslog_DeviceConfig_Rsyslog"></a>

rsyslog è il demone syslog predefinito nella maggior parte delle distribuzioni Linux. Aggiungere la seguente `/etc/rsyslog.d/50-cwl-syslog.conf` configurazione a.

**TCP \+ TLS:**

```
# Forward all logs to CloudWatch Logs via TCP+TLS
action(type="omfwd"
  target="{{VPCE_DNS}}"
  port="6514"
  protocol="tcp"
  StreamDriver="gtls"
  StreamDriverMode="1"
  StreamDriverAuthMode="x509/certvalid"
  template="RSYSLOG_SyslogProtocol23Format"
  queue.type="LinkedList"
  queue.filename="cwl_fwd"
  queue.saveOnShutdown="on"
  action.resumeRetryCount="-1")
```

**Testo semplice TCP:**

```
# Forward all logs to CloudWatch Logs via plaintext TCP
action(type="omfwd"
  target="{{VPCE_DNS}}"
  port="1514"
  protocol="tcp"
  template="RSYSLOG_SyslogProtocol23Format"
  queue.type="LinkedList"
  queue.filename="cwl_fwd"
  queue.saveOnShutdown="on"
  action.resumeRetryCount="-1")
```

**UDP:**

```
# Forward all logs to CloudWatch Logs via UDP
action(type="omfwd"
  target="{{VPCE_DNS}}"
  port="514"
  protocol="udp"
  template="RSYSLOG_SyslogProtocol23Format")
```

Dopo aver aggiunto la configurazione, riavvia rsyslog:

```
sudo systemctl restart rsyslog
```

**Nota**  
Le `queue.saveOnShutdown="on"` direttive `queue.type="LinkedList"` and abilitano l'accodamento assistito da disco. Se la connessione all'endpoint VPC viene temporaneamente interrotta, rsyslog memorizza i messaggi nel buffer locale e riprova il recapito.

**Filtraggio per struttura o gravità:**

Per inviare solo messaggi specifici, aggiungi un filtro prima dell'azione:

```
# Send only auth messages via TCP+TLS
auth,authpriv.* action(type="omfwd"
  target="{{VPCE_DNS}}"
  port="6514"
  protocol="tcp"
  StreamDriver="gtls"
  StreamDriverMode="1"
  StreamDriverAuthMode="x509/certvalid"
  template="RSYSLOG_SyslogProtocol23Format")
```

## syslog-ng
<a name="CWL_Syslog_DeviceConfig_SyslogNg"></a>

syslog-ng è comunemente usato su dispositivi di rete e sistemi Linux aziendali. Aggiungere la seguente configurazione a. `/etc/syslog-ng/conf.d/cwl-syslog.conf`

**TCP \+ TLS:**

```
destination d_cwl_syslog {
  network("{{VPCE_DNS}}"
    port(6514)
    transport("tls")
    tls(
      peer-verify(required-trusted)
      ca-dir("/etc/ssl/certs")
    )
  );
};

log {
  source(s_sys);
  destination(d_cwl_syslog);
};
```

**Testo semplice TCP:**

```
destination d_cwl_syslog {
  network("{{VPCE_DNS}}"
    port(1514)
    transport("tcp")
  );
};

log {
  source(s_sys);
  destination(d_cwl_syslog);
};
```

**UDP:**

```
destination d_cwl_syslog {
  network("{{VPCE_DNS}}"
    port(514)
    transport("udp")
  );
};

log {
  source(s_sys);
  destination(d_cwl_syslog);
};
```

Dopo aver aggiunto la configurazione, riavvia syslog-ng:

```
sudo systemctl restart syslog-ng
```

## Validazione rapida
<a name="CWL_Syslog_DeviceConfig_QuickTest"></a>

Utilizza i seguenti comandi da qualsiasi host in grado di raggiungere l'endpoint VPC per verificare la connettività.

**Testo semplice TCP (porta 1514):**

```
echo "<134>1 $(date -u +%Y-%m-%dT%H:%M:%SZ) myhost myapp 1234 - - Hello from syslog" | \
  nc {{VPCE_DNS}} 1514
```

**TCP \+ TLS (porta 6514):**

```
echo "<134>1 $(date -u +%Y-%m-%dT%H:%M:%SZ) myhost myapp 1234 - - Hello TLS syslog" | \
  openssl s_client -connect {{VPCE_DNS}}:6514 -quiet -no_ign_eof
```

**UDP (porta 514):**

```
echo "<134>1 $(date -u +%Y-%m-%dT%H:%M:%SZ) myhost myapp 1234 - - Hello UDP syslog" | \
  nc -u -w1 {{VPCE_DNS}} 514
```

Dopo aver inviato i messaggi di prova, verifica la consegna nei CloudWatch registri (di solito entro 10-20 secondi):

```
aws logs filter-log-events \
  --log-group-name /syslog/my-devices \
  --start-time $(date -d '5 minutes ago' +%s000 2>/dev/null || echo $(($(date -v-5M +%s) * 1000))) \
  --region $REGION
```

## Apparecchiature di rete
<a name="CWL_Syslog_DeviceConfig_NetworkDevices"></a>

La maggior parte dei firewall, dei router e degli switch supporta la configurazione di un server syslog esterno specificando un indirizzo IP e una porta di destinazione. Utilizza l'indirizzo IP privato dell'endpoint VPC ENI (visibile nella console Amazon VPC sotto **Endpoints**) e una delle porte supportate (6514, 1514 o 514).

Consulta la documentazione del tuo dispositivo per la sintassi di configurazione specifica. Le impostazioni principali da configurare sono:
+ **Indirizzo server**: il nome DNS dell'endpoint VPC o l'indirizzo IP privato ENI.
+ **Porta**: 6514 (TCP\+TLS), 1514 (TCP) o 514 (UDP).
+ **Protocollo: TCP (consigliato) o UDP.**
+ **Formato**: RFC 5424 (preferito) o RFC 3164 (precedente). Entrambi sono supportati.

## Attendibilità dei certificati TLS
<a name="CWL_Syslog_DeviceConfig_TLS"></a>

La connessione TLS sulla porta 6514 utilizza un certificato AWS gestito emesso da Amazon Trust Services. La maggior parte dei sistemi operativi e dei daemon syslog si fida automaticamente di questo certificato perché i certificati root di Amazon Trust Services sono inclusi negli archivi trust standard di CA.

Se il tuo dispositivo non considera attendibile il certificato per impostazione predefinita, scarica i certificati root di Amazon Trust Services da [https://www.amazontrust.com/repository/](https://www.amazontrust.com/repository/)e aggiungili al CA Trust Store del dispositivo.