天天看点

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>。