从 Amazon CloudWatch 获取指标 - Amazon SDK for JavaScript
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

我们已宣布即将终止对 Amazon SDK for JavaScript v2 的支持。建议您迁移到 Amazon SDK for JavaScript v3。有关日期、其他详细信息以及如何迁移的信息,请参阅链接的公告。

从 Amazon CloudWatch 获取指标

JavaScript code example that applies to Node.js execution

此 Node.js 代码示例演示:

  • 如何检索已发布 CloudWatch 指标的列表。

  • 如何将数据点发布到 CloudWatch 指标。

情景

指标是关于您的系统性能的数据。您也可以启用对某些资源(例如 Amazon EC2 实例)或您自己的应用程序指标的详细监控。

本示例使用一系列 Node.js 模块从 CloudWatch 获取指标并将事件发送到 Amazon CloudWatch Events。这些 Node.js 模块使用 SDK for JavaScript,通过 CloudWatch 客户端类的以下方法从 CloudWatch 获取指标:

有关 CloudWatch 指标的更多信息,请参阅《Amazon CloudWatch 用户指南》中的使用 Amazon CloudWatch 指标

先决条件任务

要设置和运行此示例,您必须先完成以下任务:

列出指标

创建文件名为 cw_listmetrics.js 的 Node.js 模块。请确保按前面所示配置开发工具包。要访问 CloudWatch,请创建 AWS.CloudWatch 服务对象。创建一个 JSON 对象,该对象包含在 AWS/Logs 命名空间中列出指标所需的参数。调用 listMetrics 方法以列出 IncomingLogEvents 指标。

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create CloudWatch service object var cw = new AWS.CloudWatch({ apiVersion: "2010-08-01" }); var params = { Dimensions: [ { Name: "LogGroupName" /* required */, }, ], MetricName: "IncomingLogEvents", Namespace: "AWS/Logs", }; cw.listMetrics(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Metrics", JSON.stringify(data.Metrics)); } });

要运行示例,请在命令行中键入以下内容。

node cw_listmetrics.js

此示例代码可在 GitHub 上的此处找到。

提交自定义指标

创建文件名为 cw_putmetricdata.js 的 Node.js 模块。请确保按前面所示配置开发工具包。要访问 CloudWatch,请创建 AWS.CloudWatch 服务对象。创建一个 JSON 对象,其中包含为 PAGES_VISITED 自定义指标提交数据点所需的参数。调用 putMetricData 方法。

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create CloudWatch service object var cw = new AWS.CloudWatch({ apiVersion: "2010-08-01" }); // Create parameters JSON for putMetricData var params = { MetricData: [ { MetricName: "PAGES_VISITED", Dimensions: [ { Name: "UNIQUE_PAGES", Value: "URLS", }, ], Unit: "None", Value: 1.0, }, ], Namespace: "SITE/TRAFFIC", }; cw.putMetricData(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", JSON.stringify(data)); } });

要运行示例,请在命令行中键入以下内容。

node cw_putmetricdata.js

此示例代码可在 GitHub 上的此处找到。