<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>On-Call on Tarragon</title><link>https://tarrragon.github.io/blog/tags/on-call/</link><description>Recent content in On-Call on Tarragon</description><generator>Hugo -- gohugo.io</generator><language>zh-TW</language><copyright>Tarragon (CC BY 4.0)</copyright><lastBuildDate>Fri, 01 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://tarrragon.github.io/blog/tags/on-call/index.xml" rel="self" type="application/rss+xml"/><item><title>Grafana OnCall</title><link>https://tarrragon.github.io/blog/backend/08-incident-response/vendors/grafana-oncall/</link><pubDate>Fri, 01 May 2026 00:00:00 +0000</pubDate><guid>https://tarrragon.github.io/blog/backend/08-incident-response/vendors/grafana-oncall/</guid><description>&lt;p>Grafana OnCall 是 Grafana Labs 維護的 &lt;em>OSS-friendly&lt;/em> on-call 平台、源自 2021 年收購的 Amixr.io、以 Apache 2.0 授權釋出。它承擔三段責任：&lt;em>alert routing + schedule + escalation&lt;/em>（PagerDuty 的 OSS 替代）、&lt;em>Grafana 生態 alert 收斂&lt;/em>（Grafana / Alertmanager / Mimir / Loki alert 進統一 routing）、&lt;em>phone / SMS notification&lt;/em> 透過 Twilio 等 provider。2024 年起 Grafana Labs 推出 &lt;em>Grafana IRM (Incident Response Management) bundle&lt;/em>、把 Grafana OnCall + Grafana Incident（前 Grafana Incident Response &amp;amp; Communications）綁成一個 alert-to-resolve workflow、定位明確對標 PagerDuty 跟 incident.io 的整合 IR 路線。&lt;/p>
&lt;h2 id="服務定位">服務定位&lt;/h2>
&lt;p>Grafana OnCall 的核心定位是 &lt;em>Grafana 生態內的 on-call layer&lt;/em>、不是獨立 IR platform。底層產品線：&lt;em>Grafana OnCall OSS&lt;/em>（self-hosted、Helm chart、Apache 2.0）、&lt;em>Grafana Cloud OnCall&lt;/em>（SaaS、含在 Grafana Cloud Pro/Advanced）、&lt;em>Grafana IRM bundle&lt;/em>（OnCall + Incident 整合、2024+ 主推路線）。對非 Grafana-heavy 環境也能單獨用、但跟 &lt;a href="https://tarrragon.github.io/blog/backend/08-incident-response/vendors/pagerduty/" data-link-title="PagerDuty" data-link-desc="On-call / alerting 主流 SaaS、IR 平台演化">PagerDuty&lt;/a> 比 ecosystem 廣度不及。&lt;/p>
&lt;p>跟 PagerDuty 比、Grafana OnCall 走 &lt;em>OSS-first + 預算敏感&lt;/em>、核心 schedule / escalation / phone-call 功能對齊、但 advanced workflow（global event orchestration、business service mapping、analytics depth）較弱。跟 &lt;a href="https://tarrragon.github.io/blog/backend/08-incident-response/vendors/opsgenie/" data-link-title="Opsgenie" data-link-desc="Atlassian on-call、跟 Jira / Statuspage 套件整合、JSM Premium migration 議題">Opsgenie&lt;/a> 比、Grafana OnCall 不綁 Atlassian 生態、適合已用 Grafana stack 的團隊。跟 &lt;a href="https://tarrragon.github.io/blog/backend/08-incident-response/vendors/incident-io/" data-link-title="incident.io" data-link-desc="Slack-native IR 平台、整合 paging / response / retro">incident.io&lt;/a> 比、Grafana IRM bundle 在 alert routing 強、但 Slack-native incident channel 體驗 incident.io 仍領先。&lt;/p>
&lt;p>關鍵張力：&lt;em>OSS 路徑的維運成本&lt;/em> ↔ &lt;em>商業 SaaS 的 SLA&lt;/em>。Self-hosted OSS 要自管 PostgreSQL / Redis / Celery worker / Twilio account、出事故時自家 on-call 平台不能掛（chicken-and-egg）；Grafana Cloud OnCall 解這層、但脫離了 OSS 自管的成本優勢。中型團隊通常走 Grafana Cloud、小型 OSS-first 團隊走自管 + Twilio。&lt;/p>
&lt;h2 id="本章目標">本章目標&lt;/h2>
&lt;p>讀完本頁、讀者能判斷：&lt;/p></description><content:encoded><![CDATA[<p>Grafana OnCall 是 Grafana Labs 維護的 <em>OSS-friendly</em> on-call 平台、源自 2021 年收購的 Amixr.io、以 Apache 2.0 授權釋出。它承擔三段責任：<em>alert routing + schedule + escalation</em>（PagerDuty 的 OSS 替代）、<em>Grafana 生態 alert 收斂</em>（Grafana / Alertmanager / Mimir / Loki alert 進統一 routing）、<em>phone / SMS notification</em> 透過 Twilio 等 provider。2024 年起 Grafana Labs 推出 <em>Grafana IRM (Incident Response Management) bundle</em>、把 Grafana OnCall + Grafana Incident（前 Grafana Incident Response &amp; Communications）綁成一個 alert-to-resolve workflow、定位明確對標 PagerDuty 跟 incident.io 的整合 IR 路線。</p>
<h2 id="服務定位">服務定位</h2>
<p>Grafana OnCall 的核心定位是 <em>Grafana 生態內的 on-call layer</em>、不是獨立 IR platform。底層產品線：<em>Grafana OnCall OSS</em>（self-hosted、Helm chart、Apache 2.0）、<em>Grafana Cloud OnCall</em>（SaaS、含在 Grafana Cloud Pro/Advanced）、<em>Grafana IRM bundle</em>（OnCall + Incident 整合、2024+ 主推路線）。對非 Grafana-heavy 環境也能單獨用、但跟 <a href="/blog/backend/08-incident-response/vendors/pagerduty/" data-link-title="PagerDuty" data-link-desc="On-call / alerting 主流 SaaS、IR 平台演化">PagerDuty</a> 比 ecosystem 廣度不及。</p>
<p>跟 PagerDuty 比、Grafana OnCall 走 <em>OSS-first + 預算敏感</em>、核心 schedule / escalation / phone-call 功能對齊、但 advanced workflow（global event orchestration、business service mapping、analytics depth）較弱。跟 <a href="/blog/backend/08-incident-response/vendors/opsgenie/" data-link-title="Opsgenie" data-link-desc="Atlassian on-call、跟 Jira / Statuspage 套件整合、JSM Premium migration 議題">Opsgenie</a> 比、Grafana OnCall 不綁 Atlassian 生態、適合已用 Grafana stack 的團隊。跟 <a href="/blog/backend/08-incident-response/vendors/incident-io/" data-link-title="incident.io" data-link-desc="Slack-native IR 平台、整合 paging / response / retro">incident.io</a> 比、Grafana IRM bundle 在 alert routing 強、但 Slack-native incident channel 體驗 incident.io 仍領先。</p>
<p>關鍵張力：<em>OSS 路徑的維運成本</em> ↔ <em>商業 SaaS 的 SLA</em>。Self-hosted OSS 要自管 PostgreSQL / Redis / Celery worker / Twilio account、出事故時自家 on-call 平台不能掛（chicken-and-egg）；Grafana Cloud OnCall 解這層、但脫離了 OSS 自管的成本優勢。中型團隊通常走 Grafana Cloud、小型 OSS-first 團隊走自管 + Twilio。</p>
<h2 id="本章目標">本章目標</h2>
<p>讀完本頁、讀者能判斷：</p>
<ol>
<li>自管 Grafana OnCall（Helm chart）vs Grafana Cloud OnCall vs Grafana IRM bundle 的取捨</li>
<li>配置 schedule / escalation chain / Twilio phone-call 的最短路徑</li>
<li>Grafana / Alertmanager / 自家 webhook 進 OnCall 的 routing 設計</li>
<li>跟 SIEM（<a href="/blog/backend/07-security-data-protection/vendors/splunk/" data-link-title="Splunk" data-link-desc="業界 SIEM 標準、forwarder &#43; indexer &#43; search head 架構、SPL 為核心查詢語言、ingestion-based 計費跟偵測覆蓋率的 trade-off">Splunk</a> / Elastic）webhook 整合的 alert 收斂模式</li>
<li>評估 Grafana OnCall vs <a href="/blog/backend/08-incident-response/vendors/pagerduty/" data-link-title="PagerDuty" data-link-desc="On-call / alerting 主流 SaaS、IR 平台演化">PagerDuty</a> / <a href="/blog/backend/08-incident-response/vendors/opsgenie/" data-link-title="Opsgenie" data-link-desc="Atlassian on-call、跟 Jira / Statuspage 套件整合、JSM Premium migration 議題">Opsgenie</a> / <a href="/blog/backend/08-incident-response/vendors/incident-io/" data-link-title="incident.io" data-link-desc="Slack-native IR 平台、整合 paging / response / retro">incident.io</a> 取捨</li>
</ol>
<h2 id="最短判讀路徑">最短判讀路徑</h2>
<p>判斷 Grafana OnCall deployment 是否健康、最少看四件事：</p>
<ul>
<li><strong>Slack / Teams integration</strong>：on-call notification 是否進團隊主 chat channel、ack / resolve 是否能直接在 Slack 操作不切換 UI、@here / @channel 跟 phone-call 是否分層（低風險 Slack only、高風險才打電話）</li>
<li><strong>Escalation chain</strong>：N step escalation 是否覆蓋 <em>primary → secondary → manager</em>、每階是否有 timeout（5min / 15min / 30min）、節假日 / 跨時區 schedule 是否走 <em>rotation</em> 而非單人值班、override 機制是否清楚</li>
<li><strong>Webhook integration to SIEM</strong>：<a href="/blog/backend/07-security-data-protection/vendors/splunk/" data-link-title="Splunk" data-link-desc="業界 SIEM 標準、forwarder &#43; indexer &#43; search head 架構、SPL 為核心查詢語言、ingestion-based 計費跟偵測覆蓋率的 trade-off">Splunk</a> / Elastic Notable Event 進 OnCall 的 webhook 是否走 <em>correlation rule 過濾後</em> 才轉發、HMAC / token auth 是否正確、failed delivery 是否有 retry 跟 dead-letter queue</li>
<li><strong>Grafana dashboard alert routing</strong>：Grafana / Alertmanager alert 是否走 <em>severity-based routing</em>（critical / warning / info 分流到不同 escalation chain）、alert grouping / deduplication 是否啟用避免 alert storm、跟 <a href="/blog/backend/08-incident-response/observability-reliability-incident-loop/" data-link-title="8.11 Observability / Reliability / Incident Response 閉環" data-link-desc="把 04 / 06 / 08 三個模組的雙向反饋串成可判讀循環，定義閉環健康度判讀訊號">observability-reliability-incident-loop</a> 的 signal-to-incident 邊界是否定義</li>
</ul>
<p>四件事任一缺失、就是 <a href="/blog/backend/08-incident-response/drills-and-oncall-readiness/" data-link-title="8.6 演練與值班能力建設" data-link-desc="用演練與值班訓練提升事故反應品質">drills-and-oncall-readiness</a> 的待補項目。</p>
<h2 id="日常操作與決策形狀">日常操作與決策形狀</h2>
<p><strong>Schedule + escalation chain</strong>：rotation 走 <em>weekly</em> / <em>daily</em> / <em>custom</em>、可掛 calendar import（iCal / Google Calendar）做休假 override。Escalation chain 是 <em>N step + timeout</em> 結構（例：notify primary → 5min no ack → notify secondary → 15min no ack → notify manager + phone-call）。反例是 <em>single-step chain</em> — 一個人 ack 不到整個 incident 卡住、production chain 至少要 3 step + 跨時區 fallback。</p>
<p><strong>Alert grouping + Notification</strong>：alert source 包含 <em>Alertmanager</em>（Prometheus / Mimir）、<em>Grafana alert</em>（unified alerting 推送）、<em>generic webhook</em>（自家 app / SIEM）、<em>Sentry / Datadog 等第三方</em>。Grouping 用 <em>integration template</em> 寫 Jinja2 抽欄位（service / severity / region）做 deduplication。Notification channel 分層：Slack / Teams 走低成本通知、Twilio phone-call / SMS 留給 P0 / P1、Mobile push 走 Grafana IRM mobile app。</p>
<p><strong>Grafana 生態整合</strong>：Grafana Cloud 帳號內 OnCall 直接啟用、不另外 deploy。Grafana unified alerting 推 alert 到 OnCall integration、Loki / Tempo 的 metric-from-log / trace-anomaly alert 一條 pipeline 進 OnCall。對應 <a href="/blog/backend/04-observability/vendors/grafana-stack/" data-link-title="Grafana Stack" data-link-desc="Grafana / Loki / Tempo / Mimir / Pyroscope 全棧">Grafana Stack</a> 的 alert 出口。Grafana SLO（Service Level Objective）違反 burn rate threshold 也可直接路由到 OnCall escalation。</p>
<p><strong>Grafana IRM bundle</strong>（2024+）：Grafana 把 OnCall（alert routing）+ Incident（incident lifecycle / war room / timeline）打包、目標是把 <em>alert paged → IC declared → channel created → timeline auto-recorded → post-incident review</em> 收進一個 console。對 Grafana-heavy 環境的吸引力是 <em>少一個 vendor seam</em>；對 Slack-native 團隊則跟 incident.io / FireHydrant 競爭、要看 Slack 體驗深度。</p>
<p><strong>OnCall webhook 整合 SIEM / 第三方</strong>：generic webhook integration 接 <a href="/blog/backend/07-security-data-protection/vendors/splunk/" data-link-title="Splunk" data-link-desc="業界 SIEM 標準、forwarder &#43; indexer &#43; search head 架構、SPL 為核心查詢語言、ingestion-based 計費跟偵測覆蓋率的 trade-off">Splunk</a> Notable Event、Elastic Security alert、Datadog monitor、自家 app exception。Webhook payload 走 <em>integration template</em> 轉成 OnCall alert 欄位、加 routing label 進對應 escalation chain。注意 <em>webhook auth</em> 走 token / HMAC、不要用 anonymous webhook 接外網 — 對應 <a href="/blog/backend/08-incident-response/incident-workflow-automation-boundary/" data-link-title="8.21 Incident Workflow Automation Boundary" data-link-desc="定義哪些事故流程適合自動化，哪些決策需要保留人工確認">incident-workflow-automation-boundary</a> 的入口治理。</p>
<p><strong>Maintenance mode</strong>：planned maintenance window 期間 suppress alert、避免 deploy / DB migration 觸發大量假 alert。設定 <em>integration-level mute</em> 或 <em>route-level mute</em>、附 reason 跟 expiry time、不要無限期 mute（容易遺忘變盲點）。</p>
<p><strong>Mobile app</strong>：Grafana IRM mobile app（iOS / Android）支援 push notification + ack / resolve / 加 note、replace 部分電話需求。但 phone-call 不可完全廢除 — 手機靜音 / 深夜值班 push 不一定醒、P0 仍需 Twilio 多次呼叫升級。</p>
<p><strong>自管部署</strong>：Helm chart 部署、依賴 <em>PostgreSQL</em>（state）+ <em>Redis</em>（cache / Celery broker）+ <em>Celery worker</em>（background job）+ <em>Twilio account</em>（phone / SMS）+ TLS domain。Production checklist：PostgreSQL 走 managed service（RDS / Cloud SQL）避免自管 DB on-call 平台兩層 chicken-and-egg、Redis 走 managed、Helm values 走 GitOps 版控、Twilio account 走獨立 sub-account 避免 quota 跟其他服務搶。</p>
<h2 id="核心取捨表">核心取捨表</h2>
<table>
  <thead>
      <tr>
          <th>取捨維度</th>
          <th>Grafana OnCall</th>
          <th>PagerDuty</th>
          <th>Opsgenie</th>
          <th>incident.io</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>計費模型</td>
          <td>OSS 自管免費 / Cloud 含在 Grafana Cloud 套餐</td>
          <td>Per-user / 月、advanced tier 加價</td>
          <td>Per-user / 月（Atlassian 套餐）</td>
          <td>Per-user / 月、Slack-native focus</td>
      </tr>
      <tr>
          <td>部署模型</td>
          <td>Self-hosted (Helm) / Grafana Cloud SaaS</td>
          <td>SaaS only</td>
          <td>SaaS only</td>
          <td>SaaS only</td>
      </tr>
      <tr>
          <td>授權</td>
          <td>Apache 2.0 OSS</td>
          <td>商業 SaaS</td>
          <td>商業 SaaS</td>
          <td>商業 SaaS</td>
      </tr>
      <tr>
          <td>Advanced workflow</td>
          <td>基本 schedule + escalation、analytics 較弱</td>
          <td>業界最強（global orchestration / RBA）</td>
          <td>中等（Atlassian Jira / Confluence 整合）</td>
          <td>Slack incident channel + post-incident</td>
      </tr>
      <tr>
          <td>Integration ecosystem</td>
          <td>Grafana / Alertmanager 強、第三方靠 webhook</td>
          <td>700+ 原生 integration</td>
          <td>Atlassian 生態深、Jira / Confluence 一線</td>
          <td>Slack-native、深度有限但體驗好</td>
      </tr>
      <tr>
          <td>Phone / SMS</td>
          <td>Twilio（自配 account / OSS 路徑要自管）</td>
          <td>內建、跨地區 carrier 覆蓋廣</td>
          <td>內建、Atlassian 計費</td>
          <td>內建、focus 在 Slack ack 多於電話</td>
      </tr>
      <tr>
          <td>Slack 體驗</td>
          <td>Slack integration 基本（notify / ack）</td>
          <td>Slack integration 完整</td>
          <td>Slack integration 中等</td>
          <td>Slack-native、incident channel 自動建</td>
      </tr>
      <tr>
          <td>跨平台 IR</td>
          <td>Grafana IRM bundle（OnCall + Incident）2024+</td>
          <td>PagerDuty Incident Workflows</td>
          <td>Jira Service Management incident</td>
          <td>incident.io Catalog + workflow</td>
      </tr>
      <tr>
          <td>適合場景</td>
          <td>Grafana-heavy / OSS-first / 預算敏感</td>
          <td>Enterprise / 跨產品線 / 高 SLA</td>
          <td>已用 Atlassian / Jira Service Management</td>
          <td>Slack-first / startup-to-midsize</td>
      </tr>
      <tr>
          <td>退場成本</td>
          <td>低 — OSS 路徑可帶走 config、Cloud 也有 export</td>
          <td>中-高 — escalation policy / workflow 量多</td>
          <td>中 — Atlassian 套餐綁定</td>
          <td>中 — Slack workflow 客製化深度</td>
      </tr>
  </tbody>
</table>
<p>選 Grafana OnCall 的核心訴求：<em>OSS-friendly / 預算敏感 / Grafana 生態已是觀測平台主力</em>、能接受 advanced workflow 較弱（或預期不需要）、自管路徑能投入 PostgreSQL / Redis / Twilio account 維運。Enterprise + 高 SLA + 跨產品線 ecosystem 廣度需求仍走 PagerDuty。</p>
<h2 id="進階主題">進階主題</h2>
<p><strong>Grafana IRM bundle 的整合決策</strong>：OnCall（alert routing）+ Incident（incident channel / timeline / post-mortem）打包後、IR workflow 收在一個 console。決策點是 <em>是否已用 Slack 做 incident channel</em>、若團隊 Slack incident workflow 成熟、IRM Incident 的 channel 自動建可能跟現有 <a href="/blog/backend/08-incident-response/incident-communication/" data-link-title="8.4 事故通訊與狀態更新" data-link-desc="建立內外部通報節奏與狀態更新格式">incident-communication</a> 模式衝突；若還沒成熟、IRM bundle 是最短路徑。</p>
<p><strong>OnCall webhook 整合 SIEM 的 alert 收斂模式</strong>：<a href="/blog/backend/07-security-data-protection/vendors/splunk/" data-link-title="Splunk" data-link-desc="業界 SIEM 標準、forwarder &#43; indexer &#43; search head 架構、SPL 為核心查詢語言、ingestion-based 計費跟偵測覆蓋率的 trade-off">Splunk</a> ES Notable Event / Elastic Security alert 不該直接打 OnCall — 噪音太大會造成 <a href="/blog/backend/07-security-data-protection/blue-team/alert-fatigue-and-signal-quality/" data-link-title="7.B10 Alert Fatigue and Signal Quality" data-link-desc="建立告警疲勞治理方法，讓訊號品質、分級一致性與處置效率同步提升">alert-fatigue-and-signal-quality</a> 問題。實務做法：SIEM 端先走 <em>correlation rule + risk-based threshold</em>、只有 high-confidence finding 才 webhook 到 OnCall、低風險走 Slack notification channel 給 SOC analyst triage。</p>
<p><strong>Maintenance mode 跟 deploy 流程的整合</strong>：deploy pipeline 在 production rollout 前 call OnCall API 開 maintenance window（mute 特定 integration / route）、deploy 完成或失敗 rollback 後關閉。避免 deploy 期間 false alert 把 on-call 叫醒、但要設 <em>max maintenance duration</em>（例 1hr 自動 expire）避免長 window 變盲點。</p>
<p><strong>OSS 自管的 chicken-and-egg</strong>：自管 OnCall 部署本身的 monitoring 不能依賴 OnCall — OnCall 掛了 alert 進不來、on-call 不知道 OnCall 掛了。實務做法：OnCall infra 的 monitoring 走另一條 <em>bootstrap alert</em>（直接 Twilio API call + email-to-pager fallback）、或保留小規模 <a href="/blog/backend/08-incident-response/vendors/pagerduty/" data-link-title="PagerDuty" data-link-desc="On-call / alerting 主流 SaaS、IR 平台演化">PagerDuty</a> free tier 做 backstop。</p>
<h2 id="排錯與失敗快速判讀">排錯與失敗快速判讀</h2>
<ul>
<li><strong>Webhook 沒觸發 / alert 沒進來</strong>：integration URL 錯（環境變數沒帶 base URL）、token / HMAC auth 設錯、source 端 webhook payload format 不對（沒走 integration template mapping）— 檢查 OnCall integration log + source webhook delivery log 對齊</li>
<li><strong>Slack notification stuck / 不出現</strong>：Slack OAuth token 過期、Slack workspace permission 變更、OnCall Slack bot 沒被 invite 進 channel — 重 OAuth + 確認 bot membership</li>
<li><strong>Twilio quota 用完 / phone-call 失敗</strong>：Twilio account balance 不足 / 沒升級 trial / 地區 carrier 限制 — 看 Twilio dashboard balance + delivery log、A2P 10DLC 註冊跟地區 toll-free 預先設定</li>
<li><strong>Schedule overlap / on-call 漏排班</strong>：rotation override 配錯、calendar import 沒同步、時區誤判（UTC vs local）— 用 OnCall schedule preview 跑 7-day forward 檢查</li>
<li><strong>Notification delay / 來得慢</strong>：provider latency（Twilio / Slack / FCM push）、Celery worker queue backlog（自管路徑）、escalation timeout 設太長 — 自管路徑檢查 Celery queue length + worker count</li>
<li><strong>Self-hosted upgrade gotcha</strong>：Helm chart major upgrade 帶 DB schema migration、跳版升級失敗、PostgreSQL extension 缺 — 走 staging environment 跑 migration + 備 rollback DB snapshot、不直接 production helm upgrade</li>
<li><strong>Maintenance mode 沒到期 / 變盲點</strong>：mute 沒設 expiry / reason、deploy 完成沒清 mute — maintenance window 強制設 max duration、weekly review mute 清單</li>
</ul>
<h2 id="何時改走其他服務">何時改走其他服務</h2>
<table>
  <thead>
      <tr>
          <th>需求形狀</th>
          <th>改走</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>進階 IR workflow / RBA</td>
          <td><a href="/blog/backend/08-incident-response/vendors/pagerduty/" data-link-title="PagerDuty" data-link-desc="On-call / alerting 主流 SaaS、IR 平台演化">PagerDuty</a></td>
      </tr>
      <tr>
          <td>Atlassian 生態 / Jira</td>
          <td><a href="/blog/backend/08-incident-response/vendors/opsgenie/" data-link-title="Opsgenie" data-link-desc="Atlassian on-call、跟 Jira / Statuspage 套件整合、JSM Premium migration 議題">Opsgenie</a></td>
      </tr>
      <tr>
          <td>Slack-native incident</td>
          <td><a href="/blog/backend/08-incident-response/vendors/incident-io/" data-link-title="incident.io" data-link-desc="Slack-native IR 平台、整合 paging / response / retro">incident.io</a></td>
      </tr>
      <tr>
          <td>商業 SLA / Enterprise</td>
          <td>PagerDuty / Opsgenie</td>
      </tr>
      <tr>
          <td>Post-incident learning</td>
          <td><a href="/blog/backend/08-incident-response/vendors/jeli/" data-link-title="Jeli" data-link-desc="Post-incident learning 平台、2023 被 PagerDuty 收購、強調 interview-driven narrative 而非 timeline-only retro">Jeli</a>（PagerDuty 收購）</td>
      </tr>
      <tr>
          <td>Status page (對外溝通)</td>
          <td><a href="/blog/backend/08-incident-response/vendors/atlassian-statuspage/" data-link-title="Atlassian Statuspage" data-link-desc="公開狀態頁 SaaS、Atlassian 出品、enterprise polish &#43; Atlassian 生態整合、subscriber notification &#43; component dependency 是核心責任">Atlassian Statuspage</a> / <a href="/blog/backend/08-incident-response/vendors/instatus/" data-link-title="Instatus" data-link-desc="輕量 status page SaaS、現代 UI、價格敏感替代">Instatus</a></td>
      </tr>
  </tbody>
</table>
<h2 id="不在本頁內的主題">不在本頁內的主題</h2>
<ul>
<li>Twilio account 申請 / A2P 10DLC 註冊 / 地區 carrier 設定細節</li>
<li>Helm chart values 完整 reference（看官方 docs）</li>
<li>Grafana Cloud OnCall pricing tier 對照</li>
<li>Grafana unified alerting 規則語法（屬 observability 範圍、見 <a href="/blog/backend/04-observability/vendors/grafana-stack/" data-link-title="Grafana Stack" data-link-desc="Grafana / Loki / Tempo / Mimir / Pyroscope 全棧">Grafana Stack</a>）</li>
<li>Grafana Incident 的 channel / timeline 細節（屬 IRM bundle 另一半、本頁聚焦 OnCall）</li>
</ul>
<h2 id="案例回寫">案例回寫</h2>
<p>Grafana OnCall 在 08 案例庫沒有直接 vendor-level 事件、本案例庫的多數事故主角是 Slack / GitHub / Cloudflare / AWS 等基礎設施。Grafana OnCall 的對照位置在 <em>OSS-first organization / Grafana-heavy 監控環境</em> 的 IR routing 設計、相關 case 的啟示如下：</p>
<table>
  <thead>
      <tr>
          <th>案例方向</th>
          <th>跟 Grafana OnCall 的關係（對照啟示）</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>OSS-first / Grafana-heavy 觀測環境</td>
          <td>Alertmanager / Mimir / Loki alert 進 OnCall 是最短整合路徑、escalation chain 走 Grafana SLO burn rate trigger</td>
      </tr>
      <tr>
          <td>預算敏感的中型團隊</td>
          <td>Self-hosted OnCall + Twilio account 是 PagerDuty 的 OSS 替代、要算 PostgreSQL / Redis 維運成本是否真的省</td>
      </tr>
      <tr>
          <td>Slack-only IR workflow vs Grafana IRM</td>
          <td>Grafana IRM bundle 把 incident channel 收進 console、跟 incident.io / Slack-native workflow 二選一</td>
      </tr>
      <tr>
          <td>Vendor 依賴出事（<a href="/blog/backend/08-incident-response/vendor-dependency-incident/" data-link-title="8.15 Vendor / 第三方依賴事故處理" data-link-desc="依賴方掛掉、自己無 control 時的決策模型">vendor-dependency-incident</a>）</td>
          <td>OnCall 自身是 vendor、自管路徑要設 bootstrap alert、Cloud 路徑要評估 Grafana Labs SLA 跟 backup paging</td>
      </tr>
  </tbody>
</table>
<h2 id="下一步路由">下一步路由</h2>
<ul>
<li>上游：<a href="/blog/backend/08-incident-response/drills-and-oncall-readiness/" data-link-title="8.6 演練與值班能力建設" data-link-desc="用演練與值班訓練提升事故反應品質">Drills and On-call Readiness</a>、<a href="/blog/backend/08-incident-response/incident-workflow-automation-boundary/" data-link-title="8.21 Incident Workflow Automation Boundary" data-link-desc="定義哪些事故流程適合自動化，哪些決策需要保留人工確認">Incident Workflow Automation Boundary</a></li>
<li>平行：<a href="/blog/backend/08-incident-response/vendors/pagerduty/" data-link-title="PagerDuty" data-link-desc="On-call / alerting 主流 SaaS、IR 平台演化">PagerDuty</a>、<a href="/blog/backend/08-incident-response/vendors/opsgenie/" data-link-title="Opsgenie" data-link-desc="Atlassian on-call、跟 Jira / Statuspage 套件整合、JSM Premium migration 議題">Opsgenie</a>、<a href="/blog/backend/08-incident-response/vendors/incident-io/" data-link-title="incident.io" data-link-desc="Slack-native IR 平台、整合 paging / response / retro">incident.io</a>、<a href="/blog/backend/08-incident-response/vendors/firehydrant/" data-link-title="FireHydrant" data-link-desc="IR &#43; retrospective 平台、Slack / Teams 整合、service catalog &#43; runbook automation 為核心">FireHydrant</a>、<a href="/blog/backend/08-incident-response/vendors/rootly/" data-link-title="Rootly" data-link-desc="IR 自動化平台、no-code workflow &#43; AI investigation、Slack-native &#43; 200&#43; integration">Rootly</a></li>
<li>下游：<a href="/blog/backend/04-observability/vendors/grafana-stack/" data-link-title="Grafana Stack" data-link-desc="Grafana / Loki / Tempo / Mimir / Pyroscope 全棧">Grafana Stack</a>（alert source）、<a href="/blog/backend/08-incident-response/observability-reliability-incident-loop/" data-link-title="8.11 Observability / Reliability / Incident Response 閉環" data-link-desc="把 04 / 06 / 08 三個模組的雙向反饋串成可判讀循環，定義閉環健康度判讀訊號">Observability ↔ Reliability ↔ Incident Loop</a></li>
<li>跨模組：<a href="/blog/backend/07-security-data-protection/vendors/splunk/" data-link-title="Splunk" data-link-desc="業界 SIEM 標準、forwarder &#43; indexer &#43; search head 架構、SPL 為核心查詢語言、ingestion-based 計費跟偵測覆蓋率的 trade-off">Splunk</a>（SIEM webhook → OnCall）、<a href="/blog/backend/08-incident-response/vendor-dependency-incident/" data-link-title="8.15 Vendor / 第三方依賴事故處理" data-link-desc="依賴方掛掉、自己無 control 時的決策模型">Vendor Dependency Incident</a>（OnCall 自身 vendor 風險）</li>
<li>官方：<a href="https://grafana.com/docs/oncall/">Grafana OnCall Documentation</a></li>
</ul>
]]></content:encoded></item></channel></rss>