{
  "tags": [],
  "title": "Kyverno",
  "widgets": [
    {
      "layout": {
        "x": 0,
        "y": 0,
        "width": 12,
        "height": 2
      },
      "definition": {
        "type": "note",
        "content": "# Kyverno\nA Kubernetes-native policy management engine\n\n#### About this dashboard\n\nThis dashboard represents generic insights which can be extracted and made well use of from a cluster with Kyverno in action.\n\n#### For more details around the metrics\n\nCheckout the [official docs of Kyverno metrics](https://kyverno.io/docs/monitoring-kyverno-with-prometheus-metrics/)",
        "tick_pos": "50%",
        "font_size": "14",
        "show_tick": false,
        "tick_edge": "left",
        "text_align": "left",
        "has_padding": true,
        "vertical_align": "top",
        "background_color": "white"
      }
    },
    {
      "layout": {
        "x": 0,
        "y": 2,
        "width": 12,
        "height": 5
      },
      "definition": {
        "type": "group",
        "title": "Latest Status",
        "widgets": [
          {
            "layout": {
              "x": 0,
              "y": 0,
              "width": 3,
              "height": 2
            },
            "definition": {
              "type": "query_value",
              "title": "Rule Execution Success Rate",
              "requests": [
                {
                  "queries": [
                    {
                      "name": "query1",
                      "query": "sum:kyverno_policy_results.count{rule_result:pass}",
                      "aggregator": "last",
                      "data_source": "metrics"
                    },
                    {
                      "name": "query2",
                      "query": "sum:kyverno_policy_results.count{*}",
                      "aggregator": "last",
                      "data_source": "metrics"
                    }
                  ],
                  "formulas": [
                    {
                      "formula": "(query1 * 100) / query2"
                    }
                  ],
                  "response_format": "scalar",
                  "conditional_formats": [
                    {
                      "value": 50,
                      "palette": "white_on_red",
                      "comparator": ">="
                    },
                    {
                      "value": 75,
                      "palette": "white_on_red",
                      "comparator": ">="
                    },
                    {
                      "value": 100,
                      "palette": "white_on_green",
                      "comparator": ">="
                    }
                  ]
                }
              ],
              "autoscale": true,
              "precision": 2,
              "text_align": "center",
              "custom_unit": "%"
            }
          },
          {
            "layout": {
              "x": 4,
              "y": 0,
              "width": 2,
              "height": 1
            },
            "definition": {
              "type": "query_value",
              "title": "Cluster Policies",
              "requests": [
                {
                  "queries": [
                    {
                      "name": "query1",
                      "query": "sum:kyverno_policy_rule_info.count{policy_type:cluster} by {policy_name}",
                      "aggregator": "last",
                      "data_source": "metrics"
                    }
                  ],
                  "formulas": [
                    {
                      "formula": "count_not_null(query1)"
                    }
                  ],
                  "response_format": "scalar"
                }
              ],
              "autoscale": true,
              "precision": 2,
              "text_align": "center"
            }
          },
          {
            "layout": {
              "x": 6,
              "y": 0,
              "width": 2,
              "height": 1
            },
            "definition": {
              "type": "query_value",
              "title": "Policies",
              "requests": [
                {
                  "queries": [
                    {
                      "name": "query1",
                      "query": "sum:kyverno_policy_rule_info.count{policy_type:namespaced} by {policy_name}",
                      "aggregator": "last",
                      "data_source": "metrics"
                    }
                  ],
                  "formulas": [
                    {
                      "formula": "count_not_null(query1)"
                    }
                  ],
                  "response_format": "scalar"
                }
              ],
              "autoscale": true,
              "precision": 2,
              "text_align": "center"
            }
          },
          {
            "layout": {
              "x": 9,
              "y": 0,
              "width": 3,
              "height": 2
            },
            "definition": {
              "type": "query_value",
              "title": "Background Scans Success Rate",
              "requests": [
                {
                  "queries": [
                    {
                      "name": "query1",
                      "query": "sum:kyverno_policy_results.count{rule_result:pass,policy_background_mode:true}",
                      "aggregator": "last",
                      "data_source": "metrics"
                    },
                    {
                      "name": "query2",
                      "query": "sum:kyverno_policy_results.count{policy_background_mode:true}",
                      "aggregator": "last",
                      "data_source": "metrics"
                    }
                  ],
                  "formulas": [
                    {
                      "formula": "(query1 * 100) / query2"
                    }
                  ],
                  "response_format": "scalar",
                  "conditional_formats": [
                    {
                      "value": 50,
                      "palette": "white_on_red",
                      "comparator": ">="
                    },
                    {
                      "value": 75,
                      "palette": "white_on_red",
                      "comparator": ">="
                    },
                    {
                      "value": 100,
                      "palette": "white_on_green",
                      "comparator": ">="
                    }
                  ]
                }
              ],
              "autoscale": true,
              "precision": 2,
              "text_align": "center",
              "custom_unit": "%"
            }
          },
          {
            "layout": {
              "x": 3,
              "y": 1,
              "width": 2,
              "height": 1
            },
            "definition": {
              "type": "query_value",
              "title": "Validate Rules",
              "requests": [
                {
                  "queries": [
                    {
                      "name": "query1",
                      "query": "sum:kyverno_policy_rule_info.count{rule_type:validate} by {policy_name,rule_type}",
                      "aggregator": "last",
                      "data_source": "metrics"
                    }
                  ],
                  "formulas": [
                    {
                      "formula": "count_not_null(query1)"
                    }
                  ],
                  "response_format": "scalar"
                }
              ],
              "autoscale": true,
              "precision": 2,
              "text_align": "center"
            }
          },
          {
            "layout": {
              "x": 5,
              "y": 1,
              "width": 2,
              "height": 1
            },
            "definition": {
              "type": "query_value",
              "title": "Mutate Rules",
              "requests": [
                {
                  "queries": [
                    {
                      "name": "query1",
                      "query": "sum:kyverno_policy_rule_info.count{rule_type:mutate} by {policy_name,rule_type}",
                      "aggregator": "last",
                      "data_source": "metrics"
                    }
                  ],
                  "formulas": [
                    {
                      "formula": "count_not_null(query1)"
                    }
                  ],
                  "response_format": "scalar"
                }
              ],
              "autoscale": true,
              "precision": 2,
              "text_align": "center"
            }
          },
          {
            "layout": {
              "x": 7,
              "y": 1,
              "width": 2,
              "height": 1
            },
            "definition": {
              "type": "query_value",
              "title": "Generate Rules",
              "requests": [
                {
                  "queries": [
                    {
                      "name": "query1",
                      "query": "sum:kyverno_policy_rule_info.count{rule_type:generate} by {policy_name,rule_type}",
                      "aggregator": "last",
                      "data_source": "metrics"
                    }
                  ],
                  "formulas": [
                    {
                      "formula": "count_not_null(query1)"
                    }
                  ],
                  "response_format": "scalar"
                }
              ],
              "autoscale": true,
              "precision": 2,
              "text_align": "center"
            }
          },
          {
            "layout": {
              "x": 1,
              "y": 2,
              "width": 2,
              "height": 1
            },
            "definition": {
              "type": "query_value",
              "title": "CPU Utilisation (from requests)",
              "requests": [
                {
                  "queries": [
                    {
                      "name": "query1",
                      "query": "sum:kubernetes.cpu.usage.total{$kyvernoNS}",
                      "aggregator": "last",
                      "data_source": "metrics"
                    },
                    {
                      "name": "query2",
                      "query": "sum:kubernetes_state.container.cpu_requested{$kyvernoNS}",
                      "aggregator": "last",
                      "data_source": "metrics"
                    }
                  ],
                  "formulas": [
                    {
                      "formula": "((query1 / 1000000000) / query2) * 100"
                    }
                  ],
                  "response_format": "scalar",
                  "conditional_formats": [
                    {
                      "value": 80,
                      "palette": "white_on_red",
                      "comparator": ">="
                    }
                  ]
                }
              ],
              "autoscale": true,
              "precision": 2,
              "text_align": "center",
              "custom_unit": "%"
            }
          },
          {
            "layout": {
              "x": 3,
              "y": 2,
              "width": 2,
              "height": 1
            },
            "definition": {
              "type": "query_value",
              "title": "CPU Utilisation (from limits)",
              "requests": [
                {
                  "queries": [
                    {
                      "name": "query1",
                      "query": "sum:kubernetes.cpu.usage.total{$kyvernoNS}",
                      "aggregator": "last",
                      "data_source": "metrics"
                    },
                    {
                      "name": "query2",
                      "query": "sum:kubernetes_state.container.cpu_limit{$kyvernoNS}",
                      "aggregator": "last",
                      "data_source": "metrics"
                    }
                  ],
                  "formulas": [
                    {
                      "formula": "((query1 / 1000000000) / query2) * 100"
                    }
                  ],
                  "response_format": "scalar",
                  "conditional_formats": [
                    {
                      "value": 80,
                      "palette": "white_on_red",
                      "comparator": ">="
                    }
                  ]
                }
              ],
              "autoscale": true,
              "precision": 2,
              "text_align": "center",
              "custom_unit": "%"
            }
          },
          {
            "layout": {
              "x": 5,
              "y": 2,
              "width": 2,
              "height": 1
            },
            "definition": {
              "type": "query_value",
              "title": "Memory Utilisation (from requests)",
              "requests": [
                {
                  "queries": [
                    {
                      "name": "query1",
                      "query": "sum:kubernetes.memory.working_set{$kyvernoNS,kube_container_name:*}",
                      "aggregator": "last",
                      "data_source": "metrics"
                    },
                    {
                      "name": "query2",
                      "query": "sum:kubernetes_state.container.memory_requested{$kyvernoNS}",
                      "aggregator": "last",
                      "data_source": "metrics"
                    }
                  ],
                  "formulas": [
                    {
                      "formula": "(query1 / query2) * 100"
                    }
                  ],
                  "response_format": "scalar",
                  "conditional_formats": [
                    {
                      "value": 80,
                      "palette": "white_on_red",
                      "comparator": ">="
                    }
                  ]
                }
              ],
              "autoscale": true,
              "precision": 2,
              "text_align": "center",
              "custom_unit": "%"
            }
          },
          {
            "layout": {
              "x": 7,
              "y": 2,
              "width": 2,
              "height": 1
            },
            "definition": {
              "type": "query_value",
              "title": "Memory Utilisation (from limits)",
              "requests": [
                {
                  "queries": [
                    {
                      "name": "query1",
                      "query": "sum:kubernetes.memory.working_set{$kyvernoNS,kube_container_name:*}",
                      "aggregator": "last",
                      "data_source": "metrics"
                    },
                    {
                      "name": "query2",
                      "query": "sum:kubernetes_state.container.memory_limit{$kyvernoNS}",
                      "aggregator": "last",
                      "data_source": "metrics"
                    }
                  ],
                  "formulas": [
                    {
                      "formula": "(query1 / query2) * 100"
                    }
                  ],
                  "response_format": "scalar",
                  "conditional_formats": [
                    {
                      "value": 80,
                      "palette": "white_on_red",
                      "comparator": ">="
                    }
                  ]
                }
              ],
              "autoscale": true,
              "precision": 2,
              "text_align": "center",
              "custom_unit": "%"
            }
          },
          {
            "layout": {
              "x": 0,
              "y": 3,
              "width": 6,
              "height": 2
            },
            "definition": {
              "type": "timeseries",
              "title": "CPU Usage",
              "yaxis": {
                "max": "auto",
                "min": "auto",
                "label": "",
                "scale": "linear",
                "include_zero": true
              },
              "requests": [
                {
                  "style": {
                    "palette": "dog_classic",
                    "line_type": "solid",
                    "line_width": "normal"
                  },
                  "queries": [
                    {
                      "name": "query1",
                      "query": "sum:kubernetes.cpu.usage.total{$kyvernoNS} by {pod_name}",
                      "data_source": "metrics"
                    },
                    {
                      "name": "query2",
                      "query": "avg:kubernetes_state.resourcequota.requests.cpu.limit{$kyvernoNS}",
                      "data_source": "metrics"
                    },
                    {
                      "name": "query3",
                      "query": "avg:kubernetes_state.resourcequota.limits.cpu.limit{$kyvernoNS}",
                      "data_source": "metrics"
                    }
                  ],
                  "formulas": [
                    {
                      "formula": "query1 / 1000000000"
                    },
                    {
                      "alias": "quota - requests",
                      "formula": "query2"
                    },
                    {
                      "alias": "quota - limits",
                      "formula": "query3"
                    }
                  ],
                  "display_type": "area",
                  "response_format": "timeseries"
                }
              ],
              "show_legend": true,
              "legend_layout": "auto",
              "legend_columns": [
                "avg",
                "min",
                "max",
                "value",
                "sum"
              ]
            }
          },
          {
            "layout": {
              "x": 6,
              "y": 3,
              "width": 6,
              "height": 2
            },
            "definition": {
              "type": "timeseries",
              "title": "Memory Usage (w/o cache)",
              "yaxis": {
                "max": "auto",
                "min": "auto",
                "label": "",
                "scale": "linear",
                "include_zero": true
              },
              "requests": [
                {
                  "style": {
                    "palette": "dog_classic",
                    "line_type": "solid",
                    "line_width": "normal"
                  },
                  "queries": [
                    {
                      "name": "query1",
                      "query": "sum:kubernetes.memory.working_set{$kyvernoNS,kube_container_name:*} by {pod_name}",
                      "data_source": "metrics"
                    },
                    {
                      "name": "query2",
                      "query": "avg:kubernetes_state.resourcequota.requests.memory.limit{$kyvernoNS}",
                      "data_source": "metrics"
                    },
                    {
                      "name": "query3",
                      "query": "avg:kubernetes_state.resourcequota.limits.memory.limit{$kyvernoNS}",
                      "data_source": "metrics"
                    }
                  ],
                  "formulas": [
                    {
                      "formula": "query1"
                    },
                    {
                      "alias": "quota - requests",
                      "formula": "query2"
                    },
                    {
                      "alias": "quota - limits",
                      "formula": "query3"
                    }
                  ],
                  "display_type": "area",
                  "response_format": "timeseries"
                }
              ],
              "show_legend": true,
              "legend_layout": "auto",
              "legend_columns": [
                "avg",
                "min",
                "max",
                "value",
                "sum"
              ]
            }
          }
        ],
        "show_title": true,
        "layout_type": "ordered"
      }
    },
    {
      "layout": {
        "x": 0,
        "y": 7,
        "width": 12,
        "height": 6
      },
      "definition": {
        "type": "group",
        "title": "Policy-Rule Results",
        "widgets": [
          {
            "layout": {
              "x": 0,
              "y": 0,
              "width": 4,
              "height": 2
            },
            "definition": {
              "type": "timeseries",
              "title": "Admission Review Results (per-rule)",
              "yaxis": {
                "max": "auto",
                "min": "auto",
                "label": "",
                "scale": "linear",
                "include_zero": true
              },
              "requests": [
                {
                  "style": {
                    "palette": "dog_classic",
                    "line_type": "solid",
                    "line_width": "normal"
                  },
                  "queries": [
                    {
                      "name": "query1",
                      "query": "sum:kyverno_policy_results.count{rule_execution_cause:admission_request} by {rule_result}",
                      "data_source": "metrics"
                    }
                  ],
                  "formulas": [
                    {
                      "formula": "query1"
                    }
                  ],
                  "display_type": "area",
                  "response_format": "timeseries"
                }
              ],
              "show_legend": true,
              "legend_layout": "auto",
              "legend_columns": [
                "avg",
                "min",
                "max",
                "value",
                "sum"
              ]
            }
          },
          {
            "layout": {
              "x": 4,
              "y": 0,
              "width": 4,
              "height": 2
            },
            "definition": {
              "type": "timeseries",
              "title": "Background Scan Results (per-rule)",
              "yaxis": {
                "max": "auto",
                "min": "auto",
                "label": "",
                "scale": "linear",
                "include_zero": true
              },
              "requests": [
                {
                  "style": {
                    "palette": "dog_classic",
                    "line_type": "solid",
                    "line_width": "normal"
                  },
                  "queries": [
                    {
                      "name": "query1",
                      "query": "sum:kyverno_policy_results.count{rule_execution_cause:background_scan} by {rule_result}",
                      "data_source": "metrics"
                    }
                  ],
                  "formulas": [
                    {
                      "formula": "query1"
                    }
                  ],
                  "display_type": "area",
                  "response_format": "timeseries"
                }
              ],
              "show_legend": true,
              "legend_layout": "auto",
              "legend_columns": [
                "avg",
                "min",
                "max",
                "value",
                "sum"
              ]
            }
          },
          {
            "layout": {
              "x": 8,
              "y": 0,
              "width": 4,
              "height": 4
            },
            "definition": {
              "type": "timeseries",
              "title": "Policy Failures",
              "yaxis": {
                "max": "auto",
                "min": "auto",
                "label": "",
                "scale": "linear",
                "include_zero": true
              },
              "requests": [
                {
                  "style": {
                    "palette": "dog_classic",
                    "line_type": "solid",
                    "line_width": "normal"
                  },
                  "queries": [
                    {
                      "name": "query1",
                      "query": "sum:kyverno_policy_results.count{rule_result:fail} by {policy_type}",
                      "data_source": "metrics"
                    }
                  ],
                  "formulas": [
                    {
                      "formula": "query1"
                    }
                  ],
                  "display_type": "area",
                  "response_format": "timeseries"
                }
              ],
              "show_legend": true,
              "legend_layout": "auto",
              "legend_columns": [
                "avg",
                "min",
                "max",
                "value",
                "sum"
              ]
            }
          },
          {
            "layout": {
              "x": 0,
              "y": 2,
              "width": 4,
              "height": 2
            },
            "definition": {
              "type": "timeseries",
              "title": "Admission Review Results (per-policy)",
              "yaxis": {
                "max": "auto",
                "min": "auto",
                "label": "",
                "scale": "linear",
                "include_zero": true
              },
              "requests": [
                {
                  "style": {
                    "palette": "dog_classic",
                    "line_type": "solid",
                    "line_width": "normal"
                  },
                  "queries": [
                    {
                      "name": "query1",
                      "query": "sum:kyverno_policy_results.count{rule_execution_cause:admission_request} by {rule_result}",
                      "data_source": "metrics"
                    }
                  ],
                  "formulas": [
                    {
                      "formula": "query1"
                    }
                  ],
                  "display_type": "area",
                  "response_format": "timeseries"
                }
              ],
              "show_legend": true,
              "legend_layout": "auto",
              "legend_columns": [
                "avg",
                "min",
                "max",
                "value",
                "sum"
              ]
            }
          },
          {
            "layout": {
              "x": 4,
              "y": 2,
              "width": 4,
              "height": 2
            },
            "definition": {
              "type": "timeseries",
              "title": "Background Scan Results (per-policy)",
              "yaxis": {
                "max": "auto",
                "min": "auto",
                "label": "",
                "scale": "linear",
                "include_zero": true
              },
              "requests": [
                {
                  "style": {
                    "palette": "dog_classic",
                    "line_type": "solid",
                    "line_width": "normal"
                  },
                  "queries": [
                    {
                      "name": "query1",
                      "query": "sum:kyverno_policy_results.count{rule_execution_cause:background_scan} by {rule_result}",
                      "data_source": "metrics"
                    }
                  ],
                  "formulas": [
                    {
                      "formula": "query1"
                    }
                  ],
                  "display_type": "area",
                  "response_format": "timeseries"
                }
              ],
              "show_legend": true,
              "legend_layout": "auto",
              "legend_columns": [
                "avg",
                "min",
                "max",
                "value",
                "sum"
              ]
            }
          },
          {
            "layout": {
              "x": 0,
              "y": 4,
              "width": 12,
              "height": 2
            },
            "definition": {
              "type": "timeseries",
              "title": "Cluster Policies and Namespaces w/Failed",
              "yaxis": {
                "max": "auto",
                "min": "auto",
                "label": "",
                "scale": "linear",
                "include_zero": false
              },
              "markers": [
                {
                  "value": "y = 80",
                  "display_type": "error dashed"
                }
              ],
              "requests": [
                {
                  "style": {
                    "palette": "dog_classic",
                    "line_type": "solid",
                    "line_width": "normal"
                  },
                  "queries": [
                    {
                      "name": "query1",
                      "query": "sum:kyverno_policy_results.count{rule_result:fail} by {resource_namespace,policy_name}",
                      "data_source": "metrics"
                    }
                  ],
                  "formulas": [
                    {
                      "formula": "count_not_null(query1)"
                    }
                  ],
                  "display_type": "line",
                  "response_format": "timeseries"
                }
              ],
              "show_legend": true,
              "legend_layout": "auto",
              "legend_columns": [
                "avg",
                "min",
                "max",
                "value",
                "sum"
              ]
            }
          }
        ],
        "show_title": true,
        "layout_type": "ordered"
      }
    },
    {
      "layout": {
        "x": 0,
        "y": 13,
        "width": 12,
        "height": 4
      },
      "definition": {
        "type": "group",
        "title": "Policy-Rule Info",
        "widgets": [
          {
            "layout": {
              "x": 0,
              "y": 0,
              "width": 4,
              "height": 2
            },
            "definition": {
              "type": "timeseries",
              "title": "Active Policies (by policy type)",
              "yaxis": {
                "max": "auto",
                "min": "auto",
                "label": "",
                "scale": "linear",
                "include_zero": true
              },
              "requests": [
                {
                  "style": {
                    "palette": "dog_classic",
                    "line_type": "solid",
                    "line_width": "normal"
                  },
                  "queries": [
                    {
                      "name": "query1",
                      "query": "sum:kyverno_policy_rule_info.count{*} by {policy_type,policy_name}",
                      "data_source": "metrics"
                    }
                  ],
                  "formulas": [
                    {
                      "formula": "count_not_null(query1)"
                    }
                  ],
                  "display_type": "area",
                  "response_format": "timeseries"
                }
              ],
              "show_legend": true,
              "legend_layout": "auto",
              "legend_columns": [
                "avg",
                "min",
                "max",
                "value",
                "sum"
              ]
            }
          },
          {
            "layout": {
              "x": 4,
              "y": 0,
              "width": 4,
              "height": 2
            },
            "definition": {
              "type": "timeseries",
              "title": "Active Policies (by policy validation action)",
              "yaxis": {
                "max": "auto",
                "min": "auto",
                "label": "",
                "scale": "linear",
                "include_zero": true
              },
              "requests": [
                {
                  "style": {
                    "palette": "dog_classic",
                    "line_type": "solid",
                    "line_width": "normal"
                  },
                  "queries": [
                    {
                      "name": "query1",
                      "query": "sum:kyverno_policy_rule_info.count{*} by {policy_validation_mode,policy_name}",
                      "data_source": "metrics"
                    }
                  ],
                  "formulas": [
                    {
                      "alias": "audit",
                      "formula": "count_not_null(query1)"
                    }
                  ],
                  "display_type": "area",
                  "response_format": "timeseries"
                }
              ],
              "show_legend": true,
              "legend_layout": "auto",
              "legend_columns": [
                "avg",
                "min",
                "max",
                "value",
                "sum"
              ]
            }
          },
          {
            "layout": {
              "x": 8,
              "y": 0,
              "width": 4,
              "height": 2
            },
            "definition": {
              "type": "timeseries",
              "title": "Active Policies running in background mode",
              "yaxis": {
                "max": "auto",
                "min": "auto",
                "label": "",
                "scale": "linear",
                "include_zero": true
              },
              "requests": [
                {
                  "style": {
                    "palette": "dog_classic",
                    "line_type": "solid",
                    "line_width": "normal"
                  },
                  "queries": [
                    {
                      "name": "query1",
                      "query": "sum:kyverno_policy_rule_info.count{policy_background_mode:true} by {policy_type,policy_name}",
                      "data_source": "metrics"
                    }
                  ],
                  "formulas": [
                    {
                      "formula": "count_not_null(query1)"
                    }
                  ],
                  "display_type": "area",
                  "response_format": "timeseries"
                }
              ],
              "show_legend": true,
              "legend_layout": "auto",
              "legend_columns": [
                "avg",
                "min",
                "max",
                "value",
                "sum"
              ]
            }
          },
          {
            "layout": {
              "x": 0,
              "y": 2,
              "width": 4,
              "height": 2
            },
            "definition": {
              "type": "timeseries",
              "title": "Active Namespaced Policies (by namespaces)",
              "yaxis": {
                "max": "auto",
                "min": "auto",
                "label": "",
                "scale": "linear",
                "include_zero": true
              },
              "requests": [
                {
                  "style": {
                    "palette": "dog_classic",
                    "line_type": "solid",
                    "line_width": "normal"
                  },
                  "queries": [
                    {
                      "name": "query1",
                      "query": "sum:kyverno_policy_rule_info.count{!policy_namespace:-} by {policy_namespace,policy_name}",
                      "data_source": "metrics"
                    }
                  ],
                  "formulas": [
                    {
                      "formula": "count_not_null(query1)"
                    }
                  ],
                  "display_type": "area",
                  "response_format": "timeseries"
                }
              ],
              "show_legend": true,
              "legend_layout": "auto",
              "legend_columns": [
                "avg",
                "min",
                "max",
                "value",
                "sum"
              ]
            }
          },
          {
            "layout": {
              "x": 4,
              "y": 2,
              "width": 5,
              "height": 2
            },
            "definition": {
              "type": "timeseries",
              "title": "Active Rules (by rule type)",
              "yaxis": {
                "max": "auto",
                "min": "auto",
                "label": "",
                "scale": "linear",
                "include_zero": true
              },
              "requests": [
                {
                  "style": {
                    "palette": "dog_classic",
                    "line_type": "solid",
                    "line_width": "normal"
                  },
                  "queries": [
                    {
                      "name": "query1",
                      "query": "sum:kyverno_policy_rule_info.count{*} by {rule_type,policy_name}",
                      "data_source": "metrics"
                    }
                  ],
                  "formulas": [
                    {
                      "formula": "count_not_null(query1)"
                    }
                  ],
                  "display_type": "area",
                  "response_format": "timeseries"
                }
              ],
              "show_legend": true,
              "legend_layout": "auto",
              "legend_columns": [
                "avg",
                "min",
                "max",
                "value",
                "sum"
              ]
            }
          }
        ],
        "show_title": true,
        "layout_type": "ordered"
      }
    },
    {
      "layout": {
        "x": 0,
        "y": 17,
        "width": 12,
        "height": 2
      },
      "definition": {
        "type": "group",
        "title": "Policy-Rule Execution Latency",
        "widgets": [
          {
            "layout": {
              "x": 0,
              "y": 0,
              "width": 4,
              "height": 2
            },
            "definition": {
              "type": "timeseries",
              "title": "Average Rule Execution Latency",
              "yaxis": {
                "max": "auto",
                "min": "auto",
                "label": "",
                "scale": "linear",
                "include_zero": true
              },
              "requests": [
                {
                  "style": {
                    "palette": "dog_classic",
                    "line_type": "solid",
                    "line_width": "normal"
                  },
                  "queries": [
                    {
                      "name": "query1",
                      "query": "avg:kyverno_policy_execution_duration_seconds.sum{*} by {rule_type}",
                      "data_source": "metrics"
                    }
                  ],
                  "formulas": [
                    {
                      "formula": "query1"
                    }
                  ],
                  "display_type": "area",
                  "response_format": "timeseries"
                }
              ],
              "show_legend": true,
              "legend_layout": "auto",
              "legend_columns": [
                "avg",
                "min",
                "max",
                "value",
                "sum"
              ]
            }
          },
          {
            "layout": {
              "x": 4,
              "y": 0,
              "width": 5,
              "height": 2
            },
            "definition": {
              "type": "timeseries",
              "title": "Average Policy Execution Latency",
              "yaxis": {
                "max": "auto",
                "min": "auto",
                "label": "",
                "scale": "linear",
                "include_zero": true
              },
              "requests": [
                {
                  "style": {
                    "palette": "dog_classic",
                    "line_type": "solid",
                    "line_width": "normal"
                  },
                  "queries": [
                    {
                      "name": "query1",
                      "query": "avg:kyverno_policy_execution_duration_seconds.sum{*} by {policy_type}",
                      "data_source": "metrics"
                    }
                  ],
                  "formulas": [
                    {
                      "formula": "query1"
                    }
                  ],
                  "display_type": "area",
                  "response_format": "timeseries"
                }
              ],
              "show_legend": true,
              "legend_layout": "auto",
              "legend_columns": [
                "avg",
                "min",
                "max",
                "value",
                "sum"
              ]
            }
          },
          {
            "layout": {
              "x": 9,
              "y": 0,
              "width": 3,
              "height": 1
            },
            "definition": {
              "type": "query_value",
              "title": "Overall Average Rule Execution Latency",
              "requests": [
                {
                  "queries": [
                    {
                      "name": "query1",
                      "query": "avg:kyverno_policy_execution_duration_seconds.sum{*}",
                      "aggregator": "avg",
                      "data_source": "metrics"
                    }
                  ],
                  "formulas": [
                    {
                      "formula": "query1"
                    }
                  ],
                  "response_format": "scalar"
                }
              ],
              "autoscale": true,
              "precision": 2,
              "text_align": "center",
              "custom_unit": "s",
              "timeseries_background": {
                "type": "area"
              }
            }
          },
          {
            "layout": {
              "x": 9,
              "y": 1,
              "width": 3,
              "height": 1
            },
            "definition": {
              "type": "query_value",
              "title": "Overall Average Policy Execution Latency",
              "requests": [
                {
                  "queries": [
                    {
                      "name": "query1",
                      "query": "avg:kyverno_policy_execution_duration_seconds.sum{*}",
                      "aggregator": "avg",
                      "data_source": "metrics"
                    }
                  ],
                  "formulas": [
                    {
                      "formula": "query1"
                    }
                  ],
                  "response_format": "scalar"
                }
              ],
              "autoscale": true,
              "precision": 2,
              "text_align": "center",
              "custom_unit": "s",
              "timeseries_background": {
                "type": "area"
              }
            }
          }
        ],
        "show_title": true,
        "layout_type": "ordered"
      }
    },
    {
      "layout": {
        "x": 0,
        "y": 19,
        "width": 12,
        "height": 2
      },
      "definition": {
        "type": "group",
        "title": "Admission Review Latency",
        "widgets": [
          {
            "layout": {
              "x": 0,
              "y": 0,
              "width": 4,
              "height": 2
            },
            "definition": {
              "type": "timeseries",
              "title": "Avg - Admission Review Duration (by operation)",
              "yaxis": {
                "max": "auto",
                "min": "auto",
                "label": "",
                "scale": "linear",
                "include_zero": true
              },
              "requests": [
                {
                  "style": {
                    "palette": "dog_classic",
                    "line_type": "solid",
                    "line_width": "normal"
                  },
                  "queries": [
                    {
                      "name": "query1",
                      "query": "avg:kyverno_admission_requests.count{*} by {resource_request_operation}",
                      "data_source": "metrics"
                    }
                  ],
                  "formulas": [
                    {
                      "formula": "query1"
                    }
                  ],
                  "display_type": "area",
                  "response_format": "timeseries"
                }
              ],
              "show_legend": true,
              "legend_layout": "auto",
              "legend_columns": [
                "avg",
                "min",
                "max",
                "value",
                "sum"
              ]
            }
          },
          {
            "layout": {
              "x": 4,
              "y": 0,
              "width": 5,
              "height": 2
            },
            "definition": {
              "type": "timeseries",
              "title": "Avg - Admission Review Duration (by resource kind)",
              "yaxis": {
                "max": "auto",
                "min": "auto",
                "label": "",
                "scale": "linear",
                "include_zero": true
              },
              "requests": [
                {
                  "style": {
                    "palette": "dog_classic",
                    "line_type": "solid",
                    "line_width": "normal"
                  },
                  "queries": [
                    {
                      "name": "query1",
                      "query": "sum:kyverno_admission_requests.count{*} by {resource_kind}",
                      "data_source": "metrics"
                    }
                  ],
                  "formulas": [
                    {
                      "formula": "query1"
                    }
                  ],
                  "display_type": "area",
                  "response_format": "timeseries"
                }
              ],
              "show_legend": true,
              "legend_layout": "auto",
              "legend_columns": [
                "avg",
                "min",
                "max",
                "value",
                "sum"
              ]
            }
          },
          {
            "layout": {
              "x": 9,
              "y": 0,
              "width": 3,
              "height": 1
            },
            "definition": {
              "type": "query_value",
              "title": "Rate - Incoming Admission Requests (last 5m)",
              "requests": [
                {
                  "queries": [
                    {
                      "name": "query1",
                      "query": "sum:kyverno_admission_requests.count{*}.as_rate()",
                      "aggregator": "last",
                      "data_source": "metrics"
                    }
                  ],
                  "formulas": [
                    {
                      "formula": "query1"
                    }
                  ],
                  "response_format": "scalar"
                }
              ],
              "autoscale": true,
              "precision": 2,
              "text_align": "center",
              "timeseries_background": {
                "type": "area"
              }
            }
          },
          {
            "layout": {
              "x": 9,
              "y": 1,
              "width": 3,
              "height": 1
            },
            "definition": {
              "type": "query_value",
              "title": "Avg - Overall Admission Review Duration",
              "requests": [
                {
                  "queries": [
                    {
                      "name": "query1",
                      "query": "avg:kyverno_admission_review_duration_seconds.sum{*}",
                      "aggregator": "avg",
                      "data_source": "metrics"
                    }
                  ],
                  "formulas": [
                    {
                      "formula": "query1"
                    }
                  ],
                  "response_format": "scalar"
                }
              ],
              "autoscale": true,
              "precision": 2,
              "text_align": "center",
              "custom_unit": "s",
              "timeseries_background": {
                "type": "area"
              }
            }
          }
        ],
        "show_title": true,
        "layout_type": "ordered"
      }
    },
    {
      "layout": {
        "x": 0,
        "y": 21,
        "width": 12,
        "height": 2
      },
      "definition": {
        "type": "group",
        "title": "Policy Changes",
        "widgets": [
          {
            "layout": {
              "x": 0,
              "y": 0,
              "width": 4,
              "height": 2
            },
            "definition": {
              "type": "timeseries",
              "title": "Policy Changes (by change type)",
              "yaxis": {
                "max": "auto",
                "min": "auto",
                "label": "",
                "scale": "linear",
                "include_zero": true
              },
              "requests": [
                {
                  "style": {
                    "palette": "dog_classic",
                    "line_type": "solid",
                    "line_width": "normal"
                  },
                  "queries": [
                    {
                      "name": "query1",
                      "query": "sum:kyverno_policy_changes.count{*} by {policy_change_type}",
                      "data_source": "metrics"
                    }
                  ],
                  "formulas": [
                    {
                      "formula": "query1"
                    }
                  ],
                  "display_type": "area",
                  "response_format": "timeseries"
                }
              ],
              "show_legend": true,
              "legend_layout": "auto",
              "legend_columns": [
                "avg",
                "min",
                "max",
                "value",
                "sum"
              ]
            }
          },
          {
            "layout": {
              "x": 4,
              "y": 0,
              "width": 5,
              "height": 2
            },
            "definition": {
              "type": "timeseries",
              "title": "Policy Changes (by policy type)",
              "yaxis": {
                "max": "auto",
                "min": "auto",
                "label": "",
                "scale": "linear",
                "include_zero": true
              },
              "requests": [
                {
                  "style": {
                    "palette": "dog_classic",
                    "line_type": "solid",
                    "line_width": "normal"
                  },
                  "queries": [
                    {
                      "name": "query1",
                      "query": "sum:kyverno_policy_changes.count{*} by {policy_type}",
                      "data_source": "metrics"
                    }
                  ],
                  "formulas": [
                    {
                      "formula": "query1"
                    }
                  ],
                  "display_type": "area",
                  "response_format": "timeseries"
                }
              ],
              "show_legend": true,
              "legend_layout": "auto",
              "legend_columns": [
                "avg",
                "min",
                "max",
                "value",
                "sum"
              ]
            }
          },
          {
            "layout": {
              "x": 9,
              "y": 0,
              "width": 3,
              "height": 1
            },
            "definition": {
              "type": "query_value",
              "title": "Total Policy Changes",
              "requests": [
                {
                  "queries": [
                    {
                      "name": "query1",
                      "query": "sum:kyverno_policy_changes.count{*}",
                      "aggregator": "last",
                      "data_source": "metrics"
                    }
                  ],
                  "formulas": [
                    {
                      "formula": "query1"
                    }
                  ],
                  "response_format": "scalar"
                }
              ],
              "autoscale": true,
              "precision": 2,
              "text_align": "center"
            }
          },
          {
            "layout": {
              "x": 9,
              "y": 1,
              "width": 3,
              "height": 1
            },
            "definition": {
              "type": "query_value",
              "title": "Rate - Policy Changes Happening (last 5m)",
              "requests": [
                {
                  "queries": [
                    {
                      "name": "query1",
                      "query": "sum:kyverno_admission_requests.count{*}.as_rate()",
                      "aggregator": "last",
                      "data_source": "metrics"
                    }
                  ],
                  "formulas": [
                    {
                      "formula": "query1"
                    }
                  ],
                  "response_format": "scalar"
                }
              ],
              "autoscale": true,
              "precision": 2,
              "text_align": "center",
              "timeseries_background": {
                "type": "area"
              }
            }
          }
        ],
        "show_title": true,
        "layout_type": "ordered"
      }
    },
    {
      "layout": {
        "x": 0,
        "y": 23,
        "width": 12,
        "height": 2
      },
      "definition": {
        "type": "group",
        "title": "Admission Requests",
        "widgets": [
          {
            "layout": {
              "x": 0,
              "y": 0,
              "width": 4,
              "height": 2
            },
            "definition": {
              "type": "timeseries",
              "title": "Admission Requests (by operation)",
              "yaxis": {
                "max": "auto",
                "min": "auto",
                "label": "",
                "scale": "linear",
                "include_zero": true
              },
              "requests": [
                {
                  "style": {
                    "palette": "dog_classic",
                    "line_type": "solid",
                    "line_width": "normal"
                  },
                  "queries": [
                    {
                      "name": "query1",
                      "query": "sum:kyverno_admission_requests.count{*} by {resource_request_operation}",
                      "data_source": "metrics"
                    }
                  ],
                  "formulas": [
                    {
                      "formula": "query1"
                    }
                  ],
                  "display_type": "area",
                  "response_format": "timeseries"
                }
              ],
              "show_legend": true,
              "legend_layout": "auto",
              "legend_columns": [
                "avg",
                "min",
                "max",
                "value",
                "sum"
              ]
            }
          },
          {
            "layout": {
              "x": 4,
              "y": 0,
              "width": 5,
              "height": 2
            },
            "definition": {
              "type": "timeseries",
              "title": "Admission Requests (by resource kind)",
              "yaxis": {
                "max": "auto",
                "min": "auto",
                "label": "",
                "scale": "linear",
                "include_zero": true
              },
              "requests": [
                {
                  "style": {
                    "palette": "dog_classic",
                    "line_type": "solid",
                    "line_width": "normal"
                  },
                  "queries": [
                    {
                      "name": "query1",
                      "query": "sum:kyverno_admission_requests.count{*} by {resource_kind}",
                      "data_source": "metrics"
                    }
                  ],
                  "formulas": [
                    {
                      "formula": "query1"
                    }
                  ],
                  "display_type": "area",
                  "response_format": "timeseries"
                }
              ],
              "show_legend": true,
              "legend_layout": "auto",
              "legend_columns": [
                "avg",
                "min",
                "max",
                "value",
                "sum"
              ]
            }
          },
          {
            "layout": {
              "x": 9,
              "y": 0,
              "width": 3,
              "height": 2
            },
            "definition": {
              "type": "query_value",
              "title": "Total Admission Requests",
              "requests": [
                {
                  "queries": [
                    {
                      "name": "query1",
                      "query": "sum:kyverno_admission_requests.count{*}",
                      "aggregator": "last",
                      "data_source": "metrics"
                    }
                  ],
                  "formulas": [
                    {
                      "formula": "query1"
                    }
                  ],
                  "response_format": "scalar"
                }
              ],
              "autoscale": true,
              "precision": 2,
              "text_align": "center"
            }
          }
        ],
        "show_title": true,
        "layout_type": "ordered"
      }
    }
  ],
  "description": "Converted from Grafana dashboard https://grafana.com/grafana/dashboards/15987 (by adonaicosta).",
  "layout_type": "ordered",
  "reflow_type": "fixed",
  "template_variables": [
    {
      "name": "kyvernoNS",
      "prefix": "kube_namespace",
      "default": "*",
      "available_values": []
    }
  ]
}