银河麒麟部署自托管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的错误:

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

相关推荐
我就是马云飞4 天前
大专毕业两年,我如何进入大厂,并逆袭八年的技术与认知成长
前端·程序员·全栈
前端双越老师4 天前
为什么说 OpenClaw 应该装在自己的电脑上
人工智能·agent·全栈
程序员飞哥5 天前
到底Java 适不适合做 AI 呢?
后端·程序员·全栈
得物技术5 天前
基于 Cursor Agent 的流水线 AI CR 实践|得物技术
前端·程序员·全栈
问道飞鱼9 天前
【技术方案】面向 Web 系统的《全栈灰度部署方案设计》
前端·全栈·灰度发布
前端缘梦9 天前
Next.js 实现AI流式输出(打字机效果)
前端·面试·全栈
前端双越老师10 天前
OpenClaw小龙虾新手使用记录
agent·全栈
DanCheOo10 天前
流式输出:让 AI 回复像 ChatGPT 一样打字机效果
前端·全栈
DanCheOo11 天前
我写了一个 AI Commit Message 生成器,再也不用想怎么写 git commit 了
git·全栈