Sentry 監(jiān)控之 Alerts 告警
本文轉(zhuǎn)載自微信公眾號「黑客下午茶」,作者為少 。轉(zhuǎn)載本文請聯(lián)系黑客下午茶公眾號。
警報簡介
警報提供對代碼問題和對用戶的影響的實時可見性。有多種類型的警報可用于自定義閾值和集成。
從 sentry.io 的 Alerts 頁面,您可以創(chuàng)建新的警報規(guī)則并管理現(xiàn)有規(guī)則。“警報規(guī)則(Alert Rules)”選項卡顯示您現(xiàn)有的警報規(guī)則,以及它們的當(dāng)前狀態(tài)、項目、團隊和創(chuàng)建日期。默認(rèn)情況下,該列表經(jīng)過篩選,以便僅顯示與您所屬的團隊以及與任何團隊無關(guān)的警報。您可以使用過濾器按鈕更改此設(shè)置。
警報(Alerts) 頁面還顯示一個 “歷史(History)” 選項卡,您可以在其中找到指標(biāo)警報列表,其中包含觸發(fā)時間和活動時間等信息。
錯誤 Issue 警報
只要項目中的任何問題符合指定標(biāo)準(zhǔn),就會觸發(fā) Issue 警報。您可以為 Issue 級別的更改創(chuàng)建警報,例如:
- 新 Issue
- Issue 頻率增加
- 已解決和忽略的 Issue 變成未解決(unresolved)
您可以在 issue 警報配置中找到 Issue 警報觸發(fā)器的完整列表。
- https://docs.sentry.io/product/alerts/create-alerts/issue-alert-config/#when-conditions-triggers
錯誤和性能指標(biāo)警報
當(dāng) error 或 transaction 事件違反了指標(biāo)時,指標(biāo)警報就會觸發(fā)。使用指標(biāo)警報來監(jiān)控您關(guān)心的一組有限且已知的指標(biāo)和組件,例如整個項目中、重要頁面上或具有特定標(biāo)簽的錯誤頻率或性能指標(biāo)。
創(chuàng)建警報以監(jiān)控指標(biāo),例如:
- 項目中的總錯誤(Total errors)
- 延遲(Latency):最小值(min)、最大值(max)、平均值(average)、百分位數(shù)(percentile)
- 失敗率(Failure rate)
- 自定義指標(biāo)
您可以在指標(biāo)警報中找到可用指標(biāo)警報的完整列表。
- https://docs.sentry.io/product/alerts/alert-types/#metric-alerts
創(chuàng)建警報
在 sentry.io 中創(chuàng)建新項目時,您可以選擇默認(rèn)的 issue 警報。但是,您也可以使用這些最佳實踐作為指南,創(chuàng)建自己的警報以滿足團隊的需求。
- https://docs.sentry.io/product/alerts/create-alerts/
- https://docs.sentry.io/product/alerts/create-alerts/best-practices/
通知
除了警報之外,Sentry 還會向您發(fā)送有關(guān)各種事項的通知,例如 issue 狀態(tài)更改、發(fā)布部署和配額使用情況。您可以在用戶設(shè)置 > 通知(User Settings > Notifications)中微調(diào)這些通知以及您的個人警報設(shè)置。在完整文檔中了解有關(guān)通知和調(diào)整其關(guān)聯(lián)設(shè)置的更多信息。
- issue state changes: https://docs.sentry.io/product/issues/states-triage/
- release deploys:https://docs.sentry.io/product/releases/
- quota usage:https://docs.sentry.io/product/accounts/quotas/
- https://docs.sentry.io/product/alerts/notifications/
警報類型
您可以創(chuàng)建兩種類型的警報:
- Issue alerts:當(dāng) issue(一組錯誤事件)符合特定條件時觸發(fā)。
- Metric alerts:當(dāng) error 或 transaction 事件的宏觀指標(biāo)超過特定閾值時觸發(fā)。
Issue 警報
只要項目中的任何 issue 符合指定標(biāo)準(zhǔn),就會觸發(fā) Issue 警報。例如,這些標(biāo)準(zhǔn)可能是重新出現(xiàn)的已解決 issue 或影響許多用戶的 issue。
在“警報規(guī)則(Alert Rules)”選項卡中,這些警報由 issues 圖標(biāo)標(biāo)識,默認(rèn)情況下,它們顯示在警報列表的底部。(如果您有多個指標(biāo)警報,這可能會將您的 issue 警報從列表的第一頁推出。)
在問題警報中,Sentry 每次收到新事件時都會評估配置的警報條件。警報條件包括三個部分:
- 觸發(fā)器(Triggers)指定您想要監(jiān)控的活動類型,或何時(When)應(yīng)觸發(fā)警報。
- 過濾器(Filters)通過僅在 issue 符合指定標(biāo)準(zhǔn)時觸發(fā)警報來幫助控制 issue 噪音。
- 然后,Actions 指定當(dāng)滿足觸發(fā)條件并且過濾器匹配時應(yīng)該發(fā)生什么。
指標(biāo)警報
指標(biāo)警報會告訴您指標(biāo)何時超過閾值,例如項目中錯誤數(shù)量的激增,或性能指標(biāo)的變化,例如延遲(latency)、Apdex、故障率(failure rate)或吞吐量(throughput)。
指標(biāo)警報監(jiān)控 error 和 transaction 事件的宏觀指標(biāo)。指標(biāo)獲取一組事件并使用函數(shù)(例如 count() 或 avg())計算一段時間內(nèi)應(yīng)用于事件屬性的聚合值。創(chuàng)建指標(biāo)警報時,您可以按屬性(attributes)和標(biāo)簽(tags)過濾事件,這對于聚合未分組為單個 issue 的事件特別有用。
這些警報使用 Critical 和 Warning 觸發(fā)器來衡量嚴(yán)重性。警報的當(dāng)前狀態(tài)是處于活動狀態(tài)的最高嚴(yán)重性觸發(fā)器(highest severity trigger),可以是以下三個值之一:警告(Warning)、嚴(yán)重(Critical)或已解決(Resolved)。每當(dāng)警報的狀態(tài)發(fā)生變化時,Sentry 都會通知您。
創(chuàng)建警報時,所有顯示的警報類型(“Issues”除外)均可用于創(chuàng)建指標(biāo)警報:
- Number of Errors(錯誤數(shù))
- Users Experiencing Errors(出現(xiàn)錯誤的用戶)
- Throughput(吞吐量)
- Transaction Duration(transaction 時長)
- Apdex
- Failure Rate(失敗率)
- Largest Contentful Paint(最大內(nèi)容繪制)
- First Input Delay(首次輸入延遲)
- Cumulative Layout Shift(累積布局偏移)
- Custom Metric(自定義指標(biāo))
警報詳情
警報詳細信息(Alert Details)頁面默認(rèn)顯示過去 24 小時的指標(biāo)警報規(guī)則的歷史記錄,但可以使用“顯示(Display)”下拉菜單修改時間段。觸發(fā)警報時,單擊您收到的通知會將您帶到此頁面,該頁面顯示警報處于活動狀態(tài)的時間段。該頁面還包括詳細信息,例如警報規(guī)則條件、警報的當(dāng)前狀態(tài)以及警報在每種狀態(tài)(Critical、``Warning或Resolved`)中花費的時間摘要。
警報詳細信息(Alert Details)頁面還包括與指標(biāo)相關(guān)的可疑 issue 或 transaction 的列表,以幫助更快地查明根本問題。您可以查看可能導(dǎo)致觸發(fā)警報的原因,然后在 Discover 中打開該指標(biāo)以查找更多信息。
- https://docs.sentry.io/product/discover-queries
創(chuàng)建警報
創(chuàng)建警報所需的最低角色是 member。具有 manager 或 owner 權(quán)限的 Sentry 用戶可以在設(shè)置 > 常規(guī)設(shè)置 > 讓成員創(chuàng)建和編輯警報(Settings > General Settings > Let Members Create and Edit Alerts)中更改最低角色要求。
要創(chuàng)建警報:
- 導(dǎo)航到警報(Alerts)并單擊 “Create Alert Rule”。
- 選擇您的項目。
- 選擇您希望收到警報的內(nèi)容。選擇 “Issues” 會創(chuàng)建 issue 警報,而選擇任何其他選項會創(chuàng)建 metric 警報。
- 單擊“設(shè)置條件(Set Conditions)”。
- 在警報配置頁面,設(shè)置告警條件:
- https://docs.sentry.io/product/alerts/create-alerts/metric-alert-config/
- https://docs.sentry.io/product/alerts/create-alerts/issue-alert-config/
- Issue 警報配置
- Metric 警報配置
Issue 警報配置
Sentry 提供了多個配置選項來根據(jù)您組織的需要創(chuàng)建 issue 警報。
環(huán)境
指定哪些環(huán)境(environment)將使用此特定警報規(guī)則。此控件過濾事件中的環(huán)境標(biāo)簽。例如,此過濾器很有用,因為您應(yīng)用于生產(chǎn)警報的緊迫性和工作流程可能不同于您應(yīng)用于源自 QA 環(huán)境的警報的緊急程度和工作流程。
此處的 “Environment” 下拉列表具有與全局 “Environment” 下拉列表中所選項目可用的相同環(huán)境(不包括隱藏環(huán)境)。選擇 “All Environments” 相當(dāng)于沒有環(huán)境過濾器。
團隊
您可以選擇要與警報關(guān)聯(lián)的團隊,以便該團隊的成員可以編輯警報。請注意,只有當(dāng)您是團隊成員時才能進行此關(guān)聯(lián)。如果未選擇任何團隊,則任何人都可以編輯警報。
警報名稱
為您的警報指定一個描述性名稱,例如受影響的團隊和警報的主題。例如,“前端延遲(Frontend Latency)”、“后端故障率(Backend Failure Rate)”或“計費 Apdex(Billing Apdex)”。
“何時(When)”條件:觸發(fā)器
“When” 條件或觸發(fā)器指定您希望針對該 issue 監(jiān)控哪種類型的活動:
- 首次出現(xiàn)
- 將狀態(tài)從已解決(resolved)更改為未解決(unresolved)
- 將狀態(tài)從忽略(ignored)更改為未解決(unresolved)
- 在一個時間間隔內(nèi)看到超過一定次數(shù)
- 在一個時間間隔內(nèi)被超過一定數(shù)量的唯一用戶看到
- 某個 issue 在 {time} 內(nèi)影響了超過 {X}% 的會話
- 受影響的會話百分比是一個近似值,計算為 issue 頻率與項目中會話數(shù)的比率
- 僅當(dāng)過去一小時的會話數(shù)超過 50 時才會觸發(fā)基于百分比的警報
觸發(fā)器(Triggers)是可選的。如果不選擇觸發(fā)器,則默認(rèn)認(rèn)為滿足 “When” 條件。也就是說,所有的事件都滿足這個條件。
在 Issue States & Triage 中了解有關(guān) issue 狀態(tài)的更多信息。
- Issue States & Triage: https://docs.sentry.io/product/issues/states-triage/
“如果(If)”條件:過濾器
Sentry 在滿足 “When” 條件后檢查 “if conditions” 或過濾器,這些通過過濾掉不符合您指定標(biāo)準(zhǔn)的問題來幫助控制 noise。您可以過濾issue 或事件屬性。如果指定了事件過濾器,它只會檢查觸發(fā)警報的事件,例如:
issue 比特定持續(xù)時間更舊或新。
該 issue 至少發(fā)生了 {X} 次。
- issue 已分配給{no one/a team/a member}。
- 該事件來自最新 release。
- 事件的 {attribute} {matches} {value}。匹配類型:等于(equals)、不等于(does not equal)、開始于(starts with)、結(jié)束于(ends with)、包含(contains)、不包含(does not contain)、已設(shè)置(is set)或未設(shè)置(is not set)。
- 事件的 {tag} {matches} {value}。匹配類型:等于(equals)、不等于(does not equal)、開始于(starts with)、結(jié)束于(ends with)、包含(contains)、不包含(does not contain)、已設(shè)置(is set)或未設(shè)置(is not set)。
- 事件的級別 {matches} {level}。匹配類型:等于(equal to)、小于(less than)或等于(equal to)、或大于(greater than)或等于(equal to)。
了解更多關(guān)于標(biāo)簽(tags)和事件屬性(event attributes)的信息。
tags:https://docs.sentry.io/platforms/javascript/enriching-events/tags/
event attributes:https://docs.sentry.io/product/sentry-basics/search/searchable-properties/#event-properties
“然后(Then)”條件:動作
“Then conditions”或動作,指定滿足觸發(fā)器和過濾條件時應(yīng)該發(fā)生的事情:
- 向問題所有者(Issue Owners)、團隊(a team)或成員(a member)發(fā)送通知。
- 向集成發(fā)送通知,其中可以包含以下選項,具體取決于您安裝的集成:
- 發(fā)送 Slack 通知
- 發(fā)送 PagerDuty 通知
- 發(fā)送 Microsoft Teams 通知
- 向所有舊集成發(fā)送通知。
- 使用集成平臺上構(gòu)建的集成發(fā)送通知
- 為集成創(chuàng)建一個 issue,其中包括:
- https://docs.sentry.io/product/integrations/source-code-mgmt/azure-devops
- https://docs.sentry.io/product/integrations/project-mgmt/jira/
- Jira
- Azure DevOps
了解有關(guān)通過集成路由警報的更多信息。
- https://docs.sentry.io/product/alerts/create-alerts/routing-alerts/
Issue 所有者
Issue 所有者可以在觸發(fā)警報時收到通知(僅限電子郵件)。
對于早期采用者,這些通知是通過電子郵件或 Slack 接收的,具體取決于問題所有者的通知設(shè)置。
- Issue owners:https://docs.sentry.io/product/issues/issue-owners/
- notification settings:https://docs.sentry.io/product/alerts/notifications/notification-settings/
如果未配置或未找到 issue 所有者,則不會發(fā)送通知或?qū)⑵浒l(fā)送給所有項目成員,具體取決于 [項目]>設(shè)置>問題所有者([Project]>Settings>Issue Owners) 中的以下設(shè)置。
團隊 Slack 通知
團隊可以配置 Slack channel 來接收警報通知。這可以通過在所需的 Slack channel 中鍵入 /sentry link team 來完成。要在 sentry.io 中查看團隊關(guān)聯(lián)的 Slack 頻道,請導(dǎo)航到 設(shè)置>團隊>[團隊]>通知(Settings>Teams>[Team]>Notifications)。
動作間隔(速率限制)
動作間隔(action interval)或速率限制(rate limit)控制針對特定問題觸發(fā)警報規(guī)則的頻率。如果警報條件與問題匹配,Sentry 只執(zhí)行在速率限制期限內(nèi)尚未針對該問題執(zhí)行的動作。例如,如果一個問題在一分鐘的時間內(nèi)多次滿足警報條件,但是您的頻率閾值是一分鐘,那么您只會收到一次警報。
可用的間隔是:
- 分鐘:5, 10, 30, 60
- 小時:3, 12, 24
- 天:7, 30
項目級警報設(shè)置
在 [項目] > 設(shè)置 > 警報([Project] > Settings > Alerts) 中,您可以配置警報電子郵件主題模板和摘要設(shè)置。擁有 owner、manager 或管理員權(quán)限(admin permissions)及以上權(quán)限的 Sentry 用戶可以更改這些默認(rèn)通知設(shè)置。
摘要
摘要功能僅適用于 issue 警報電子郵件(不是通過集成發(fā)送的通知),并且與動作間隔(action interval)不同,它限制為項目發(fā)送的警報電子郵件總數(shù)。此項目級設(shè)置允許您控制警報的最小和最大交付間隔。
指標(biāo)警報配置
Sentry 提供了多個配置選項來根據(jù)您組織的需要創(chuàng)建指標(biāo)警報。
過濾器
以下過濾器組轉(zhuǎn)換為 Discover 查詢,顯示在警報配置頁面頂部的圖表中。
環(huán)境
指定哪些環(huán)境將使用此特定警報規(guī)則。此控件過濾事件中的 environment 標(biāo)簽。例如,此過濾器很有用,因為您應(yīng)用于生產(chǎn)警報的緊迫性和工作流程可能不同于您應(yīng)用于源自 QA 環(huán)境的警報的緊急程度和工作流程。
此處的 “Env:” 下拉列表與全局 “Environment” 下拉列表中所選項目的可用環(huán)境相同(不包括隱藏環(huán)境)。選擇 “全部(All)” 相當(dāng)于沒有環(huán)境過濾器。
事件類型
對于某些指標(biāo)警報,您可以在“事件(Events)”下拉列表中設(shè)置要收到警報的事件類型:
- event.type:error OR event.type:default
- event.type:default
- event.type:error
- event.type:transaction
標(biāo)簽(Tag) & 屬性(Attribute)
在提供的字段中添加過濾器以縮小您將收到警報的范圍,例如 URL、標(biāo)簽或其他事件屬性。
指標(biāo)(函數(shù) + 時間間隔)
根據(jù)您選擇的警報類型,您可以選擇要應(yīng)用的函數(shù)和參數(shù)。在其他情況下,該功能內(nèi)置于警報中,并且不顯示設(shè)置。例如,如果您選擇“受影響的用戶數(shù)(Number of Users Affected)”,則轉(zhuǎn)換為函數(shù) count_unique(user.id)。由于編輯此函數(shù)會改變警報的性質(zhì),因此它不可編輯,因此被隱藏。
警報函數(shù)
- count()
- count_unique(...)
- avg(...)
- percentile(...)
- failure_rate()
- apdex(...)
- count()
- p50()
- p75()
- p95()
- p99()
- p100()
時間間隔
選擇評估指標(biāo)的時間段。您的選擇范圍從一分鐘到一天。 Sentry 每分鐘評估指定的窗口。例如,如果您指定一個小時時間窗口,Sentry 會評估:
- At 3:00pm: 2:00pm - 3:00pm
- At 3:01pm: 2:01pm - 3:01pm
- At 3:02pm: 2:02pm - 3:02pm
- ...
閾值
閾值是幫助定義警報觸發(fā)器的數(shù)值。這些數(shù)值被標(biāo)記為:
- Critical(嚴(yán)重)
- Warning(警告)
- Resolved(已解決)
您必須設(shè)置 “Warning” 閾值,使其在 “Critical” 閾值之前觸發(fā)。當(dāng) Sentry 評估警報時,警報的狀態(tài)會更新為匹配的最高嚴(yán)重性觸發(fā)器。如果您未設(shè)置 “Resolved” 閾值,警報將在不再違反 “Critical” 或 “Warning” 條件時自動解決。您還可以手動解決警報。
自動解決
默認(rèn)情況下,當(dāng)指定的指標(biāo)不再違反 “Critical” 或 “Warning” 條件時,會自動解決指標(biāo)警報。但是,您可以設(shè)置不同的分辨率閾值。例如,假設(shè)您的應(yīng)用程序的正常錯誤級別低于 2000/分鐘,并且您希望在超過 5000/分鐘 時收到警報。您可能希望警報僅在錯誤級別回到 2000/分鐘 以下時 resolve,而不是 5000/分鐘。通過以這種方式設(shè)置 “Resolved” 閾值,如果錯誤級別回落到僅 4000/分鐘,即使它低于警報閾值,您也會認(rèn)為這是有問題的,警報將不會 resolve。
動作
動作定義了您和您的團隊將如何收到警報:
- 向成員(member)或團隊(team)發(fā)送電子郵件。如果發(fā)送給成員(team),則成員(team)的個人項目警報選擇退出設(shè)置(opt-out settings)將被覆蓋。
- 發(fā)送 Slack 通知
https://docs.sentry.io/product/integrations/notification-incidents/slack/
- 發(fā)送 PagerDuty 通知
https://docs.sentry.io/product/integrations/notification-incidents/pagerduty/
- 發(fā)送 Microsoft Teams 通知
https://docs.sentry.io/product/integrations/notification-incidents/msteams/
- 使用內(nèi)部集成發(fā)送請求。
https://docs.sentry.io/product/integrations/integration-platform/#internal-integrations
- 了解有關(guān)通過集成路由警報的更多信息。
https://docs.sentry.io/product/alerts/create-alerts/routing-alerts/
規(guī)則名稱
為您的警報指定一個描述性名稱,例如受影響的團隊和警報的主題。例如,“前端延遲(Frontend Latency)”、“后端故障率(Backend Failure Rate)”或“計費 Apdex(Billing Apdex)”。
團隊
您可以選擇要與警報關(guān)聯(lián)的團隊,以便該團隊的成員可以編輯此警報。請注意,只有當(dāng)您是團隊成員時才能進行此關(guān)聯(lián)。如果未選擇任何團隊,則任何人都可以編輯警報。
帶有集成的警報路由
通過定制警報規(guī)則并集成您已經(jīng)使用的工具,您可以在需要的時候when、地點where(以及是否if)收到警報,而不會受到干擾。警報通知可以路由到 Slack,多個支持的集成,以及通過 webhooks 定制集成。在創(chuàng)建警報規(guī)則時,您可以使用這些集成來配置通知誰以及如何通知。
集成
Sentry 的集成為您提供了通過 Slack、PagerDuty 和 Microsoft Teams 等常用應(yīng)用程序路由警報的選項。您可以在 設(shè)置 > 集成(Settings > Integrations) 中找到這些集成,并為整個組織安裝它們。
Slack 警報
Sentry 組織 owner 或 manager 可以在其 Sentry 帳戶中安裝和配置 Slack 集成。配置集成后,issue 警報規(guī)則中將提供以下動作:向 {workspace} Slack 工作區(qū)發(fā)送通知至 {channel} 并在通知中顯示標(biāo)簽 {tags}。在指標(biāo)警報中,您的 Slack 團隊將在 action 下拉列表之一中可用。
此 alert action 允許您將警報通知路由到 Slack 工作區(qū)中的選定頻道(使用 # 前綴)或直接消息中的特定用戶(使用 @ 前綴)。
然后,一旦您收到 Slack 通知,您可以使用 “Resolve”、“Ignore” 或 “Assign” 按鈕直接從 Slack 更新 sentry.io 中的問題。
PagerDuty 警報
Sentry 組織 owner 或 manager 可以在其 Sentry 帳戶中安裝和配置 PagerDuty 集成。配置集成后,issue 警報規(guī)則中將提供以下動作:向 PagerDuty 帳戶 {account} 和服務(wù) {service} 發(fā)送通知。在指標(biāo)警報中,您的 PagerDuty 帳戶將在 action 下拉列表之一中可用。
Microsoft Teams 警報
Sentry 組織 owner 或 manager 可以在其 Sentry 帳戶中安裝和配置 Microsoft Teams。配置集成后,issue 警報規(guī)則中將提供以下動作:向 {team} 團隊發(fā)送通知至 {channel(s)}。在指標(biāo)警報中,您的 Microsoft 團隊將在 action 下拉列表之一中可用。
構(gòu)建您自己的集成
如果您想將警報通知路由到 Sentry 沒有開箱即用集成的其他解決方案,您可以使用 Integration Platform。集成平臺為外部服務(wù)提供了一種使用 REST API 和 Webhook 與 Sentry SaaS 服務(wù)交互的方法。
如果您想從不同的監(jiān)控系統(tǒng)匯總警報或編寫自定義規(guī)則以更智能地路由警報,則向 webhook 發(fā)送警報也很有幫助。
當(dāng)您創(chuàng)建新的集成并在其上啟用“Alert Rule Action”選項時,當(dāng)您選擇在 issue 警報規(guī)則創(chuàng)建期間通過集成 action 發(fā)送通知時,您的集成將顯示為服務(wù)。在指標(biāo)警報中,您的集成在 action 下拉列表之一中可用。
遺留集成
遺留集成(也稱為插件)是 Sentry 的擴展,打包為 Python 庫,并在項目級進行配置。要向遺留集成發(fā)送警報,請選擇 “Send a notification via an integration” 或 “Send a notification to all legacy integrations” 動作。您不能將指標(biāo)警報路由到遺留集成。
警報最佳實踐
警報在正確的時間通知正確的人非常重要。向太多人發(fā)送太多通知可能會導(dǎo)致這些通知被忽略。以下最佳實踐將幫助您創(chuàng)建或微調(diào)警報以最大程度地減少警報噪音,同時仍會告訴您需要了解的內(nèi)容。
檢測重要問題
頻率(Frequency) :通常,您會設(shè)置警報以在錯誤超過特定頻率時觸發(fā),但頻率并不是一切:如果低頻錯誤位于應(yīng)用程序的更重要部分,則它可能比高頻錯誤更重要。
受影響的用戶(Users affected):有時極少數(shù)用戶會產(chǎn)生大量錯誤,因此提醒受影響的用戶可能比錯誤頻率更重要。然而,并非所有在 Sentry 中有用戶計數(shù)的錯誤實際上都可能是面向用戶的,反之亦然。如果您過濾這些類型的問題,您就可以避免收到非用戶面臨的錯誤的警報。
標(biāo)簽(Tags):使用標(biāo)簽對錯誤進行分類。例如,您可以過濾自動捕獲的 url 標(biāo)簽以識別關(guān)鍵業(yè)務(wù)頁面,或過濾自定義標(biāo)簽(如 customer_type)以更重要地處理這些警報。您可以在 [項目] > 設(shè)置 > 標(biāo)簽([Project] > Settings > Tags) 下找到項目中可用的標(biāo)簽列表。該列表是該項目事件中遇到的所有標(biāo)簽 key(默認(rèn)和自定義)的聚合。
降低警報噪音
這些最佳實踐可幫助您減少 issue 警報可能產(chǎn)生的噪音,但不適用于指標(biāo)警報。
看到相同的警報(Seeing the same alerts):如果您反復(fù)看到以前看過的警報,請嘗試將您的 issue 警報過濾為過去幾天創(chuàng)建的問題,使用 The issue is older or newer than... 過濾器。
瞬態(tài)警報(Transient alerts):要過濾掉僅快速連續(xù)發(fā)生幾次且不再發(fā)生的 transient issues,請在您的 issue 警報中使用 Issue has happened at least {X} times 過濾器。
限制為最新版本(Limit to latest release):使用 The event is from the latest release 過濾器將您的 issue 警報僅應(yīng)用于最新版本。
使用“For Review”列表(Use the “For Review” list):新 issue 和未解決的 issue 通常是您想知道的,但它們會產(chǎn)生很多噪音。Sentry 問題列表中的 “For Review” 選項卡會顯示這些問題,因此您可以使用電子郵件和集成來發(fā)出更高緊急性的警報,同時確保這些低緊急性問題不會被忽視。我們建議每天查看一次 “For Review” 列表。此列表顯示:
- 新 Issue
- 回歸(issue 從 “Resolved”->“Unresolved” 更改狀態(tài))
- 滿足忽略條件的 issue(issue 狀態(tài)從 Ignored -> Unresolved)
已忽略 Issue
您可以忽略 issue 以減少噪音,但是,當(dāng)滿足警報條件時,忽略的問題不會觸發(fā)警報;它們反而變成 unresolved 并出現(xiàn)在“For Review”列表中。因此,如果您擔(dān)心遺漏這些問題,請使用 An issue changes state from ignore to unresolved 觸發(fā)器創(chuàng)建問題警報。
路由
問題所有者(Issue owners) :使用 issue owners 讓 Sentry 自動向合適的人發(fā)送警報,并減輕配置負擔(dān)。您可以在 [項目] > 設(shè)置 > 問題所有者( [Project] > Settings > Issue Owners) 中配置所有權(quán)規(guī)則。當(dāng)沒有匹配的所有者時,警報默認(rèn)發(fā)送給所有項目成員。如果這太寬泛,并且您希望特定所有者作為后備,請以 *:
不同優(yōu)先級的發(fā)送方式(Delivery methods for different priorities) :使用不同的發(fā)送方式來區(qū)分不同優(yōu)先級的告警。例如,您可以像這樣從最高優(yōu)先級路由到最低優(yōu)先級:
- 高優(yōu)先級:頁面(PagerDuty 或 OpsGenie)
- 中等優(yōu)先級:聊天應(yīng)用(Slack)
- 低優(yōu)先級:Email
問題列表中的 “For Review” 選項卡是您可以在不接收任何警報的情況下檢查優(yōu)先級最低的問題的位置。
構(gòu)建集成:如果您想將警報通知路由到 Sentry 還沒有開箱即用集成的解決方案,您可以使用 Integration Platform。創(chuàng)建集成時,它將在 alert actions 菜單中可用。您可能希望將自己的集成用于:
向原生不支持的集成發(fā)送警報
聚合來自不同監(jiān)控系統(tǒng)的警報
在 webhook 處理程序中編寫自定義規(guī)則以更智能地路由警報
通知
Sentry 向您發(fā)送有關(guān)工作流活動、發(fā)布部署和配額使用情況的通知,以及每周報告。這些通知讓您了解:
工作流(Workflow):涉及用戶操作和 issue 狀態(tài)更改的活動。這包括 issue 解決、分配、評論和回歸等活動。
部署(Deploy):當(dāng)您提交的版本被部署時。
配額(Quota):接近配額、超出配額和尖峰保護。
每周報告(Weekly Reports):您組織的 Sentry 活動摘要。
您可以在 用戶設(shè)置 > 通知(User Settings > Notifications) 中管理這些通知。
工作流通知
Sentry 發(fā)送工作流通知,讓您了解 issue 狀態(tài)更改。工作流與幫助您管理問題的動作相關(guān),例如更改 issue 的狀態(tài)或?qū)ζ浒l(fā)表評論。默認(rèn)情況下,Sentry 通過電子郵件將這些通知發(fā)送給訂閱該問題的成員(有關(guān)如何確定訂閱,請參見下文)。發(fā)送工作流通知:
- 問題已解決(Issue Resolved):當(dāng)您的代碼中發(fā)現(xiàn)新 issue 時,它處于 Unresolved 狀態(tài)。當(dāng)項目團隊成員通過在 sentry.io 中手動更改其狀態(tài)或提交修復(fù)程序或由于項目的自動解決功能(如果已配置)解決 issue 時,issue 狀態(tài)將更改為已解決。
- 回歸(Regressions):當(dāng) issue 的狀態(tài)從 “Resolved” 變回 “Unresolved” 時,就會發(fā)生回歸。將向所有項目團隊成員發(fā)送一封電子郵件。
- 評論(Comments):當(dāng)團隊成員在 issue 詳細信息頁面的 “Activity” 選項卡中添加新評論時。
- 分配(Assignment):當(dāng)一個問題被分配或未分配時。
- 用戶反饋(User Feedback):當(dāng)一個 issue 有新的用戶反饋時。
- 事件處理問題(Event Processing Problems):當(dāng)您發(fā)送給 Sentry 的錯誤事件處理出現(xiàn)問題時。
當(dāng)您訂閱 issue 時,您會收到工作流通知,并且您通過以下方式訂閱問題:
- 單擊 issue 上的訂閱鈴鐺(subscribe bell)圖標(biāo)
- 參與與 issue 相關(guān)的提交
- 對 issue 發(fā)表評論或添加書簽
- 在 issue 中提及您或您的團隊
- 您或您的團隊被分配到該 issue
這些通知可能與為項目配置的警報有一些重疊。
部署通知
Sentry 向已提交已部署版本的用戶發(fā)送部署通知。在部署文檔中了解更多信息。
https://docs.sentry.io/product/releases/setup/#notify-sentry
配額通知
在以下情況下,Sentry 會向組織的所有所有者發(fā)送配額通知:
- 組織的 80% 的錯誤、事務(wù)和附件量已耗盡。
- 錯誤或事務(wù)超過了組織的配額,其中包括按需容量
您無法更改或禁用這些通知。在完整的配額文檔中了解更多信息。
- https://docs.sentry.io/product/accounts/quotas/
每周報告
Sentry 每周一通過電子郵件發(fā)送每周報告。報告包含您組織在上周的 Sentry 活動摘要。
個人通知設(shè)置
您可以在您的帳戶設(shè)置中調(diào)整您的個人工作流程并部署通知以及您的個人 issue 警報設(shè)置。通過導(dǎo)航到 用戶設(shè)置 > 通知(User Settings > Notifications) 來管理您的通知。您無法配置配額通知。
警報
此設(shè)置不會影響配置為明確發(fā)送到您的電子郵件的警報。
在通知中,您可以全局打開和關(guān)閉 issue 警報通知。
您還可以通過選擇 “Default” 、“On” 或 “Off” 來對每個項目的警報通知進行微調(diào)。如果您選擇 “Default”,項目的設(shè)置將與您的全局設(shè)置相同。
交付方式
您可以通過從以下選項中進行選擇來決定在何處接收個人警報通知:
- 發(fā)送到 Email
- 發(fā)送到 Slack
- 發(fā)送到 Email 和 Slack
如果您的組織安裝了 integration 并且您的 Slack 身份已鏈接到您的 Sentry 帳戶,則 Slack 僅可用作交付方式。
- https://docs.sentry.io/product/integrations/notification-incidents/slack/#linking-your-slack-and-sentry-accounts
工作流
工作流通知的全局設(shè)置是:
- Always(總是)
- Only On Issues I Subscribe To(僅在我訂閱的問題上)
- Never(從不)
您可以通過選擇以上三個選項之一或 “Default” 來針對每個項目微調(diào)您的工作流程通知。如果您選擇 “Default”,項目的設(shè)置將與您的全局設(shè)置相同。
交付方式
您可以通過從以下選項中進行選擇來決定在何處接收個人工作流通知:
- 發(fā)送到 Email
- 發(fā)送到 Slack
- 發(fā)送到 Email 和 Slack
如果您的組織安裝了集成并且您的 Slack 身份已鏈接到您的 Sentry 帳戶,則 Slack 僅可用作交付方式。
取消訂閱
要退出特定問題的工作流通知,請單擊問題頁面頂部的訂閱鈴鐺圖標(biāo)。
Email 路由
電子郵件路由控制每個項目的通知發(fā)送到的電子郵件地址。這些通知默認(rèn)為您在設(shè)置 Sentry 帳戶時提供的電子郵件地址。此設(shè)置允許您基于每個項目將電子郵件路由到備用電子郵件地址。
每周報告
報告包含您組織在上周的 Sentry 活動摘要。您可以通過為每個組織打開或關(guān)閉報告來微調(diào)您的每周報告。
部署
部署通知的全局設(shè)置是:
- On
- Only On Deploys With My Commits(僅在我提交的部署上)
- Off
您可以通過選擇上述三個選項之一或 “Default” 來對每個組織的部署通知進行微調(diào)。如果您選擇 “Default”,組織的設(shè)置將與您的全局設(shè)置相同。
交付方式
您可以通過從以下選項中進行選擇來決定在何處接收個人工作流通知:
- 發(fā)送到 Email
- 發(fā)送到 Slack
- 發(fā)送到 Email 和 Slack
如果您的組織安裝了集成并且您的 Slack 身份已鏈接到您的 Sentry 帳戶,則 Slack 僅可用作交付方式。
我的活動
使用切換開關(guān)來控制您是否收到有關(guān)以下內(nèi)容的通知:
- 您在使用 sentry.io 時的動作
- 您已解決的無人認(rèn)領(lǐng) issue 的任何更改