<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Queries on materialize-monitoring Documentation</title><link>https://materializeinc.github.io/materialize-monitoring/reference/development/queries/</link><description>Recent content in Queries on materialize-monitoring Documentation</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://materializeinc.github.io/materialize-monitoring/reference/development/queries/index.xml" rel="self" type="application/rss+xml"/><item><title>Overview</title><link>https://materializeinc.github.io/materialize-monitoring/reference/development/queries/overview/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://materializeinc.github.io/materialize-monitoring/reference/development/queries/overview/</guid><description>&lt;h1 id="queries-as-code"&gt;Queries as Code&lt;a class="anchor" href="#queries-as-code"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;Monitoring queries are authored once as YAML under &lt;code&gt;packages/queries/&lt;/code&gt;, validated against a project-owned JSONSchema,&#10;and rendered per backend query language.&#10;A query is written for PromQL first; the other engines are translations of the same definition, carried in the same entry.&lt;/p&gt;&#10;&lt;p&gt;The audience for this section is &lt;strong&gt;repo contributors&lt;/strong&gt; — the people adding a panel, an alert, or a metric to the registry.&#10;The audience for the &lt;em&gt;rendered&lt;/em&gt; queries is the operator reading a dashboard, so the descriptions attached to each query&#10;are end-user voice; see &lt;a href="https://materializeinc.github.io/materialize-monitoring/reference/development/dashboard/style-guidelines/"&gt;Dashboard Style Guidelines&lt;/a&gt; for that.&lt;/p&gt;</description></item><item><title>Authoring Alerts</title><link>https://materializeinc.github.io/materialize-monitoring/reference/development/queries/alerts/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://materializeinc.github.io/materialize-monitoring/reference/development/queries/alerts/</guid><description>&lt;h1 id="authoring-alerts"&gt;Authoring Alerts&lt;a class="anchor" href="#authoring-alerts"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;An alert is written once, in the query registry, and becomes a rule through &lt;code&gt;mz-monitoring-build gen-rules&lt;/code&gt;.&#10;An alert whose query is PromQL is installed as a &lt;code&gt;PrometheusRule&lt;/code&gt; wherever it applies, and the Thanos ruler evaluates it.&#10;An alert whose query is LogQL is installed as a &lt;code&gt;PrometheusRule&lt;/code&gt; labelled &lt;code&gt;mzmon.materialize.cloud/flavor: logql&lt;/code&gt;, which the alloy-gateway writes into the Loki ruler, and the Loki ruler evaluates it.&#10;This page is the conventions a contributor follows when adding or changing an alert, and what the tooling checks on their behalf.&#10;Recording rules render through the same context and are &lt;a href="https://materializeinc.github.io/materialize-monitoring/reference/development/queries/recording-rules/"&gt;Authoring Recording Rules&lt;/a&gt;.&#10;Where the alert goes once it fires is &lt;a href="https://materializeinc.github.io/materialize-monitoring/alerting/channels/"&gt;Alert Channels&lt;/a&gt;; why the stack is shaped this way is the &lt;a href="https://materializeinc.github.io/materialize-monitoring/reference/development/design-docs/20260917-alerting-self-managed/"&gt;alerting design doc&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Authoring Recording Rules</title><link>https://materializeinc.github.io/materialize-monitoring/reference/development/queries/recording-rules/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://materializeinc.github.io/materialize-monitoring/reference/development/queries/recording-rules/</guid><description>&lt;h1 id="authoring-recording-rules"&gt;Authoring Recording Rules&lt;a class="anchor" href="#authoring-recording-rules"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;A recording rule is written once, in the query registry, under &lt;code&gt;rules:&lt;/code&gt;, and becomes a rule through &lt;code&gt;mz-monitoring-build gen-rules&lt;/code&gt;, beside the alerts.&#10;The chart installs it as a &lt;code&gt;PrometheusRule&lt;/code&gt;, the Thanos ruler evaluates it, and its result travels back through the alloy-gateway into Thanos like any other metric.&#10;This page is the conventions a contributor follows when adding one, and what the tooling checks.&#10;The first recording rules are the normalized &lt;code&gt;ext:*&lt;/code&gt; layer for the metadata database, and the &lt;a href="https://materializeinc.github.io/materialize-monitoring/reference/development/design-docs/20260920-external-dependency-monitoring/#a-normalized-contract-with-flavor-native-passthrough"&gt;external dependency design doc&lt;/a&gt; is why that layer exists.&#10;&lt;a href="https://materializeinc.github.io/materialize-monitoring/reference/development/queries/alerts/"&gt;Authoring Alerts&lt;/a&gt; covers what the two kinds of rule share: the alerting context, its placeholders, and capability inference.&lt;/p&gt;</description></item><item><title>Datadog Translations</title><link>https://materializeinc.github.io/materialize-monitoring/reference/development/queries/datadog/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://materializeinc.github.io/materialize-monitoring/reference/development/queries/datadog/</guid><description>&lt;h1 id="datadog-translations"&gt;Datadog Translations&lt;a class="anchor" href="#datadog-translations"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;Every query in &lt;code&gt;packages/queries/&lt;/code&gt; carries a &lt;code&gt;datadogQuery&lt;/code&gt; alongside its &lt;code&gt;promQL&lt;/code&gt;.&#10;They render side by side as tabs on &lt;a href="https://materializeinc.github.io/materialize-monitoring/reference/common-queries/"&gt;Common Queries&lt;/a&gt;; this&#10;page is the conventions behind them, for whoever is adding or correcting one.&lt;/p&gt;&#10;&lt;p&gt;These are &lt;strong&gt;translations, not a tested dashboard set&lt;/strong&gt; — there is no Datadog test environment in CI, so nothing here has&#10;been run against a real Datadog account.&#10;Treat them as a starting point you copy into a widget or monitor and correct, not as something that works unedited.&lt;/p&gt;</description></item></channel></rss>