View a markdown version of this page

Utilizzo dei filtri di abbonamento in Amazon CloudWatch Logs - AWS SDK per JavaScript

La versione AWS SDK per JavaScript v2 ha raggiunto la fine del supporto. Ti consigliamo di eseguire la migrazione alla v3. AWS SDK per JavaScript Per ulteriori dettagli e informazioni su come eseguire la migrazione, consulta questo annuncio. https://aws.amazon.com/blogs/developer/announcing-end-of-support-for-aws-sdk-for-javascript-v2/

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

Utilizzo dei filtri di abbonamento in Amazon CloudWatch Logs

JavaScript code example that applies to Node.js execution

Questo esempio di Node.js codice mostra:

  • Come creare ed eliminare filtri per gli eventi di registro in CloudWatch Logs.

Lo scenario

Gli abbonamenti forniscono l'accesso a un feed in tempo reale degli eventi di CloudWatch log di Logs e lo distribuiscono ad altri servizi, come uno stream Amazon Kinesis o AWS Lambda, per l'elaborazione, l'analisi o il caricamento personalizzati su altri sistemi. Un filtro di sottoscrizione definisce il modello da utilizzare per filtrare gli eventi di log che vengono inviati alla risorsa. AWS

In questo esempio, una serie di Node.js moduli viene utilizzata per elencare, creare ed eliminare un filtro di sottoscrizione in CloudWatch Logs. La destinazione per gli eventi di log è una funzione Lambda. I Node.js moduli utilizzano l'SDK per JavaScript gestire i filtri degli abbonamenti utilizzando questi metodi della classe CloudWatchLogs client:

Per ulteriori informazioni sugli abbonamenti a CloudWatch Logs, consulta Real-time Processing of Log Data with Subscriptions nella Amazon CloudWatch Logs User Guide.

Attività prerequisite

Per configurare ed eseguire questo esempio, è necessario completare queste attività:

Utilizzare la seguente policy di ruolo quando si crea un ruolo IAM.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:*:*" }, { "Effect": "Allow", "Action": [ "lambda:InvokeFunction" ], "Resource": [ "*" ] } ] }

Descrivere i filtri di sottoscrizione esistenti

Crea un Node.js modulo con il nome del file. cwl_describesubscriptionfilters.js Assicurati di configurare il kit SDK come mostrato in precedenza. Per accedere ai CloudWatch log, create un oggetto AWS.CloudWatchLogs di servizio. Crea un oggetto JSON che contiene i parametri necessari per descrivere i filtri esistenti, tra cui il nome del gruppo di log e il numero massimo di filtri che desideri vengano descritti. Chiama il metodo describeSubscriptionFilters.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create the CloudWatchLogs service object var cwl = new AWS.CloudWatchLogs({ apiVersion: "2014-03-28" }); var params = { logGroupName: "GROUP_NAME", limit: 5, }; cwl.describeSubscriptionFilters(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data.subscriptionFilters); } });

Digita la seguente riga di comando per eseguire l'esempio.

node cwl_describesubscriptionfilters.js

Questo codice di esempio può essere trovato qui su GitHub.

Creazione di un filtro di sottoscrizione

Crea un Node.js modulo con il nome del filecwl_putsubscriptionfilter.js. Assicurati di configurare il kit SDK come mostrato in precedenza. Per accedere ai CloudWatch log, create un oggetto AWS.CloudWatchLogs di servizio. Crea un oggetto JSON contenente i parametri necessari per creare un filtro, incluso l'ARN della funzione Lambda di destinazione, il nome del filtro, il modello di stringa per il filtro e il nome del gruppo di log. Chiama il metodo putSubscriptionFilters.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create the CloudWatchLogs service object var cwl = new AWS.CloudWatchLogs({ apiVersion: "2014-03-28" }); var params = { destinationArn: "LAMBDA_FUNCTION_ARN", filterName: "FILTER_NAME", filterPattern: "ERROR", logGroupName: "LOG_GROUP", }; cwl.putSubscriptionFilter(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data); } });

Digita la seguente riga di comando per eseguire l'esempio.

node cwl_putsubscriptionfilter.js

Questo codice di esempio può essere trovato qui su. GitHub

Eliminare un filtro di sottoscrizione

Crea un Node.js modulo con il nome del filecwl_deletesubscriptionfilters.js. Assicurati di configurare il kit SDK come mostrato in precedenza. Per accedere ai CloudWatch log, create un oggetto AWS.CloudWatchLogs di servizio. Crea un oggetto JSON contenente i parametri necessari per eliminare un filtro, inclusi i nomi del filtro e il gruppo di log. Chiama il metodo deleteSubscriptionFilters.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create the CloudWatchLogs service object var cwl = new AWS.CloudWatchLogs({ apiVersion: "2014-03-28" }); var params = { filterName: "FILTER", logGroupName: "LOG_GROUP", }; cwl.deleteSubscriptionFilter(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data); } });

Digita la seguente riga di comando per eseguire l'esempio.

node cwl_deletesubscriptionfilter.js

Questo codice di esempio può essere trovato qui su GitHub.