Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sentry 搭建 #4

Open
negativeentropy9 opened this issue Sep 7, 2018 · 0 comments
Open

sentry 搭建 #4

negativeentropy9 opened this issue Sep 7, 2018 · 0 comments
Labels
Projects

Comments

@negativeentropy9
Copy link
Owner

negativeentropy9 commented Sep 7, 2018

本文讲解 mac 下 使用 docker-compose 搭建 sentry 日志收集平台

安装 docker

$ brew cask install docker

sentry 镜像 安装

  • 克隆 sentry 镜像
    $ git clone https://github.com/getsentry/onpremise.git
    可以参考目录下的 README.md 方式安装
    $ cd onpremise
    $ mkdir -p data/{sentry,postgres}

  • 生成 secret
    $ docker-compose run --rm web config generate-secret-key

  • 把生成的 secret key 拷贝到 docker-compose.yaml 下的 SENTRY_SECRET_KEY 中
    $ docker-compose build

  • 初始化数据库 & 添加 superuser
    $ docker-compose run --rm web upgrade

  • 开启
    $ docker-comose up -d

  • 配置成功后重启一下 docker
    $ docker-compose down && docker-compose up -d

sentry-cli 安装 与 使用

  • npm 安装
    $ npm i -g @sentry/cli
    或者
    $ npm i sentry-cli-binary -g

  • 生成token
    点击头像左下角,选择API,生成token,勾选project:write权限

  • 登陆
    $ sentry-cli --url https://myserver/ login

  • 新建 release
    $ sentry-cli releases -o 组织 -p 项目 new staging@1.0.0

客户端 raven 使用

  • 安装raven-js
    $ npm install raven-js --save

sourcemap

上传

$ sentry-cli releases -o 组织名称 -p 项目名称 files release名称 upload-sourcemaps --url-prefix URL_PREFIX DIR

webpack 上传

文档

动态生成 release 名称

let gitSha = require('child_process').execSync('git rev-parse HEAD').toString().trim()
sentry raven-js release参数 被迫自动截取前7位 所以此处也应与其统一
gitSha = gitSha.substr(0, 7)
process.env.GIT_SHA = gitSha

ps

记得修改 baseSentryURL 为本地服务器地址

FAQ

Q: 没有权限新建 project
A: 说明你的用户不是 superuser,需要重新创建,在这里可以 wipe postgres volume.
$ docker-compose down
$ docker volume ls
$ docker volume rm <postpres volume>

遗留问题

邮件不能发送

sso 未配置好

在这里我只能说 sentry 里的 sso 文档简直 傻到爆,根本没有什么有用的说明。

暂时看到的是 组织面板 的 auth 一直都是 No authentication providers are available,做了如下尝试:

遇到问题:$ pip install https://github.com/getsentry/sentry-auth-saml2/archive/master.zip 根本安装不成功,报错如下

Failed building wheel for xmlsec Running setup.py clean for xmlsec Successfully built sentry-auth-saml2 Failed to build xmlsec Installing collected packages: xmlsec, defusedxml, python3-saml, sentry-auth-saml2 Running setup.py install for xmlsec ... error Complete output from command /usr/local/opt/python@2/bin/python2.7 -u -c "import setuptools, tokenize;__file__='/private/var/folders/0f/s_pfd7f51jx7_l0khnrlbgdr0000gp/T/pip-install-hE0Z8U/xmlsec/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /private/var/folders/0f/s_pfd7f51jx7_l0khnrlbgdr0000gp/T/pip-record-0Ost1y/install-record.txt --single-version-externally-managed --compile: running install running build running build_ext Could not find xmlsec1 config. Are libxmlsec1-dev and pkg-config installed? Perhaps try: xcode-select --install Command "/usr/local/opt/python@2/bin/python2.7 -u -c "import setuptools, tokenize;__file__='/private/var/folders/0f/s_pfd7f51jx7_l0khnrlbgdr0000gp/T/pip-install-hE0Z8U/xmlsec/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /private/var/folders/0f/s_pfd7f51jx7_l0khnrlbgdr0000gp/T/pip-record-0Ost1y/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/var/folders/0f/s_pfd7f51jx7_l0khnrlbgdr0000gp/T/pip-install-hE0Z8U/xmlsec/

就解决上面这个 sso 问题 花费 5小时+,关键是还没有解决,现在已是凌晨3点21分,讲真,pip 好难用,文档真心不清楚。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
javascript
Awaiting triage
Development

No branches or pull requests

1 participant