无法将服务器工作队列长度自定义指标推送到Cloud Watch

时间:2017-01-09 10:22:53

标签: amazon-web-services amazon-cloudwatch

我无法将服务器工作队列长度自定义指标发布到Cloud Watch。我能够弄清楚我的错误但无法做到,因为我对在那里使用什么一无所知。

这是此指标的 PerformanceCounter 块:

{
    "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参数中,从Add Counters输入valutes    性能监视器中的对话框,可以是以下之一:

  • 空白,如果所选对象没有实例。

  • 所选对象的单个实例。

  • _Total使用所有实例的聚合。

注意:请勿使用星号(*)表示所有实例,因为每个性能计数器组件仅支持一个指标。

性能监视器中的

添加计数器对话框显示以下内容:

enter image description here

因此,计数器部分显示所有实例。如上所述,AWS文档表示如果计数器显示所有实例,则不使用*,但未说明要使用的内容。我使用_Total并将其留空。他们俩都没有用。

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

对于分页文件,我使用 _Total 作为InstanceName,因为性能计数器中提到了它。下面的快照显示了。

enter image description here

对于Logical Disk Free Space,我使用 _Total 作为InstanceName作为PerformanceMonitor中的计数器出现。

enter image description here

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

enter image description here

我差不多三天都在尝试这个,没有任何成功。请建议我在那里使用什么。

2 个答案:

答案 0 :(得分:0)

根据文件说明:

  

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

假设您的PerformanceCounter文件中有其他JSON个部分,则每个部分都应包含唯一的ID。其他一切似乎都很好。

答案 1 :(得分:0)

您是否尝试过这样的高级API调用: https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/examples-cloudwatch-publish-custom-metrics.html

我遵循了这个步骤,没有发现任何问题。