银河麒麟部署自托管Sentry流程及问题记录(暂未成功)

Sentry

是什么?

Sentry 是一个开源的应用错误监控(Error Tracking)系统。它的主要功能是:

  • 自动捕获应用中的错误(比如 JavaScript 报错、Python 异常、Java 崩溃等)。
  • 记录错误的堆栈信息、发生时间、用户信息、浏览器/操作系统等上下文。
  • 提供 Web 界面便于查看、分类、排查错误。
  • 支持告警(比如通过邮件、Slack 通知严重错误)。

简单说,它就像一个"监控摄像头",专门盯着应用有没有出错。

怎么用?

官方文档:develop.sentry.dev/getting-sta...

  1. 部署 Sentry 服务

    方式 说明
    Sentry 官方 托管在 Sentry 官方服务器,开箱即用,按用量付费。
    自托管 部署在自己的服务器上,数据完全自主可控,长期使用更经济。
  2. 项目中集成 Sentry SDK

部署自托管 Sentry

本文使用 Docker Compose 进行部署

流程

流程很简单,但是中间的问题一个接一个。。。

  1. 安装 Docker、Docker Compose

  2. 克隆自托管仓库

    bash 复制代码
    VERSION=$(curl -Ls -o /dev/null -w %{url_effective} https://github.com/getsentry/self-hosted/releases/latest)
    VERSION=${VERSION##*/}
    git clone https://github.com/getsentry/self-hosted.git
    cd self-hosted
    git checkout ${VERSION}

    ⚠️ 上述是官方给的流程,根据上述流程切分支后发现 docker-compose.yml 中缺少 Web 项后续会报错,所以直接 clone 仓库后用 master 分支就行。

  3. 运行安装脚本./install.sh (问题集中在此,并未完全解决完)

  4. 启动 Sentry 服务

    bash 复制代码
     docker compose up --wait

    👉 启动成功后,打开浏览器访问:http://127.0.0.1:9000

遇到的问题

  1. ❌ 拉取镜像超时 ✅ 在/etc/docker/daemon.json中配置镜像源

    json 复制代码
    "registry-mirrors": [
        "https://docker.1ms.run",
        "https://docker-0.unsee.tech"
    ]
  2. ❌ (未彻底解决,如果有朋友知道如何解决,求分享)

    ⚠️ 这里应该是有两个问题:

    1. apt-utils is not installed
    2. dpkg: error: need an action option
    • 针对第一个问题,修改jq/Dockerfile文件:

      Dockerfile 复制代码
      FROM debian:bookworm-slim
      LABEL MAINTAINER="oss@sentry.io"
      RUN apt-get update
      RUN apt-get install -y apt-utils
      RUN set -x \
          && apt-get update \
          && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends jq \
          && apt-get clean \
          && rm -rf /var/lib/apt/lists/*
      ENTRYPOINT ["jq"]

      ❓ 但是这个问题应该不会导致报错,并且该提示出现过多次,最开始通过修改上述代码解决了,但后续仍会出现这个提示,所以对该方案是否能解决问题存疑。

    • 针对第二个问题,docker builder prune

      ❓ 这个问题在第一次通过清除缓存解决了,但后续依然出现,目前也是卡在这个问题上,清除缓存失效,所以依旧存疑。

  3. ❌ 镜像拉取失败 ✅ 最开始没有统一配镜像源,遇到拉取失败手动安装,这也导致了下一个问题的出现。

  4. ❌ 架构不匹配 我的CPU是ZHAOXIN kaixian KX-7000对应于X86(也称为X64架构),而我最开始下载了arm64版本。

  5. ❌ Github 上 Python 包安装失败 ✅ 修改sentry/Dockerfile

    Dockerfile 复制代码
    ARG SENTRY_IMAGE
    FROM ${SENTRY_IMAGE}
    
    
    RUN pip install https://gh.llkk.cc/https://github.com/stayallive/sentry-nodestore-s3/archive/main.zip
    
    COPY . /usr/src/sentry
    
    RUN if [ -s /usr/src/sentry/enhance-image.sh ]; then \
        /usr/src/sentry/enhance-image.sh; \
        fi
        
    RUN if [ -s /usr/src/sentry/requirements.txt ]; then \
        echo "sentry/requirements.txt is deprecated, use sentry/enhance-image.sh - see https://develop.sentry.dev/self-hosted/#enhance-sentry-image"; \
        pip install -r /usr/src/sentry/requirements.txt; \
        fi
  6. ❌ 镜像源拉取失败 ✅ 尝试了几个镜像仓库拉取失败,手动拉取clickhouse-server:25.3.6.10034.altinitystable

  7. ❌ 权限问题 + 参数列表过长

    • 针对权限问题,尝试了添加在上述目录中添加USER:0,不生效;尝试将cronsentry目录下的entrypoint.sh文件中权限相关代码注释:

      sh 复制代码
      #if [ "$(ls -A /usr/local/share/ca-certificates/)" ]; then
      #    update-ca-certificates
      #fi

      解决权限问题后,又出现问题2中的dpkg问题。

    • ❓ 针对参数列表过长问题,尝试清除缓存,重新安装,但未成功,并且卡在了最开始的步骤,一直报问题2的错误:

准备重新拉仓库下来尝试一下,网上搜到的教程都很丝滑,我这儿实在是困难重重啊,有经验的小伙伴求分享!

相关推荐
码云之上7 小时前
让聊天机器人学会工作方法,星悟接 Agent Skills 的实践
人工智能·架构·全栈
法欧特斯卡雷特1 天前
Kotlin 2.4.20 现已发布,新特性多不多?
android·开源·全栈
大牧师1 天前
MySQL 学习教程
数据库·sql·mysql·docker·node·全栈·后端数据
回家吃饭去吧1 天前
生产级 LLM 应用可观测性与治理:Tracing、成本、质量、安全与降级
全栈
行者全栈架构师3 天前
WorkBuddy 实战:把一份 200 页年报变成可上台的投资分析 PPT
人工智能·算法·全栈
古夕5 天前
my-first-ai-web_学习记录05——NextAuth Adapter 存储用户信息
typescript·全栈·next.js
wangfpp5 天前
原生NodeJS维护Agent Memory实践
后端·agent·全栈
Aolith6 天前
我在React全栈项目中搭建了一个完整题库
数据库·react.js·全栈
SL_staff7 天前
风控规则不该写代码:一个开发者视角的规则引擎实践拆解
java·架构·全栈
Darling噜啦啦8 天前
前端到上线全流程:从买服务器到 Nginx 反向代理,搞懂全栈部署
nginx·全栈