zoukankan      html  css  js  c++  java
  • Sentry异常捕获平台

    本文包括Sentry平台的介绍,以及环境搭建两部分,更多细节请查阅官方文档。

    简介

    Sentry是一个实时事件的日志聚合平台。它专门监测错误并提取所有有用信息用于分析,不再麻烦地依赖用户反馈来定位问题。

    Sentry发展多年,几乎没有同类产品可与其媲美。它能覆盖大部分的主流编程语言与框架,很适合应用到实际生产环境中采集异常日志。

    最近我在设计持续交付流程过程时,公司一位前辈提到这个工具与用法。简单搭建并使用之后,基本确定在CD的灰度发布环节应用Sentry:若在灰度过程中获取到异常则触发灰度结束,将可能出现的异常由
    “上线-客户发现问题- 反馈问题-运维手动回滚”
    变为
    “灰度-Sentry捕获异常-自动停止灰度”,杜绝了回滚带来的不好形象,同时也能缩短问题发现的周期。

    环境搭建

    Sentry可以使用Python2.7搭建,也可以利用Docker直接部署。考虑到目前大部分用户已经使用Python3,直接安装Sentry可能弄乱Python环境,因此强烈推荐使用Docker搭建Sentry环境

    以下是Docker搭建Sentry平台的步骤,请保证每一步执行完成:

    1. 启动一个 Redis 容器:
    $ docker run -d --name sentry-redis redis
    
    1. 启动一个 Postgres 容器
    $ docker run -d --name sentry-postgres -e POSTGRES_PASSWORD=secret -e POSTGRES_USER=sentry postgres
    
    1. 生成一个密钥,用于在后面所有sentry容器之间握手。请记住这串密钥,在后面的docker命令中,密钥需要以环境变量形式传入。
    $ docker run --rm sentry config generate-secret-key
    
    1. 连接Redis、Postgres和Sentry,运行后会自动执行初始化操作:
    $ docker run -it --rm -e SENTRY_SECRET_KEY='<secret-key>' --link sentry-postgres:postgres --link sentry-redis:redis sentry upgrade
    
    1. 启动 Sentry Server,同时添加端口映射。Sentry的端口为9000,可以使用 -p 9000:9000 参数,在启动后可以通过访问http://localhost:9000http://host-ip:9000进入Sentry的web管理页面:
    $ docker run -d --name my-sentry -p 9000:9000 -e SENTRY_SECRET_KEY='<secret-key>' --link sentry-redis:redis --link sentry-postgres:postgres sentry
    
    1. 默认配置中需要Celery,因此启动一个Celery 主节点与执行节点(worker节点可按需多启几个):
    $ docker run -d --name sentry-cron -e SENTRY_SECRET_KEY='<secret-key>' --link sentry-postgres:postgres --link sentry-redis:redis sentry run cron
    
    $ docker run -d --name sentry-worker-1 -e SENTRY_SECRET_KEY='<secret-key>' --link sentry-postgres:postgres --link sentry-redis:redis sentry run worker
    

    Sentry配置

    进入Web管理页面后,按照提示配置管理员账号密码与其他信息。注意:URL填写你所访问的地址,如http://host-ip:9000

    配置成功后,按顺序进入Project-internal-Setting页面, 选择右侧Release标签

    选择Release

    复制WEBHOOK中的curl命令,打开终端发送请求,即可在页面上看到测试的错误日志信息:

    捕获到的异常详情

    参考



    作者:严北
    链接:https://www.jianshu.com/p/ca4ad23a2dd6
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    1058 A+B in Hogwarts (20)
    1036. Boys vs Girls (25)
    1035 Password (20)
    1027 Colors in Mars (20)
    1009. Product of Polynomials (25)
    1006. Sign In and Sign Out
    1005 Spell It Right (20)
    1046 Shortest Distance (20)
    ViewPager页面滑动,滑动到最后一页,再往后滑动则执行一个事件
    IIS7.0上传文件限制的解决方法
  • 原文地址:https://www.cnblogs.com/duanxz/p/11797957.html
Copyright © 2011-2022 走看看