Community寫作與編輯github.com

uptimelens/claude-plugins

透過 UptimeLens MCP 伺服器設定與管理 UptimeLens 正常運行時間監控 — 建立 HTTP/HTTPS 監控、在部署後建議監控項目、暫停或恢復檢查、排程維護時窗以消除部署噪音、建立監控依賴關係,以及開啟、更新或解決事件,然後撰寫事後檢討報告及其後續行動。

claude-plugins 是什麼?

此技能透過 UptimeLens MCP 伺服器,將日常監控要求(如「監控此 URL」、「部署後應監控什麼?」、「目前什麼服務故障?」、「開啟一個事件」)轉換為正確的 MCP 工具呼叫序列。它支援在 Claude Code、Cursor 或 Codex 等 AI 代理程式中使用。主要功能包括建立 HTTP/HTTPS 監控、檢查服務狀態與可用性、排程維護時窗以抑制警報、建立監控依賴關係以避免上游故障時下游重複告警,以及完整的事件生命週期管理(從開啟事件、發布更新、解決事件,到撰寫事後檢討報告與追蹤行動項目)。此技能適用於所有方案,但寫入操作(如建立監控、事件管理等)需要專業版(Pro)或更高方案與讀寫 API Token。它提供詳細的工具清單與使用情境,要求在使用寫入工具前務必獲得使用者確認,以確保操作謹慎且可逆。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/uptimelens/claude-plugins/tree/HEAD/plugins/uptimelens/skills/uptimelens-monitoring

Installed? Explore more 寫作與編輯 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

UptimeLens 監控

透過 UptimeLens MCP 伺服器,在客戶自己的資源上設定與執行 UptimeLens 正常運行時間監控。此技能能將監控要求(如「監控此 URL」、「此次部署後應注意什麼?」、「什麼服務故障?」、「開啟一個事件」)轉換為正確的 MCP 工具呼叫序列。

使用時機

在監控設定與事件管理層面使用:

  • 建立 HTTP/HTTPS 監控,並在部署後或針對新服務建議應監控的項目。
  • 檢查目前哪些服務故障,並進行初步調查(狀態歷史、每項探測的根本原因、回應時間/可用性)。
  • 排程維護時窗,讓部署或計畫性工作不會觸發人為通知。
  • 建立監控依賴關係,使下游檢查在上游已故障時不會發出警報。
  • 開啟、更新或解決事件。

當請求是關於回應傳呼(而非監控)時,請轉交:如需確認或暫停啟用中的升級通報、輪值交接,或檢查升級執行情況,請使用 uptimelens-on-call 技能。如需針對事件進行深入、引導式的根本原因調查,建議優先使用唯讀的 triage_incident MCP 提示(以及 get_root_cause 工具),而非在此編寫完整的分析腳本。

先決條件

  1. 已將 UptimeLens MCP 伺服器連線至此客戶端。讀取工具適用於所有方案。
  2. 寫入動作(create_monitor、update_monitor、pause_monitor、resume_monitor、register_monitor_dependency、delete_monitor_dependency、create_incident、post_incident_update、resolve_incident、cancel_incident、reopen_incident、save_postmortem、add_incident_action_item、create_maintenance、delete_maintenance)需要使用讀寫 API Token 以及專業版(Pro)或更高方案。使用唯讀 Token 時,寫入工具將完全不會列出;在免費版方案中則會回傳 FeatureNotAvailable。
  3. 部分讀取工具亦受方案限制。get_root_cause(付費方案)與 get_incident_analytics(Pro+)是硬性限制 — 低於對應方案會回傳 FeatureNotAvailable 錯誤;請比照下方寫入工具先決條件處理(告知使用者方案不符,不要重試)。query_metrics 的百分位數是軟性限制 — 低於團隊版(Team)方案時,百分位數欄位會回傳 null,而非錯誤。

若某個寫入工具缺少或回傳 FeatureNotAvailable,請告知使用者哪一項先決條件未滿足,不要重試。

工具

這些工具來自 UptimeLens MCP 伺服器。請以完整名稱 UptimeLens:<tool> 引用 — 將 UptimeLens 替換為此客戶端中該連線所賦予的名稱,否則可能找不到該工具。

讀取(探索與上下文):

  • UptimeLens:get_overview — 從這裡開始查詢「目前什麼服務故障?」:依狀態分類的監控數量、24 小時正常運行時間、進行中的事件,以及分組的個別故障 — 四十個以相同方式、針對相同目標故障的監控會以一次中斷而非四十筆資料呈現。當你需要完整的清單(名稱、標籤、ID)時,請改用 list_monitors。
  • UptimeLens:list_monitors — 監控項目及其目前健康狀態;可依 status(正常/降級/故障/未確認故障/未知/未監控/維護中)、名稱或標籤進行篩選。這是查詢 monitorId 以用於其他大部分工具的主要來源,也是回答「什麼服務故障?」的答案。
  • UptimeLens:get_monitor — 單一監控的設定與目前健康狀態(不含憑證)。
  • UptimeLens:list_status_changes — 監控項目的正常/故障/降級歷史記錄及其持續時間;這是 get_root_cause 所需 statusChangeId 的來源。
  • UptimeLens:get_status_change — 單一狀態變更及其上下文(前次與下次變更、涵蓋此期間的事件與升級執行)以及每個位置的檢查摘要:失敗次數、firstDownAt,以及最常見的 errorCategory。可用於判斷中斷從何處開始以及如何確認;適用於所有方案。
  • UptimeLens:get_root_cause — 針對單一狀態變更的每項探測網路診斷:DNS/連線/TLS 時間、路由追蹤、TLS 版本、SSL 憑證剩餘天數、錯誤類別。這是最豐富的「為什麼會故障」資料來源(付費方案)。
  • UptimeLens:query_metrics — 針對單一監控在指定期間內的回應時間與正常運行時間統計(期間總結,非完整序列;百分位數為團隊版以上方案專有)。
  • UptimeLens:get_monitor_availability — 單一監控的 SLA 檢視:正常運行時間百分比、停機時間、事件次數、MTTR、MTBF、回應時間統計。注意事項:如果 uptimePct 不存在,表示該期間沒有任何測量結果 — 並非 100%,所以請說該監控未被測量;longestIncidentSec 是事件的實際時間,可能超過測量到的 totalDowntimeSec — 這是正常現象,並非資料錯誤;uptimePct 四捨五入至小數點後兩位,因此極短的停機時間可能顯示為 100.00 但同時有正數的停機時間;如果 mtbfSec/mttrSec 不存在,並非表示為零。
  • UptimeLens:get_uptime_report — 針對整個帳戶在指定期間內的同類問題:時間加權正常運行時間、停機時間、針對 SLA 目標的錯誤預算,以及故障原因(causes)和確認來源所在位置(locations)。可使用預設期間(last_month、last_30d 等)或明確日期。用於回答「上個月表現如何?」;單一監控請使用 get_monitor_availability。
  • UptimeLens:list_monitor_dependencies — 監控所依賴的上游監控(必須正常運作才能觸發其警報)。
  • UptimeLens:list_monitor_dependents — 相反的查詢:依賴於此監控的監控 — 即其受影響範圍,用於區分根本原因與症狀。
  • UptimeLens:list_incidents — 事件清單,最新者優先;預設為最近 7 天,除非傳入 startDate/endDate。可依 status、monitorId 或 source 篩選。
  • UptimeLens:get_incident — 單一事件的詳細資訊及其更新時間線與受影響的監控。
  • UptimeLens:get_incident_analytics — 在日期範圍內的整體事件指標(MTTR、數量/趨勢、嚴重性/來源分佈、熱門監控)— Pro+。
  • UptimeLens:list_maintenance — 維護時窗;status=active 可回答「目前有任何項目在維護中嗎?」。
  • UptimeLens:list_status_pages / UptimeLens:get_status_page — 向客戶發佈的狀態頁面以及哪些監控會顯示在頁面上(在決定涵蓋範圍時很有用)。

寫入(變更狀態 — 請參閱「寫入前請確認」):

  • UptimeLens:create_monitor — 從 URL 建立 HTTP/HTTPS 監控。請參閱「create_monitor 能做與不能做的事」。
  • UptimeLens:update_monitor — 編輯現有監控的名稱和/或檢查間隔(需提供 id,以及 name 和/或 intervalSeconds,至少一項)。所有其他設定(URL、類型、身份驗證、標頭、閾值、區域)皆保持不變,且無法透過 MCP 變更。此操作可逆且具有等冪性。
  • UptimeLens:pause_monitor / UptimeLens:resume_monitor — 停止或重新啟動單一監控的主動監控。輸入:id。可逆且具有等冪性。
  • UptimeLens:register_monitor_dependency — 宣告子→父依賴關係:當父監控故障時,子監控的下行警報將被抑制。輸入:monitorId(子監控)、parentId。僅限直接父監控;禁止循環或自依賴。
  • UptimeLens:delete_monitor_dependency — 透過其記錄 id(來自 list_monitor_dependencies)移除依賴關係邊;不會刪除任何監控。
  • UptimeLens:create_incident — 開啟一個事件。請參閱「事件以草稿形式開啟」。
  • UptimeLens:post_incident_update — 新增時間線更新(調查中/已識別/監控中)並附上訊息。除非傳入 notifySubscribers=true(且僅當事件已發佈),否則不會以電子郵件通知訂閱者。
  • UptimeLens:resolve_incident — 將事件標記為已解決。除非傳入 notifySubscribers=true(且僅當事件已發佈),否則不會以電子郵件通知訂閱者。可透過 reopen_incident 逆轉。
  • UptimeLens:cancel_incident — 以錯誤警報/重複/測試為由取消事件;終結性操作(無法重新開啟),不納入分析。預設為靜默。
  • UptimeLens:reopen_incident — 重新開啟一個先前已解決的事件(已取消的事件無法重新開啟)。
  • UptimeLens:save_postmortem — 以 Markdown 格式寫入(或覆寫)事件的事後檢討報告主體;可選 status 為草稿或審查中。這是 postmortem_draft 提示輸出的去處 — 沒有此步驟,草稿僅存在於對話中。發佈仍須由人類在儀表板中操作。
  • UptimeLens:add_incident_action_item — 為事件新增後續行動項目(標題,加上可選的類型、優先級與截止日期)。這是事後檢討報告中真正會帶來改變的一半。
  • UptimeLens:create_maintenance / UptimeLens:delete_maintenance — 排程或取消一個維護時窗,此期間將抑制該時窗內監控的警報。

核心工作流程:設定監控(特別是在部署後)

探索優先:幾乎每次寫入操作都需要一個 ID,或是一個唯有當前庫存才能提供的決策。請複製以下核對清單並逐一執行:

設定監控:
- [ ] 1. 檢視當前涵蓋範圍 (list_monitors) — 查看現有項目、缺少哪些項目、以及哪些項目已故障
- [ ] 2. 針對新的 URL/服務:檢查 list_monitors 是否有重複(create_monitor 不具等冪性)
- [ ] 3. 與使用者確認 URL,然後執行 create_monitor(僅限 HTTP/HTTPS)
- [ ] 4. 如有相關性,設定拓撲(register_monitor_dependency:將新檢查放在其上層之下)
- [ ] 5. 如果正在進行部署/維護,則消除噪音(為該時窗執行 create_maintenance)

步驟 1 — 庫存。 呼叫 list_monitors。若要回答「目前什麼故障?」,請傳入 status=["down"](若使用者意指「不健康」,則可加入 degraded/unconfirmed-down)。這也是您發現缺口的方式:使用者剛部署的服務在監控清單中找不到對應項目。

步驟 2-3 — 謹慎建立。 create_monitor 不具等冪性 — 對同一個 URL 呼叫兩次會建立兩個監控。請先檢查 list_monitors 是否已存在,並在建立前與使用者確認確切的 URL。請參閱下方限制。

步驟 4 — 拓撲(選擇性)。 如果新的監控位於您已監控項目的下游(例如位於閘道後方的應用程式、位於資料庫後方的服務),請使用 register_monitor_dependency,將新監控設為 monitorId,上游設為 parentId,以免當上游為真正問題時子監控仍發出傳呼。

步驟 5 — 消除部署噪音(選擇性)。 如果使用者正在部署或進行計畫性工作,請對受影響的監控執行 create_maintenance,並設定時窗,使工作本身不會觸發傳呼。

create_monitor 能做與不能做的事

create_monitor 是一種快速新增功能:提供一個 URL,它會建立一個 HTTP/HTTPS 監控(若未指定 scheme,則預設為 https),名稱預設為主機名稱,檢查間隔與警報群組則使用租戶預設值。

它無法透過 MCP 做到:建立非 HTTP 監控(TCP/UDP、DNS、ping/ICMP、SSH、SMTP 等)、設定身份驗證、自訂標頭、關鍵字/主體斷言、特定檢查間隔或警報群組。針對上述任何需求,請告知使用者到儀表板完成設定 — 不要假裝 MCP 可以設定它們。建立之後,update_monitor 可以變更監控的名稱與檢查間隔(僅此兩項 — 其他所有設定仍須在儀表板中進行)。沒有 delete_monitor 工具:若要移除監控,請引導使用者至儀表板。

事件以草稿形式開啟

create_incident 開啟的總是未發佈的草稿:它不會顯示在任何狀態頁面上,也不會通知訂閱者。需由人類在儀表板中發佈。當您建立事件時請說明這一點,讓使用者知道事件尚未公開。post_incident_update、resolve_incident、cancel_incident 和 reopen_incident 僅在您明確傳入 notifySubscribers=true 時才會以電子郵件通知訂閱者 — MCP 的預設是靜默的,因為發送給客戶的客戶的郵件無法收回。(儀表板的行為相反:在那裡有人類按下按鈕。)cancel_incident 是終結性操作(錯誤警報/重複/測試)且無法重新開啟;resolve_incident 可透過 reopen_incident 逆轉。對於「這不是真實事件」的情況使用 cancel,對於「此事已結束」的情況使用 resolve。

寫入前請確認

讀取與建議可以自由進行。在任何寫入操作之前,請說明您即將進行的動作並取得使用者的同意 — 這些操作會改變監控內容、傳呼內容或記錄內容:

  • 建立監控:說出確切的 URL。由於不具等冪性,請確認尚未有監控涵蓋該 URL(您已檢查過 list_monitors)。
  • 暫停/恢復:暫停會停止監控,因此在暫停期間真正的故障不會觸發傳呼 — 請確認使用者有意要將其靜音。
  • 維護:說出受影響的監控與確切的時窗(RFC3339 格式;預設為 UTC,或傳入 IANA timezone,例如 Europe/Istanbul — 週期性時窗會自動處理日光節約時間);在此期間,警報將被抑制。
  • 事件開啟/更新/解決/取消:說出事件名稱,對於解決/取消,請說明是否要求寄送電子郵件給訂閱者(notifySubscribers=true)— 預設不會寄送郵件。

偏好最不令人意外的操作,以建議為主而非大規模建立,且絕不在沒有逐事件確認的情況下大量開啟或解決事件。

常見情境

「監控 https://api.example.com。」 執行 list_monitors(檢查是否已受監控)→ 確認 URL → 執行 create_monitor(url)。如果使用者需要身份驗證、關鍵字檢查或非 HTTP 協議,請先建立基本的 HTTP 監控,並告知他們在儀表板中完成這些設定。

「我剛剛部署了計費服務 — 我應該監控什麼?」 執行 list_monitors 以檢視當前涵蓋範圍 → 識別缺口(沒有監控的新公開端點/健康檢查)並向使用者建議它們,而非默默地建立 → 經確認後,為每一個執行 create_monitor → 如果新監控位於您已監控項目的後方,請執行 register_monitor_dependency 將其置於該上游之下。請注意哪些項目無法自動建立(非 HTTP、身份驗證、關鍵字),並將這些交由儀表板處理。

「目前什麼服務故障?」 優先使用 get_overview — 它會回答...

(原文過長,已截斷)

相關技能