...

Text file src/edge-infra.dev/config/pallets/edge/envctl/dashboard.json

Documentation: edge-infra.dev/config/pallets/edge/envctl

     1{
     2  "category": "CUSTOM",
     3  "dashboardFilters": [
     4    {
     5      "filterType": "METRIC_LABEL",
     6      "labelKey": "group_version_kind",
     7      "templateVariable": "filter_by_resource"
     8    },
     9    {
    10      "filterType": "RESOURCE_LABEL",
    11      "labelKey": "cluster",
    12      "templateVariable": "filter_by_cluster"
    13    },
    14    {
    15      "filterType": "RESOURCE_LABEL",
    16      "labelKey": "project_id",
    17      "templateVariable": "filter_by_project"
    18    }
    19  ],
    20  "displayName": "Persistence ctl",
    21  "labels": {
    22    "managed": "",
    23    "v_0_3_6-rc_1671033220": "",
    24    "owner_dk185217": "",
    25    "team_foundation": ""
    26  },
    27  "mosaicLayout": {
    28    "columns": 12,
    29    "tiles": [
    30      {
    31        "height": 4,
    32        "widget": {
    33          "title": "Resources by Status",
    34          "xyChart": {
    35            "chartOptions": {
    36              "mode": "COLOR"
    37            },
    38            "dataSets": [
    39              {
    40                "plotType": "STACKED_AREA",
    41                "targetAxis": "Y1",
    42                "timeSeriesQuery": {
    43                  "timeSeriesQueryLanguage": "fetch prometheus_target\n| metric\n    'prometheus.googleapis.com/edge_envctl_reconcile_condition_status/gauge'\n| group_by 1m,\n    [value_edge_envctl_reconcile_condition_status:\n       mean(value.edge_envctl_reconcile_condition_status)]\n| every 1m\n| group_by [metric.status],\n    [value_configconnector_applied_resources_total_mean_aggregate:\n       aggregate(value_edge_envctl_reconcile_condition_status)]"
    44                }
    45              }
    46            ],
    47            "thresholds": [],
    48            "timeshiftDuration": "0s",
    49            "yAxis": {
    50              "label": "y1Axis",
    51              "scale": "LINEAR"
    52            }
    53          }
    54        },
    55        "width": 10,
    56        "xPos": 2,
    57        "yPos": 0
    58      },
    59      {
    60        "height": 10,
    61        "widget": {
    62          "timeSeriesTable": {
    63            "columnSettings": [
    64              {
    65                "column": "cluster_name",
    66                "visible": true
    67              },
    68              {
    69                "column": "project_id",
    70                "visible": true
    71              }
    72            ],
    73            "dataSets": [
    74              {
    75                "minAlignmentPeriod": "60s",
    76                "timeSeriesQuery": {
    77                  "timeSeriesFilter": {
    78                    "aggregation": {
    79                      "alignmentPeriod": "60s",
    80                      "crossSeriesReducer": "REDUCE_SUM",
    81                      "groupByFields": [
    82                        "metric.label.\"cluster_name\"",
    83                        "resource.label.\"project_id\""
    84                      ],
    85                      "perSeriesAligner": "ALIGN_MEAN"
    86                    },
    87                    "filter": "metric.type=\"prometheus.googleapis.com/edge_envctl_reconcile_condition_status/gauge\" resource.type=\"prometheus_target\" metric.label.\"status\"!=\"True\" ${filter_by_project} ${filter_by_cluster} ${filter_by_resource}",
    88                    "pickTimeSeriesFilter": {
    89                      "direction": "TOP",
    90                      "numTimeSeries": 300,
    91                      "rankingMethod": "METHOD_MEAN"
    92                    },
    93                    "secondaryAggregation": {
    94                      "alignmentPeriod": "60s",
    95                      "crossSeriesReducer": "REDUCE_NONE",
    96                      "perSeriesAligner": "ALIGN_NONE"
    97                    }
    98                  }
    99                }
   100              }
   101            ],
   102            "metricVisualization": "BAR"
   103          },
   104          "title": "Unhealthy Resources - Aggregated"
   105        },
   106        "width": 6,
   107        "xPos": 0,
   108        "yPos": 4
   109      },
   110      {
   111        "height": 2,
   112        "widget": {
   113          "scorecard": {
   114            "thresholds": [
   115              {
   116                "color": "RED",
   117                "direction": "ABOVE",
   118                "label": "",
   119                "value": 10
   120              },
   121              {
   122                "color": "YELLOW",
   123                "direction": "ABOVE",
   124                "label": "",
   125                "value": 1
   126              }
   127            ],
   128            "timeSeriesQuery": {
   129              "apiSource": "DEFAULT_CLOUD",
   130              "timeSeriesFilter": {
   131                "aggregation": {
   132                  "alignmentPeriod": "60s",
   133                  "crossSeriesReducer": "REDUCE_SUM",
   134                  "groupByFields": [],
   135                  "perSeriesAligner": "ALIGN_MEAN"
   136                },
   137                "filter": "metric.type=\"prometheus.googleapis.com/edge_envctl_reconcile_condition_status/gauge\" resource.type=\"prometheus_target\" metric.label.\"status\"=\"False\""
   138              }
   139            }
   140          },
   141          "title": "Broken"
   142        },
   143        "width": 2,
   144        "xPos": 0,
   145        "yPos": 2
   146      },
   147      {
   148        "height": 2,
   149        "widget": {
   150          "scorecard": {
   151            "thresholds": [
   152              {
   153                "color": "RED",
   154                "direction": "ABOVE",
   155                "label": "",
   156                "value": 10000
   157              },
   158              {
   159                "color": "YELLOW",
   160                "direction": "ABOVE",
   161                "label": "",
   162                "value": 10000
   163              }
   164            ],
   165            "timeSeriesQuery": {
   166              "apiSource": "DEFAULT_CLOUD",
   167              "timeSeriesFilter": {
   168                "aggregation": {
   169                  "alignmentPeriod": "60s",
   170                  "crossSeriesReducer": "REDUCE_SUM",
   171                  "groupByFields": [],
   172                  "perSeriesAligner": "ALIGN_MEAN"
   173                },
   174                "filter": "metric.type=\"prometheus.googleapis.com/edge_envctl_reconcile_condition_status/gauge\" resource.type=\"prometheus_target\" metric.label.\"status\"=\"True\""
   175              }
   176            }
   177          },
   178          "title": "Healthy"
   179        },
   180        "width": 2,
   181        "xPos": 0,
   182        "yPos": 0
   183      },
   184      {
   185        "height": 4,
   186        "widget": {
   187          "title": "Reconcile Duration",
   188          "xyChart": {
   189            "chartOptions": {
   190              "mode": "COLOR"
   191            },
   192            "dataSets": [
   193              {
   194                "minAlignmentPeriod": "60s",
   195                "plotType": "LINE",
   196                "targetAxis": "Y1",
   197                "timeSeriesQuery": {
   198                  "apiSource": "DEFAULT_CLOUD",
   199                  "timeSeriesFilter": {
   200                    "aggregation": {
   201                      "alignmentPeriod": "60s",
   202                      "crossSeriesReducer": "REDUCE_PERCENTILE_50",
   203                      "groupByFields": [
   204                        "metric.label.\"cluster_name\"",
   205                        "resource.label.\"project_id\""
   206                      ],
   207                      "perSeriesAligner": "ALIGN_DELTA"
   208                    },
   209                    "filter": "metric.type=\"prometheus.googleapis.com/edge_envctl_reconcile_duration_seconds/histogram\" resource.type=\"prometheus_target\" ${filter_by_cluster} ${filter_by_project}",
   210                    "pickTimeSeriesFilter": {
   211                      "direction": "TOP",
   212                      "numTimeSeries": 300,
   213                      "rankingMethod": "METHOD_MEAN"
   214                    },
   215                    "secondaryAggregation": {
   216                      "alignmentPeriod": "60s",
   217                      "crossSeriesReducer": "REDUCE_NONE",
   218                      "perSeriesAligner": "ALIGN_NONE"
   219                    }
   220                  }
   221                }
   222              }
   223            ],
   224            "thresholds": [],
   225            "timeshiftDuration": "0s",
   226            "yAxis": {
   227              "label": "y1Axis",
   228              "scale": "LINEAR"
   229            }
   230          }
   231        },
   232        "width": 6,
   233        "xPos": 6,
   234        "yPos": 4
   235      }
   236    ]
   237  }
   238}

View as plain text