<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>materialize-monitoring Documentation</title><link>https://materializeinc.github.io/materialize-monitoring/</link><description>Recent content on materialize-monitoring Documentation</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://materializeinc.github.io/materialize-monitoring/index.xml" rel="self" type="application/rss+xml"/><item><title>Authoring</title><link>https://materializeinc.github.io/materialize-monitoring/reference/internal/pipelines/authoring/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://materializeinc.github.io/materialize-monitoring/reference/internal/pipelines/authoring/</guid><description>&lt;h1 id="authoring-pipelines"&gt;Authoring Pipelines&lt;a class="anchor" href="#authoring-pipelines"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;This page covers the model and conventions for authoring alloy pipelines as YAML under &lt;code&gt;packages/alloy-pipelines/&lt;/code&gt;. The runtime aspects (label families, retention) live in &lt;a href="https://materializeinc.github.io/materialize-monitoring/reference/internal/pipelines/logging/"&gt;Logging&lt;/a&gt; and &lt;a href="https://materializeinc.github.io/materialize-monitoring/reference/internal/pipelines/metrics/"&gt;Metrics&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="pipeline-model"&gt;Pipeline model&lt;a class="anchor" href="#pipeline-model"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;A pipeline is a YAML document that maps roughly 1:1 to an alloy config file:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;description&lt;/span&gt;: |&lt;span style="color:#e6db74"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt; What this pipeline does, why it exists, what it forwards to.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;logging&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;level&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;info&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;format&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;logfmt&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;blocks&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#f92672"&gt;loki.process&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;label&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;input_processor&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;forward_to&lt;/span&gt;: [{&lt;span style="color:#f92672"&gt;ref&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;loki.write.gateway.receiver&amp;#34;&lt;/span&gt;}]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;blocks&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#f92672"&gt;stage.drop&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;older_than&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;12h&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;drop_counter_reason&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;backlog &amp;gt; 12hr&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#f92672"&gt;stage.match&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;selector&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#39;{app=&amp;#34;alloy&amp;#34;}&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;blocks&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#f92672"&gt;stage.logfmt&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;mapping&lt;/span&gt;: { &lt;span style="color:#f92672"&gt;msg: msg, level&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;level }&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Each entry in &lt;code&gt;blocks&lt;/code&gt; is a &lt;strong&gt;single-key object&lt;/strong&gt; whose key is either:&lt;/p&gt;</description></item><item><title>Collecting</title><link>https://materializeinc.github.io/materialize-monitoring/logs-and-events/collecting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://materializeinc.github.io/materialize-monitoring/logs-and-events/collecting/</guid><description>&lt;p&gt;TODO&lt;/p&gt;</description></item><item><title>Common Queries</title><link>https://materializeinc.github.io/materialize-monitoring/reference/stable-metrics/common-queries/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://materializeinc.github.io/materialize-monitoring/reference/stable-metrics/common-queries/</guid><description>&lt;p&gt;TODO&lt;/p&gt;</description></item><item><title>Configuring</title><link>https://materializeinc.github.io/materialize-monitoring/alerting/configuring/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://materializeinc.github.io/materialize-monitoring/alerting/configuring/</guid><description>&lt;p&gt;TODO&lt;/p&gt;</description></item><item><title>Grafana Operator</title><link>https://materializeinc.github.io/materialize-monitoring/dashboards/grafana/grafana-operator/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://materializeinc.github.io/materialize-monitoring/dashboards/grafana/grafana-operator/</guid><description>&lt;h1 id="managing-dashboards-with-grafana-operator"&gt;Managing Dashboards with Grafana Operator&lt;a class="anchor" href="#managing-dashboards-with-grafana-operator"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="configuring-grafana-operator-via-materialize-monitoring-helm-chart"&gt;Configuring Grafana Operator via &lt;code&gt;materialize-monitoring&lt;/code&gt; Helm Chart&lt;a class="anchor" href="#configuring-grafana-operator-via-materialize-monitoring-helm-chart"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;TODO&lt;/p&gt;
&lt;h2 id="connecting-your-grafana-instance-to-grafana-operator"&gt;Connecting your Grafana Instance to Grafana Operator&lt;a class="anchor" href="#connecting-your-grafana-instance-to-grafana-operator"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;TODO&lt;/p&gt;
&lt;h2 id="importing-dashboards-via-grafana-operator"&gt;Importing Dashboards via Grafana Operator&lt;a class="anchor" href="#importing-dashboards-via-grafana-operator"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;TODO&lt;/p&gt;</description></item><item><title>materialize-monitoring values</title><link>https://materializeinc.github.io/materialize-monitoring/reference/helm/materialize-monitoring-values/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://materializeinc.github.io/materialize-monitoring/reference/helm/materialize-monitoring-values/</guid><description>&lt;!--
This file is automatically generated from `charts/materialize-monitoring/values.yaml`
and `materialize-monitoring-values.md.gotmpl` by [helm-docs](https://github.com/norwoodj/helm-docs).
Do not edit it by hand.

To update: edit `values.yaml` (or this template), then run
`make docs/content/reference/helm/materialize-monitoring-values.md`.
--&gt;
&lt;h1 id="materialize-monitoring-helm-reference"&gt;&lt;code&gt;materialize-monitoring&lt;/code&gt; Helm Reference&lt;a class="anchor" href="#materialize-monitoring-helm-reference"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Unified observability stack for Materialize: Alloy-based pipeline,
optional bundled backends (Loki / Thanos / Grafana / Alertmanager),
and the dashboards / alerts / rules that consume the Materialize
metrics surface.&lt;/p&gt;
&lt;h2 id="source-code"&gt;Source Code&lt;a class="anchor" href="#source-code"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/MaterializeInc/materialize-monitoring/tree/main/charts/materialize-monitoring" rel="external" class="external-link"&gt;https://github.com/MaterializeInc/materialize-monitoring/tree/main/charts/materialize-monitoring&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="requirements"&gt;Requirements&lt;a class="anchor" href="#requirements"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Kubernetes: &lt;code&gt;&amp;gt;=1.27.0-0&lt;/code&gt;&lt;/p&gt;
&lt;h3 id="storage-requirements"&gt;Storage Requirements&lt;a class="anchor" href="#storage-requirements"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Using Thanos or Loki (in the default bundled-stack profile) requires
object storage (such as an AWS S3 bucket) for long-term storage.&lt;/p&gt;</description></item><item><title>Metrics</title><link>https://materializeinc.github.io/materialize-monitoring/reference/internal/pipelines/metrics/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://materializeinc.github.io/materialize-monitoring/reference/internal/pipelines/metrics/</guid><description>&lt;p&gt;TODO&lt;/p&gt;</description></item><item><title>Production Best Practices</title><link>https://materializeinc.github.io/materialize-monitoring/operating/production-best-practices/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://materializeinc.github.io/materialize-monitoring/operating/production-best-practices/</guid><description>&lt;p&gt;TODO&lt;/p&gt;</description></item><item><title>Prometheus Remote Write</title><link>https://materializeinc.github.io/materialize-monitoring/metrics/collecting/prometheus-remote-write/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://materializeinc.github.io/materialize-monitoring/metrics/collecting/prometheus-remote-write/</guid><description>&lt;p&gt;TODO&lt;/p&gt;</description></item><item><title>Repo Layout</title><link>https://materializeinc.github.io/materialize-monitoring/reference/internal/repo-layout/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://materializeinc.github.io/materialize-monitoring/reference/internal/repo-layout/</guid><description>&lt;p&gt;This page is a convenience cache of where things live in the repo.
The repository is under active development, so this layout goes stale easily.
If it disagrees with what is actually in the tree, trust the repo and update this page.&lt;/p&gt;
&lt;p&gt;The repo is a polyglot monorepo: a Rust workspace, a &lt;code&gt;uv&lt;/code&gt;-managed Python workspace, and a Go-tooled Hugo docsite all share the root.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;materialize-monitoring/&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Cargo.toml&lt;/code&gt; / &lt;code&gt;Cargo.lock&lt;/code&gt;: top-level Rust workspace (members under &lt;code&gt;packages/&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;pyproject.toml&lt;/code&gt; / &lt;code&gt;uv.lock&lt;/code&gt; / &lt;code&gt;.python-version&lt;/code&gt;: Python workspace, managed by &lt;code&gt;uv&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;go.mod&lt;/code&gt; / &lt;code&gt;go.sum&lt;/code&gt;: Go module that pins &lt;code&gt;hugo&lt;/code&gt; and &lt;code&gt;helm-docs&lt;/code&gt; via tool directives&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Makefile&lt;/code&gt;: top-level entrypoint (&lt;code&gt;make all&lt;/code&gt;, &lt;code&gt;charts&lt;/code&gt;, &lt;code&gt;dashboards&lt;/code&gt;, &lt;code&gt;helm-docs&lt;/code&gt;, &lt;code&gt;serve-docs&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;.pre-commit-config.yaml&lt;/code&gt;: contributor-experience hooks (see &lt;a href="../"&gt;Internal Development&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;bin/&lt;/code&gt;: bash dev/CI entrypoints (flat; no subdirectories)
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;check-lfs.sh&lt;/code&gt;: verify/repair Git LFS state&lt;/li&gt;
&lt;li&gt;&lt;code&gt;dashboard-sync.sh&lt;/code&gt;: regenerate and sync dashboards&lt;/li&gt;
&lt;li&gt;&lt;code&gt;grafonnet-render&lt;/code&gt;: grafonnet rendering helper&lt;/li&gt;
&lt;li&gt;&lt;code&gt;mz-monitoring-build&lt;/code&gt; / &lt;code&gt;mz-monitoring-check&lt;/code&gt;: thin wrappers over the Rust binaries&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;packages/&lt;/code&gt;: hand-authored, contributor-facing inputs
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;grafana-dashboards/&lt;/code&gt;: Grafana dashboards-as-code (Python + &lt;code&gt;grafana-foundation-sdk&lt;/code&gt;); sources under &lt;code&gt;dashboards/&lt;/code&gt; (e.g. &lt;code&gt;mz_environment/&lt;/code&gt;, &lt;code&gt;render.py&lt;/code&gt;, &lt;code&gt;palette.py&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;py-mzmon-lib/&lt;/code&gt;: Python helper library imported by the dashboard packages; not consumed by customers&lt;/li&gt;
&lt;li&gt;&lt;code&gt;alloy-pipelines/&lt;/code&gt;: Alloy pipeline YAML inputs (&lt;code&gt;agent.yaml&lt;/code&gt;, &lt;code&gt;gateway.yaml&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ref-alloy-pipelines/&lt;/code&gt;: Python reference pipelines being ported into the typed Rust path (&lt;code&gt;agent_config.py&lt;/code&gt;, &lt;code&gt;gateway_config.py&lt;/code&gt;, &lt;code&gt;processor.alloy&lt;/code&gt;, &lt;code&gt;alloy/&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;mzmon-lib/&lt;/code&gt;: Rust library — typed Alloy model plus embedded JSONSchemas under &lt;code&gt;schemas/alloy/&lt;/code&gt;; not consumed by customers&lt;/li&gt;
&lt;li&gt;&lt;code&gt;mz-monitoring-build/&lt;/code&gt;: Rust CLI for artifact generation (&lt;code&gt;gen_pipelines.rs&lt;/code&gt;, &lt;code&gt;main.rs&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;mz-monitoring-check/&lt;/code&gt;: Rust schema/consistency checks&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;charts/&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;materialize-monitoring/&lt;/code&gt;: umbrella chart
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Chart.yaml&lt;/code&gt; / &lt;code&gt;Chart.lock&lt;/code&gt;: chart metadata; lock pins subchart versions&lt;/li&gt;
&lt;li&gt;&lt;code&gt;values.yaml&lt;/code&gt; / &lt;code&gt;README.md&lt;/code&gt; / &lt;code&gt;README.md.gotmpl&lt;/code&gt;: profile-driven defaults; README generated from the template via &lt;code&gt;helm-docs&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;charts/&lt;/code&gt;: vendored subchart tarballs (LFS) — &lt;code&gt;alloy&lt;/code&gt;, &lt;code&gt;loki&lt;/code&gt;, &lt;code&gt;thanos&lt;/code&gt;, &lt;code&gt;alertmanager&lt;/code&gt;, &lt;code&gt;grafana&lt;/code&gt;, &lt;code&gt;grafana-operator&lt;/code&gt;, &lt;code&gt;kube-state-metrics&lt;/code&gt;, &lt;code&gt;metrics-server&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;pre-rendered/&lt;/code&gt;: generated artifacts loaded via &lt;code&gt;{{ .Files.Get }}&lt;/code&gt;; never hand-edited
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;dashboards/&lt;/code&gt;: &lt;code&gt;grafana/&lt;/code&gt; and &lt;code&gt;datadog/&lt;/code&gt; JSON&lt;/li&gt;
&lt;li&gt;&lt;code&gt;pipelines/&lt;/code&gt;: rendered Alloy (&lt;code&gt;agent.alloy&lt;/code&gt;, &lt;code&gt;gateway.alloy&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;rules/&lt;/code&gt;: &lt;code&gt;prometheus/&lt;/code&gt;, &lt;code&gt;loki/&lt;/code&gt;, &lt;code&gt;thanos/&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;templates/&lt;/code&gt;: provided resources — &lt;code&gt;alerts/&lt;/code&gt;, &lt;code&gt;dashboards/&lt;/code&gt;, &lt;code&gt;pipelines/&lt;/code&gt;, &lt;code&gt;scrapers/&lt;/code&gt;, plus &lt;code&gt;grafana-grafana.yaml&lt;/code&gt; and &lt;code&gt;_helpers.tpl&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;examples/&lt;/code&gt;: example values overlays (e.g. existing-grafana, IRSA/S3)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;profiles/&lt;/code&gt;: profile value sets (still being defined)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;materialize-monitoring-crds/&lt;/code&gt;: CRDs chart (&lt;code&gt;Chart.yaml&lt;/code&gt;, &lt;code&gt;values.yaml&lt;/code&gt;, &lt;code&gt;README.md&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;docs/&lt;/code&gt;: Hugo docsite (the source of this page)
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;hugo.toml&lt;/code&gt;: site config&lt;/li&gt;
&lt;li&gt;&lt;code&gt;content/&lt;/code&gt;: authored Markdown
&lt;ul&gt;
&lt;li&gt;top-level sections: &lt;code&gt;getting-started/&lt;/code&gt;, &lt;code&gt;metrics/&lt;/code&gt; (incl. &lt;code&gt;collecting/&lt;/code&gt;), &lt;code&gt;logs-and-events/&lt;/code&gt;, &lt;code&gt;dashboards/&lt;/code&gt; (incl. &lt;code&gt;grafana/&lt;/code&gt;), &lt;code&gt;alerting/&lt;/code&gt;, &lt;code&gt;operating/&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;reference/&lt;/code&gt;: &lt;code&gt;helm/&lt;/code&gt;, &lt;code&gt;stable-metrics/&lt;/code&gt;, and &lt;code&gt;internal/&lt;/code&gt; (this section — &lt;code&gt;dashboard/&lt;/code&gt;, &lt;code&gt;pipelines/&lt;/code&gt;, &lt;code&gt;design-docs/&lt;/code&gt;, plus &lt;code&gt;repo-layout.md&lt;/code&gt;, &lt;code&gt;roadmap.md&lt;/code&gt;, &lt;code&gt;releasing.md&lt;/code&gt;, &lt;code&gt;skills.md&lt;/code&gt;, &lt;code&gt;helm.md&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;layouts/&lt;/code&gt;, &lt;code&gt;static/&lt;/code&gt;, &lt;code&gt;assets/&lt;/code&gt;, &lt;code&gt;data/&lt;/code&gt;, &lt;code&gt;i18n/&lt;/code&gt;, &lt;code&gt;archetypes/&lt;/code&gt;, &lt;code&gt;themes/&lt;/code&gt;: Hugo machinery&lt;/li&gt;
&lt;li&gt;&lt;code&gt;public/&lt;/code&gt;, &lt;code&gt;resources/&lt;/code&gt;: generated output (not checked in)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;legacy/&lt;/code&gt;: preserved field-engineering assets — &lt;code&gt;sql_exporter/&lt;/code&gt;, &lt;code&gt;prometheus/&lt;/code&gt;, &lt;code&gt;grafana/&lt;/code&gt;, &lt;code&gt;datadog/&lt;/code&gt;, &lt;code&gt;tests/&lt;/code&gt;, &lt;code&gt;docker-compose.yml&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tools/&lt;/code&gt;: ancillary ecosystems kept out of &lt;code&gt;bin/&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;chartlib/&lt;/code&gt;: helm-docs templates&lt;/li&gt;
&lt;li&gt;&lt;code&gt;grafonnet/&lt;/code&gt;: grafonnet/jsonnet vendoring (&lt;code&gt;jsonnetfile.json&lt;/code&gt; + lock)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;shlib/&lt;/code&gt;: shared bash helpers&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;.claude/skills/&lt;/code&gt;: authoring conventions consumed by both contributors and AI agents&lt;/li&gt;
&lt;li&gt;&lt;code&gt;.github/&lt;/code&gt;: GitHub Actions workflows&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>SDKs and Schemas</title><link>https://materializeinc.github.io/materialize-monitoring/reference/internal/dashboard/sdks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://materializeinc.github.io/materialize-monitoring/reference/internal/dashboard/sdks/</guid><description>&lt;h1 id="sdks-and-schemas"&gt;SDKs and Schemas&lt;a class="anchor" href="#sdks-and-schemas"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;The Grafana ecosystem has been undergoing major transitions in how dashboard configurations are managed circa 2025; web searches frequently turn up inconsistent or outdated documentation. This page pins down what we target, what we generate, and which SDKs we use to do it.&lt;/p&gt;
&lt;h2 id="targets"&gt;Targets&lt;a class="anchor" href="#targets"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Currently supported:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Grafana 13&lt;/strong&gt; (Dashboard v2 schema) — latest as of April 2026, primary target&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Grafana 12&lt;/strong&gt; (Dashboard v2beta1 schema)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Planned (stubs are acceptable for now):&lt;/p&gt;</description></item><item><title>Scraping</title><link>https://materializeinc.github.io/materialize-monitoring/metrics/scraping/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://materializeinc.github.io/materialize-monitoring/metrics/scraping/</guid><description>&lt;h1 id="scraping-metrics-with-materialize-monitoring"&gt;Scraping Metrics with &lt;code&gt;materialize-monitoring&lt;/code&gt;&lt;a class="anchor" href="#scraping-metrics-with-materialize-monitoring"&gt;#&lt;/a&gt;&lt;/h1&gt;

&lt;div class="warning wip"&gt;
 &lt;strong class="gutter"&gt;Work in Progress!&lt;/strong&gt;
 &lt;p&gt;This content is a work in progress and is not yet ready for public consumption.&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;By default, &lt;code&gt;materialize-monitoring&lt;/code&gt; is configured to scrape metrics from any ServiceMonitor or PodMonitor resources in the cluster.
This allows you to easily add new metrics to your monitoring stack by simply creating a new ServiceMonitor resources.&lt;/p&gt;
&lt;h2 id="scrape-architecture-with-grafana-alloy"&gt;Scrape Architecture with Grafana Alloy&lt;a class="anchor" href="#scrape-architecture-with-grafana-alloy"&gt;#&lt;/a&gt;&lt;/h2&gt;

&lt;div class="warning wip"&gt;
 &lt;strong class="gutter"&gt;Work in Progress!&lt;/strong&gt;
 &lt;p&gt;This content is a work in progress and is not yet ready for public consumption.&lt;/p&gt;</description></item><item><title>Architecture</title><link>https://materializeinc.github.io/materialize-monitoring/architecture/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://materializeinc.github.io/materialize-monitoring/architecture/</guid><description>&lt;h1 id="architecture-overview"&gt;Architecture Overview&lt;a class="anchor" href="#architecture-overview"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;This section provides an overview of the architecture of &lt;code&gt;materialize-monitoring&lt;/code&gt; and its components.&lt;/p&gt;
&lt;h2 id="materialize-monitoring-helm-umbrella-chart"&gt;&lt;code&gt;materialize-monitoring&lt;/code&gt; Helm Umbrella Chart&lt;a class="anchor" href="#materialize-monitoring-helm-umbrella-chart"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;An Umbrella Helm Chart is a Helm Chart that orchestrates the installation of multiple dependent charts.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;materialize-monitoring&lt;/code&gt; Helm Chart is an Umbrella Chart that orchestrates the installation of the following dependent charts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;alloy-agent&lt;/code&gt; (Grafana Alloy, Agent DaemonSet): o11y Pipelines&lt;/li&gt;
&lt;li&gt;&lt;code&gt;alloy-gateway&lt;/code&gt; (Grafana Alloy, Gateway Deployment): o11y Pipelines&lt;/li&gt;
&lt;li&gt;&lt;code&gt;metrics-server&lt;/code&gt; (metrics-server): cAdvisor/container runtime Metrics&lt;/li&gt;
&lt;li&gt;&lt;code&gt;kube-state-metrics&lt;/code&gt; (kube-state-metrics): Kubernetes Metrics&lt;/li&gt;
&lt;li&gt;&lt;code&gt;node-exporter&lt;/code&gt; (node-exporter): Node Metrics&lt;/li&gt;
&lt;li&gt;&lt;code&gt;loki&lt;/code&gt; (Grafana Loki): Default Logging Infrastructure&lt;/li&gt;
&lt;li&gt;&lt;code&gt;thanos&lt;/code&gt; (Thanos): Default Metrics Storage and Querying Infrastructure&lt;/li&gt;
&lt;li&gt;&lt;code&gt;grafana&lt;/code&gt; (Grafana): Default Dashboarding and Visualization Infrastructure&lt;/li&gt;
&lt;li&gt;&lt;code&gt;grafana-operator&lt;/code&gt; (Grafana Operator): Dashboards-as-Code Infrastructure&lt;/li&gt;
&lt;li&gt;&lt;code&gt;alertmanager&lt;/code&gt; (Prometheus Alertmanager): Default Alerting Infrastructure&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In addition to these dependent charts, &lt;code&gt;materialize-monitoring&lt;/code&gt;
also provides many opionated configurations such as o11y pipelines, Grafana dashboards, Scrape configurations, and Prometheus recording and alerting rules.&lt;/p&gt;</description></item><item><title>Alert Channels</title><link>https://materializeinc.github.io/materialize-monitoring/alerting/channels/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://materializeinc.github.io/materialize-monitoring/alerting/channels/</guid><description>&lt;h1 id="alert-channels"&gt;Alert Channels&lt;a class="anchor" href="#alert-channels"&gt;#&lt;/a&gt;&lt;/h1&gt;</description></item><item><title>Datadog</title><link>https://materializeinc.github.io/materialize-monitoring/dashboards/datadog/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://materializeinc.github.io/materialize-monitoring/dashboards/datadog/</guid><description>&lt;p&gt;TODO&lt;/p&gt;</description></item><item><title>Dependencies</title><link>https://materializeinc.github.io/materialize-monitoring/getting-started/dependencies/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://materializeinc.github.io/materialize-monitoring/getting-started/dependencies/</guid><description>&lt;h1 id="materialize-monitoring-dependencies"&gt;materialize-monitoring Dependencies&lt;a class="anchor" href="#materialize-monitoring-dependencies"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="installing-crds"&gt;Installing CRDs&lt;a class="anchor" href="#installing-crds"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The following CRDs are required for &lt;code&gt;materialize-monitoring&lt;/code&gt;
to function properly.&lt;/p&gt;
&lt;p&gt;A second &lt;code&gt;materialize-monitoring-crds&lt;/code&gt; Helm chart is provided to install these CRDs separately from the main &lt;code&gt;materialize-monitoring&lt;/code&gt; chart, which is recommended to manage the lifecycle of these CRDs separately from the main chart.&lt;/p&gt;
&lt;h2 id="configuring-storage"&gt;Configuring Storage&lt;a class="anchor" href="#configuring-storage"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Before you start, you need to be able to store your metrics and logs
somewhere.&lt;/p&gt;
&lt;h4 id="-i-am-running-in-a-cloud-environment-with-a-managed-kubernetes-service-eks-gke-aks-etc"&gt;&amp;raquo; I am running in a cloud environment with a managed Kubernetes service (EKS, GKE, AKS, etc.)&lt;a class="anchor" href="#-i-am-running-in-a-cloud-environment-with-a-managed-kubernetes-service-eks-gke-aks-etc"&gt;#&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;TODO: setup bucket with IRSA&lt;/p&gt;</description></item><item><title>Logging</title><link>https://materializeinc.github.io/materialize-monitoring/reference/internal/pipelines/logging/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://materializeinc.github.io/materialize-monitoring/reference/internal/pipelines/logging/</guid><description>&lt;p&gt;TODO&lt;/p&gt;</description></item><item><title>o11y Glossary</title><link>https://materializeinc.github.io/materialize-monitoring/o11y-glossary/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://materializeinc.github.io/materialize-monitoring/o11y-glossary/</guid><description>&lt;h1 id="glossary-of-observability-terms"&gt;Glossary of Observability Terms&lt;a class="anchor" href="#glossary-of-observability-terms"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;A reference for the vocabulary you&amp;rsquo;ll see across these docs. The audience is a Materialize customer or operator: comfortable with SQL, conversant in DBA terminology, working knowledge of Kubernetes. We don&amp;rsquo;t define general database or Kubernetes terms (table, namespace, pod) — only what&amp;rsquo;s specific to monitoring, the Materialize internals you&amp;rsquo;ll meet in panels, or this stack&amp;rsquo;s deployment vocabulary.&lt;/p&gt;
&lt;h2 id="observability-foundations"&gt;Observability foundations&lt;a class="anchor" href="#observability-foundations"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Cardinality&lt;/strong&gt;
The number of unique time series (or log streams) a metric produces. The dominant cost-and-stability lever for any Prometheus-shaped stack: a single ill-chosen label that takes on millions of values can balloon storage and crash query backends. The materialize-monitoring pipeline applies a cardinality-reduction policy at the gateway layer before metrics egress to expensive backends — see &lt;a href="../operating/tuning/"&gt;Operating &amp;gt; Tuning&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>o11y Troubleshooting</title><link>https://materializeinc.github.io/materialize-monitoring/operating/o11y-troubleshooting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://materializeinc.github.io/materialize-monitoring/operating/o11y-troubleshooting/</guid><description>&lt;h1 id="o11y-troubleshooting"&gt;o11y Troubleshooting&lt;a class="anchor" href="#o11y-troubleshooting"&gt;#&lt;/a&gt;&lt;/h1&gt;</description></item><item><title>OpenTelemetry Endpoint</title><link>https://materializeinc.github.io/materialize-monitoring/metrics/collecting/opentelemetry-endpoint/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://materializeinc.github.io/materialize-monitoring/metrics/collecting/opentelemetry-endpoint/</guid><description>&lt;p&gt;TODO&lt;/p&gt;</description></item><item><title>Skills</title><link>https://materializeinc.github.io/materialize-monitoring/reference/internal/skills/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://materializeinc.github.io/materialize-monitoring/reference/internal/skills/</guid><description>&lt;p&gt;TODO&lt;/p&gt;</description></item><item><title>Storing</title><link>https://materializeinc.github.io/materialize-monitoring/logs-and-events/storing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://materializeinc.github.io/materialize-monitoring/logs-and-events/storing/</guid><description>&lt;p&gt;TODO&lt;/p&gt;</description></item><item><title>Storing</title><link>https://materializeinc.github.io/materialize-monitoring/metrics/storing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://materializeinc.github.io/materialize-monitoring/metrics/storing/</guid><description>&lt;p&gt;TODO&lt;/p&gt;</description></item><item><title>Style Guidelines</title><link>https://materializeinc.github.io/materialize-monitoring/reference/internal/dashboard/style-guidelines/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://materializeinc.github.io/materialize-monitoring/reference/internal/dashboard/style-guidelines/</guid><description>&lt;h1 id="dashboard-style-guidelines"&gt;Dashboard Style Guidelines&lt;a class="anchor" href="#dashboard-style-guidelines"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Conventions for building visually consistent, operator-friendly dashboards. The audience for the dashboards themselves is &lt;strong&gt;Materialize end users&lt;/strong&gt;: database-literate operators with basic graph-reading fluency but minimal cloud / Kubernetes / observability expertise. SQL is fair game; jargon like &amp;ldquo;differential dataflow&amp;rsquo;s arrangement&amp;rdquo; needs a one-liner explanation when it appears.&lt;/p&gt;
&lt;h2 id="layouts"&gt;Layouts&lt;a class="anchor" href="#layouts"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Prefer &lt;strong&gt;automatic layouts&lt;/strong&gt; over fixed positioning. Dashboard v2 provides more ergonomic options like Tabs and a formal automatic layout system.&lt;/p&gt;</description></item><item><title>Generating and Pushing Dashboards</title><link>https://materializeinc.github.io/materialize-monitoring/reference/internal/dashboard/generating/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://materializeinc.github.io/materialize-monitoring/reference/internal/dashboard/generating/</guid><description>&lt;h1 id="generating-and-pushing-dashboards"&gt;Generating and Pushing Dashboards&lt;a class="anchor" href="#generating-and-pushing-dashboards"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;How dashboard code is structured, how we keep generation deterministic, and how dashboards flow from source code into a live Grafana instance.&lt;/p&gt;
&lt;h2 id="code-structure"&gt;Code structure&lt;a class="anchor" href="#code-structure"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Dashboards live in their respective packages within &lt;code&gt;packages/&lt;/code&gt;. The current Python implementation lives in &lt;code&gt;packages/grafana-dashboards&lt;/code&gt; as a &lt;code&gt;uv&lt;/code&gt; workspace. Python helpers live in &lt;code&gt;packages/py-mzmon-lib&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Within &lt;code&gt;packages/grafana-dashboards&lt;/code&gt;, the top-level packages represent the &lt;strong&gt;family&lt;/strong&gt; of concerns (e.g., &lt;code&gt;mz_environment&lt;/code&gt;, &lt;code&gt;infra&lt;/code&gt;). Within a family, each dashboard has its own sub-package (such as &lt;code&gt;overview&lt;/code&gt;) with the main dashboard entrypoint suffixed with &lt;code&gt;_dashboard.py&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Maintenance Windows</title><link>https://materializeinc.github.io/materialize-monitoring/alerting/maintenance/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://materializeinc.github.io/materialize-monitoring/alerting/maintenance/</guid><description>&lt;h1 id="maintenance-windows"&gt;Maintenance Windows&lt;a class="anchor" href="#maintenance-windows"&gt;#&lt;/a&gt;&lt;/h1&gt;</description></item><item><title>Meta Observability</title><link>https://materializeinc.github.io/materialize-monitoring/operating/meta-observability/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://materializeinc.github.io/materialize-monitoring/operating/meta-observability/</guid><description>&lt;h1 id="meta-observability"&gt;Meta Observability&lt;a class="anchor" href="#meta-observability"&gt;#&lt;/a&gt;&lt;/h1&gt;</description></item><item><title>Prometheus Scraper</title><link>https://materializeinc.github.io/materialize-monitoring/metrics/collecting/prometheus-scraper/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://materializeinc.github.io/materialize-monitoring/metrics/collecting/prometheus-scraper/</guid><description>&lt;p&gt;TODO&lt;/p&gt;</description></item><item><title>Querying</title><link>https://materializeinc.github.io/materialize-monitoring/logs-and-events/querying/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://materializeinc.github.io/materialize-monitoring/logs-and-events/querying/</guid><description>&lt;p&gt;TODO&lt;/p&gt;</description></item><item><title>Querying</title><link>https://materializeinc.github.io/materialize-monitoring/metrics/querying/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://materializeinc.github.io/materialize-monitoring/metrics/querying/</guid><description>&lt;p&gt;TODO&lt;/p&gt;</description></item><item><title>Terraform</title><link>https://materializeinc.github.io/materialize-monitoring/getting-started/terraform/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://materializeinc.github.io/materialize-monitoring/getting-started/terraform/</guid><description>&lt;h1 id="installing-via-terraform"&gt;Installing via Terraform&lt;a class="anchor" href="#installing-via-terraform"&gt;#&lt;/a&gt;&lt;/h1&gt;

&lt;div class="warning wip"&gt;
 &lt;strong class="gutter"&gt;Work in Progress!&lt;/strong&gt;
 &lt;p&gt;This content is a work in progress and is not yet ready for public consumption.&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;This guide is for users who are using &lt;code&gt;materialize-terraform-self-managed&lt;/code&gt; to set up their Materialize cluster and want to use Terraform to set up their monitoring infrastructure as well.&lt;/p&gt;
&lt;blockquote class="book-hint warning" &gt;
&lt;p&gt;materialize-monitoring is not available in &lt;code&gt;materialize-terraform-self-managed&lt;/code&gt; yet (As of May 2026), but it will be enabled by default in the future.&lt;/p&gt;</description></item><item><title>Compatibility</title><link>https://materializeinc.github.io/materialize-monitoring/reference/compatibility/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://materializeinc.github.io/materialize-monitoring/reference/compatibility/</guid><description>&lt;p&gt;TODO&lt;/p&gt;</description></item><item><title>Helm</title><link>https://materializeinc.github.io/materialize-monitoring/getting-started/helm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://materializeinc.github.io/materialize-monitoring/getting-started/helm/</guid><description>&lt;h1 id="installing-via-helm"&gt;Installing via Helm&lt;a class="anchor" href="#installing-via-helm"&gt;#&lt;/a&gt;&lt;/h1&gt;

&lt;div class="warning wip"&gt;
 &lt;strong class="gutter"&gt;Work in Progress!&lt;/strong&gt;
 &lt;p&gt;This content is a work in progress and is not yet ready for public consumption.&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;If you are not using the terraform module to install &lt;code&gt;materialize-monitoring&lt;/code&gt;, you can use the provided Helm charts to install the monitoring stack in your Kubernetes cluster.&lt;/p&gt;
&lt;blockquote class='book-hint success'&gt;
&lt;p&gt;During early development (June 2026), the helm charts are the only way to install &lt;code&gt;materialize-monitoring&lt;/code&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote class='book-hint info'&gt;
&lt;p&gt;The terraform module is the recommended way to install &lt;code&gt;materialize-monitoring&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Prometheus Operator</title><link>https://materializeinc.github.io/materialize-monitoring/metrics/collecting/prometheus-operator/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://materializeinc.github.io/materialize-monitoring/metrics/collecting/prometheus-operator/</guid><description>&lt;p&gt;TODO&lt;/p&gt;</description></item><item><title>Rules</title><link>https://materializeinc.github.io/materialize-monitoring/logs-and-events/rules/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://materializeinc.github.io/materialize-monitoring/logs-and-events/rules/</guid><description>&lt;h1 id="log-and-event-rules"&gt;Log and Event Rules&lt;a class="anchor" href="#log-and-event-rules"&gt;#&lt;/a&gt;&lt;/h1&gt;</description></item><item><title>Rules</title><link>https://materializeinc.github.io/materialize-monitoring/metrics/rules/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://materializeinc.github.io/materialize-monitoring/metrics/rules/</guid><description>&lt;h1 id="metric-rules"&gt;Metric Rules&lt;a class="anchor" href="#metric-rules"&gt;#&lt;/a&gt;&lt;/h1&gt;</description></item><item><title>Testing</title><link>https://materializeinc.github.io/materialize-monitoring/reference/internal/dashboard/testing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://materializeinc.github.io/materialize-monitoring/reference/internal/dashboard/testing/</guid><description>&lt;h1 id="testing"&gt;Testing&lt;a class="anchor" href="#testing"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Dashboard code is tested with &lt;code&gt;pytest&lt;/code&gt;. Unit tests are recommended to be placed next to their code with the &lt;code&gt;_test.py&lt;/code&gt; suffix.&lt;/p&gt;
&lt;p&gt;For broader code-quality tooling (&lt;code&gt;ruff&lt;/code&gt;, &lt;code&gt;pyright&lt;/code&gt;, configured linter rules), see &lt;a href="https://materializeinc.github.io/materialize-monitoring/reference/internal/dashboard/generating/#code-quality"&gt;Generating and Pushing Dashboards &amp;gt; Code quality&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote class='book-hint '&gt;
&lt;p&gt;&lt;strong&gt;TODO:&lt;/strong&gt; This page is a stub. Expand with conventions for snapshot testing of dashboard JSON, fixture patterns, and integration testing against a live Grafana when those land.&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>Upgrading materialize-monitoring</title><link>https://materializeinc.github.io/materialize-monitoring/operating/upgrading/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://materializeinc.github.io/materialize-monitoring/operating/upgrading/</guid><description>&lt;h1 id="upgrading-materialize-monitoring"&gt;Upgrading materialize-monitoring&lt;a class="anchor" href="#upgrading-materialize-monitoring"&gt;#&lt;/a&gt;&lt;/h1&gt;</description></item><item><title>Custom Resource Definitions (CRDs)</title><link>https://materializeinc.github.io/materialize-monitoring/reference/crds/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://materializeinc.github.io/materialize-monitoring/reference/crds/</guid><description>&lt;h1 id="custom-resource-definitions-crds"&gt;Custom Resource Definitions (CRDs)&lt;a class="anchor" href="#custom-resource-definitions-crds"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Kubernetes Custom Resource Definitions (CRDs) are a powerful way to extend the Kubernetes API with custom resources that can be managed using standard Kubernetes tools.
&lt;code&gt;materialize-monitoring&lt;/code&gt; relies on several CRDs to function properly, and this section provides an overview of these CRDs and how to install them.&lt;/p&gt;
&lt;h2 id="servicemonitor-monitoringcoreoscomv1"&gt;ServiceMonitor (monitoring.coreos.com/v1)&lt;a class="anchor" href="#servicemonitor-monitoringcoreoscomv1"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;ServiceMonitors can be written by any application which indicates
that it should have metrics scraped by Prometheus Operator / Alloy.&lt;/p&gt;</description></item><item><title>Helm</title><link>https://materializeinc.github.io/materialize-monitoring/reference/internal/helm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://materializeinc.github.io/materialize-monitoring/reference/internal/helm/</guid><description>&lt;p&gt;TODO&lt;/p&gt;</description></item><item><title>Securing</title><link>https://materializeinc.github.io/materialize-monitoring/operating/securing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://materializeinc.github.io/materialize-monitoring/operating/securing/</guid><description>&lt;h1 id="securing-materialize-monitoring"&gt;Securing materialize-monitoring&lt;a class="anchor" href="#securing-materialize-monitoring"&gt;#&lt;/a&gt;&lt;/h1&gt;</description></item><item><title>Roadmap</title><link>https://materializeinc.github.io/materialize-monitoring/reference/internal/roadmap/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://materializeinc.github.io/materialize-monitoring/reference/internal/roadmap/</guid><description>&lt;!-- This roadmap is public. Do not include customer-specific or sensitive information --&gt;
&lt;h1 id="roadmap"&gt;Roadmap&lt;a class="anchor" href="#roadmap"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;The goal of &lt;code&gt;materialize-monitoring&lt;/code&gt; is &lt;strong&gt;first-class, opt-in observability for self-managed Materialize&lt;/strong&gt; — logs, metrics, events, and alerts — for customers who want a one-stop-shop, without forcing our stack on customers who already run their own.
This page is the current source of truth for what is built, what is in flight, and what is planned next.
It supersedes the original Linear project (internal), which captured an earlier architecture that has since diverged (see below).&lt;/p&gt;</description></item><item><title>Tuning</title><link>https://materializeinc.github.io/materialize-monitoring/operating/tuning/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://materializeinc.github.io/materialize-monitoring/operating/tuning/</guid><description>&lt;h1 id="tuning-your-observability-stack"&gt;Tuning your Observability Stack&lt;a class="anchor" href="#tuning-your-observability-stack"&gt;#&lt;/a&gt;&lt;/h1&gt;</description></item><item><title>Releasing</title><link>https://materializeinc.github.io/materialize-monitoring/reference/internal/releasing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://materializeinc.github.io/materialize-monitoring/reference/internal/releasing/</guid><description>&lt;h1 id="releasing"&gt;Releasing&lt;a class="anchor" href="#releasing"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Each artifact releases on its own version stream (see &lt;a href="versioning/"&gt;Versioning&lt;/a&gt;).&lt;/p&gt;
&lt;!-- The state machine below is the intended design; the tooling to drive it is
not built yet. Today `mz-monitoring-build changelog --write` populates and
hoists unreleased sections directly — that write path will be reworked to drive
version-update PRs as described here. Until then, do not run `--write` against
the placeholder-style CHANGELOG.md on main; it would clobber the placeholders. --&gt;
&lt;h2 id="changes-pending-placeholders"&gt;Changes-pending placeholders&lt;a class="anchor" href="#changes-pending-placeholders"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The top of &lt;code&gt;CHANGELOG.md&lt;/code&gt; holds one &lt;strong&gt;unreleased placeholder per component that has changes&lt;/strong&gt;, with the body &lt;code&gt;_Changes Pending_&lt;/code&gt;.
Placeholders are not populated on &lt;code&gt;main&lt;/code&gt; — population happens in a version-update PR (below).
A component with no changes since its last release has no placeholder, so the unreleased placeholders are not necessarily the very top entries and rarely-changed components are not churned every cycle.&lt;/p&gt;</description></item><item><title>Versioning</title><link>https://materializeinc.github.io/materialize-monitoring/reference/internal/versioning/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://materializeinc.github.io/materialize-monitoring/reference/internal/versioning/</guid><description>&lt;h1 id="versioning-in-materialize-monitoring"&gt;Versioning in materialize-monitoring&lt;a class="anchor" href="#versioning-in-materialize-monitoring"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;All artifacts of this repo have separate versioning streams.
They generally follow semantic versioning (SemVer).&lt;/p&gt;
&lt;h2 id="components"&gt;Components&lt;a class="anchor" href="#components"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Components are defined in &lt;code&gt;packages/components.yaml&lt;/code&gt;.
Each component declares:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;changelog&lt;/code&gt; — whether the component maintains its own changelog stream.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;title&lt;/code&gt; — the human-readable name used in &lt;code&gt;CHANGELOG.md&lt;/code&gt; headings.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;version_paths&lt;/code&gt; — files whose version field is rewritten when the component is bumped (the &lt;em&gt;write targets&lt;/em&gt;).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;content_paths&lt;/code&gt; — the paths whose changes are attributed to this component (the &lt;em&gt;attribution inputs&lt;/em&gt;).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;content_exclude&lt;/code&gt; — paths to subtract from &lt;code&gt;content_paths&lt;/code&gt;, typically generated outputs that belong to a dependency.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;dependencies&lt;/code&gt; — other components whose bumps cascade into this one.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;artifacts&lt;/code&gt; — glob patterns (repo-root-relative) for files attached as GitHub Release assets when the component is published; resolved file names must be unique.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Each changed file is attributed to the component with the longest matching &lt;code&gt;content_paths&lt;/code&gt; entry, after dropping any component that excludes it.
Generated outputs route to their source: the chart excludes its &lt;code&gt;pre-rendered/&lt;/code&gt; tree, and &lt;code&gt;pre-rendered/dashboards&lt;/code&gt; and &lt;code&gt;pre-rendered/pipelines&lt;/code&gt; are claimed by the &lt;code&gt;dashboards&lt;/code&gt; and &lt;code&gt;pipelines&lt;/code&gt; components, so a dashboard change appears under Dashboards (and rolls up into the chart via cascade) rather than as a first-class chart change.&lt;/p&gt;</description></item><item><title>Changelog</title><link>https://materializeinc.github.io/materialize-monitoring/reference/changelog/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://materializeinc.github.io/materialize-monitoring/reference/changelog/</guid><description>&lt;!-- Changelog lives in repo root, mounted in hugo.toml --&gt;
&lt;h1 id="materialize-monitoring-changelog"&gt;materialize-monitoring Changelog&lt;a class="anchor" href="#materialize-monitoring-changelog"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;!-- This repo uses different versioning streams for its artifacts.
Artifacts are mapped out in packages/components.yaml.
Unreleased sections are placeholders ("_Changes Pending_") until a
version-update/&lt;component&gt; PR populates and releases them; that PR also bumps
the component's version_paths. See reference/internal/versioning.md and
reference/internal/releasing.md.
--&gt;
&lt;h2 id="materialize-monitoring-optional-crds-v030-unreleased"&gt;materialize-monitoring Optional CRDs v0.3.0 (Unreleased)&lt;a class="anchor" href="#materialize-monitoring-optional-crds-v030-unreleased"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;Changes Pending&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="dashboards-v0100-unreleased"&gt;Dashboards v0.10.0 (Unreleased)&lt;a class="anchor" href="#dashboards-v0100-unreleased"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;Changes Pending&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="prometheus-scrapers-v011-unreleased"&gt;Prometheus Scrapers v0.1.1 (Unreleased)&lt;a class="anchor" href="#prometheus-scrapers-v011-unreleased"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;Changes Pending&lt;/em&gt;&lt;/p&gt;</description></item></channel></rss>