Sentry 監控 - Search 搜索查詢實戰


系列

公眾號:黑客下午茶

目錄

  • 語法
    • 使用 ORAND
    • 同一個 Key 上的多個值
    • 顯式 Tag 語法
    • 高級
      • 排除
      • 通配符(*)
  • 可搜索的屬性
    • Issue 屬性
    • Event 屬性
    • 自定義 Tag
  • 已保存搜索
    • 推薦搜索
    • 固定搜索
      • 更改固定搜索
      • 固定推薦搜索
    • 組織范圍內保存的搜索
      • 創建組織范圍的已保存搜索
      • 刪除組織范圍內已保存的搜索

語法

搜索查詢是使用 key:value 模式構建的,最后是可選的原始搜索。 每個 key:value 都是一個 token,可選的原始搜索本身就是一個 tokenkey:valuetokens 被視為 issueevent 屬性。 可選的原始搜索被視為單個 token 並搜索事件標題/消息(title/message)

例如:

is:resolved user.username:"Jane Doe" server:web-8 example error

在上面的例子中,有三個 keyis:, user.username:, server:),但是有四個 token

  • is:resolved
  • user.username:"Jane Doe"
  • server:web-8
  • example error

Token is:resolveduser.username:"Jane Doe" 是標准搜索 token,因為兩者都使用保留關鍵字。 有關適當的關鍵字用法,請參閱 Issue 屬性和 Event 屬性。token server:web-8 指向 Sentry SDK 發送的自定義 tag

token 示例錯誤使用可選的原始搜索並作為 issue 搜索查詢的一部分傳遞(使用類似於 SQLCONTAINS 匹配)。 使用可選的原始搜索時,您可以提供一個字符串,查詢將使用整個字符串。

使用 ORAND

ORAND 搜索條件僅適用於 DiscoverPerformanceMetric Alerts

Token 之間使用 ORAND,並使用括號 () 對條件進行分組。AND 也可用於非聚合(non-aggregate)和聚合(aggregate)之間。但是,OR 不能。

  • 非聚合基於特定標簽或屬性過濾數據。例如,user.username:jane 是一個非聚合字段。
  • 在數字尺度(numerical scales)上聚合過濾數據。例如,count() 是一個聚合函數,而 count():>100 是一個聚合過濾器。

使用 OR 條件的一些示例:

# 一個有效的 `OR` 查詢
browser:Chrome OR browser:Opera

# 一個無效的 `OR` 查詢
user.username:janedoe OR count():>100

此外,查詢優先於 OR 之前的 AND。例如,“x AND y OR z” 與 “(x AND y) OR z” 相同。 括號可用於更改分組。例如,“x AND (y OR z)”。

同一個 Key 上的多個值

您可以通過將值放在列表中來搜索同一 key 的多個值。例如,“x:[value1, value2]” 將找到與 “x:value1 OR x:value2” 相同的結果。執行此操作時,搜索將返回與任何搜索詞匹配的問題/事件(issue/event)

使用值列表搜索相同 key 的示例:

release:[12.0, 13.0]

目前,您不能對關鍵字 is 使用這種類型的搜索。

顯式 Tag 語法

我們建議您永遠不要使用保留關鍵字(例如 project_id)作為 tag。但如果這樣做,則必須使用以下語法進行搜索:

tags[project_id]:tag_value

高級

排除

默認情況下,搜索詞使用 AND 運算符;也就是說,它們返回與所有搜索詞匹配的問題/事件(issues/events)的交集。

要改變這一點,您可以使用否定運算符 ! 排除搜索參數。

is:unresolved !user.email:example@customer.com

在上面的示例中,搜索查詢返回所有未解決且未影響電子郵件地址為 example@customer.com 的用戶的 Issues

通配符(*)

搜索支持通配符 * 作為特定字符和字符串的占位符。

browser:"Safari 11*"

在上面的示例中,搜索查詢將匹配 browser 值,例如 “Safari 11.0.2”“Safari 11.0.3” 等。

你也可以像這樣組合運算符:

!message:"*Timeout"

在上面的示例中,搜索查詢返回的結果沒有的 message 值,如 ConnectionTimeoutReadTimeout 等。

可搜索的屬性

Sentry 的搜索為您提供了保留關鍵字,例如 isuserserverbrowser,您可以使用它們來搜索 issueevent 的屬性。您還可以創建要搜索的自定義標簽。以下是所有可用問題和事件搜索詞的規范列表。

Issue 屬性

Issue 是一個或多個事件的集合。可搜索的屬性包括工作流狀態(workflow status)、分配(assignment)、聚合計數(aggregate counts)和年齡(age)。

以下是 Sentry 保留和已知的 issue 級的 keytoken 列表:

Key/Token 描述
age 限制結果自 age 以來產生的 issue。語法類似於 Unix find 命令。支持后綴: m -> minutes, h -> hours, d -> days, w -> weeks
age:-24h 返回過去 24 小時內的新 issue
age:+12h 返回超過 12 小時的 issue
age:+12h age:-24h 返回超過 1224 小時之前創建的 issue
assigned 篩選 issue 分配給的用戶。值可以是 user ID(您的 email 地址)、me 代表您自己、me_or_none 代表您自己或沒有受理人,或者 #team-name
assigned_or_suggested 過濾 assignedsuggested 分配問題的用戶或團隊。 建議的受理人由匹配的所有權規則(ownership rules)可疑提交(suspect commits)確定。值可以是 user ID(您的 email 地址)、me 代表您自己、me_or_none 代表您自己或沒有受理人/建議,或者 #team-name
bookmarks 過濾為 issue 添加書簽的用戶。值可以是 user ID(您的 email 地址) 或 me 代表您自己。
first-release 將結果限制為在給定版本中首次出現的 issue。與發布版本完全匹配,或 first-release:latest 選擇最新版本。
has 將結果限制為具有任何 tag 值的 issue
has:user 將結果限制為具有標記 user 值的 issue
is 篩選 issue 的各種屬性。
is:unresolved
is:resolved
is:ignored
根據 issue 的狀態進行篩選。
is:assigned
is:unassigned
根據是否已分配 issue 返回 issue
is:linked
is:unlinked
根據 issue 是否鏈接(到外部 issue 跟蹤器)返回 issue
lastSeen 將結果限制為自(since)或直到(until)給定時間點最后出現的問題。 用法類似於 age token(見上文)。
lastSeen:+30d 返回 issue 最近一次出現在 30 天前或更久之前。
lastSeen:-2d 返回最近兩天內出現的 issue
timesSeen 將結果限制在精確地、至少或最多某些次數的 issue 上。
完全匹配:timesSeen:10
上限或下限 tokentimesSeen:>10, timesSeen:>=10, timesSeen:<10, timesSeen:<=10

Event 屬性

Events 是使用 Sentry SDK 捕獲的底層事件數據(read: errorstransactions)。

“Issues” 頁面中搜索事件屬性時,搜索將返回具有與提供的事件過濾器匹配的一個或多個事件的任何 issue

以下是 Sentry 保留和已知的事件級(event-level) keytoken 列表:

Key/Token 描述
location 將結果限制為具有匹配 location 的事件。
message 將結果限制為具有匹配 message 的事件。
environment 將結果限制為用匹配 environment 標記的事件。
release 將結果限制為帶有匹配版本標記的事件。 您可以創建一個與發布版本完全匹配的 token,或者 release:latest 選擇最新的版本。
release.package
release.version
release.build
將結果限制為用匹配語義版本標記的事件。支持范圍和通配符(*)。
release.stage 將結果限制為帶有匹配發布階段標記的 release
transaction 將結果限制為標有 URL template/job 名稱的事件。
geo.country_code
geo.region geo.city
將結果限制為由地理區域觸發的事件。
http.method
http.referer
http.url
根據 HTTP 請求上下文限制結果。
user.id user.email
user.username
user.ip
將結果限制為影響給定用戶的事件。
event.timestamp 將結果限制為發生在給定時間戳的事件。 該過濾器可以通過兩次以提供一個范圍。
2016 年 1 月 2 日發生的事件:event.timestamp:2016-01-02
01:0002:00 (UTC) 之間的事件:event.timestamp:>=2016-01-02T01:00:00 event.timestamp:<2016-01-02T02:00:00
可以使用以下比較運算符:大於(>)、大於或等於(>=)、小於(<)、小於或等於(<=)
device.arch
device.battery_level
device.brand
device.charging
device.locale
device.model_id
device.name
device.online
device.orientation
device.simulator
device.uuid
將結果限制為用特定設備屬性標記的事件。
os.build
os.kernel_version
將結果限制為用特定操作系統屬性標記的事件。
stack.abs_path
stack.filename
stack.function
stack.module
stack.package
stack.stack_level
stack.lineno
將結果限制為具有匹配堆棧屬性的事件。
對於 Native SDK 用戶,stack.packagestack.moduleNative 等價項。
error.type
error.value
error.mechanism
error.handled
將結果限制為具有匹配錯誤屬性的事件。

自定義 Tag

此外,您可以使用您指定為 token 的任何 tag。標簽是分配給事件的各種 key/value 對,您可以稍后將它們用作細分或快速訪問以查找相關事件。

大多數 SDK 通常支持通過配置 scope 來配置 tag

標簽的幾種常見用途包括:

  • 服務器的 hostname
  • 您的平台版本(例如,iOS 5.0
  • 用戶的 language

已保存搜索

Issues“Saved Searches” 選項卡中,您可以訪問推薦的搜索、固定您認為最有用的搜索並利用組織范圍內的已保存搜索。

推薦搜索

推薦搜索是我們認為您可能會使用的常見搜索詞。這些預先進行的搜索列在“已保存搜索(Saved Searches)”下拉列表中的“推薦搜索(Recommended Searches)”下,並按您最近使用它們的時間順序列出。

固定搜索

您可以固定搜索,它將成為您在 Issues 頁面上看到的默認視圖。固定搜索僅對您可見,並且與您的項目相關。

  1. 在搜索欄中鍵入搜索詞。
  2. 單擊該搜索旁邊的圖釘圖標。
  3. 固定后,Sentry 會將搜索添加到 “Saved Searches” 下拉列表中。文本中的搜索標簽將顯示為“我的固定搜索(My Pinned Search)”

更改固定搜索

要更改您的固定搜索:

  1. 選擇您的固定搜索。取消單擊圖釘圖標。您的默認搜索將返回到 is:unresolved
  2. 運行另一個搜索。單擊圖釘圖標。列為“我的固定搜索(My Pinned Search)”的查詢現在將成為新的固定查詢,取代原來的查詢。

固定推薦搜索

您可以像固定任何其他搜索一樣固定推薦的搜索。當您選擇了推薦的搜索,並且推薦的搜索查詢會填充搜索欄時,請將其固定。

組織范圍內保存的搜索

創建組織范圍的已保存搜索

Ownermanager 可以通過創建自定義保存搜索為其組織創建持久視圖。這些保存的搜索不與特定項目相關聯,而是與整個組織的所有項目(和用戶)相關聯。

  1. 在搜索欄中鍵入搜索,單擊操作菜單(三個點)。選擇“創建保存的搜索(Create Saved Search)”

  1. 在打開的 modal 中,為搜索命名並設置 issues 列表的排序順序。您還可以在此處更新查詢。然后點擊 “Save”

  1. 然后該視圖將成為 “Saved Search” 下拉列表的一部分。

刪除組織范圍內已保存的搜索

此操作僅適用於組織 ownermanager

當您將鼠標懸停在自定義保存的搜索(saved search)上時,搜索名稱旁邊會顯示垃圾桶圖標。單擊垃圾桶圖標以從下拉列表中刪除自定義保存的搜索。

公眾號:黑客下午茶


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM