From 7e43204458c4dd2611bde61a8fb6e5dc0537e061 Mon Sep 17 00:00:00 2001 From: Kee Hoon Lee Date: Wed, 11 Nov 2026 14:15:48 +0900 Subject: [PATCH] labs/threshold-alerts: host-metric threshold alerts, every host and one server group (Managed ClickStack) Builder line charts grouped by host.name with tile alerts: every host >= 0.9, svc.group game-a only >= 0.8, and every host with 3 consecutive windows. Synthetic system.memory.utilization for six hosts in two groups, notifications counted at a local receiver behind a tunnel. One run on the Seoul service (ClickHouse 26.8.1.654), 2026-11-11 04:57-05:08Z: per-host notifications and resolves, the other group filtered out, consecutive windows two windows Pending first. English and Korean step-by-step guide with eight screens from the same run. Closes #153 Co-Authored-By: Claude Opus 5.5 --- README.md | 2 + labs/threshold-alerts/README.md | 244 ++++++++++++ .../threshold-alerts/images/01-dashboard.webp | Bin 0 -> 32088 bytes .../images/02-every-host-chart.webp | Bin 0 -> 33314 bytes .../images/03-alert-settings.webp | Bin 0 -> 44212 bytes .../images/04-group-filter.webp | Bin 0 -> 35392 bytes .../images/05-consecutive-windows.webp | Bin 0 -> 49154 bytes .../images/06-alerts-list.webp | Bin 0 -> 26568 bytes .../images/07-every-host-history.webp | Bin 0 -> 52078 bytes .../images/08-consecutive-history.webp | Bin 0 -> 37404 bytes labs/threshold-alerts/lab.yaml | 6 + .../managed/threshold_alerts.py | 369 ++++++++++++++++++ .../results/2026-11-11-managed-states.jsonl | 20 + .../results/2026-11-11-managed.md | 96 +++++ .../results/2026-11-11-phases.json | 1 + .../results/2026-11-11-webhook.jsonl | 40 ++ 16 files changed, 778 insertions(+) create mode 100644 labs/threshold-alerts/README.md create mode 100644 labs/threshold-alerts/images/01-dashboard.webp create mode 100644 labs/threshold-alerts/images/02-every-host-chart.webp create mode 100644 labs/threshold-alerts/images/03-alert-settings.webp create mode 100644 labs/threshold-alerts/images/04-group-filter.webp create mode 100644 labs/threshold-alerts/images/05-consecutive-windows.webp create mode 100644 labs/threshold-alerts/images/06-alerts-list.webp create mode 100644 labs/threshold-alerts/images/07-every-host-history.webp create mode 100644 labs/threshold-alerts/images/08-consecutive-history.webp create mode 100644 labs/threshold-alerts/lab.yaml create mode 100644 labs/threshold-alerts/managed/threshold_alerts.py create mode 100644 labs/threshold-alerts/results/2026-11-11-managed-states.jsonl create mode 100644 labs/threshold-alerts/results/2026-11-11-managed.md create mode 100644 labs/threshold-alerts/results/2026-11-11-phases.json create mode 100644 labs/threshold-alerts/results/2026-11-11-webhook.jsonl diff --git a/README.md b/README.md index 973f000..4a1afb1 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,7 @@ Observability on ClickHouse: OpenTelemetry ingestion, the ClickStack/HyperDX UI, | [labs/promql](labs/promql/) | PromQL in HyperDX on a local ClickStack 2.42.0: turn on ClickHouse's `TimeSeries` engine and Prometheus HTTP API, fill the table from a refreshable MV, register a PromQL source, check rate and `histogram_quantile` with SQL and HTTP | | [labs/process-down-alerts](labs/process-down-alerts/) | Does a ClickStack alert fire when one host's process series stops? Five tile alerts on local 2.42.0: a group-by alert stays silent, a SQL tile against an expected host list fires in 76 s (verified 2026-11-06) | | [labs/common-fields](labs/common-fields/) | Adoption guide for the common fields (service taxonomy, host, environment): where apps and hosts set them, a gateway rename from EC2 tags, and ClickStack tables with them as columns in the sort key; schema tested in clickhouse local, rename in otelcol-contrib 0.155.0, demo on Managed ClickStack (2026-11-06) | +| [labs/threshold-alerts](labs/threshold-alerts/) | Host-metric threshold alerts in the chart builder: one rule for every host (a notification per host) and one for a server group only, plus consecutive windows; step-by-step with screens, verified on Managed ClickStack (2026-11-11) | | [labs/hostmetrics-volume](labs/hostmetrics-volume/) | Linux and Windows EC2: data points and wire bytes per host at 1-minute hostmetrics, four ways to watch a Windows game-server process stop (process scraper, perfcounters, `windows_service`, a check script) and one gateway behind an endpoint service (verified 2026-11-06) | | [labs/llm-serving-observability](labs/llm-serving-observability/) | Self-hosted LLM serving (vLLM behind LiteLLM) observed with ClickStack, runnable without a GPU: the OTel Collector configuration, an `nvidia-smi` → OTLP pusher, LiteLLM gateway-metric cardinality with and without the attribute allowlist, and the 32-tile HyperDX dashboard imported onto hand-made sources | | [labs/vault-audit](labs/vault-audit/) | HashiCorp Vault OSS audit trail and HA metrics in ClickStack: a three-node Raft cluster's audit files (written by whichever node is active) through `file_log` and OTTL into OTel logs — TraceId per request, issuance joined to later use on HMAC'd accessors, no secret in clear — plus per-node metrics with `unauthenticated_metrics_access`; failover checked (verified locally and on Managed ClickStack, 2026-11-06) | @@ -116,6 +117,7 @@ ClickHouse 기반 관측성 실습입니다. OpenTelemetry 수집, ClickStack/Hy | [labs/promql](labs/promql/) | 로컬 ClickStack 2.42.0에서 HyperDX로 PromQL: ClickHouse `TimeSeries` 엔진과 Prometheus HTTP API를 켜고, 리프레시 MV로 테이블을 채우고, PromQL 소스를 등록해 rate와 `histogram_quantile`을 SQL과 HTTP로 확인 | | [labs/process-down-alerts](labs/process-down-alerts/) | 호스트 하나의 프로세스 시계열이 끊기면 ClickStack 알림이 울리는가: 로컬 2.42.0에서 타일 알림 다섯 가지 — group by 알림은 울리지 않고, 기대 호스트 목록 대비 SQL 타일은 76초 뒤 울림 (2026-11-06 검증) | | [labs/common-fields](labs/common-fields/) | 공통 필드(서비스 분류, 호스트, 환경) 적용 가이드: 앱과 호스트가 넣는 곳, EC2 태그를 gateway에서 표준 이름으로, 그 필드를 컬럼으로 정렬 키에 둔 ClickStack 테이블. 스키마는 clickhouse local, 이름 바꾸기는 otelcol-contrib 0.155.0, 데모는 Managed ClickStack에서 확인 (2026-11-06) | +| [labs/threshold-alerts](labs/threshold-alerts/) | 차트 빌더로 만드는 호스트 메트릭 임계치 알림: 규칙 하나로 전체 호스트(호스트마다 알림), 특정 서버군만, 연속 구간까지. 화면과 함께 단계별로, Managed ClickStack에서 확인 (2026-11-11) | | [labs/hostmetrics-volume](labs/hostmetrics-volume/) | Linux·Windows EC2: 1분 hostmetrics의 호스트당 data point와 전송 바이트, Windows 게임 서버 프로세스 중지를 보는 네 방법(process scraper, perfcounters, `windows_service`, 확인 스크립트), endpoint service 뒤의 gateway 하나 (2026-11-06 검증) | | [labs/llm-serving-observability](labs/llm-serving-observability/) | LiteLLM 뒤의 vLLM을 ClickStack으로 관측, GPU 없이 실행: OTel Collector 설정, `nvidia-smi` → OTLP 푸셔, 속성 허용 목록 유무에 따른 LiteLLM 게이트웨이 메트릭 카디널리티, 손으로 만든 소스에 가져온 HyperDX 대시보드(타일 32개) | | [labs/vault-audit](labs/vault-audit/) | HashiCorp Vault OSS 감사 기록과 HA 메트릭을 ClickStack에서: Raft 3노드 클러스터의 감사 파일(그때 active인 노드가 씀)을 `file_log`와 OTTL로 OTel 로그로 — 요청마다 TraceId, HMAC 처리된 accessor로 발급과 이후 사용 연결, 평문 시크릿 없음 — 그리고 `unauthenticated_metrics_access`로 노드별 메트릭, 장애 전환 검사(2026-11-06 로컬과 Managed ClickStack에서 검증) | diff --git a/labs/threshold-alerts/README.md b/labs/threshold-alerts/README.md new file mode 100644 index 0000000..4eeccf1 --- /dev/null +++ b/labs/threshold-alerts/README.md @@ -0,0 +1,244 @@ +# Threshold alerts for host metrics in ClickStack: every host, or one server group + +[English](#english) | [한국어](#한국어) + +## English + +Two alerts an infra team asks for first, built in the ClickStack chart builder: + +1. **One threshold for every server** — for example memory used at least 90%, with a separate + notification for each host that crosses it. +2. **A threshold for one server group only** — the hosts whose `svc.group` resource attribute + (set from an EC2 tag, see [`labs/common-fields`](../common-fields/README.md)) is `game-a`. + +> **Verified on** Managed ClickStack, our ClickHouse Cloud Seoul service (ClickHouse 26.8.1.654), +> 2026-11-11 04:57–05:08Z, one run. [`managed/threshold_alerts.py`](managed/threshold_alerts.py) +> created the metric source, dashboard, builder charts, alerts and a generic webhook through the +> ClickHouse Cloud API, sent synthetic `system.memory.utilization` for six hosts every 20 s, and +> counted the notifications at a local receiver behind a tunnel. Screens are from the same run. +> Report: [`results/2026-11-11-managed.md`](results/2026-11-11-managed.md). + +### Result + +Six hosts, two groups (`game-a-01..03`, `game-b-01..03`), all at 0.50; for six minutes +game-a-01 at 0.95, game-a-02 at 0.85, game-b-02 at 0.93; then all back at 0.50. + +| Alert (builder line chart, Average, group by `host.name`, every 1 m) | Notified | Not notified | First window | Resolved | +|---|---|---|---|---| +| A1 every host, **≥ 0.9** | game-a-01, game-b-02 (6 each) | game-a-02 (0.85) and the rest | 05:00–05:01 | 05:06–05:07, per host | +| A2 `svc.group = 'game-a'` only, **≥ 0.8** | game-a-01, game-a-02 (6 each) | game-b-02 (0.93, other group) | 05:00–05:01 | 05:06–05:07, per host | +| A3 as A1 with **3 consecutive windows** | game-a-01, game-b-02 (5 each) | as A1 | 05:02–05:03 (2 windows Pending) | 05:07–05:08, per host | + +What this means: + +1. **One rule covers every host.** Group the chart by `host.name`; the alert then evaluates each + host as its own group and notifies (and later resolves) each host on its own. The alert's + history shows the groups of every window (screen 7). +2. **A server group is a filter on the same chart.** Add the group attribute to the chart's + Where. A different threshold per group is one chart and alert per group. +3. **A breaching host is notified every window** (6 notifications in a 6-minute breach). + Consecutive windows delays the first notification (here 2 windows Pending, then Alert) and + still repeats after that; with many hosts, also look at the interval and how the receiving + channel groups messages. + +### Step by step + +**1. A chart grouped by host.** Dashboards → Add → Time Series. Data Source: your metric source. +Average of `system.memory.utilization`, Where (SQL) `Attributes['state'] = 'used'`, Group By +`ResourceAttributes['host.name']`. The hostmetrics memory scraper sends one series per state +(used, free); the filter keeps one series per host. + +![Chart editor: Average of system.memory.utilization, Where Attributes['state'] = 'used', Group By ResourceAttributes['host.name'], threshold band above 0.9](images/02-every-host-chart.webp) + +**2. The alert on that chart.** Edit alert → Static threshold, "is at least (≥)" 0.9, Send to a +webhook (Slack or generic). The message template may use `{{group}}` and `{{value}}`. + +![Alert panel: Static threshold, is at least 0.9, send to webhook threshold-alerts lab](images/03-alert-settings.webp) + +The panel showed "over 5 minute" for these alerts, created with `interval: 1m` through the API; +the alert's own page says "Evaluates every 1m", and notifications came every minute. Pick the +interval you want when you create the alert in the UI. + +**3. One server group.** The same chart with the group in Where: +`Attributes['state'] = 'used' AND ResourceAttributes['svc.group'] = 'game-a'`, alert at 0.8. + +![Chart editor with Where Attributes['state'] = 'used' AND ResourceAttributes['svc.group'] = 'game-a': only game-a hosts, threshold band above 0.8](images/04-group-filter.webp) + +**4. Fewer notifications for short spikes.** Alert → Advanced Settings → Consecutive windows. + +![Advanced Settings: Consecutive windows 3](images/05-consecutive-windows.webp) + +**5. Where to see it.** The dashboard (the bell turns red while an alert fires), the Alerts page, +and each alert's page with one row per window and, expanded, one row per host. + +![Dashboard with the three charts, 1-minute granularity: game-a-01, game-b-02 and game-a-02 rise from 05:00 to 05:06](images/01-dashboard.webp) + +![Alerts page: the three alerts with their history bars; A3 shows orange (Pending) bars before red](images/06-alerts-list.webp) + +![A1 evaluation history: 2:00–2:05 PM KST "2/6 groups firing"; expanded, game-a-01 0.95 and game-b-02 0.93 Alert, game-a-02 0.85 OK](images/07-every-host-history.webp) + +![A3 evaluation history: Pending at 2:00 and 2:01 PM KST, Alert from 2:02 to 2:06 PM](images/08-consecutive-history.webp) + +The alert pages show local time (KST here); the notifications and the report use UTC. + +### What to know before rolling it out + +- **A gauge is read as the last value in each window.** "Average" on a gauge metric takes each + series' last value in the window, then averages across series (`last_value(Value)` in + `packages/common-utils/src/core/renderChartConfig.ts`, HyperDX source read 2026-11-11). Grouped + by host with one series per host, that is the host's latest sample. Seen here: the breach + started at 05:00:51 and the 05:00–05:01 window already fired. With the hostmetrics default of + one sample per minute, each window holds one sample anyway. +- **The notification title rounds the value** to one decimal: 0.93 arrived as + "0.9 meets or exceeds 0.9". `{{value}}` in the message carried 0.93. "is at least" is ≥. +- **The group label is the expression**, as received: + `Group: "arrayElement(ResourceAttributes, 'host.name'):game-b-02"`. +- **A host that stops sending does not fire a threshold alert** — there is no value to compare. + That needs the expected-host-list alert in [`labs/process-down-alerts`](../process-down-alerts/README.md). +- **Consecutive windows, as measured once:** A3 fired from its third window and resolved one + window after A1 (05:07–05:08 against 05:06–05:07), on the same chart query. + +### Run it + +```bash +ngrok http 9310 # or any tunnel to 127.0.0.1:9310; optional +managed/threshold_alerts.py --webhook-url https:// [--keep] # ~14 min +managed/threshold_alerts.py --cleanup # after --keep +managed/threshold_alerts.py --report # report again from results/ +``` + +Env files: `CH_HOST`, `CH_USER`, `CH_PASSWORD` (`--ch-env`) and `CHC_KEY`, `CHC_SECRET` +(`--api-env`). Everything it creates is named `threshold-alerts lab` and lives in the database +`threshold_alerts_lab`; `--cleanup` removes it. Without `--webhook-url` the webhook points at +example.com and only alert states are recorded (the Cloud API reports one state per alert, not +per host). Links and per-alert hashes are redacted before anything is written to `results/`. + +| File | What | +|---|---| +| `managed/threshold_alerts.py` | source, dashboard, alerts, webhook; data sender; receiver; report | +| `results/2026-11-11-managed.md` | alert states every 30 s and every notification | +| `results/2026-11-11-webhook.jsonl`, `-managed-states.jsonl`, `-phases.json` | the raw records | +| `images/` | the screens above, from the same run | + +Not covered: a Slack channel (the generic webhook carries the same text), CPU +(`system.cpu.utilization` has one series per CPU and state, so its filter and threshold differ — +not run here), one rule with a different threshold per group, silences, real hosts (the data is +synthetic in the hostmetrics shape), and the local OSS build. + +--- + +## 한국어 + +인프라 팀이 가장 먼저 찾는 알림 두 가지를 ClickStack 차트 빌더로 만듭니다. + +1. **전체 서버에 같은 임계치** — 예: 메모리 사용률 90% 이상. 넘은 호스트마다 알림이 따로 갑니다. +2. **특정 서버군만 임계치** — 리소스 속성 `svc.group`이 `game-a`인 호스트만. 이 속성은 EC2 태그에서 + 넣습니다([`labs/common-fields`](../common-fields/README.md) 참고). + +> **검증:** Managed ClickStack, 우리 ClickHouse Cloud 서울 서비스(ClickHouse 26.8.1.654), +> 2026-11-11 04:57–05:08Z, 1회. [`managed/threshold_alerts.py`](managed/threshold_alerts.py)가 ClickHouse +> Cloud API로 메트릭 소스, 대시보드, 빌더 차트, 알림, generic webhook을 만들고, 호스트 6대의 합성 +> `system.memory.utilization`을 20초마다 보내고, 터널 뒤 로컬 수신기에서 알림을 셌습니다. 화면도 같은 +> 실행에서 찍었습니다. 보고: [`results/2026-11-11-managed.md`](results/2026-11-11-managed.md). + +### 결과 + +호스트 6대, 서버군 2개(`game-a-01..03`, `game-b-01..03`), 모두 0.50에서 시작합니다. 6분 동안 +game-a-01은 0.95, game-a-02는 0.85, game-b-02는 0.93으로 올리고, 그 뒤 모두 0.50으로 되돌렸습니다. + +| 알림 (빌더 line 차트, Average, `host.name`으로 group by, 1분마다) | 알림 받음 | 알림 없음 | 첫 구간 | 해소 | +|---|---|---|---|---| +| A1 전체 호스트, **0.9 이상** | game-a-01, game-b-02 (각 6건) | game-a-02(0.85)와 나머지 | 05:00–05:01 | 05:06–05:07, 호스트별 | +| A2 `svc.group = 'game-a'`만, **0.8 이상** | game-a-01, game-a-02 (각 6건) | game-b-02(0.93, 다른 서버군) | 05:00–05:01 | 05:06–05:07, 호스트별 | +| A3 A1과 같고 **연속 3구간** | game-a-01, game-b-02 (각 5건) | A1과 같음 | 05:02–05:03 (2구간 Pending) | 05:07–05:08, 호스트별 | + +뜻: + +1. **규칙 하나로 모든 호스트를 봅니다.** 차트를 `host.name`으로 group by 하면 알림이 호스트마다 따로 + 평가하고, 호스트마다 따로 알리고 해소합니다. 알림 이력에서 구간마다 호스트별 상태를 볼 수 있습니다 + (화면 7). +2. **서버군은 같은 차트에 거는 필터입니다.** 차트의 Where에 서버군 속성을 더합니다. 서버군마다 임계치가 + 다르면 서버군마다 차트와 알림을 하나씩 둡니다. +3. **넘은 호스트는 구간마다 다시 알립니다**(6분 초과에 6건). 연속 구간은 첫 알림을 늦출 뿐(여기서는 + 2구간 Pending 뒤 Alert) 그 뒤에는 똑같이 반복합니다. 호스트가 많으면 평가 간격과 받는 채널의 + 메시지 묶기도 함께 정하세요. + +### 따라 하기 + +**1. 호스트별로 묶은 차트.** Dashboards → Add → Time Series. Data Source는 메트릭 소스. +`system.memory.utilization`의 Average, Where(SQL) `Attributes['state'] = 'used'`, Group By +`ResourceAttributes['host.name']`. hostmetrics memory scraper는 상태(used, free)마다 시계열을 보내므로, +이 필터로 호스트당 시계열 하나만 남깁니다. + +![차트 편집기: system.memory.utilization의 Average, Where Attributes['state'] = 'used', Group By ResourceAttributes['host.name'], 0.9 위 임계치 띠](images/02-every-host-chart.webp) + +**2. 그 차트에 알림.** Edit alert → Static threshold, "is at least (≥)" 0.9, Send to에 webhook(Slack +또는 generic). 메시지 템플릿에 `{{group}}`, `{{value}}`를 쓸 수 있습니다. + +![알림 패널: Static threshold, is at least 0.9, webhook threshold-alerts lab으로 보냄](images/03-alert-settings.webp) + +API로 `interval: 1m`을 넣어 만든 이 알림들은 패널에 "over 5 minute"로 보였습니다. 알림 페이지에는 +"Evaluates every 1m"로 나오고, 알림도 1분마다 왔습니다. UI에서 만들 때는 원하는 간격을 직접 고르세요. + +**3. 서버군 하나.** 같은 차트의 Where에 서버군을 더합니다: +`Attributes['state'] = 'used' AND ResourceAttributes['svc.group'] = 'game-a'`, 알림은 0.8. + +![Where Attributes['state'] = 'used' AND ResourceAttributes['svc.group'] = 'game-a'인 차트 편집기: game-a 호스트만, 0.8 위 임계치 띠](images/04-group-filter.webp) + +**4. 짧은 튐에 알림 줄이기.** 알림 → Advanced Settings → Consecutive windows. + +![Advanced Settings: Consecutive windows 3](images/05-consecutive-windows.webp) + +**5. 보는 곳.** 대시보드(알림이 울리는 동안 종 아이콘이 빨간색), Alerts 페이지, 알림마다의 페이지(구간마다 +한 줄, 펼치면 호스트마다 한 줄). + +![세 차트가 있는 대시보드, 1분 단위: game-a-01, game-b-02, game-a-02가 05:00부터 05:06까지 올라감](images/01-dashboard.webp) + +![Alerts 페이지: 세 알림과 이력 막대, A3는 빨간색 앞에 주황색(Pending) 막대](images/06-alerts-list.webp) + +![A1 평가 이력: 오후 2:00–2:05 KST "2/6 groups firing", 펼치면 game-a-01 0.95와 game-b-02 0.93은 Alert, game-a-02 0.85는 OK](images/07-every-host-history.webp) + +![A3 평가 이력: 오후 2:00, 2:01 KST Pending, 2:02부터 2:06까지 Alert](images/08-consecutive-history.webp) + +알림 페이지는 현지 시각(여기서는 KST), 알림 본문과 보고서는 UTC입니다. + +### 적용 전에 알아 둘 것 + +- **gauge는 구간의 마지막 값으로 읽습니다.** gauge 메트릭의 "Average"는 시계열마다 구간 안의 마지막 + 값을 잡은 뒤 시계열끼리 평균합니다(HyperDX 소스 `packages/common-utils/src/core/renderChartConfig.ts`의 + `last_value(Value)`, 2026-11-11에 읽음). 호스트로 group by 하고 호스트당 시계열이 하나면 그 호스트의 + 마지막 샘플입니다. 이번 실행에서도 05:00:51에 올렸는데 05:00–05:01 구간이 이미 울렸습니다. + hostmetrics 기본값(1분에 샘플 하나)이면 어차피 구간마다 샘플이 하나입니다. +- **알림 제목의 값은 소수 한 자리로 반올림됩니다.** 0.93이 "0.9 meets or exceeds 0.9"로 왔습니다. + 메시지의 `{{value}}`에는 0.93이 그대로 들어갔습니다. "is at least"는 ≥입니다. +- **그룹 이름은 식 그대로 옵니다:** `Group: "arrayElement(ResourceAttributes, 'host.name'):game-b-02"`. +- **데이터를 보내지 않게 된 호스트는 임계치 알림이 울리지 않습니다** — 비교할 값이 없습니다. 이 경우는 + [`labs/process-down-alerts`](../process-down-alerts/README.md)의 기대 호스트 목록 알림을 씁니다. +- **연속 구간(1회 측정):** A3는 세 번째 구간부터 울렸고, 같은 차트 쿼리인 A1보다 한 구간 늦게 + 해소됐습니다(05:07–05:08 대 05:06–05:07). + +### 실행 + +```bash +ngrok http 9310 # 127.0.0.1:9310으로 가는 터널이면 무엇이든; 선택 +managed/threshold_alerts.py --webhook-url https:// [--keep] # 약 14분 +managed/threshold_alerts.py --cleanup # --keep 뒤에 +managed/threshold_alerts.py --report # results/에서 보고서 다시 만들기 +``` + +환경 파일: `CH_HOST`, `CH_USER`, `CH_PASSWORD`(`--ch-env`)와 `CHC_KEY`, `CHC_SECRET`(`--api-env`). +만드는 것은 모두 이름이 `threshold-alerts lab`이고 데이터베이스는 `threshold_alerts_lab`이며, +`--cleanup`이 지웁니다. `--webhook-url`이 없으면 webhook이 example.com을 가리키고 알림 상태만 +기록합니다(Cloud API는 알림마다 상태 하나만 주고 호스트별로는 주지 않습니다). 링크와 알림별 해시는 +`results/`에 쓰기 전에 가립니다. + +| 파일 | 내용 | +|---|---| +| `managed/threshold_alerts.py` | 소스, 대시보드, 알림, webhook; 데이터 전송; 수신기; 보고서 | +| `results/2026-11-11-managed.md` | 30초마다의 알림 상태와 모든 알림 | +| `results/2026-11-11-webhook.jsonl`, `-managed-states.jsonl`, `-phases.json` | 원본 기록 | +| `images/` | 위 화면, 같은 실행 | + +다루지 않은 것: Slack 채널(generic webhook에 같은 본문이 옴), CPU(`system.cpu.utilization`은 CPU와 +상태마다 시계열이 있어 필터와 임계치가 다름 — 여기서는 실행하지 않음), 서버군마다 다른 임계치를 규칙 +하나로, silence, 실제 호스트(데이터는 hostmetrics 모양의 합성 데이터), 로컬 OSS 빌드. diff --git a/labs/threshold-alerts/images/01-dashboard.webp b/labs/threshold-alerts/images/01-dashboard.webp new file mode 100644 index 0000000000000000000000000000000000000000..11870a3f1f0d597d928e2d95477b3fb33c0df0a9 GIT binary patch literal 32088 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 P|CE4Ty#@YT4FLQ<@Pnw_ literal 0 HcmV?d00001 diff --git a/labs/threshold-alerts/images/02-every-host-chart.webp b/labs/threshold-alerts/images/02-every-host-chart.webp new file mode 100644 index 0000000000000000000000000000000000000000..dfc501ec52f25117e9c177f940a56cee8e80d17e GIT binary patch literal 33314 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

P71Y|cxQtV$pXQ#6B45|bRwEsDb* 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�Xm7Sy0mF6pFlhAQ#_I+$3rJ5rV6!j$ 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�T`zgtr2Ys{~LIYV1My+C8@5t2JeU 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 literal 0 HcmV?d00001 diff --git a/labs/threshold-alerts/images/06-alerts-list.webp b/labs/threshold-alerts/images/06-alerts-list.webp new file mode 100644 index 0000000000000000000000000000000000000000..d630d2b3248610124fab0f8074822f4f5ee8d5d2 GIT binary patch literal 26568 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 EKM_ECqW}N^ literal 0 HcmV?d00001 diff --git a/labs/threshold-alerts/images/07-every-host-history.webp b/labs/threshold-alerts/images/07-every-host-history.webp new file mode 100644 index 0000000000000000000000000000000000000000..7402ed5c0725258d3dd740d35c9962345b640a36 GIT binary patch literal 52078 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 E0CMgV5&!@I literal 0 HcmV?d00001 diff --git a/labs/threshold-alerts/images/08-consecutive-history.webp b/labs/threshold-alerts/images/08-consecutive-history.webp new file mode 100644 index 0000000000000000000000000000000000000000..0ca81f285c48382878ba063841c0791c75aed973 GIT binary patch literal 37404 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 F005k6-M0V$ literal 0 HcmV?d00001 diff --git a/labs/threshold-alerts/lab.yaml b/labs/threshold-alerts/lab.yaml new file mode 100644 index 0000000..8e3111b --- /dev/null +++ b/labs/threshold-alerts/lab.yaml @@ -0,0 +1,6 @@ +# Runner keys (tools/lab.schema.md). Not run by hol: needs a ClickHouse Cloud service with +# Managed ClickStack and, for per-host evidence, a tunnel to the local webhook receiver. +target: cloud +tier: T1 +services: [clickstack] +verified_on: "Managed ClickStack (ClickHouse Cloud 26.8.1.654), 2026-11-11" diff --git a/labs/threshold-alerts/managed/threshold_alerts.py b/labs/threshold-alerts/managed/threshold_alerts.py new file mode 100644 index 0000000..f0563fd --- /dev/null +++ b/labs/threshold-alerts/managed/threshold_alerts.py @@ -0,0 +1,369 @@ +#!/usr/bin/env python3 +"""Threshold alerts for host metrics on Managed ClickStack (ClickHouse Cloud) — stdlib only. + +Two questions an infra team asks first, answered with the builder (the chart editor a user +clicks through), created here through the ClickHouse Cloud API so the run can be repeated: + + A1 every host, memory used above 0.9, group by host.name -> one notification per host + A2 server group game-a only, memory used above 0.8, group by host -> game-a hosts only + A3 as A1, but numConsecutiveWindows = 3 -> fires after 3 windows + +Data: six hosts (game-a-01..03, game-b-01..03, resource attribute svc.group) send +`system.memory.utilization` (state used / free, as the hostmetrics memory scraper does) every +20 s into a database of their own, read by a ClickStack metric source of its own. +Phases (min): P0 all at 0.50 for 3 · P1 breach for 6 (game-a-01 0.95, game-a-02 0.85, +game-b-02 0.93) · P2 all at 0.50 for 4. + +Evidence: each alert's `state` from the Cloud API every 30 s, and every webhook POST at a local +receiver (`--webhook-url` must forward to it, e.g. `ngrok http 9310`). Without --webhook-url the +webhook points at example.com and only the states are recorded. + + threshold_alerts.py [--webhook-url https://] [--port 9310] [--keep] + [--ch-env ~/.config/khai-harness/secrets/clickhouse-seoul.env] + [--api-env ~/.config/khai-harness/secrets/chc-api.env] + threshold_alerts.py --cleanup delete what a --keep run left, drop the database + +--keep leaves dashboard, alerts, source, webhook and data for screen captures (P2 values keep +being sent until Ctrl-C, so charts stay live); run --cleanup after. + -> ../results/-managed.md, -managed-states.jsonl, -webhook.jsonl + +CH env: CH_HOST, CH_USER, CH_PASSWORD. API env: CHC_KEY, CHC_SECRET. Values are never printed. +""" +import base64 +import json +import os +import re +import secrets +import sys +import threading +import time +import urllib.error +import urllib.parse +import urllib.request +from http.server import BaseHTTPRequestHandler, HTTPServer + +HERE = os.path.dirname(os.path.abspath(__file__)) +RESULTS = os.path.join(HERE, "..", "results") +DB = "threshold_alerts_lab" +NAME = "threshold-alerts lab" +API = "https://api.clickhouse.cloud/v1" +METRIC = "system.memory.utilization" +HOSTS = {f"game-{g}-0{i}": f"game-{g}" for g in ("a", "b") for i in (1, 2, 3)} +BREACH = {"game-a-01": 0.95, "game-a-02": 0.85, "game-b-02": 0.93} +PHASES = [("P0 all normal", {}, 3), ("P1 breach", BREACH, 6), ("P2 all normal", {}, 4)] +HOST = "ResourceAttributes['host.name']" +GROUP = "ResourceAttributes['svc.group']" +USED = "Attributes['state'] = 'used'" +# (tile title, where, alert threshold, numConsecutiveWindows) +TILES = [ + ("A1 memory used, every host", USED, 0.9, None), + ("A2 memory used, game-a", f"{USED} AND {GROUP} = 'game-a'", 0.8, None), + ("A3 memory used, every host, 3 windows", USED, 0.9, 3), +] + +SCHEMA = f"""CREATE TABLE IF NOT EXISTS {DB}.otel_metrics_gauge ( + ResourceAttributes Map(LowCardinality(String), String) CODEC(ZSTD(1)), + ResourceSchemaUrl String CODEC(ZSTD(1)), + ScopeName String CODEC(ZSTD(1)), + ScopeVersion String CODEC(ZSTD(1)), + ScopeAttributes Map(LowCardinality(String), String) CODEC(ZSTD(1)), + ScopeDroppedAttrCount UInt32 CODEC(ZSTD(1)), + ScopeSchemaUrl String CODEC(ZSTD(1)), + ServiceName LowCardinality(String) CODEC(ZSTD(1)), + MetricName String CODEC(ZSTD(1)), + MetricDescription String CODEC(ZSTD(1)), + MetricUnit String CODEC(ZSTD(1)), + Attributes Map(LowCardinality(String), String) CODEC(ZSTD(1)), + StartTimeUnix DateTime64(9) CODEC(Delta, ZSTD(1)), + TimeUnix DateTime64(9) CODEC(Delta, ZSTD(1)), + Value Float64 CODEC(ZSTD(1)), + Flags UInt32 CODEC(ZSTD(1)), + Exemplars Nested (FilteredAttributes Map(LowCardinality(String), String), TimeUnix DateTime64(9), + Value Float64, SpanId String, TraceId String) CODEC(ZSTD(1)) +) ENGINE = MergeTree +PARTITION BY toDate(TimeUnix) +ORDER BY (ServiceName, MetricName, Attributes, toUnixTimestamp64Nano(TimeUnix))""" + + +def load_env(path): + env = {} + for line in open(os.path.expanduser(path)): + line = line.strip() + if line and not line.startswith("#") and "=" in line: + k, v = line.split("=", 1) + env[k.removeprefix("export ").strip()] = v.strip().strip('"').strip("'") + return env + + +def basic(u, p): + return "Basic " + base64.b64encode(f"{u}:{p}".encode()).decode() + + +class CH: + def __init__(self, env): + self.host = env["CH_HOST"] + self.auth = basic(env["CH_USER"], env["CH_PASSWORD"]) + + def q(self, sql, **settings): + url = f"https://{self.host}:8443/?" + urllib.parse.urlencode(settings) + req = urllib.request.Request(url, data=sql.encode(), headers={"Authorization": self.auth}) + with urllib.request.urlopen(req, timeout=120) as r: + return r.read().decode() + + +class Cloud: + def __init__(self, env, ch_host): + self.auth = basic(env["CHC_KEY"], env["CHC_SECRET"]) + self.org = self.call("GET", "/organizations")[0]["id"] + svc = next(s for s in self.call("GET", f"/organizations/{self.org}/services") + if any(e.get("host") == ch_host for e in s.get("endpoints", []))) + self.base = f"/organizations/{self.org}/services/{svc['id']}/clickstack" + + def call(self, method, path, body=None): + data = json.dumps(body).encode() if body is not None else None + req = urllib.request.Request(API + path, data=data, method=method, + headers={"Authorization": self.auth, "Content-Type": "application/json"}) + try: + with urllib.request.urlopen(req, timeout=60) as r: + raw = r.read() + except urllib.error.HTTPError as e: + raise SystemExit(f"{method} {path}: HTTP {e.code}: {e.read()[:800].decode(errors='replace')}") + d = json.loads(raw) if raw else {} + res = d.get("result", d) + return res.get("data", res) if isinstance(res, dict) and "data" in res and len(res) <= 2 else res + + def cs(self, method, path, body=None): + return self.call(method, self.base + path, body) + + +def redact(obj): + """Links carry the service and dashboard ids; the trailing hash is per alert. Neither is evidence.""" + if isinstance(obj, dict): + return {k: redact(v) for k, v in obj.items() if k not in ("teamId",)} + if isinstance(obj, list): + return [redact(v) for v in obj] + if isinstance(obj, str): + obj = re.sub(r"https://[^ |\n]+", "", obj) + return re.sub(r"\b[0-9a-f]{40}\b", "", obj) + return obj + + +def receiver(port, token, path): + class H(BaseHTTPRequestHandler): + def do_POST(self): + n = int(self.headers.get("content-length") or 0) + raw = self.rfile.read(n).decode(errors="replace") + if self.path.split("?")[0] != f"/{token}": + self.send_response(404) + self.end_headers() + return + try: + body = json.loads(raw) + except ValueError: + body = raw + with open(path, "a") as f: + f.write(json.dumps({"received_at": time.time(), "body": redact(body)}) + "\n") + self.send_response(200) + self.end_headers() + self.wfile.write(b"ok") + + def log_message(self, *a): + pass + + srv = HTTPServer(("127.0.0.1", port), H) + threading.Thread(target=srv.serve_forever, daemon=True).start() + return srv + + +def insert(ch, values): + now = time.time() + ts = time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime(now)) + f".{int(now * 1000) % 1000:03d}" + rows = [] + for host, group in HOSTS.items(): + used = values.get(host, 0.50) + for state, v in (("used", used), ("free", round(1 - used, 4))): + rows.append(json.dumps({ + "TimeUnix": ts, "StartTimeUnix": ts, "MetricName": METRIC, "MetricUnit": "1", + "MetricDescription": "Percentage of memory bytes in use.", "Value": v, + "ScopeName": "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver/internal/scraper/memoryscraper", + "Attributes": {"state": state}, + "ResourceAttributes": {"host.name": host, "svc.group": group, "os.type": "linux"}})) + ch.q(f"INSERT INTO {DB}.otel_metrics_gauge FORMAT JSONEachRow\n" + "\n".join(rows), + date_time_input_format="best_effort") + + +def cleanup(ch, cloud): + dash = [d for d in cloud.cs("GET", "/dashboards") if d.get("name") == NAME] + ids = {d["id"] for d in dash} + for a in cloud.cs("GET", "/alerts"): + if a.get("dashboardId") in ids: + cloud.cs("DELETE", f"/alerts/{a['id']}") + for d in dash: + cloud.cs("DELETE", f"/dashboards/{d['id']}") + for w in cloud.cs("GET", "/webhooks"): + if w.get("name") == NAME: + cloud.cs("DELETE", f"/webhooks/{w['id']}") + for s in cloud.cs("GET", "/sources"): + if s.get("name") == NAME: + cloud.cs("DELETE", f"/sources/{s['id']}") + ch.q(f"DROP DATABASE IF EXISTS {DB}") + print(f"cleaned up: {len(dash)} dashboard(s) and their alerts, webhook, source, database {DB}") + + +def builder_tile(src_id, where): + return {"displayType": "line", "sourceId": src_id, + "select": [{"aggFn": "avg", "valueExpression": "Value", "metricType": "gauge", "metricName": METRIC, + "where": where, "whereLanguage": "sql", "alias": "memory used"}], + "groupBy": HOST} + + +def main(): + args = sys.argv[1:] + opt = lambda k, d: args[args.index(k) + 1] if k in args else d # noqa: E731 + ch = CH(load_env(opt("--ch-env", "~/.config/khai-harness/secrets/clickhouse-seoul.env"))) + cloud = Cloud(load_env(opt("--api-env", "~/.config/khai-harness/secrets/chc-api.env")), ch.host) + if "--cleanup" in args: + return cleanup(ch, cloud) + day = time.strftime("%Y-%m-%d", time.gmtime()) + os.makedirs(RESULTS, exist_ok=True) + states_path = os.path.join(RESULTS, f"{day}-managed-states.jsonl") + hook_path = os.path.join(RESULTS, f"{day}-webhook.jsonl") + phases_path = os.path.join(RESULTS, f"{day}-phases.json") + open(states_path, "w").close() + open(hook_path, "w").close() + token = secrets.token_urlsafe(16) + base_url = opt("--webhook-url", "") + if base_url: + receiver(int(opt("--port", "9310")), token, hook_path) + hook_url = f"{base_url.rstrip('/')}/{token}" if base_url else "https://example.com/threshold-alerts-lab" + server = ch.q("SELECT version()").strip() + print("server:", server) + + cleanup(ch, cloud) + ch.q(f"CREATE DATABASE IF NOT EXISTS {DB}") + ch.q(SCHEMA) + insert(ch, {}) + conn = next(s for s in cloud.cs("GET", "/sources") if s.get("connection"))["connection"] + src = cloud.cs("POST", "/sources", { + "name": NAME, "kind": "metric", "connection": conn, "querySettings": [], "disabled": False, + "from": {"databaseName": DB, "tableName": ""}, "timestampValueExpression": "TimeUnix", + "resourceAttributesExpression": "ResourceAttributes", "metricTables": {"gauge": "otel_metrics_gauge"}}) + hook = cloud.cs("POST", "/webhooks", {"name": NAME, "service": "generic", "url": hook_url, + "description": "labs/threshold-alerts (synthetic data)"}) + dash = cloud.cs("POST", "/dashboards", {"name": NAME, "tags": ["threshold-alerts"], "tiles": [ + {"name": title, "x": 0, "y": i * 4, "w": 24, "h": 4, "config": builder_tile(src["id"], where)} + for i, (title, where, _, _) in enumerate(TILES)]}) + tile_id = {t["name"]: t["id"] for t in dash["tiles"]} + alerts = {} + for title, _, threshold, windows in TILES: + body = {"dashboardId": dash["id"], "tileId": tile_id[title], "source": "tile", "name": title, + "thresholdType": "above", "threshold": threshold, "interval": "1m", + "channel": {"type": "webhook", "webhookId": hook["id"]}, + "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}"} + if windows: + body["numConsecutiveWindows"] = windows + a = cloud.cs("POST", "/alerts", body) + alerts[a["id"]] = title + print(f"created source, webhook ({'tunnel' if base_url else 'example.com'}), dashboard, {len(alerts)} alerts") + + phases = [] + try: + for name, values, minutes in PHASES: + t0 = time.time() + phases.append({"phase": name, "values": values, "start": t0}) + json.dump(phases, open(phases_path, "w")) + print(time.strftime("%H:%M:%S", time.gmtime()), name, values or "all 0.50", flush=True) + last_poll = 0 + while time.time() - t0 < minutes * 60: + insert(ch, values) + if time.time() - last_poll >= 30: + last_poll = time.time() + st = [a for a in cloud.cs("GET", "/alerts") if a["id"] in alerts] + with open(states_path, "a") as f: + f.write(json.dumps({"t": last_poll, "phase": name, "alerts": redact(st)}) + "\n") + print(" ", " · ".join(f"{alerts[a['id']][:2]} {a.get('state')}" for a in st), flush=True) + time.sleep(20) + time.sleep(70) # the last window's evaluation and its notifications + finally: + report(day, server, phases, states_path, hook_path, alerts, bool(base_url)) + if "--keep" in args: + print("--keep: sending P2 values until Ctrl-C (then run --cleanup)") + try: + while True: + insert(ch, {}) + time.sleep(20) + except KeyboardInterrupt: + pass + else: + cleanup(ch, cloud) + + +def report(day, server, phases, states_path, hook_path, alerts, tunnel): + hms = lambda t: time.strftime("%H:%M:%S", time.gmtime(t)) # noqa: E731 + phase_at = lambda t: next((p["phase"] for p in reversed(phases) if p["start"] <= t), "-") # noqa: E731 + since = lambda t: int(t - next((p["start"] for p in reversed(phases) if p["start"] <= t), t)) # noqa: E731 + lines = [f"# Threshold alerts on Managed ClickStack — run {day}", "", + f"Server: ClickHouse {server} (Managed ClickStack). Synthetic `{METRIC}` for {len(HOSTS)} hosts every 20 s.", + "Phases: " + " · ".join(f"{p['phase']} {hms(p['start'])}Z" for p in phases), "", + "## Alert state (Cloud API, every 30 s)", "", "| time (UTC) | phase | " + " | ".join( + t[:2] for t in alerts.values()) + " |", "|---|---|" + "---|" * len(alerts)] + for line in open(states_path): + r = json.loads(line) + st = {a["id"]: a.get("state") for a in r["alerts"]} + lines.append(f"| {hms(r['t'])} | {r['phase']} | " + " | ".join(st.get(i, "-") for i in alerts) + " |") + lines += ["", "## Notifications at the webhook receiver", ""] + if not tunnel: + lines.append("No tunnel: the webhook pointed at example.com, nothing was received.") + else: + notes = [parse(json.loads(line)) for line in open(hook_path)] + lines += ["Per alert and host: the evaluation windows (UTC) that notified, and the resolve.", "", + "| alert | host | fired for windows | notifications | resolved (window) |", "|---|---|---|---|---|"] + for title in alerts.values(): + key = title[:2] + for host in sorted({n["host"] for n in notes if n["alert"] == key}): + mine = [n for n in notes if n["alert"] == key and n["host"] == host] + fired = [n["window"] for n in mine if n["state"] == "ALERT"] + ok = [n["window"] for n in mine if n["state"] == "OK"] + lines.append(f"| {key} | {host} | {fired[0]} – {fired[-1]} | {len(fired)} | {ok[0] if ok else '-'} |") + lines += ["", "Every notification:", "", "| received (UTC) | phase | s into phase | alert | host | state | window | title value | {{value}} |", + "|---|---|---|---|---|---|---|---|---|"] + for n in notes: + t = n["received_at"] + lines.append(f"| {hms(t)} | {phase_at(t)} | {since(t)} | {n['alert']} | {n['host']} | {n['state']} | " + f"{n['window']} | {n['title_value']} | {n['value']} |") + lines += ["", "First notification text, as received (links redacted):", "", "```text", + json.loads(open(hook_path).readline())["body"]["text"].strip(), "```"] + path = os.path.join(RESULTS, f"{day}-managed.md") + open(path, "w").write("\n".join(lines) + "\n") + print("report:", path) + + +def parse(rec): + """One generic-webhook POST -> alert key, host, state, window, values (HyperDX default text).""" + text = rec["body"]["text"] if isinstance(rec["body"], dict) else rec["body"] + host = re.search(r"host\.name'\):([\w.-]+)", text) + window = re.search(r"\[\w+ \d+ ([\d:]+ [AP]M) - \w+ \d+ ([\d:]+ [AP]M)\)", text) + title_value = re.search(r"\n([\d.]+) (?:meets or exceeds|exceeds|falls below)", text) + value = re.search(r"= ([\d.]+)", text) + hhmm = lambda s: time.strftime("%H:%M", time.strptime(s, "%I:%M:%S %p")) # noqa: E731 + return {"received_at": rec["received_at"], "alert": text.split("|")[0].strip()[2:].strip()[:2], + "host": host.group(1) if host else "-", "state": "OK" if text.startswith("✅") else "ALERT", + "window": f"{hhmm(window.group(1))}–{hhmm(window.group(2))}" if window else "-", + "title_value": title_value.group(1) if title_value else "-", "value": value.group(1) if value else "-"} + + +def rebuild(day): + """--report : the report again from the saved files (no Cloud or ClickHouse calls).""" + states_path = os.path.join(RESULTS, f"{day}-managed-states.jsonl") + first = json.loads(open(states_path).readline()) + alerts = {a["id"]: a["name"] for a in first["alerts"]} + phases = json.load(open(os.path.join(RESULTS, f"{day}-phases.json"))) + server = open(os.path.join(RESULTS, f"{day}-managed.md")).read().split("Server: ClickHouse ")[1].split(" ")[0] + report(day, server, phases, states_path, os.path.join(RESULTS, f"{day}-webhook.jsonl"), alerts, True) + + +if __name__ == "__main__": + if "--report" in sys.argv: + rebuild(sys.argv[sys.argv.index("--report") + 1]) + else: + main() diff --git a/labs/threshold-alerts/results/2026-11-11-managed-states.jsonl b/labs/threshold-alerts/results/2026-11-11-managed-states.jsonl new file mode 100644 index 0000000..d2b822a --- /dev/null +++ b/labs/threshold-alerts/results/2026-11-11-managed-states.jsonl @@ -0,0 +1,20 @@ +{"t": 1794373062.700381, "phase": "P0 all normal", "alerts": [{"id": "6af3f5c1496f6a67baa8f490", "name": "A1 memory used, every host", "displayName": "threshold-alerts lab - A1 memory used, every host", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.9, "interval": "1m", "numConsecutiveWindows": null, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "OK", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fd9", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "createdAt": "2026-11-11T04:57:37.812Z", "updatedAt": "2026-11-11T04:57:37.812Z"}, {"id": "6af3f5c4d2f443adda91ffd0", "name": "A2 memory used, game-a", "displayName": "threshold-alerts lab - A2 memory used, game-a", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.8, "interval": "1m", "numConsecutiveWindows": null, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "OK", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fda", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "createdAt": "2026-11-11T04:57:40.149Z", "updatedAt": "2026-11-11T04:57:40.149Z"}, {"id": "6af3f5c65df9a4c17d4d9fe8", "name": "A3 memory used, every host, 3 windows", "displayName": "threshold-alerts lab - A3 memory used, every host, 3 windows", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.9, "interval": "1m", "numConsecutiveWindows": 3, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "OK", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fdb", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "createdAt": "2026-11-11T04:57:42.459Z", "updatedAt": "2026-11-11T04:57:42.459Z"}]} +{"t": 1794373104.5155368, "phase": "P0 all normal", "alerts": [{"id": "6af3f5c1496f6a67baa8f490", "name": "A1 memory used, every host", "displayName": "threshold-alerts lab - A1 memory used, every host", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.9, "interval": "1m", "numConsecutiveWindows": null, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "OK", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fd9", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:37.812Z", "updatedAt": "2026-11-11T04:58:05.078Z"}, {"id": "6af3f5c4d2f443adda91ffd0", "name": "A2 memory used, game-a", "displayName": "threshold-alerts lab - A2 memory used, game-a", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.8, "interval": "1m", "numConsecutiveWindows": null, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "OK", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fda", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:40.149Z", "updatedAt": "2026-11-11T04:58:05.078Z"}, {"id": "6af3f5c65df9a4c17d4d9fe8", "name": "A3 memory used, every host, 3 windows", "displayName": "threshold-alerts lab - A3 memory used, every host, 3 windows", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.9, "interval": "1m", "numConsecutiveWindows": 3, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "OK", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fdb", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:42.459Z", "updatedAt": "2026-11-11T04:58:05.078Z"}]} +{"t": 1794373146.4181418, "phase": "P0 all normal", "alerts": [{"id": "6af3f5c1496f6a67baa8f490", "name": "A1 memory used, every host", "displayName": "threshold-alerts lab - A1 memory used, every host", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.9, "interval": "1m", "numConsecutiveWindows": null, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "OK", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fd9", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:37.812Z", "updatedAt": "2026-11-11T04:59:02.834Z"}, {"id": "6af3f5c4d2f443adda91ffd0", "name": "A2 memory used, game-a", "displayName": "threshold-alerts lab - A2 memory used, game-a", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.8, "interval": "1m", "numConsecutiveWindows": null, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "OK", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fda", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:40.149Z", "updatedAt": "2026-11-11T04:59:02.834Z"}, {"id": "6af3f5c65df9a4c17d4d9fe8", "name": "A3 memory used, every host, 3 windows", "displayName": "threshold-alerts lab - A3 memory used, every host, 3 windows", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.9, "interval": "1m", "numConsecutiveWindows": 3, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "OK", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fdb", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:42.459Z", "updatedAt": "2026-11-11T04:59:02.834Z"}]} +{"t": 1794373188.3184981, "phase": "P0 all normal", "alerts": [{"id": "6af3f5c1496f6a67baa8f490", "name": "A1 memory used, every host", "displayName": "threshold-alerts lab - A1 memory used, every host", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.9, "interval": "1m", "numConsecutiveWindows": null, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "OK", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fd9", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:37.812Z", "updatedAt": "2026-11-11T04:59:02.834Z"}, {"id": "6af3f5c4d2f443adda91ffd0", "name": "A2 memory used, game-a", "displayName": "threshold-alerts lab - A2 memory used, game-a", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.8, "interval": "1m", "numConsecutiveWindows": null, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "OK", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fda", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:40.149Z", "updatedAt": "2026-11-11T04:59:02.834Z"}, {"id": "6af3f5c65df9a4c17d4d9fe8", "name": "A3 memory used, every host, 3 windows", "displayName": "threshold-alerts lab - A3 memory used, every host, 3 windows", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.9, "interval": "1m", "numConsecutiveWindows": 3, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "OK", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fdb", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:42.459Z", "updatedAt": "2026-11-11T04:59:02.834Z"}]} +{"t": 1794373230.2046, "phase": "P0 all normal", "alerts": [{"id": "6af3f5c1496f6a67baa8f490", "name": "A1 memory used, every host", "displayName": "threshold-alerts lab - A1 memory used, every host", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.9, "interval": "1m", "numConsecutiveWindows": null, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "OK", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fd9", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:37.812Z", "updatedAt": "2026-11-11T05:00:06.273Z"}, {"id": "6af3f5c4d2f443adda91ffd0", "name": "A2 memory used, game-a", "displayName": "threshold-alerts lab - A2 memory used, game-a", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.8, "interval": "1m", "numConsecutiveWindows": null, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "OK", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fda", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:40.149Z", "updatedAt": "2026-11-11T05:00:06.273Z"}, {"id": "6af3f5c65df9a4c17d4d9fe8", "name": "A3 memory used, every host, 3 windows", "displayName": "threshold-alerts lab - A3 memory used, every host, 3 windows", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.9, "interval": "1m", "numConsecutiveWindows": 3, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "OK", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fdb", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:42.459Z", "updatedAt": "2026-11-11T05:00:06.273Z"}]} +{"t": 1794373252.995701, "phase": "P1 breach", "alerts": [{"id": "6af3f5c1496f6a67baa8f490", "name": "A1 memory used, every host", "displayName": "threshold-alerts lab - A1 memory used, every host", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.9, "interval": "1m", "numConsecutiveWindows": null, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "OK", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fd9", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:37.812Z", "updatedAt": "2026-11-11T05:00:06.273Z"}, {"id": "6af3f5c4d2f443adda91ffd0", "name": "A2 memory used, game-a", "displayName": "threshold-alerts lab - A2 memory used, game-a", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.8, "interval": "1m", "numConsecutiveWindows": null, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "OK", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fda", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:40.149Z", "updatedAt": "2026-11-11T05:00:06.273Z"}, {"id": "6af3f5c65df9a4c17d4d9fe8", "name": "A3 memory used, every host, 3 windows", "displayName": "threshold-alerts lab - A3 memory used, every host, 3 windows", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.9, "interval": "1m", "numConsecutiveWindows": 3, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "OK", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fdb", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:42.459Z", "updatedAt": "2026-11-11T05:00:06.273Z"}]} +{"t": 1794373295.145914, "phase": "P1 breach", "alerts": [{"id": "6af3f5c1496f6a67baa8f490", "name": "A1 memory used, every host", "displayName": "threshold-alerts lab - A1 memory used, every host", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.9, "interval": "1m", "numConsecutiveWindows": null, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "ALERT", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fd9", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:37.812Z", "updatedAt": "2026-11-11T05:01:02.622Z"}, {"id": "6af3f5c4d2f443adda91ffd0", "name": "A2 memory used, game-a", "displayName": "threshold-alerts lab - A2 memory used, game-a", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.8, "interval": "1m", "numConsecutiveWindows": null, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "ALERT", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fda", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:40.149Z", "updatedAt": "2026-11-11T05:01:02.622Z"}, {"id": "6af3f5c65df9a4c17d4d9fe8", "name": "A3 memory used, every host, 3 windows", "displayName": "threshold-alerts lab - A3 memory used, every host, 3 windows", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.9, "interval": "1m", "numConsecutiveWindows": 3, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "PENDING", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fdb", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:42.459Z", "updatedAt": "2026-11-11T05:01:02.622Z"}]} +{"t": 1794373337.194668, "phase": "P1 breach", "alerts": [{"id": "6af3f5c1496f6a67baa8f490", "name": "A1 memory used, every host", "displayName": "threshold-alerts lab - A1 memory used, every host", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.9, "interval": "1m", "numConsecutiveWindows": null, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "ALERT", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fd9", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:37.812Z", "updatedAt": "2026-11-11T05:02:01.955Z"}, {"id": "6af3f5c4d2f443adda91ffd0", "name": "A2 memory used, game-a", "displayName": "threshold-alerts lab - A2 memory used, game-a", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.8, "interval": "1m", "numConsecutiveWindows": null, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "ALERT", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fda", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:40.149Z", "updatedAt": "2026-11-11T05:02:01.955Z"}, {"id": "6af3f5c65df9a4c17d4d9fe8", "name": "A3 memory used, every host, 3 windows", "displayName": "threshold-alerts lab - A3 memory used, every host, 3 windows", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.9, "interval": "1m", "numConsecutiveWindows": 3, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "PENDING", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fdb", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:42.459Z", "updatedAt": "2026-11-11T05:02:01.955Z"}]} +{"t": 1794373379.2789388, "phase": "P1 breach", "alerts": [{"id": "6af3f5c1496f6a67baa8f490", "name": "A1 memory used, every host", "displayName": "threshold-alerts lab - A1 memory used, every host", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.9, "interval": "1m", "numConsecutiveWindows": null, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "ALERT", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fd9", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:37.812Z", "updatedAt": "2026-11-11T05:02:01.955Z"}, {"id": "6af3f5c4d2f443adda91ffd0", "name": "A2 memory used, game-a", "displayName": "threshold-alerts lab - A2 memory used, game-a", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.8, "interval": "1m", "numConsecutiveWindows": null, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "ALERT", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fda", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:40.149Z", "updatedAt": "2026-11-11T05:02:01.955Z"}, {"id": "6af3f5c65df9a4c17d4d9fe8", "name": "A3 memory used, every host, 3 windows", "displayName": "threshold-alerts lab - A3 memory used, every host, 3 windows", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.9, "interval": "1m", "numConsecutiveWindows": 3, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "PENDING", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fdb", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:42.459Z", "updatedAt": "2026-11-11T05:02:01.955Z"}]} +{"t": 1794373421.2193658, "phase": "P1 breach", "alerts": [{"id": "6af3f5c1496f6a67baa8f490", "name": "A1 memory used, every host", "displayName": "threshold-alerts lab - A1 memory used, every host", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.9, "interval": "1m", "numConsecutiveWindows": null, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "ALERT", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fd9", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:37.812Z", "updatedAt": "2026-11-11T05:03:02.349Z"}, {"id": "6af3f5c4d2f443adda91ffd0", "name": "A2 memory used, game-a", "displayName": "threshold-alerts lab - A2 memory used, game-a", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.8, "interval": "1m", "numConsecutiveWindows": null, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "ALERT", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fda", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:40.149Z", "updatedAt": "2026-11-11T05:03:02.349Z"}, {"id": "6af3f5c65df9a4c17d4d9fe8", "name": "A3 memory used, every host, 3 windows", "displayName": "threshold-alerts lab - A3 memory used, every host, 3 windows", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.9, "interval": "1m", "numConsecutiveWindows": 3, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "ALERT", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fdb", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:42.459Z", "updatedAt": "2026-11-11T05:03:02.349Z"}]} +{"t": 1794373464.640749, "phase": "P1 breach", "alerts": [{"id": "6af3f5c1496f6a67baa8f490", "name": "A1 memory used, every host", "displayName": "threshold-alerts lab - A1 memory used, every host", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.9, "interval": "1m", "numConsecutiveWindows": null, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "ALERT", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fd9", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:37.812Z", "updatedAt": "2026-11-11T05:04:01.260Z"}, {"id": "6af3f5c4d2f443adda91ffd0", "name": "A2 memory used, game-a", "displayName": "threshold-alerts lab - A2 memory used, game-a", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.8, "interval": "1m", "numConsecutiveWindows": null, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "ALERT", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fda", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:40.149Z", "updatedAt": "2026-11-11T05:04:01.260Z"}, {"id": "6af3f5c65df9a4c17d4d9fe8", "name": "A3 memory used, every host, 3 windows", "displayName": "threshold-alerts lab - A3 memory used, every host, 3 windows", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.9, "interval": "1m", "numConsecutiveWindows": 3, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "ALERT", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fdb", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:42.459Z", "updatedAt": "2026-11-11T05:04:01.260Z"}]} +{"t": 1794373506.5744371, "phase": "P1 breach", "alerts": [{"id": "6af3f5c1496f6a67baa8f490", "name": "A1 memory used, every host", "displayName": "threshold-alerts lab - A1 memory used, every host", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.9, "interval": "1m", "numConsecutiveWindows": null, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "ALERT", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fd9", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:37.812Z", "updatedAt": "2026-11-11T05:05:01.311Z"}, {"id": "6af3f5c4d2f443adda91ffd0", "name": "A2 memory used, game-a", "displayName": "threshold-alerts lab - A2 memory used, game-a", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.8, "interval": "1m", "numConsecutiveWindows": null, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "ALERT", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fda", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:40.149Z", "updatedAt": "2026-11-11T05:05:01.311Z"}, {"id": "6af3f5c65df9a4c17d4d9fe8", "name": "A3 memory used, every host, 3 windows", "displayName": "threshold-alerts lab - A3 memory used, every host, 3 windows", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.9, "interval": "1m", "numConsecutiveWindows": 3, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "ALERT", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fdb", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:42.459Z", "updatedAt": "2026-11-11T05:05:01.311Z"}]} +{"t": 1794373550.103929, "phase": "P1 breach", "alerts": [{"id": "6af3f5c1496f6a67baa8f490", "name": "A1 memory used, every host", "displayName": "threshold-alerts lab - A1 memory used, every host", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.9, "interval": "1m", "numConsecutiveWindows": null, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "ALERT", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fd9", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:37.812Z", "updatedAt": "2026-11-11T05:05:01.311Z"}, {"id": "6af3f5c4d2f443adda91ffd0", "name": "A2 memory used, game-a", "displayName": "threshold-alerts lab - A2 memory used, game-a", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.8, "interval": "1m", "numConsecutiveWindows": null, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "ALERT", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fda", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:40.149Z", "updatedAt": "2026-11-11T05:05:01.311Z"}, {"id": "6af3f5c65df9a4c17d4d9fe8", "name": "A3 memory used, every host, 3 windows", "displayName": "threshold-alerts lab - A3 memory used, every host, 3 windows", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.9, "interval": "1m", "numConsecutiveWindows": 3, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "ALERT", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fdb", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:42.459Z", "updatedAt": "2026-11-11T05:05:01.311Z"}]} +{"t": 1794373591.963058, "phase": "P1 breach", "alerts": [{"id": "6af3f5c1496f6a67baa8f490", "name": "A1 memory used, every host", "displayName": "threshold-alerts lab - A1 memory used, every host", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.9, "interval": "1m", "numConsecutiveWindows": null, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "ALERT", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fd9", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:37.812Z", "updatedAt": "2026-11-11T05:06:02.318Z"}, {"id": "6af3f5c4d2f443adda91ffd0", "name": "A2 memory used, game-a", "displayName": "threshold-alerts lab - A2 memory used, game-a", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.8, "interval": "1m", "numConsecutiveWindows": null, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "ALERT", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fda", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:40.149Z", "updatedAt": "2026-11-11T05:06:02.318Z"}, {"id": "6af3f5c65df9a4c17d4d9fe8", "name": "A3 memory used, every host, 3 windows", "displayName": "threshold-alerts lab - A3 memory used, every host, 3 windows", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.9, "interval": "1m", "numConsecutiveWindows": 3, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "ALERT", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fdb", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:42.459Z", "updatedAt": "2026-11-11T05:06:02.318Z"}]} +{"t": 1794373613.757588, "phase": "P2 all normal", "alerts": [{"id": "6af3f5c1496f6a67baa8f490", "name": "A1 memory used, every host", "displayName": "threshold-alerts lab - A1 memory used, every host", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.9, "interval": "1m", "numConsecutiveWindows": null, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "ALERT", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fd9", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:37.812Z", "updatedAt": "2026-11-11T05:06:02.318Z"}, {"id": "6af3f5c4d2f443adda91ffd0", "name": "A2 memory used, game-a", "displayName": "threshold-alerts lab - A2 memory used, game-a", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.8, "interval": "1m", "numConsecutiveWindows": null, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "ALERT", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fda", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:40.149Z", "updatedAt": "2026-11-11T05:06:02.318Z"}, {"id": "6af3f5c65df9a4c17d4d9fe8", "name": "A3 memory used, every host, 3 windows", "displayName": "threshold-alerts lab - A3 memory used, every host, 3 windows", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.9, "interval": "1m", "numConsecutiveWindows": 3, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "ALERT", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fdb", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:42.459Z", "updatedAt": "2026-11-11T05:06:02.318Z"}]} +{"t": 1794373655.654197, "phase": "P2 all normal", "alerts": [{"id": "6af3f5c1496f6a67baa8f490", "name": "A1 memory used, every host", "displayName": "threshold-alerts lab - A1 memory used, every host", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.9, "interval": "1m", "numConsecutiveWindows": null, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "OK", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fd9", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:37.812Z", "updatedAt": "2026-11-11T05:07:01.888Z"}, {"id": "6af3f5c4d2f443adda91ffd0", "name": "A2 memory used, game-a", "displayName": "threshold-alerts lab - A2 memory used, game-a", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.8, "interval": "1m", "numConsecutiveWindows": null, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "OK", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fda", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:40.149Z", "updatedAt": "2026-11-11T05:07:01.888Z"}, {"id": "6af3f5c65df9a4c17d4d9fe8", "name": "A3 memory used, every host, 3 windows", "displayName": "threshold-alerts lab - A3 memory used, every host, 3 windows", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.9, "interval": "1m", "numConsecutiveWindows": 3, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "ALERT", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fdb", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:42.459Z", "updatedAt": "2026-11-11T05:07:01.888Z"}]} +{"t": 1794373697.488943, "phase": "P2 all normal", "alerts": [{"id": "6af3f5c1496f6a67baa8f490", "name": "A1 memory used, every host", "displayName": "threshold-alerts lab - A1 memory used, every host", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.9, "interval": "1m", "numConsecutiveWindows": null, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "OK", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fd9", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:37.812Z", "updatedAt": "2026-11-11T05:08:01.766Z"}, {"id": "6af3f5c4d2f443adda91ffd0", "name": "A2 memory used, game-a", "displayName": "threshold-alerts lab - A2 memory used, game-a", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.8, "interval": "1m", "numConsecutiveWindows": null, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "OK", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fda", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:40.149Z", "updatedAt": "2026-11-11T05:08:01.766Z"}, {"id": "6af3f5c65df9a4c17d4d9fe8", "name": "A3 memory used, every host, 3 windows", "displayName": "threshold-alerts lab - A3 memory used, every host, 3 windows", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.9, "interval": "1m", "numConsecutiveWindows": 3, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "OK", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fdb", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:42.459Z", "updatedAt": "2026-11-11T05:08:01.766Z"}]} +{"t": 1794373739.454431, "phase": "P2 all normal", "alerts": [{"id": "6af3f5c1496f6a67baa8f490", "name": "A1 memory used, every host", "displayName": "threshold-alerts lab - A1 memory used, every host", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.9, "interval": "1m", "numConsecutiveWindows": null, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "OK", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fd9", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:37.812Z", "updatedAt": "2026-11-11T05:08:01.766Z"}, {"id": "6af3f5c4d2f443adda91ffd0", "name": "A2 memory used, game-a", "displayName": "threshold-alerts lab - A2 memory used, game-a", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.8, "interval": "1m", "numConsecutiveWindows": null, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "OK", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fda", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:40.149Z", "updatedAt": "2026-11-11T05:08:01.766Z"}, {"id": "6af3f5c65df9a4c17d4d9fe8", "name": "A3 memory used, every host, 3 windows", "displayName": "threshold-alerts lab - A3 memory used, every host, 3 windows", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.9, "interval": "1m", "numConsecutiveWindows": 3, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "OK", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fdb", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:42.459Z", "updatedAt": "2026-11-11T05:08:01.766Z"}]} +{"t": 1794373781.34599, "phase": "P2 all normal", "alerts": [{"id": "6af3f5c1496f6a67baa8f490", "name": "A1 memory used, every host", "displayName": "threshold-alerts lab - A1 memory used, every host", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.9, "interval": "1m", "numConsecutiveWindows": null, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "OK", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fd9", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:37.812Z", "updatedAt": "2026-11-11T05:09:01.859Z"}, {"id": "6af3f5c4d2f443adda91ffd0", "name": "A2 memory used, game-a", "displayName": "threshold-alerts lab - A2 memory used, game-a", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.8, "interval": "1m", "numConsecutiveWindows": null, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "OK", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fda", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:40.149Z", "updatedAt": "2026-11-11T05:09:01.859Z"}, {"id": "6af3f5c65df9a4c17d4d9fe8", "name": "A3 memory used, every host, 3 windows", "displayName": "threshold-alerts lab - A3 memory used, every host, 3 windows", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.9, "interval": "1m", "numConsecutiveWindows": 3, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "OK", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fdb", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:42.459Z", "updatedAt": "2026-11-11T05:09:01.859Z"}]} +{"t": 1794373823.273008, "phase": "P2 all normal", "alerts": [{"id": "6af3f5c1496f6a67baa8f490", "name": "A1 memory used, every host", "displayName": "threshold-alerts lab - A1 memory used, every host", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.9, "interval": "1m", "numConsecutiveWindows": null, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "OK", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fd9", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:37.812Z", "updatedAt": "2026-11-11T05:10:04.971Z"}, {"id": "6af3f5c4d2f443adda91ffd0", "name": "A2 memory used, game-a", "displayName": "threshold-alerts lab - A2 memory used, game-a", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.8, "interval": "1m", "numConsecutiveWindows": null, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "OK", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fda", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:40.149Z", "updatedAt": "2026-11-11T05:10:04.971Z"}, {"id": "6af3f5c65df9a4c17d4d9fe8", "name": "A3 memory used, every host, 3 windows", "displayName": "threshold-alerts lab - A3 memory used, every host, 3 windows", "tags": ["threshold-alerts"], "message": "labs/threshold-alerts (synthetic) {{group}} = {{value}}", "note": null, "threshold": 0.9, "interval": "1m", "numConsecutiveWindows": 3, "thresholdType": "above", "detectionMode": "threshold", "source": "tile", "state": "OK", "channel": {"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}, "channels": [{"type": "webhook", "webhookId": "6af3f5bdd168394233f41166", "webhookService": "generic"}], "tileId": "6af3f5bf5df9a4c17d4d9fdb", "dashboardId": "6af3f5bf5df9a4c17d4d9fdc", "executionErrors": [], "createdAt": "2026-11-11T04:57:42.459Z", "updatedAt": "2026-11-11T05:10:04.971Z"}]} diff --git a/labs/threshold-alerts/results/2026-11-11-managed.md b/labs/threshold-alerts/results/2026-11-11-managed.md new file mode 100644 index 0000000..d2faa33 --- /dev/null +++ b/labs/threshold-alerts/results/2026-11-11-managed.md @@ -0,0 +1,96 @@ +# Threshold alerts on Managed ClickStack — run 2026-11-11 + +Server: ClickHouse 26.8.1.654 (Managed ClickStack). Synthetic `system.memory.utilization` for 6 hosts every 20 s. +Phases: P0 all normal 04:57:42Z · P1 breach 05:00:51Z · P2 all normal 05:06:53Z + +## Alert state (Cloud API, every 30 s) + +| time (UTC) | phase | A1 | A2 | A3 | +|---|---|---|---|---| +| 04:57:42 | P0 all normal | OK | OK | OK | +| 04:58:24 | P0 all normal | OK | OK | OK | +| 04:59:06 | P0 all normal | OK | OK | OK | +| 04:59:48 | P0 all normal | OK | OK | OK | +| 05:00:30 | P0 all normal | OK | OK | OK | +| 05:00:52 | P1 breach | OK | OK | OK | +| 05:01:35 | P1 breach | ALERT | ALERT | PENDING | +| 05:02:17 | P1 breach | ALERT | ALERT | PENDING | +| 05:02:59 | P1 breach | ALERT | ALERT | PENDING | +| 05:03:41 | P1 breach | ALERT | ALERT | ALERT | +| 05:04:24 | P1 breach | ALERT | ALERT | ALERT | +| 05:05:06 | P1 breach | ALERT | ALERT | ALERT | +| 05:05:50 | P1 breach | ALERT | ALERT | ALERT | +| 05:06:31 | P1 breach | ALERT | ALERT | ALERT | +| 05:06:53 | P2 all normal | ALERT | ALERT | ALERT | +| 05:07:35 | P2 all normal | OK | OK | ALERT | +| 05:08:17 | P2 all normal | OK | OK | OK | +| 05:08:59 | P2 all normal | OK | OK | OK | +| 05:09:41 | P2 all normal | OK | OK | OK | +| 05:10:23 | P2 all normal | OK | OK | OK | + +## Notifications at the webhook receiver + +Per alert and host: the evaluation windows (UTC) that notified, and the resolve. + +| alert | host | fired for windows | notifications | resolved (window) | +|---|---|---|---|---| +| A1 | game-a-01 | 05:00–05:01 – 05:05–05:06 | 6 | 05:06–05:07 | +| A1 | game-b-02 | 05:00–05:01 – 05:05–05:06 | 6 | 05:06–05:07 | +| A2 | game-a-01 | 05:00–05:01 – 05:05–05:06 | 6 | 05:06–05:07 | +| A2 | game-a-02 | 05:00–05:01 – 05:05–05:06 | 6 | 05:06–05:07 | +| A3 | game-a-01 | 05:02–05:03 – 05:06–05:07 | 5 | 05:07–05:08 | +| A3 | game-b-02 | 05:02–05:03 – 05:06–05:07 | 5 | 05:07–05:08 | + +Every notification: + +| received (UTC) | phase | s into phase | alert | host | state | window | title value | {{value}} | +|---|---|---|---|---|---|---|---|---| +| 05:01:02 | P1 breach | 11 | A1 | game-b-02 | ALERT | 05:00–05:01 | 0.9 | 0.93 | +| 05:01:02 | P1 breach | 11 | A1 | game-a-01 | ALERT | 05:00–05:01 | 1.0 | 0.95 | +| 05:01:02 | P1 breach | 11 | A2 | game-a-01 | ALERT | 05:00–05:01 | 1.0 | 0.95 | +| 05:01:02 | P1 breach | 11 | A2 | game-a-02 | ALERT | 05:00–05:01 | 0.9 | 0.85 | +| 05:02:02 | P1 breach | 71 | A1 | game-a-01 | ALERT | 05:01–05:02 | 1.0 | 0.95 | +| 05:02:02 | P1 breach | 71 | A1 | game-b-02 | ALERT | 05:01–05:02 | 0.9 | 0.93 | +| 05:02:02 | P1 breach | 71 | A2 | game-a-01 | ALERT | 05:01–05:02 | 1.0 | 0.95 | +| 05:02:02 | P1 breach | 71 | A2 | game-a-02 | ALERT | 05:01–05:02 | 0.9 | 0.85 | +| 05:03:02 | P1 breach | 131 | A3 | game-b-02 | ALERT | 05:02–05:03 | 0.9 | 0.93 | +| 05:03:02 | P1 breach | 131 | A3 | game-a-01 | ALERT | 05:02–05:03 | 1.0 | 0.95 | +| 05:03:02 | P1 breach | 131 | A2 | game-a-01 | ALERT | 05:02–05:03 | 1.0 | 0.95 | +| 05:03:02 | P1 breach | 131 | A1 | game-b-02 | ALERT | 05:02–05:03 | 0.9 | 0.93 | +| 05:03:02 | P1 breach | 131 | A2 | game-a-02 | ALERT | 05:02–05:03 | 0.9 | 0.85 | +| 05:03:02 | P1 breach | 131 | A1 | game-a-01 | ALERT | 05:02–05:03 | 1.0 | 0.95 | +| 05:04:01 | P1 breach | 190 | A1 | game-a-01 | ALERT | 05:03–05:04 | 1.0 | 0.95 | +| 05:04:01 | P1 breach | 190 | A1 | game-b-02 | ALERT | 05:03–05:04 | 0.9 | 0.93 | +| 05:04:01 | P1 breach | 190 | A2 | game-a-02 | ALERT | 05:03–05:04 | 0.9 | 0.85 | +| 05:04:01 | P1 breach | 190 | A2 | game-a-01 | ALERT | 05:03–05:04 | 1.0 | 0.95 | +| 05:04:01 | P1 breach | 190 | A3 | game-a-01 | ALERT | 05:03–05:04 | 1.0 | 0.95 | +| 05:04:01 | P1 breach | 190 | A3 | game-b-02 | ALERT | 05:03–05:04 | 0.9 | 0.93 | +| 05:05:01 | P1 breach | 250 | A3 | game-b-02 | ALERT | 05:04–05:05 | 0.9 | 0.93 | +| 05:05:01 | P1 breach | 250 | A3 | game-a-01 | ALERT | 05:04–05:05 | 1.0 | 0.95 | +| 05:05:01 | P1 breach | 250 | A1 | game-a-01 | ALERT | 05:04–05:05 | 1.0 | 0.95 | +| 05:05:01 | P1 breach | 250 | A1 | game-b-02 | ALERT | 05:04–05:05 | 0.9 | 0.93 | +| 05:05:01 | P1 breach | 250 | A2 | game-a-02 | ALERT | 05:04–05:05 | 0.9 | 0.85 | +| 05:05:01 | P1 breach | 250 | A2 | game-a-01 | ALERT | 05:04–05:05 | 1.0 | 0.95 | +| 05:06:02 | P1 breach | 311 | A1 | game-a-01 | ALERT | 05:05–05:06 | 1.0 | 0.95 | +| 05:06:02 | P1 breach | 311 | A3 | game-a-01 | ALERT | 05:05–05:06 | 1.0 | 0.95 | +| 05:06:02 | P1 breach | 311 | A3 | game-b-02 | ALERT | 05:05–05:06 | 0.9 | 0.93 | +| 05:06:02 | P1 breach | 311 | A2 | game-a-01 | ALERT | 05:05–05:06 | 1.0 | 0.95 | +| 05:06:02 | P1 breach | 311 | A1 | game-b-02 | ALERT | 05:05–05:06 | 0.9 | 0.93 | +| 05:06:02 | P1 breach | 311 | A2 | game-a-02 | ALERT | 05:05–05:06 | 0.9 | 0.85 | +| 05:07:01 | P2 all normal | 8 | A1 | game-a-01 | OK | 05:06–05:07 | - | 0.5 | +| 05:07:01 | P2 all normal | 8 | A1 | game-b-02 | OK | 05:06–05:07 | - | 0.5 | +| 05:07:01 | P2 all normal | 8 | A2 | game-a-01 | OK | 05:06–05:07 | - | 0.5 | +| 05:07:01 | P2 all normal | 8 | A2 | game-a-02 | OK | 05:06–05:07 | - | 0.5 | +| 05:07:02 | P2 all normal | 9 | A3 | game-a-01 | ALERT | 05:06–05:07 | 1.0 | 0.95 | +| 05:07:02 | P2 all normal | 9 | A3 | game-b-02 | ALERT | 05:06–05:07 | 0.9 | 0.93 | +| 05:08:01 | P2 all normal | 68 | A3 | game-b-02 | OK | 05:07–05:08 | - | 0.5 | +| 05:08:02 | P2 all normal | 69 | A3 | game-a-01 | OK | 05:07–05:08 | - | 0.5 | + +First notification text, as received (links redacted): + +```text +🚨 A1 memory used, every host | Group: "arrayElement(ResourceAttributes, 'host.name'):game-b-02" +0.9 meets or exceeds 0.9 +Time Range (UTC): [Nov 11 5:00:00 AM - Nov 11 5:01:00 AM) +labs/threshold-alerts (synthetic) arrayElement(ResourceAttributes, 'host.name'):game-b-02 = 0.93 | | ALERT | 1794373200000 | 1794373260000 | +``` diff --git a/labs/threshold-alerts/results/2026-11-11-phases.json b/labs/threshold-alerts/results/2026-11-11-phases.json new file mode 100644 index 0000000..46c2481 --- /dev/null +++ b/labs/threshold-alerts/results/2026-11-11-phases.json @@ -0,0 +1 @@ +[{"phase": "P0 all normal", "values": {}, "start": 1794373062}, {"phase": "P1 breach", "values": {"game-a-01": 0.95, "game-a-02": 0.85, "game-b-02": 0.93}, "start": 1794373251}, {"phase": "P2 all normal", "values": {}, "start": 1794373613}] \ No newline at end of file diff --git a/labs/threshold-alerts/results/2026-11-11-webhook.jsonl b/labs/threshold-alerts/results/2026-11-11-webhook.jsonl new file mode 100644 index 0000000..00395f4 --- /dev/null +++ b/labs/threshold-alerts/results/2026-11-11-webhook.jsonl @@ -0,0 +1,40 @@ +{"received_at": 1794373262.694857, "body": {"text": "\ud83d\udea8 A1 memory used, every host | Group: \"arrayElement(ResourceAttributes, 'host.name'):game-b-02\"\n0.9 meets or exceeds 0.9\nTime Range (UTC): [Nov 11 5:00:00 AM - Nov 11 5:01:00 AM)\nlabs/threshold-alerts (synthetic) arrayElement(ResourceAttributes, 'host.name'):game-b-02 = 0.93 | | ALERT | 1794373200000 | 1794373260000 | "}} +{"received_at": 1794373262.729749, "body": {"text": "\ud83d\udea8 A1 memory used, every host | Group: \"arrayElement(ResourceAttributes, 'host.name'):game-a-01\"\n1.0 meets or exceeds 0.9\nTime Range (UTC): [Nov 11 5:00:00 AM - Nov 11 5:01:00 AM)\nlabs/threshold-alerts (synthetic) arrayElement(ResourceAttributes, 'host.name'):game-a-01 = 0.95 | | ALERT | 1794373200000 | 1794373260000 | "}} +{"received_at": 1794373262.733508, "body": {"text": "\ud83d\udea8 A2 memory used, game-a | Group: \"arrayElement(ResourceAttributes, 'host.name'):game-a-01\"\n1.0 meets or exceeds 0.8\nTime Range (UTC): [Nov 11 5:00:00 AM - Nov 11 5:01:00 AM)\nlabs/threshold-alerts (synthetic) arrayElement(ResourceAttributes, 'host.name'):game-a-01 = 0.95 | | ALERT | 1794373200000 | 1794373260000 | "}} +{"received_at": 1794373262.734022, "body": {"text": "\ud83d\udea8 A2 memory used, game-a | Group: \"arrayElement(ResourceAttributes, 'host.name'):game-a-02\"\n0.9 meets or exceeds 0.8\nTime Range (UTC): [Nov 11 5:00:00 AM - Nov 11 5:01:00 AM)\nlabs/threshold-alerts (synthetic) arrayElement(ResourceAttributes, 'host.name'):game-a-02 = 0.85 | | ALERT | 1794373200000 | 1794373260000 | "}} +{"received_at": 1794373322.044545, "body": {"text": "\ud83d\udea8 A1 memory used, every host | Group: \"arrayElement(ResourceAttributes, 'host.name'):game-a-01\"\n1.0 meets or exceeds 0.9\nTime Range (UTC): [Nov 11 5:01:00 AM - Nov 11 5:02:00 AM)\nlabs/threshold-alerts (synthetic) arrayElement(ResourceAttributes, 'host.name'):game-a-01 = 0.95 | | ALERT | 1794373260000 | 1794373320000 | "}} +{"received_at": 1794373322.0522182, "body": {"text": "\ud83d\udea8 A1 memory used, every host | Group: \"arrayElement(ResourceAttributes, 'host.name'):game-b-02\"\n0.9 meets or exceeds 0.9\nTime Range (UTC): [Nov 11 5:01:00 AM - Nov 11 5:02:00 AM)\nlabs/threshold-alerts (synthetic) arrayElement(ResourceAttributes, 'host.name'):game-b-02 = 0.93 | | ALERT | 1794373260000 | 1794373320000 | "}} +{"received_at": 1794373322.080189, "body": {"text": "\ud83d\udea8 A2 memory used, game-a | Group: \"arrayElement(ResourceAttributes, 'host.name'):game-a-01\"\n1.0 meets or exceeds 0.8\nTime Range (UTC): [Nov 11 5:01:00 AM - Nov 11 5:02:00 AM)\nlabs/threshold-alerts (synthetic) arrayElement(ResourceAttributes, 'host.name'):game-a-01 = 0.95 | | ALERT | 1794373260000 | 1794373320000 | "}} +{"received_at": 1794373322.0822752, "body": {"text": "\ud83d\udea8 A2 memory used, game-a | Group: \"arrayElement(ResourceAttributes, 'host.name'):game-a-02\"\n0.9 meets or exceeds 0.8\nTime Range (UTC): [Nov 11 5:01:00 AM - Nov 11 5:02:00 AM)\nlabs/threshold-alerts (synthetic) arrayElement(ResourceAttributes, 'host.name'):game-a-02 = 0.85 | | ALERT | 1794373260000 | 1794373320000 | "}} +{"received_at": 1794373382.4352572, "body": {"text": "\ud83d\udea8 A3 memory used, every host, 3 windows | Group: \"arrayElement(ResourceAttributes, 'host.name'):game-b-02\"\n0.9 meets or exceeds 0.9\nTime Range (UTC): [Nov 11 5:02:00 AM - Nov 11 5:03:00 AM)\nlabs/threshold-alerts (synthetic) arrayElement(ResourceAttributes, 'host.name'):game-b-02 = 0.93 | | ALERT | 1794373320000 | 1794373380000 | "}} +{"received_at": 1794373382.55295, "body": {"text": "\ud83d\udea8 A3 memory used, every host, 3 windows | Group: \"arrayElement(ResourceAttributes, 'host.name'):game-a-01\"\n1.0 meets or exceeds 0.9\nTime Range (UTC): [Nov 11 5:02:00 AM - Nov 11 5:03:00 AM)\nlabs/threshold-alerts (synthetic) arrayElement(ResourceAttributes, 'host.name'):game-a-01 = 0.95 | | ALERT | 1794373320000 | 1794373380000 | "}} +{"received_at": 1794373382.553335, "body": {"text": "\ud83d\udea8 A2 memory used, game-a | Group: \"arrayElement(ResourceAttributes, 'host.name'):game-a-01\"\n1.0 meets or exceeds 0.8\nTime Range (UTC): [Nov 11 5:02:00 AM - Nov 11 5:03:00 AM)\nlabs/threshold-alerts (synthetic) arrayElement(ResourceAttributes, 'host.name'):game-a-01 = 0.95 | | ALERT | 1794373320000 | 1794373380000 | "}} +{"received_at": 1794373382.553709, "body": {"text": "\ud83d\udea8 A1 memory used, every host | Group: \"arrayElement(ResourceAttributes, 'host.name'):game-b-02\"\n0.9 meets or exceeds 0.9\nTime Range (UTC): [Nov 11 5:02:00 AM - Nov 11 5:03:00 AM)\nlabs/threshold-alerts (synthetic) arrayElement(ResourceAttributes, 'host.name'):game-b-02 = 0.93 | | ALERT | 1794373320000 | 1794373380000 | "}} +{"received_at": 1794373382.55391, "body": {"text": "\ud83d\udea8 A2 memory used, game-a | Group: \"arrayElement(ResourceAttributes, 'host.name'):game-a-02\"\n0.9 meets or exceeds 0.8\nTime Range (UTC): [Nov 11 5:02:00 AM - Nov 11 5:03:00 AM)\nlabs/threshold-alerts (synthetic) arrayElement(ResourceAttributes, 'host.name'):game-a-02 = 0.85 | | ALERT | 1794373320000 | 1794373380000 | "}} +{"received_at": 1794373382.554139, "body": {"text": "\ud83d\udea8 A1 memory used, every host | Group: \"arrayElement(ResourceAttributes, 'host.name'):game-a-01\"\n1.0 meets or exceeds 0.9\nTime Range (UTC): [Nov 11 5:02:00 AM - Nov 11 5:03:00 AM)\nlabs/threshold-alerts (synthetic) arrayElement(ResourceAttributes, 'host.name'):game-a-01 = 0.95 | | ALERT | 1794373320000 | 1794373380000 | "}} +{"received_at": 1794373441.2984362, "body": {"text": "\ud83d\udea8 A1 memory used, every host | Group: \"arrayElement(ResourceAttributes, 'host.name'):game-a-01\"\n1.0 meets or exceeds 0.9\nTime Range (UTC): [Nov 11 5:03:00 AM - Nov 11 5:04:00 AM)\nlabs/threshold-alerts (synthetic) arrayElement(ResourceAttributes, 'host.name'):game-a-01 = 0.95 | | ALERT | 1794373380000 | 1794373440000 | "}} +{"received_at": 1794373441.3360782, "body": {"text": "\ud83d\udea8 A1 memory used, every host | Group: \"arrayElement(ResourceAttributes, 'host.name'):game-b-02\"\n0.9 meets or exceeds 0.9\nTime Range (UTC): [Nov 11 5:03:00 AM - Nov 11 5:04:00 AM)\nlabs/threshold-alerts (synthetic) arrayElement(ResourceAttributes, 'host.name'):game-b-02 = 0.93 | | ALERT | 1794373380000 | 1794373440000 | "}} +{"received_at": 1794373441.3461802, "body": {"text": "\ud83d\udea8 A2 memory used, game-a | Group: \"arrayElement(ResourceAttributes, 'host.name'):game-a-02\"\n0.9 meets or exceeds 0.8\nTime Range (UTC): [Nov 11 5:03:00 AM - Nov 11 5:04:00 AM)\nlabs/threshold-alerts (synthetic) arrayElement(ResourceAttributes, 'host.name'):game-a-02 = 0.85 | | ALERT | 1794373380000 | 1794373440000 | "}} +{"received_at": 1794373441.35536, "body": {"text": "\ud83d\udea8 A2 memory used, game-a | Group: \"arrayElement(ResourceAttributes, 'host.name'):game-a-01\"\n1.0 meets or exceeds 0.8\nTime Range (UTC): [Nov 11 5:03:00 AM - Nov 11 5:04:00 AM)\nlabs/threshold-alerts (synthetic) arrayElement(ResourceAttributes, 'host.name'):game-a-01 = 0.95 | | ALERT | 1794373380000 | 1794373440000 | "}} +{"received_at": 1794373441.3588932, "body": {"text": "\ud83d\udea8 A3 memory used, every host, 3 windows | Group: \"arrayElement(ResourceAttributes, 'host.name'):game-a-01\"\n1.0 meets or exceeds 0.9\nTime Range (UTC): [Nov 11 5:03:00 AM - Nov 11 5:04:00 AM)\nlabs/threshold-alerts (synthetic) arrayElement(ResourceAttributes, 'host.name'):game-a-01 = 0.95 | | ALERT | 1794373380000 | 1794373440000 | "}} +{"received_at": 1794373441.37168, "body": {"text": "\ud83d\udea8 A3 memory used, every host, 3 windows | Group: \"arrayElement(ResourceAttributes, 'host.name'):game-b-02\"\n0.9 meets or exceeds 0.9\nTime Range (UTC): [Nov 11 5:03:00 AM - Nov 11 5:04:00 AM)\nlabs/threshold-alerts (synthetic) arrayElement(ResourceAttributes, 'host.name'):game-b-02 = 0.93 | | ALERT | 1794373380000 | 1794373440000 | "}} +{"received_at": 1794373501.4934678, "body": {"text": "\ud83d\udea8 A3 memory used, every host, 3 windows | Group: \"arrayElement(ResourceAttributes, 'host.name'):game-b-02\"\n0.9 meets or exceeds 0.9\nTime Range (UTC): [Nov 11 5:04:00 AM - Nov 11 5:05:00 AM)\nlabs/threshold-alerts (synthetic) arrayElement(ResourceAttributes, 'host.name'):game-b-02 = 0.93 | | ALERT | 1794373440000 | 1794373500000 | "}} +{"received_at": 1794373501.4953861, "body": {"text": "\ud83d\udea8 A3 memory used, every host, 3 windows | Group: \"arrayElement(ResourceAttributes, 'host.name'):game-a-01\"\n1.0 meets or exceeds 0.9\nTime Range (UTC): [Nov 11 5:04:00 AM - Nov 11 5:05:00 AM)\nlabs/threshold-alerts (synthetic) arrayElement(ResourceAttributes, 'host.name'):game-a-01 = 0.95 | | ALERT | 1794373440000 | 1794373500000 | "}} +{"received_at": 1794373501.528291, "body": {"text": "\ud83d\udea8 A1 memory used, every host | Group: \"arrayElement(ResourceAttributes, 'host.name'):game-a-01\"\n1.0 meets or exceeds 0.9\nTime Range (UTC): [Nov 11 5:04:00 AM - Nov 11 5:05:00 AM)\nlabs/threshold-alerts (synthetic) arrayElement(ResourceAttributes, 'host.name'):game-a-01 = 0.95 | | ALERT | 1794373440000 | 1794373500000 | "}} +{"received_at": 1794373501.5288792, "body": {"text": "\ud83d\udea8 A1 memory used, every host | Group: \"arrayElement(ResourceAttributes, 'host.name'):game-b-02\"\n0.9 meets or exceeds 0.9\nTime Range (UTC): [Nov 11 5:04:00 AM - Nov 11 5:05:00 AM)\nlabs/threshold-alerts (synthetic) arrayElement(ResourceAttributes, 'host.name'):game-b-02 = 0.93 | | ALERT | 1794373440000 | 1794373500000 | "}} +{"received_at": 1794373501.5292318, "body": {"text": "\ud83d\udea8 A2 memory used, game-a | Group: \"arrayElement(ResourceAttributes, 'host.name'):game-a-02\"\n0.9 meets or exceeds 0.8\nTime Range (UTC): [Nov 11 5:04:00 AM - Nov 11 5:05:00 AM)\nlabs/threshold-alerts (synthetic) arrayElement(ResourceAttributes, 'host.name'):game-a-02 = 0.85 | | ALERT | 1794373440000 | 1794373500000 | "}} +{"received_at": 1794373501.529608, "body": {"text": "\ud83d\udea8 A2 memory used, game-a | Group: \"arrayElement(ResourceAttributes, 'host.name'):game-a-01\"\n1.0 meets or exceeds 0.8\nTime Range (UTC): [Nov 11 5:04:00 AM - Nov 11 5:05:00 AM)\nlabs/threshold-alerts (synthetic) arrayElement(ResourceAttributes, 'host.name'):game-a-01 = 0.95 | | ALERT | 1794373440000 | 1794373500000 | "}} +{"received_at": 1794373562.529997, "body": {"text": "\ud83d\udea8 A1 memory used, every host | Group: \"arrayElement(ResourceAttributes, 'host.name'):game-a-01\"\n1.0 meets or exceeds 0.9\nTime Range (UTC): [Nov 11 5:05:00 AM - Nov 11 5:06:00 AM)\nlabs/threshold-alerts (synthetic) arrayElement(ResourceAttributes, 'host.name'):game-a-01 = 0.95 | | ALERT | 1794373500000 | 1794373560000 | "}} +{"received_at": 1794373562.53047, "body": {"text": "\ud83d\udea8 A3 memory used, every host, 3 windows | Group: \"arrayElement(ResourceAttributes, 'host.name'):game-a-01\"\n1.0 meets or exceeds 0.9\nTime Range (UTC): [Nov 11 5:05:00 AM - Nov 11 5:06:00 AM)\nlabs/threshold-alerts (synthetic) arrayElement(ResourceAttributes, 'host.name'):game-a-01 = 0.95 | | ALERT | 1794373500000 | 1794373560000 | "}} +{"received_at": 1794373562.530654, "body": {"text": "\ud83d\udea8 A3 memory used, every host, 3 windows | Group: \"arrayElement(ResourceAttributes, 'host.name'):game-b-02\"\n0.9 meets or exceeds 0.9\nTime Range (UTC): [Nov 11 5:05:00 AM - Nov 11 5:06:00 AM)\nlabs/threshold-alerts (synthetic) arrayElement(ResourceAttributes, 'host.name'):game-b-02 = 0.93 | | ALERT | 1794373500000 | 1794373560000 | "}} +{"received_at": 1794373562.530826, "body": {"text": "\ud83d\udea8 A2 memory used, game-a | Group: \"arrayElement(ResourceAttributes, 'host.name'):game-a-01\"\n1.0 meets or exceeds 0.8\nTime Range (UTC): [Nov 11 5:05:00 AM - Nov 11 5:06:00 AM)\nlabs/threshold-alerts (synthetic) arrayElement(ResourceAttributes, 'host.name'):game-a-01 = 0.95 | | ALERT | 1794373500000 | 1794373560000 | "}} +{"received_at": 1794373562.530978, "body": {"text": "\ud83d\udea8 A1 memory used, every host | Group: \"arrayElement(ResourceAttributes, 'host.name'):game-b-02\"\n0.9 meets or exceeds 0.9\nTime Range (UTC): [Nov 11 5:05:00 AM - Nov 11 5:06:00 AM)\nlabs/threshold-alerts (synthetic) arrayElement(ResourceAttributes, 'host.name'):game-b-02 = 0.93 | | ALERT | 1794373500000 | 1794373560000 | "}} +{"received_at": 1794373562.531165, "body": {"text": "\ud83d\udea8 A2 memory used, game-a | Group: \"arrayElement(ResourceAttributes, 'host.name'):game-a-02\"\n0.9 meets or exceeds 0.8\nTime Range (UTC): [Nov 11 5:05:00 AM - Nov 11 5:06:00 AM)\nlabs/threshold-alerts (synthetic) arrayElement(ResourceAttributes, 'host.name'):game-a-02 = 0.85 | | ALERT | 1794373500000 | 1794373560000 | "}} +{"received_at": 1794373621.8985631, "body": {"text": "\u2705 A1 memory used, every host | Group: \"arrayElement(ResourceAttributes, 'host.name'):game-a-01\" - The alert has been resolved.\nTime Range (UTC): [Nov 11 5:06:00 AM - Nov 11 5:07:00 AM)\nlabs/threshold-alerts (synthetic) arrayElement(ResourceAttributes, 'host.name'):game-a-01 = 0.5 | | OK | 1794373560000 | 1794373620000 | "}} +{"received_at": 1794373621.9335449, "body": {"text": "\u2705 A1 memory used, every host | Group: \"arrayElement(ResourceAttributes, 'host.name'):game-b-02\" - The alert has been resolved.\nTime Range (UTC): [Nov 11 5:06:00 AM - Nov 11 5:07:00 AM)\nlabs/threshold-alerts (synthetic) arrayElement(ResourceAttributes, 'host.name'):game-b-02 = 0.5 | | OK | 1794373560000 | 1794373620000 | "}} +{"received_at": 1794373621.935159, "body": {"text": "\u2705 A2 memory used, game-a | Group: \"arrayElement(ResourceAttributes, 'host.name'):game-a-01\" - The alert has been resolved.\nTime Range (UTC): [Nov 11 5:06:00 AM - Nov 11 5:07:00 AM)\nlabs/threshold-alerts (synthetic) arrayElement(ResourceAttributes, 'host.name'):game-a-01 = 0.5 | | OK | 1794373560000 | 1794373620000 | "}} +{"received_at": 1794373621.936034, "body": {"text": "\u2705 A2 memory used, game-a | Group: \"arrayElement(ResourceAttributes, 'host.name'):game-a-02\" - The alert has been resolved.\nTime Range (UTC): [Nov 11 5:06:00 AM - Nov 11 5:07:00 AM)\nlabs/threshold-alerts (synthetic) arrayElement(ResourceAttributes, 'host.name'):game-a-02 = 0.5 | | OK | 1794373560000 | 1794373620000 | "}} +{"received_at": 1794373622.088864, "body": {"text": "\ud83d\udea8 A3 memory used, every host, 3 windows | Group: \"arrayElement(ResourceAttributes, 'host.name'):game-a-01\"\n1.0 meets or exceeds 0.9\nTime Range (UTC): [Nov 11 5:06:00 AM - Nov 11 5:07:00 AM)\nlabs/threshold-alerts (synthetic) arrayElement(ResourceAttributes, 'host.name'):game-a-01 = 0.95 | | ALERT | 1794373560000 | 1794373620000 | "}} +{"received_at": 1794373622.126268, "body": {"text": "\ud83d\udea8 A3 memory used, every host, 3 windows | Group: \"arrayElement(ResourceAttributes, 'host.name'):game-b-02\"\n0.9 meets or exceeds 0.9\nTime Range (UTC): [Nov 11 5:06:00 AM - Nov 11 5:07:00 AM)\nlabs/threshold-alerts (synthetic) arrayElement(ResourceAttributes, 'host.name'):game-b-02 = 0.93 | | ALERT | 1794373560000 | 1794373620000 | "}} +{"received_at": 1794373681.964888, "body": {"text": "\u2705 A3 memory used, every host, 3 windows | Group: \"arrayElement(ResourceAttributes, 'host.name'):game-b-02\" - The alert has been resolved.\nTime Range (UTC): [Nov 11 5:07:00 AM - Nov 11 5:08:00 AM)\nlabs/threshold-alerts (synthetic) arrayElement(ResourceAttributes, 'host.name'):game-b-02 = 0.5 | | OK | 1794373620000 | 1794373680000 | "}} +{"received_at": 1794373682.000363, "body": {"text": "\u2705 A3 memory used, every host, 3 windows | Group: \"arrayElement(ResourceAttributes, 'host.name'):game-a-01\" - The alert has been resolved.\nTime Range (UTC): [Nov 11 5:07:00 AM - Nov 11 5:08:00 AM)\nlabs/threshold-alerts (synthetic) arrayElement(ResourceAttributes, 'host.name'):game-a-01 = 0.5 | | OK | 1794373620000 | 1794373680000 | "}}