Azure / azure-libraries-for-java

Azure Management Libraries for Java
https://docs.microsoft.com/en-us/java/azure/
MIT License
94 stars 98 forks source link

Kubernetes Service metric "kube_node_status_condition" does not return time series data with filter on dimension "status" or "status2" #602

Open sushant-jaiswal opened 6 years ago

sushant-jaiswal commented 6 years ago

The following 4 metric dimensions are returned in the list metric definition call - https://docs.microsoft.com/en-us/rest/api/monitor/metricdefinitions/list with resourceUri = /subscriptions/1248268d-051f-432a-8e63-e83a9d36e776/resourceGroups/aks-int-resource-group/providers/Microsoft.ContainerService/managedClusters/aks-int-cluster/

"dimensions": [ { "value": "condition", "localizedValue": "Condition type represented in this metric" }, { "value": "status", "localizedValue": "Status of the condition dimension (true/false)" }, { "value": "status2", "localizedValue": "Status of the condition dimension (Ready/NotReady)" }, { "value": "node", "localizedValue": "Node's name" }

But, the metrics list call doesn’t seem to return any timeseries values when queried with all the above dimensions: REST call - https://docs.microsoft.com/en-us/rest/api/monitor/metrics/list with resourceUri = /subscriptions/1248268d-051f-432a-8e63-e83a9d36e776/resourceGroups/aks-int-resource-group/providers/Microsoft.ContainerService/managedClusters/aks-int-cluster/ metricnames=_kube_node_statuscondition aggregation=Total,Average,Minimum,Maximum,Count $filter=condition eq '' and node eq '' and status eq '' and status2 eq ''

{ "cost": 0, "timespan": "2018-09-27T16:54:29Z/2018-09-27T17:54:29Z", "interval": "PT1M", "value": [ { "id": "/subscriptions/1248268d-051f-432a-8e63-e83a9d36e776/resourceGroups/aks-int-resource-group/providers/Microsoft.ContainerService/managedClusters/aks-int-cluster/providers/Microsoft.Insights/metrics/kube_node_status_condition", "type": "Microsoft.Insights/metrics", "name": { "value": "kube_node_status_condition", "localizedValue": "Statuses for various node conditions" }, "unit": "Count", "timeseries": [] } ], "namespace": "Microsoft.ContainerService/managedClusters", "resourceregion": "eastus" }

The issue seems to be with dimensions status and status2

Azure doesn’t return anything when filtered with $filter=status eq '*' and status2 eq '*' We expect this should return all time series with metadata status and status2

Also the dimension status2 is not listed in https://docs.microsoft.com/en-us/azure/monitoring-and-diagnostics/monitoring-supported-metrics , but is being returned in the REST API Call.

We need help to understand if status and status2 are valid dimensions? If yes, is there a way we can get the time series data when filtered on these dimensions?

Let us know if more details are needed to investigate this. This is little critical for us, so any help is appreciated. Thanks.

sushant-jaiswal commented 6 years ago

@zqingqing1 @mboersma @sgoings Would you be able to help me here. Need some clarifications for few dimensions.

sjaiswalvmware commented 6 years ago

I recently checked the REST API call and it is working with the dimension status now. But, we still have issues with dimension status2. If that dimension is removed from the list or fixed to return timeseries data, we would be able to solve our problem. We appreciate any help here.

ghost commented 5 years ago

Thanks for the feedback! We are routing this to the appropriate team for follow-up. cc @aks-pm

yaohaizh commented 5 years ago

This is REST call question for service team.