Come faccio a creare, configurare e risolvere i problemi di un filtro di sottoscrizione a Kinesis utilizzando la console CloudWatch?

7 minuti di lettura
0

Voglio usare la console Amazon CloudWatch per creare un filtro di sottoscrizione per lo streaming dei miei log di Amazon CloudWatch su Amazon Kinesis.

Breve descrizione

Utilizza un filtro di sottoscrizione per inviare i log di CloudWatch quasi in tempo reale allo stesso account o a destinazioni Kinesis o Amazon Kinesis Data Firehose su più account. La console CloudWatch Logs supporta la configurazione della destinazione e dell'impostazione.

Per informazioni su come utilizzare la sintassi dei modelli di filtro per configurare un filtro di sottoscrizione, consulta Sintassi dei filtri e dei pattern.

Risoluzione

Configurazione della sottoscrizione per un flusso di dati Kinesis nello stesso account o nell'account corrente

**Nota:**La regione AWS per il gruppo di log di CloudWatch e la destinazione Kinesis devono essere le stesse.

Prima di creare la sottoscrizione, completa le seguenti azioni:

Per creare un ruolo IAM e una policy di ruolo personalizzati, completa i seguenti passaggi:

  1. Apri la console IAM con il tuo utente che dispone delle autorizzazioni di amministratore.

  2. Nel pannello di navigazione, scegli Policy.

  3. Nel riquadro dei contenuti, scegli Crea policy.

  4. Inserisci il seguente documento sulla politica delle autorizzazioni dei ruoli nella scheda JSON. Sostituisci REGION, ** ACCOUNT\ _ID ** e ** STREAM\ _NAME ** con i tuoi dati:

{
  "Statement": \[{
    "Effect": "Allow",
    "Action": "kinesis:PutRecord",
    "Resource": "arn:aws:kinesis:REGION:ACCOUNT\_ID:stream/STREAM\_NAME"
  }\]
}
  1. Apri la Console IAM.

  2. Nel riquadro di navigazione, scegli Ruoli, quindi scegli Crea ruolo.

  3. Scegli il tipo di ruolo della Policy di attendibilità personalizzata.

  4. Nella sezione Policy di attendibilità personalizzata, inserisci o incolla la policy di attendibilità per il ruolo. Vedi il seguente esempio di policy di attendibilità:

{
  "Statement": {
    "Effect": "Allow",
    "Principal": {
      "Service": "logs.region.amazonaws.com"
    },
    "Action": "sts:AssumeRole",
    "Condition": {
      "StringLike": {
        "aws:SourceArn": "arn:aws:logs:REGION:ACCOUNT\_ID:\*"
      }
    }
  }
}
  1. Scegli Avanti.

  2. Seleziona la policy IAM personalizzata che hai creato nel passaggio 4.

  3. Scegli Avanti, quindi scegli Crea un ruolo.

Dopo aver creato il flusso di Kinesis e il ruolo IAM, crea il filtro di sottoscrizione:

  1. Apri la Console CloudWatch.

  2. Scegli Gruppo di log.

  3. Scegli Azione, Filtri di abbonamento.

  4. Per configurare la destinazione, scegli Crea un filtro sottoscrizioni Kinesis.

  5. Scegli Account corrente.

  6. Seleziona il tuo flusso di dati Kinesis dall'elenco a discesa.

  7. Seleziona il ruolo IAM che hai creato.

  8. Scegli il Metodo di distribuzione:
    Per flusso di log:
    Questo verifica che i consumatori a valle possano aggregare i log eventi per flusso di log, ma potrebbe essere meno efficiente. Questo metodo potrebbe anche comportare costi di streaming più elevati perché richiede più partizioni.
    Casuale: Questo distribuisce il carico tra le partizioni del flusso Kinesis, ma i consumatori a valle non possono aggregare i log eventi per flusso di log.

  9. Configura il Formato di log e i filtri:
    Seleziona il formato di log. Il formato può essere Amazon VPC Flow Logs, AWS CloudTrail o AWS Lambda per i log pubblicati da Amazon VPC, CloudTrail o Lambda. In alternativa, puoi scegliere JSON, Delimitato da spazi o Altro, a seconda dei log eventi in entrata.
    Definisci il modello di filtro nella sezione Modello del filtro sottoscrizioni.
    Inserisci un nome per il tuo filtro di sottoscrizione.

  10. Verifica il tuo modello con i dati di log eventi esistenti.

  11. Dopo la verifica, scegli Inizia lo streaming.

  12. (Facoltativo) Convalida il flusso di log eventi per verificare il corretto funzionamento del flusso di dati.

Configurazione per una destinazione del flusso di dati Kinesis per più account

Nota: Se ricevi errori durante l'esecuzione dei comandi dell’Interfaccia della linea di comando AWS (AWS CLI), assicurati di utilizzare la versione più recente di AWS CLI.

Puoi distribuire eventi CloudWatch Logs ai flussi di dati Kinesis in diversi account e regioni AWS. Per fare ciò, configura la condivisione dei dati di log tra account con le sottoscrizioni e specifica la regione.

Nell'esempio seguente, i log di CloudWatch nella regione us-east-1 vengono inviati al flusso di dati Kinesis di un altro utente AWS in us-west-2. L'ID account del destinatario dei dati di log è 222222222222 e l'ID account del mittente dei dati di log è 111111111111.

Crea un flusso di dati di destinazione nell'account del destinatario 222222222222

Crea un flusso di dati di destinazione in Kinesis nell'account del destinatario dei dati con un ruolo IAM e una policy di affidabilità.

Crea un filtro di sottoscrizione nell'account di origine 111111111111

Per creare il filtro di sottoscrizione, completa i seguenti passaggi:

  1. Seleziona il gruppo di log.

  2. Scegli Azione, Filtri di abbonamento.

  3. Per selezionare la destinazione, scegli Crea, quindi seleziona Crea un filtro sottoscrizioni Kinesis.

  4. Scegli Altro account.

  5. Per una destinazione Kinesis o Kinesis data Firehose su più account, inserisci l'ARN di destinazione.

  6. Scegli il Metodo di distribuzione:
    Per flusso di log: Questo verifica che i consumatori a valle possano aggregare i log eventi per flusso di log, ma potrebbe essere meno efficiente. Questo metodo potrebbe anche comportare costi di streaming più elevati perché richiede più partizioni.
    Casuale: Questo distribuisce il carico tra le partizioni del flusso Kinesis, ma i consumatori a valle non possono aggregare i log eventi per flusso di log.

  7. Configura il Formato di log e i filtri:
    Seleziona il formato di log. Il formato può essere Amazon VPC Flow Logs, CloudTrail o AWS Lambda per i log pubblicati da Amazon VPC, CloudTrail o Lambda. In alternativa, puoi scegliere JSON, Delimitato da spazi o Altro, a seconda dei log eventi in entrata.
    Definisci il modello di filtro nella sezione Modello del filtro sottoscrizioni.
    Inserisci il nome del filtro di sottoscrizione.

  8. Verifica il tuo modello con i dati di log eventi esistenti.

  9. Dopo la verifica, scegli Inizia lo streaming.

  10. (Facoltativo) Convalida il flusso log eventi per verificare il corretto funzionamento del flusso di dati.

Risoluzione problemi

  • Assicurati che il flusso Kinesis sia nello stato Attivo. Puoi visualizzare il flusso sulla console Kinesis o utilizzare la chiamata API DescribeStream.
  • Verifica che il gruppo di log di CloudWatch e le regioni del flusso di dati Kinesis siano uguali.
  • Assicurati che esista un ruolo IAM con autorizzazioni di attendibilità per logs.yourregion.amazonaws.com e consenta l'autorizzazione kinesis:putrecords.
  • Verifica che le regioni e le risorse nella policy IAM siano corrette.
  • Assicurati di non aver selezionato Kinesis Firehose durante la configurazione di un filtro di sottoscrizione per il flusso di dati Kinesis.
  • Dopo aver avviato lo streaming, controlla le metriche del filtro di sottoscrizione per confermare che il modello di filtro sia valido e corrisponda al log eventi in entrata. Rivedi le seguenti metriche: **ForwardedBytes:**Il volume dei log eventi in byte compressi inoltrati alla destinazione della sottoscrizione. ForwardedLogEvents: Il numero di log eventi inoltrati alla destinazione della sottoscrizione.
  • Verifica che non vi siano errori durante lo streaming dei log eventi verso la destinazione. Rivedi le seguenti metriche: **DeliveryErrors:**Il numero di log eventi per i quali CloudWatch Logs ha ricevuto un errore durante l'inoltro dei dati alla destinazione della sottoscrizione. **DeliveryThrottling:**Il numero di log eventi che indicano che CloudWatch Logs è stato limitato durante l'inoltro dei dati alla destinazione della sottoscrizione.
  • Se disponi di uno flusso di Kinesis dedicato, controlla le metriche del flusso per confermare la funzionalità.
  • Per problemi con la registrazione tra account, consulta Risoluzione dei problemi relativi alla configurazione di CloudWatch tra più account.
AWS UFFICIALE
AWS UFFICIALEAggiornata un anno fa