Amazon web services 无法将服务器工作队列长度自定义指标推送到云监视

Amazon web services 无法将服务器工作队列长度自定义指标推送到云监视,amazon-web-services,amazon-cloudwatch,Amazon Web Services,Amazon Cloudwatch,我无法将服务器工作队列长度自定义度量发布到Cloud Watch。我能够找出我的错误,但无法做到这一点,因为我不知道该在那里使用什么 这是此度量的性能计数器块: { "Id": "PerformanceCounter", "FullName": "AWS.EC2.Windows.CloudWatch.PerformanceCounterComponent.PerformanceCounterInputComponent,AWS.EC2.Windows.CloudWatch",

我无法将服务器工作队列长度自定义度量发布到Cloud Watch。我能够找出我的错误,但无法做到这一点,因为我不知道该在那里使用什么

这是此度量的性能计数器块:

{
    "Id": "PerformanceCounter",
    "FullName": "AWS.EC2.Windows.CloudWatch.PerformanceCounterComponent.PerformanceCounterInputComponent,AWS.EC2.Windows.CloudWatch",
    "Parameters": {
         "CategoryName": "Server Work Queues",
         "CounterName": "Queue Length",
         "InstanceName": "",
         "MetricName": "QueueDepth",
         "Unit": "Count",
         "DimensionName": "InstanceId",
         "DimensionValue": "{instance_id}"
    }
},
上述代码的问题是InstanceName参数

根据AWS文件

在InstanceName参数中,输入添加计数器中的值 “性能监视器”中的对话框,可以是以下选项之一:

  • 如果选定对象没有实例,则为空

  • 选定对象的单个实例

  • _Total使用所有实例的聚合

注意:不要使用星号(*)表示所有实例,因为每个性能计数器组件只支持一个度量

“性能监视器”中的“添加计数器”对话框显示以下内容:

因此计数器部分显示所有实例。AWS文档,如上面的项目符号所示,如果计数器显示所有实例,但没有说明使用什么,则不使用*。我使用了_Total,也没有填写。两个都不起作用

通过遵循上面提到的相同点,我成功地监控了内存、逻辑磁盘空间、分页文件等

对于分页文件,我使用了\u Total作为InstanceName,正如性能计数器中提到的那样。下面的快照显示了这一点

对于逻辑磁盘可用空间,我使用了\u Total作为InstanceName,以显示PerformanceMonitor中的计数器

对于内存,我将InstanceName值保留为空白,因为PerformanceMonitor中的计数器没有显示任何内容


我已经尝试了将近三天,但没有成功。请建议我在那里使用什么。

根据文档:

对于要上载到CloudWatch的每个性能计数器,复制PerformanceCounter部分并更改Id参数以使其唯一(例如,“PerformanceCounter2”),并根据需要更新其他参数


假设在
JSON
文件中有其他
PerformanceCounter
部分,那么每个部分都应该有唯一的ID。其他一切似乎都很好。

您是否尝试过这样的高级API调用:


我遵循了这一点,没有发现任何问题。

此指标的文档在哪里?你从哪里得到的?我们需要从性能监视器得到。它在每个Windows服务器中都可用。所有自定义指标仅从那里提取。在服务器上搜索性能监视器。计数器名称、类别名称……所有这些参数都从那里提取。我已经编辑了我的问题。你现在会更明白的。请检查我只有一个性能计数器,即服务工作队列长度。您能否发布整个
JSON
文件?我已经解决了问题,但无法解决,因为我不知道使用什么。我已经更新了我的问题和快照。请检查一下。