{
  "apiVersion": "dashboard.grafana.app/v2",
  "kind": "Dashboard",
  "metadata": {
    "annotations": {
      "grafana.app/folder": "materialize",
      "monitoring.materialize.cloud/min-mz-version": "v26.24.0",
      "monitoring.materialize.cloud/rec-mz-version": "v26.24.0",
      "monitoring.materialize.cloud/sql-metric-prefix": "mz_",
      "monitoring.materialize.cloud/target-export": "generic"
    },
    "name": "mz-mon-env-logs"
  },
  "spec": {
    "annotations": [
      {
        "kind": "AnnotationQuery",
        "spec": {
          "builtIn": true,
          "enable": true,
          "hide": true,
          "iconColor": "rgba(0, 211, 255, 1)",
          "name": "Annotations & Alerts",
          "query": {
            "datasource": {
              "name": "-- Grafana --"
            },
            "group": "grafana",
            "kind": "DataQuery",
            "spec": {},
            "version": "v0"
          }
        }
      }
    ],
    "cursorSync": "Crosshair",
    "description": "Logs and Kubernetes events for a Materialize deployment.\n\nWhat the workloads said, as opposed to what they measured.",
    "editable": true,
    "elements": {
      "event-feed": {
        "kind": "Panel",
        "spec": {
          "data": {
            "kind": "QueryGroup",
            "spec": {
              "queries": [
                {
                  "kind": "PanelQuery",
                  "spec": {
                    "hidden": false,
                    "query": {
                      "datasource": {
                        "name": "${logsDatasource}"
                      },
                      "group": "loki",
                      "kind": "DataQuery",
                      "spec": {
                        "expr": "{job=\"loki.source.kubernetes_events\", namespace=~\"$logNamespaceList\", namespace!~\"a^\"}\n  |~ \"(?i)$logSearch\"\n"
                      },
                      "version": "v0"
                    },
                    "refId": "query-0"
                  }
                }
              ],
              "queryOptions": {},
              "transformations": []
            }
          },
          "description": "**Every Kubernetes event in the selected namespaces, newest first.**\n\nThe general-purpose event feed, scoped by the same namespace picker as the logs beside it rather than by a deployment's own namespaces. Turning the Materialize-only switch off reaches `kube-system` and the rest of the cluster, which is where the answer lives when the question is about nodes or storage rather than about Materialize.\n\nDistinct from the rollout feed on the upgrade dashboard: this one carries no generation or reporting-controller filter, because a general browser should not quietly drop events for belonging to the wrong side of a rollout.\n\nThe consuming panel renders `reason`, `msg` and `name` as columns rather than showing the raw line, so this query deliberately does **not** `line_format`: displayed fields supersede the line, and formatting one would be work thrown away. The rollout feeds on the upgrade dashboard do reformat, because they show the line.",
          "id": 1010,
          "links": [],
          "title": "All Events",
          "vizConfig": {
            "group": "logs",
            "kind": "VizConfig",
            "spec": {
              "fieldConfig": {
                "defaults": {
                  "noValue": "No events in this time range"
                },
                "overrides": []
              },
              "options": {
                "dedupStrategy": "signature",
                "detailsMode": "inline",
                "displayedFields": [
                  "reason",
                  "name",
                  "msg"
                ],
                "enableInfiniteScrolling": true,
                "enableLogDetails": true,
                "fontSize": "small",
                "prettifyLogMessage": false,
                "showCommonLabels": false,
                "showControls": true,
                "showFieldSelector": true,
                "showLabels": false,
                "showLevel": true,
                "showLogContextToggle": false,
                "showTime": true,
                "sortOrder": "Descending",
                "syntaxHighlighting": true,
                "timestampResolution": "ms",
                "unwrappedColumns": true,
                "wrapLogMessage": false
              }
            },
            "version": ""
          }
        }
      },
      "event-rate-by-namespace": {
        "kind": "Panel",
        "spec": {
          "data": {
            "kind": "QueryGroup",
            "spec": {
              "queries": [
                {
                  "kind": "PanelQuery",
                  "spec": {
                    "hidden": false,
                    "query": {
                      "datasource": {
                        "name": "${logsDatasource}"
                      },
                      "group": "loki",
                      "kind": "DataQuery",
                      "spec": {
                        "expr": "sum by (namespace) (\n  count_over_time(\n    {job=\"loki.source.kubernetes_events\", namespace=~\"$logNamespaceList\", namespace!~\"a^\"}\n      |~ \"(?i)$logSearch\"\n    [$__auto]\n  )\n)\n",
                        "legendFormat": "{{namespace}}"
                      },
                      "version": "v0"
                    },
                    "refId": "query-0"
                  }
                }
              ],
              "queryOptions": {},
              "transformations": []
            }
          },
          "description": "**Event rate by namespace — where in the cluster things are happening.**\n\nMost useful with the Materialize-only switch off, which is when this stops being one or two flat lines and starts saying whether the activity is in the deployment, the monitoring stack, or the platform underneath both.",
          "id": 1008,
          "links": [],
          "title": "Event Rate by Namespace",
          "vizConfig": {
            "group": "timeseries",
            "kind": "VizConfig",
            "spec": {
              "fieldConfig": {
                "defaults": {
                  "min": 0,
                  "noValue": "No events in this time range"
                },
                "overrides": []
              },
              "options": {
                "legend": {
                  "calcs": [
                    "max",
                    "mean",
                    "lastNotNull"
                  ],
                  "displayMode": "table",
                  "placement": "bottom",
                  "showLegend": true
                },
                "tooltip": {
                  "mode": "single",
                  "sort": "asc"
                }
              }
            },
            "version": ""
          }
        }
      },
      "event-rate-by-reason": {
        "kind": "Panel",
        "spec": {
          "data": {
            "kind": "QueryGroup",
            "spec": {
              "queries": [
                {
                  "kind": "PanelQuery",
                  "spec": {
                    "hidden": false,
                    "query": {
                      "datasource": {
                        "name": "${logsDatasource}"
                      },
                      "group": "loki",
                      "kind": "DataQuery",
                      "spec": {
                        "expr": "sum by (reason) (\n  count_over_time(\n    {job=\"loki.source.kubernetes_events\", namespace=~\"$logNamespaceList\", namespace!~\"a^\"}\n      |~ \"(?i)$logSearch\"\n    [$__auto]\n  )\n)\n",
                        "legendFormat": "{{reason}}"
                      },
                      "version": "v0"
                    },
                    "refId": "query-0"
                  }
                }
              ],
              "queryOptions": {},
              "transformations": []
            }
          },
          "description": "**How often each kind of event is being reported, by reason — the shape of what the cluster is doing.**\n\n**Nominal:** Quiet, apart from bursts that coincide with a deliberate change.\n\n**Unhealthy:** A reason that fires at a steady rate is a loop rather than a transition.\n\nCounts events as Loki received them. Kubernetes aggregates a repeat into one object with a rising `count` rather than sending it again, so a tight loop reports fewer lines than it has occurrences.",
          "id": 1007,
          "links": [],
          "title": "Event Rate by Reason",
          "vizConfig": {
            "group": "timeseries",
            "kind": "VizConfig",
            "spec": {
              "fieldConfig": {
                "defaults": {
                  "min": 0,
                  "noValue": "No events in this time range"
                },
                "overrides": []
              },
              "options": {
                "legend": {
                  "calcs": [
                    "max",
                    "mean",
                    "lastNotNull"
                  ],
                  "displayMode": "table",
                  "placement": "bottom",
                  "showLegend": true
                },
                "tooltip": {
                  "mode": "single",
                  "sort": "asc"
                }
              }
            },
            "version": ""
          }
        }
      },
      "log-feed": {
        "kind": "Panel",
        "spec": {
          "data": {
            "kind": "QueryGroup",
            "spec": {
              "queries": [
                {
                  "kind": "PanelQuery",
                  "spec": {
                    "hidden": false,
                    "query": {
                      "datasource": {
                        "name": "${logsDatasource}"
                      },
                      "group": "loki",
                      "kind": "DataQuery",
                      "spec": {
                        "expr": "{\n  namespace=~\"$logNamespaceList\",\n  app=~\"$logAppList\",\n  level=~\"$logLevelList\",\n  job=~\"$logJobList\"\n}\n  |~ \"(?i)$logSearch\"\n"
                      },
                      "version": "v0"
                    },
                    "refId": "query-0"
                  }
                }
              ],
              "queryOptions": {},
              "transformations": []
            }
          },
          "description": "**The log feed for the selected namespaces, apps and levels, newest first.**\n\nThe dashboard's primary panel; everything above it exists to narrow what lands here.\n\nThe free-text search is a case-insensitive line filter applied last, after the stream selector has done its work. An empty search matches every line rather than none, so the panel is useful before anything is typed.",
          "id": 1006,
          "links": [],
          "title": "All Logs",
          "vizConfig": {
            "group": "logs",
            "kind": "VizConfig",
            "spec": {
              "fieldConfig": {
                "defaults": {
                  "noValue": "No logs match the current filters"
                },
                "overrides": []
              },
              "options": {
                "dedupStrategy": "exact",
                "detailsMode": "inline",
                "displayedFields": [],
                "enableInfiniteScrolling": true,
                "enableLogDetails": true,
                "fontSize": "small",
                "prettifyLogMessage": false,
                "showCommonLabels": false,
                "showControls": true,
                "showFieldSelector": true,
                "showLabels": false,
                "showLevel": true,
                "showLogContextToggle": false,
                "showTime": true,
                "sortOrder": "Descending",
                "syntaxHighlighting": true,
                "timestampResolution": "ms",
                "unwrappedColumns": false,
                "wrapLogMessage": true
              }
            },
            "version": ""
          }
        }
      },
      "log-rate-by-app": {
        "kind": "Panel",
        "spec": {
          "data": {
            "kind": "QueryGroup",
            "spec": {
              "queries": [
                {
                  "kind": "PanelQuery",
                  "spec": {
                    "hidden": false,
                    "query": {
                      "datasource": {
                        "name": "${logsDatasource}"
                      },
                      "group": "loki",
                      "kind": "DataQuery",
                      "spec": {
                        "expr": "sum by (app) (\n  rate(\n    {\n      namespace=~\"$logNamespaceList\",\n      app=~\"$logAppList\",\n      level=~\"$logLevelList\",\n      job=~\"$logJobList\"\n    }\n      |~ \"(?i)$logSearch\"\n    [$__auto]\n  )\n)\n",
                        "legendFormat": "{{app}}"
                      },
                      "version": "v0"
                    },
                    "refId": "query-0"
                  }
                }
              ],
              "queryOptions": {},
              "transformations": []
            }
          },
          "description": "**Log lines per second by application — which component is doing the talking.**\n\n**Nominal:** A steady baseline per app, rising with load. `environmentd` dominates on any busy deployment and that is expected.\n\n**Unhealthy:** A sharp step up, usually one app entering a retry loop and narrating it. Pair it with _Volume -> Log Rate by Level_: a rise concentrated in warnings is a different story from a rise in ordinary chatter.\n\nA drop to zero for an app that should be running is the other reading, and it means either the workload stopped or collection did.\n\nRate rather than count, so the panel reads the same at any time range.",
          "id": 1002,
          "links": [],
          "title": "Log Rate by App",
          "vizConfig": {
            "group": "timeseries",
            "kind": "VizConfig",
            "spec": {
              "fieldConfig": {
                "defaults": {
                  "min": 0,
                  "noValue": "No logs match the current filters",
                  "unit": "suffix:logs/s"
                },
                "overrides": []
              },
              "options": {
                "legend": {
                  "calcs": [
                    "max",
                    "mean",
                    "lastNotNull"
                  ],
                  "displayMode": "table",
                  "placement": "bottom",
                  "showLegend": true
                },
                "tooltip": {
                  "mode": "single",
                  "sort": "asc"
                }
              }
            },
            "version": ""
          }
        }
      },
      "log-rate-by-level": {
        "kind": "Panel",
        "spec": {
          "data": {
            "kind": "QueryGroup",
            "spec": {
              "queries": [
                {
                  "kind": "PanelQuery",
                  "spec": {
                    "hidden": false,
                    "query": {
                      "datasource": {
                        "name": "${logsDatasource}"
                      },
                      "group": "loki",
                      "kind": "DataQuery",
                      "spec": {
                        "expr": "sum by (level) (\n  rate(\n    {\n      namespace=~\"$logNamespaceList\",\n      app=~\"$logAppList\",\n      level=~\"$logLevelList\",\n      job=~\"$logJobList\"\n    }\n      |~ \"(?i)$logSearch\"\n    [$__auto]\n  )\n)\n",
                        "legendFormat": "{{level}}"
                      },
                      "version": "v0"
                    },
                    "refId": "query-0"
                  }
                }
              ],
              "queryOptions": {},
              "transformations": []
            }
          },
          "description": "**Log lines per second by severity — the shape of how much of the volume is something going wrong.**\n\n**Nominal:** Overwhelmingly `INFO`, with warnings a thin band above it.\n\n**Degraded:** A rising `WARN` band. Worth reading, not necessarily worth acting on.\n\n**Unhealthy:** `ERROR` present at a sustained rate, or a warning band that overtakes the informational one.\n\n`UNKNOWN` is not a severity. It is what the pipeline records when it could not find a level in the line — some components do not emit one in a form the parser recognizes — so a large `UNKNOWN` band says something about the log format rather than about health.",
          "id": 1003,
          "links": [],
          "title": "Log Rate by Level",
          "vizConfig": {
            "group": "timeseries",
            "kind": "VizConfig",
            "spec": {
              "fieldConfig": {
                "defaults": {
                  "min": 0,
                  "noValue": "No logs match the current filters",
                  "unit": "suffix:logs/s"
                },
                "overrides": []
              },
              "options": {
                "legend": {
                  "calcs": [
                    "max",
                    "mean",
                    "lastNotNull"
                  ],
                  "displayMode": "table",
                  "placement": "bottom",
                  "showLegend": true
                },
                "tooltip": {
                  "mode": "single",
                  "sort": "asc"
                }
              }
            },
            "version": ""
          }
        }
      },
      "log-rate-total": {
        "kind": "Panel",
        "spec": {
          "data": {
            "kind": "QueryGroup",
            "spec": {
              "queries": [
                {
                  "kind": "PanelQuery",
                  "spec": {
                    "hidden": false,
                    "query": {
                      "datasource": {
                        "name": "${logsDatasource}"
                      },
                      "group": "loki",
                      "kind": "DataQuery",
                      "spec": {
                        "expr": "sum(\n  rate(\n    {\n      namespace=~\"$logNamespaceList\",\n      app=~\"$logAppList\",\n      level=~\"$logLevelList\",\n      job=~\"$logJobList\"\n    }\n      |~ \"(?i)$logSearch\"\n    [$__auto]\n  )\n)\n",
                        "legendFormat": "lines/s"
                      },
                      "version": "v0"
                    },
                    "refId": "query-0"
                  }
                }
              ],
              "queryOptions": {},
              "transformations": []
            }
          },
          "description": "**Total log lines per second reaching Loki for the current selection, averaged over each interval.**\n\n**Nominal:** A steady rate that tracks load.\n\n**Unhealthy:** Flat at zero while workloads are running: collection has stopped rather than the deployment going quiet. Check the agent and gateway — their own logs are in this same feed under the `monitoring` namespace, which is why the namespace picker can reach outside Materialize.\n\nAlso the volume signal for storage: a sustained step up here is what precedes a retention or cost surprise.",
          "id": 1000,
          "links": [],
          "title": "Average Log Rate",
          "vizConfig": {
            "group": "stat",
            "kind": "VizConfig",
            "spec": {
              "fieldConfig": {
                "defaults": {
                  "color": {
                    "fixedColor": "#33BBEE",
                    "mode": "shades"
                  },
                  "min": 0,
                  "noValue": "No logs match the current filters",
                  "unit": "suffix:logs/s"
                },
                "overrides": []
              },
              "options": {
                "colorMode": "none",
                "graphMode": "area",
                "justifyMode": "auto",
                "orientation": "auto",
                "percentChangeColorMode": "standard",
                "reduceOptions": {
                  "calcs": [],
                  "values": false
                },
                "showPercentChange": false,
                "textMode": "value",
                "wideLayout": true
              }
            },
            "version": ""
          }
        }
      },
      "volume-hidden-note": {
        "kind": "Panel",
        "spec": {
          "data": {
            "kind": "QueryGroup",
            "spec": {
              "queries": [],
              "queryOptions": {},
              "transformations": []
            }
          },
          "description": "Why the volume panels are not drawn over long ranges.",
          "id": 1004,
          "links": [],
          "title": "Volume (skipped)",
          "vizConfig": {
            "group": "text",
            "kind": "VizConfig",
            "spec": {
              "fieldConfig": {
                "defaults": {},
                "overrides": []
              },
              "options": {
                "code": {
                  "language": "plaintext",
                  "showLineNumbers": false,
                  "showMiniMap": false
                },
                "content": "**Volume panels are hidden for ranges longer than 7 days.**\n\nCounting log lines means reading every one of them — Loki indexes labels, not counts — so these panels scan the whole selection rather than an index.\n\nShorten the time range, or narrow the namespace and app pickers, and they come back. The feeds below are unaffected at any range: they stop at the first page of matches. For counting over longer spans, [Explore](/explore) is the better tool.",
                "mode": "markdown"
              }
            },
            "version": ""
          }
        }
      },
      "warning-event-feed": {
        "kind": "Panel",
        "spec": {
          "data": {
            "kind": "QueryGroup",
            "spec": {
              "queries": [
                {
                  "kind": "PanelQuery",
                  "spec": {
                    "hidden": false,
                    "query": {
                      "datasource": {
                        "name": "${logsDatasource}"
                      },
                      "group": "loki",
                      "kind": "DataQuery",
                      "spec": {
                        "expr": "{job=\"loki.source.kubernetes_events\", namespace=~\"$logNamespaceList\", namespace!~\"a^\", level=\"WARN\"}\n  |~ \"(?i)$logSearch\"\n"
                      },
                      "version": "v0"
                    },
                    "refId": "query-0"
                  }
                }
              ],
              "queryOptions": {},
              "transformations": []
            }
          },
          "description": "**Kubernetes events the reporting component flagged as warnings, across the selected namespaces.**\n\n**Nominal:** Nothing, or a burst that stops on its own.\n\n**Unhealthy:** Warnings that keep arriving. The reason names the class: `FailedScheduling` and `NotTriggerScaleUp` mean the cluster has nowhere to put a pod, `BackOff` means it starts and dies, `Unhealthy` means it starts and never becomes ready, `FailedMount` means storage did not attach.\n\n`Warning` is the reporting component's own judgement rather than a threshold of ours — this filters on their opinion.",
          "id": 1009,
          "links": [],
          "title": "Warning Events",
          "vizConfig": {
            "group": "logs",
            "kind": "VizConfig",
            "spec": {
              "fieldConfig": {
                "defaults": {
                  "noValue": "No warning events in this time range"
                },
                "overrides": []
              },
              "options": {
                "dedupStrategy": "signature",
                "detailsMode": "inline",
                "displayedFields": [
                  "reason",
                  "name",
                  "msg"
                ],
                "enableInfiniteScrolling": true,
                "enableLogDetails": true,
                "fontSize": "small",
                "prettifyLogMessage": false,
                "showCommonLabels": false,
                "showControls": true,
                "showFieldSelector": true,
                "showLabels": false,
                "showLevel": true,
                "showLogContextToggle": false,
                "showTime": true,
                "sortOrder": "Descending",
                "syntaxHighlighting": true,
                "timestampResolution": "ms",
                "unwrappedColumns": true,
                "wrapLogMessage": false
              }
            },
            "version": ""
          }
        }
      },
      "warning-feed": {
        "kind": "Panel",
        "spec": {
          "data": {
            "kind": "QueryGroup",
            "spec": {
              "queries": [
                {
                  "kind": "PanelQuery",
                  "spec": {
                    "hidden": false,
                    "query": {
                      "datasource": {
                        "name": "${logsDatasource}"
                      },
                      "group": "loki",
                      "kind": "DataQuery",
                      "spec": {
                        "expr": "{\n  namespace=~\"$logNamespaceList\",\n  app=~\"$logAppList\",\n  level=~\"WARN|WARNING|ERROR|CRITICAL|FATAL\",\n  job=~\"$logJobList\"\n}\n  |~ \"(?i)$logSearch\"\n"
                      },
                      "version": "v0"
                    },
                    "refId": "query-0"
                  }
                }
              ],
              "queryOptions": {},
              "transformations": []
            }
          },
          "description": "**The warning-and-worse feed, newest first — what the components are actually complaining about.**\n\n**Nominal:** Quiet, or a burst that stops on its own.\n\n**Unhealthy:** A steady stream. Read the app and the message; a repeating identical line is a loop, and a changing one is a workload in trouble.\n\nSame level vocabulary as _Volume -> Warning Rate_ and, like it, deliberately not narrowed by the level picker.",
          "id": 1005,
          "links": [],
          "title": "Warnings and Errors",
          "vizConfig": {
            "group": "logs",
            "kind": "VizConfig",
            "spec": {
              "fieldConfig": {
                "defaults": {
                  "noValue": "No warnings in this time range"
                },
                "overrides": []
              },
              "options": {
                "dedupStrategy": "exact",
                "detailsMode": "inline",
                "displayedFields": [],
                "enableInfiniteScrolling": true,
                "enableLogDetails": true,
                "fontSize": "small",
                "prettifyLogMessage": false,
                "showCommonLabels": false,
                "showControls": true,
                "showFieldSelector": true,
                "showLabels": false,
                "showLevel": true,
                "showLogContextToggle": false,
                "showTime": true,
                "sortOrder": "Descending",
                "syntaxHighlighting": true,
                "timestampResolution": "ms",
                "unwrappedColumns": false,
                "wrapLogMessage": true
              }
            },
            "version": ""
          }
        }
      },
      "warning-rate": {
        "kind": "Panel",
        "spec": {
          "data": {
            "kind": "QueryGroup",
            "spec": {
              "queries": [
                {
                  "kind": "PanelQuery",
                  "spec": {
                    "hidden": false,
                    "query": {
                      "datasource": {
                        "name": "${logsDatasource}"
                      },
                      "group": "loki",
                      "kind": "DataQuery",
                      "spec": {
                        "expr": "sum(\n  rate(\n    {\n      namespace=~\"$logNamespaceList\",\n      app=~\"$logAppList\",\n      level=~\"WARN|WARNING|ERROR|CRITICAL|FATAL\",\n      job=~\"$logJobList\"\n    }\n      |~ \"(?i)$logSearch\"\n    [$__auto]\n  )\n) * 60\n",
                        "legendFormat": "warnings/min"
                      },
                      "version": "v0"
                    },
                    "refId": "query-0"
                  }
                }
              ],
              "queryOptions": {},
              "transformations": []
            }
          },
          "description": "**Warning-and-worse log lines per minute, as one series — the at-a-glance answer to whether anything is complaining.**\n\n**Nominal:** Flat, or a spike that returns to baseline.\n\n**Unhealthy:** A level that does not come back down. _Volume -> Log Rate by App_ says which component, and the feed below says what.\n\nMatches on the normalized `level` label rather than on the text of the line, so it does not depend on how a component spells \"error\".\n\nDeliberately independent of the level picker above it: this panel answers \"is anything wrong\" and would be meaningless if narrowing the selection to `INFO` silently zeroed it.\n\nReported per **minute** rather than per second. Warnings are rare enough on a healthy deployment that a per-second rate spends its life displaying a small fraction, and \"0.03\" reads as noise where \"2 per minute\" reads as two warnings.",
          "id": 1001,
          "links": [],
          "title": "Average Warning Rate",
          "vizConfig": {
            "group": "stat",
            "kind": "VizConfig",
            "spec": {
              "fieldConfig": {
                "defaults": {
                  "color": {
                    "fixedColor": "#33BBEE",
                    "mode": "shades"
                  },
                  "min": 0,
                  "noValue": "No warnings in this time range",
                  "unit": "suffix:logs/min"
                },
                "overrides": []
              },
              "options": {
                "colorMode": "none",
                "graphMode": "area",
                "justifyMode": "auto",
                "orientation": "auto",
                "percentChangeColorMode": "standard",
                "reduceOptions": {
                  "calcs": [],
                  "values": false
                },
                "showPercentChange": false,
                "textMode": "value",
                "wideLayout": true
              }
            },
            "version": ""
          }
        }
      }
    },
    "layout": {
      "kind": "TabsLayout",
      "spec": {
        "tabs": [
          {
            "kind": "TabsLayoutTab",
            "spec": {
              "layout": {
                "kind": "RowsLayout",
                "spec": {
                  "rows": [
                    {
                      "kind": "RowsLayoutRow",
                      "spec": {
                        "collapse": false,
                        "conditionalRendering": {
                          "kind": "ConditionalRenderingGroup",
                          "spec": {
                            "condition": "and",
                            "items": [
                              {
                                "kind": "ConditionalRenderingTimeRangeSize",
                                "spec": {
                                  "value": "7d"
                                }
                              }
                            ],
                            "visibility": "show"
                          }
                        },
                        "hideHeader": false,
                        "layout": {
                          "kind": "AutoGridLayout",
                          "spec": {
                            "columnWidthMode": "standard",
                            "fillScreen": false,
                            "items": [
                              {
                                "kind": "AutoGridLayoutItem",
                                "spec": {
                                  "element": {
                                    "kind": "ElementReference",
                                    "name": "log-rate-total"
                                  }
                                }
                              },
                              {
                                "kind": "AutoGridLayoutItem",
                                "spec": {
                                  "element": {
                                    "kind": "ElementReference",
                                    "name": "warning-rate"
                                  }
                                }
                              },
                              {
                                "kind": "AutoGridLayoutItem",
                                "spec": {
                                  "element": {
                                    "kind": "ElementReference",
                                    "name": "log-rate-by-app"
                                  }
                                }
                              },
                              {
                                "kind": "AutoGridLayoutItem",
                                "spec": {
                                  "element": {
                                    "kind": "ElementReference",
                                    "name": "log-rate-by-level"
                                  }
                                }
                              }
                            ],
                            "maxColumnCount": 2,
                            "rowHeightMode": "standard"
                          }
                        },
                        "title": "Volume"
                      }
                    },
                    {
                      "kind": "RowsLayoutRow",
                      "spec": {
                        "collapse": false,
                        "conditionalRendering": {
                          "kind": "ConditionalRenderingGroup",
                          "spec": {
                            "condition": "and",
                            "items": [
                              {
                                "kind": "ConditionalRenderingTimeRangeSize",
                                "spec": {
                                  "value": "7d"
                                }
                              }
                            ],
                            "visibility": "hide"
                          }
                        },
                        "hideHeader": true,
                        "layout": {
                          "kind": "AutoGridLayout",
                          "spec": {
                            "columnWidthMode": "standard",
                            "fillScreen": false,
                            "items": [
                              {
                                "kind": "AutoGridLayoutItem",
                                "spec": {
                                  "element": {
                                    "kind": "ElementReference",
                                    "name": "volume-hidden-note"
                                  }
                                }
                              }
                            ],
                            "maxColumnCount": 1,
                            "rowHeightMode": "short"
                          }
                        },
                        "title": "Volume"
                      }
                    },
                    {
                      "kind": "RowsLayoutRow",
                      "spec": {
                        "collapse": false,
                        "hideHeader": false,
                        "layout": {
                          "kind": "AutoGridLayout",
                          "spec": {
                            "columnWidthMode": "standard",
                            "fillScreen": false,
                            "items": [
                              {
                                "kind": "AutoGridLayoutItem",
                                "spec": {
                                  "element": {
                                    "kind": "ElementReference",
                                    "name": "warning-feed"
                                  }
                                }
                              }
                            ],
                            "maxColumnCount": 1,
                            "rowHeightMode": "tall"
                          }
                        },
                        "title": "Warnings"
                      }
                    },
                    {
                      "kind": "RowsLayoutRow",
                      "spec": {
                        "collapse": false,
                        "hideHeader": false,
                        "layout": {
                          "kind": "AutoGridLayout",
                          "spec": {
                            "columnWidthMode": "standard",
                            "fillScreen": false,
                            "items": [
                              {
                                "kind": "AutoGridLayoutItem",
                                "spec": {
                                  "element": {
                                    "kind": "ElementReference",
                                    "name": "log-feed"
                                  }
                                }
                              }
                            ],
                            "maxColumnCount": 1,
                            "rowHeightMode": "tall"
                          }
                        },
                        "title": "All Logs"
                      }
                    }
                  ]
                }
              },
              "title": "Logs"
            }
          },
          {
            "kind": "TabsLayoutTab",
            "spec": {
              "layout": {
                "kind": "RowsLayout",
                "spec": {
                  "rows": [
                    {
                      "kind": "RowsLayoutRow",
                      "spec": {
                        "collapse": false,
                        "hideHeader": false,
                        "layout": {
                          "kind": "AutoGridLayout",
                          "spec": {
                            "columnWidthMode": "standard",
                            "fillScreen": false,
                            "items": [
                              {
                                "kind": "AutoGridLayoutItem",
                                "spec": {
                                  "element": {
                                    "kind": "ElementReference",
                                    "name": "event-rate-by-reason"
                                  }
                                }
                              },
                              {
                                "kind": "AutoGridLayoutItem",
                                "spec": {
                                  "element": {
                                    "kind": "ElementReference",
                                    "name": "event-rate-by-namespace"
                                  }
                                }
                              }
                            ],
                            "maxColumnCount": 2,
                            "rowHeightMode": "standard"
                          }
                        },
                        "title": "Activity"
                      }
                    },
                    {
                      "kind": "RowsLayoutRow",
                      "spec": {
                        "collapse": false,
                        "hideHeader": false,
                        "layout": {
                          "kind": "AutoGridLayout",
                          "spec": {
                            "columnWidthMode": "standard",
                            "fillScreen": false,
                            "items": [
                              {
                                "kind": "AutoGridLayoutItem",
                                "spec": {
                                  "element": {
                                    "kind": "ElementReference",
                                    "name": "warning-event-feed"
                                  }
                                }
                              }
                            ],
                            "maxColumnCount": 1,
                            "rowHeightMode": "tall"
                          }
                        },
                        "title": "Warnings"
                      }
                    },
                    {
                      "kind": "RowsLayoutRow",
                      "spec": {
                        "collapse": false,
                        "hideHeader": false,
                        "layout": {
                          "kind": "AutoGridLayout",
                          "spec": {
                            "columnWidthMode": "standard",
                            "fillScreen": false,
                            "items": [
                              {
                                "kind": "AutoGridLayoutItem",
                                "spec": {
                                  "element": {
                                    "kind": "ElementReference",
                                    "name": "event-feed"
                                  }
                                }
                              }
                            ],
                            "maxColumnCount": 1,
                            "rowHeightMode": "tall"
                          }
                        },
                        "title": "All Events"
                      }
                    }
                  ]
                }
              },
              "title": "Events"
            }
          }
        ]
      }
    },
    "links": [],
    "liveNow": false,
    "preload": false,
    "tags": [
      "materialize",
      "mzmon",
      "logs"
    ],
    "timeSettings": {
      "autoRefresh": "",
      "autoRefreshIntervals": [
        "5s",
        "10s",
        "30s",
        "1m",
        "5m",
        "15m",
        "30m",
        "1h",
        "2h",
        "1d"
      ],
      "fiscalYearStartMonth": 0,
      "from": "now-6h",
      "hideTimepicker": false,
      "timezone": "browser",
      "to": "now"
    },
    "title": "Materialize Logs and Events",
    "variables": [
      {
        "kind": "DatasourceVariable",
        "spec": {
          "allowCustomValue": false,
          "current": {
            "text": "",
            "value": ""
          },
          "description": "Datasource for log and event queries",
          "hide": "dontHide",
          "includeAll": false,
          "label": "Logs Datasource",
          "multi": false,
          "name": "logsDatasource",
          "options": [],
          "pluginId": "loki",
          "refresh": "never",
          "regex": "",
          "skipUrlSync": false
        }
      },
      {
        "kind": "QueryVariable",
        "spec": {
          "allValue": ".+",
          "allowCustomValue": true,
          "current": {
            "selected": true,
            "text": [
              ".*materialize.*|mz-.*|environment-.*"
            ],
            "value": [
              ".*materialize.*|mz-.*|environment-.*"
            ]
          },
          "definition": "label_values(namespace)",
          "description": "The namespace(s) to read logs from",
          "hide": "dontHide",
          "includeAll": true,
          "label": "Namespace",
          "multi": true,
          "name": "logNamespaceList",
          "options": [],
          "query": {
            "datasource": {
              "name": "${logsDatasource}"
            },
            "group": "loki",
            "kind": "DataQuery",
            "spec": {
              "label": "namespace",
              "refId": "LokiVariableQueryEditor-VariableQuery",
              "stream": "",
              "type": 1
            },
            "version": "v0"
          },
          "refresh": "onTimeRangeChanged",
          "regex": "",
          "regexApplyTo": "value",
          "skipUrlSync": false,
          "sort": "alphabeticalAsc"
        }
      },
      {
        "kind": "QueryVariable",
        "spec": {
          "allValue": ".*",
          "allowCustomValue": true,
          "current": {
            "text": "",
            "value": ""
          },
          "definition": "label_values(app)",
          "description": "The application(s) to read logs from",
          "hide": "dontHide",
          "includeAll": true,
          "label": "App",
          "multi": true,
          "name": "logAppList",
          "options": [],
          "query": {
            "datasource": {
              "name": "${logsDatasource}"
            },
            "group": "loki",
            "kind": "DataQuery",
            "spec": {
              "label": "app",
              "refId": "LokiVariableQueryEditor-VariableQuery",
              "stream": "{namespace=~\"$logNamespaceList\"}",
              "type": 1
            },
            "version": "v0"
          },
          "refresh": "onTimeRangeChanged",
          "regex": "",
          "regexApplyTo": "value",
          "skipUrlSync": false,
          "sort": "alphabeticalAsc"
        }
      },
      {
        "kind": "QueryVariable",
        "spec": {
          "allValue": ".*",
          "allowCustomValue": true,
          "current": {
            "text": "",
            "value": ""
          },
          "definition": "label_values(level)",
          "description": "The severity level(s) to include",
          "hide": "dontHide",
          "includeAll": true,
          "label": "Level",
          "multi": true,
          "name": "logLevelList",
          "options": [],
          "query": {
            "datasource": {
              "name": "${logsDatasource}"
            },
            "group": "loki",
            "kind": "DataQuery",
            "spec": {
              "label": "level",
              "refId": "LokiVariableQueryEditor-VariableQuery",
              "stream": "{namespace=~\"$logNamespaceList\"}",
              "type": 1
            },
            "version": "v0"
          },
          "refresh": "onTimeRangeChanged",
          "regex": "",
          "regexApplyTo": "value",
          "skipUrlSync": false,
          "sort": "alphabeticalAsc"
        }
      },
      {
        "kind": "QueryVariable",
        "spec": {
          "allValue": ".+",
          "allowCustomValue": true,
          "current": {
            "text": "",
            "value": ""
          },
          "definition": "label_values(job)",
          "description": "The collection job(s) to read logs from",
          "hide": "inControlsMenu",
          "includeAll": true,
          "label": "Job",
          "multi": true,
          "name": "logJobList",
          "options": [],
          "query": {
            "datasource": {
              "name": "${logsDatasource}"
            },
            "group": "loki",
            "kind": "DataQuery",
            "spec": {
              "label": "job",
              "refId": "LokiVariableQueryEditor-VariableQuery",
              "stream": "{namespace=~\"$logNamespaceList\"}",
              "type": 1
            },
            "version": "v0"
          },
          "refresh": "onTimeRangeChanged",
          "regex": "",
          "regexApplyTo": "value",
          "skipUrlSync": false,
          "sort": "alphabeticalAsc"
        }
      },
      {
        "kind": "TextVariable",
        "spec": {
          "current": {
            "text": "",
            "value": ""
          },
          "description": "Case-insensitive text to match anywhere in the log line",
          "hide": "dontHide",
          "label": "Search",
          "name": "logSearch",
          "query": "",
          "skipUrlSync": false
        }
      },
      {
        "datasource": {
          "name": "$logsDatasource"
        },
        "group": "",
        "kind": "AdhocVariable",
        "spec": {
          "allowCustomValue": true,
          "baseFilters": [],
          "defaultKeys": [],
          "description": "Adhoc filters to apply to all logs queries",
          "enableGroupBy": false,
          "filters": [],
          "hide": "inControlsMenu",
          "label": "Advanced Log Filter",
          "name": "logsAdhoc",
          "skipUrlSync": false
        }
      }
    ]
  }
}
