天天看點

Sentry 監控 - Snuba 資料中台本地開發環境配置實戰

1 分鐘快速使用 Docker 上手最新版 Sentry-CLI - 建立版本

快速使用 Docker 上手 Sentry-CLI - 30 秒上手 Source Maps

Sentry For React 完整接入詳解

Sentry For Vue 完整接入詳解

Sentry-CLI 使用詳解

Sentry Web 性能監控 - Web Vitals

Sentry Web 性能監控 - Metrics

Sentry Web 性能監控 - Trends

Sentry Web 前端監控 - 最佳實踐(官方教程)

Sentry 後端監控 - 最佳實踐(官方教程)

Sentry 監控 - Discover 大資料查詢分析引擎

Sentry 監控 - Dashboards 資料可視化大屏

Sentry 監控 - Environments 區分不同部署環境的事件資料

Sentry 監控 - Security Policy 安全政策報告

Sentry 監控 - Search 搜尋查詢實戰

Sentry 監控 - Alerts 告警

Sentry 監控 - Distributed Tracing 分布式跟蹤

Sentry 監控 - 面向全棧開發人員的分布式跟蹤 101 系列教程(一)

Sentry 監控 - Snuba 資料中台架構簡介(Kafka+Clickhouse)

Sentry 監控 - Snuba 資料中台架構(Data Model 簡介)

Sentry 監控 - Snuba 資料中台架構(Query Processing 簡介)

Sentry 官方 JavaScript SDK 簡介與調試指南

Sentry 監控 - Snuba 資料中台架構(編寫和測試 Snuba 查詢)

Sentry 監控 - Snuba 資料中台架構(SnQL 查詢語言簡介)

分别克隆 <code>getsentry/sentry</code> 與 <code>getsentry/snuba</code>:

進入 <code>sentry</code> 檔案夾,你會看到一個 <code>Brewfile</code> 檔案:

<code>Brewfile</code>

如果你本地已經安裝了 <code>Docker Desktop</code> 并且已經啟動,可以把 <code>cask 'docker'</code> 注釋掉。

接下來,運作:

如果你之前本地沒有 <code>Docker Desktop</code>,則還需要手動啟動一下它:

<code>Sentry</code> 依賴于 <code>Python Wheels</code>(包含二進制擴充子產品的包),官方為以下平台分發:

<code>Linux</code> 相容 <code>PEP-513</code> (<code>manylinux1</code>)

<code>macOS 10.15</code> 或更高版本

如果您的開發機器沒有運作上述系統之一,則需要安裝 <code>Rust</code> 工具鍊。 按照 <code>https://www.rust-lang.org/tools/install</code> 上的說明安裝編譯器和相關工具。安裝後,<code>Sentry</code> 安裝程式将自動使用 <code>Rust</code> 建構所有二進制子產品,無需額外配置。

官方通常會跟蹤最新的穩定 <code>Rust</code> 版本,該版本每六周更新一次。 是以,請確定通過偶爾運作來使您的 <code>Rust</code> 工具鍊保持最新:

Sentry 使用 pyenv 來安裝和管理 <code>Python</code> 版本。 它是在您運作 <code>brew bundle</code> 時安裝的。

要安裝所需版本的 <code>Python</code>,您需要運作以下指令。 這将需要一段時間,因為您的計算機實際上正在編譯 <code>Python</code>!

這裡假設你是 <code>Zsh</code> 使用者。

如果您鍵入 <code>which python</code>,您應該看到類似 <code>$HOME/.pyenv/shims/python</code> 而不是 <code>/usr/bin/python</code> 的内容。這是因為以下内容已添加到您的啟動腳本中:

<code>cat ~/.zprofile</code>,你會看到如下内容:

您現在已準備好建立 <code>Python</code> 虛拟環境。運作:

并激活虛拟環境:

如果一切正常,運作 <code>which python</code> 現在應該會導緻類似 <code>/Users/you/sentry/.venv/bin/python</code> 的結果。

這将在 <code>master</code> 上擷取最新版本的 <code>Sentry</code>,并調出所有 <code>snuba</code> 的依賴項。

<code>Snuba</code> 主要依賴 <code>clickhouse</code>,<code>zookeeper</code>,<code>kafka</code>,<code>redis</code> 相關容器。

<code>docker ps</code> 檢視一下:

進入 <code>Clickhouse</code> 容器:

此指令将啟動 <code>api</code> 和所有 <code>Snuba</code> 消費者以從 <code>Kafka</code> 攝取資料:

轉到 <code>http://localhost:1218/events/snql</code>,你将會看到一個簡易的查詢 <code>UI</code>。