Azure / Azure/azure-libraries-for-java

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

オープン
#602 コメント 4 件 リアクション 0 件 担当者 0 名 GitHub で見る
AKS Service Attention
主要言語
Java
スター
97
フォーク
102
PR マージ指標
30日以内にマージされた PR はありません

説明

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_status_condition_
**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.

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

Issue で引用されている Azure Monitor のメトリック定義/list および metrics/list REST エンドポイントから始め、kube_node_status_condition リソースと、その condition、node、status、status2 フィルターを使用します。返されるディメンションと時系列の動作を比較し、status と status2 が有効かどうか、またどのようなレスポンスまたはサポートされているクエリが解決に相当するかを文書化します。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
azure, java, kubernetes
領域
cloud, observability
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
25/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。