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"
- 主要言語
- 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