• Docker搭建Sentry环境


    Sentry简介

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

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

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

    环境搭建

    1.启动一个Redis容器:

    $ docker run -d --name sentry-redis redis

    2.启动一个Postgres容器

    $ docker run -d --name sentry-postgres -e POSTGRES_PASSWORD=secret -e POSTGRES_USER=sentry postgres

    3.生成一个密钥,用于后面所有sentry容器之间握手。请记住这串密钥,在后面的docker命令中,密钥需要以环境变量形式传入

    $ docker run --rm sentry config generate-secret-key

    4.连接Redis、Postgres和Sentry,运行后会自动执行初始化操作:

    $ docker run -it --rm -e SENTRY_SECRET_KEY='<secret-key>' --link sentry-postgres:postgres --link sentry-redis:redis sentry upgrade
    此处执行过程中会提示创建账号和密码,如果此处不想创建,等所有步骤执行完成后,再运行命令来创建: docker exec -it my-sentry /bin/sh ==> sentry createuser

    5.启动Sentry Server,同时添加端口映射。Sentry的端口为9000,可以使用 -p 9000:9000参数,再启动后可以通过访问http://localhost:9000或http://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

    6.默认配置中需要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

    然后直接访问即可

  • 相关阅读:
    “数码骑劫”蠕虫病毒席卷3大洲? 狼人:
    病毒致英国国防部系统崩溃至今未完全恢复 狼人:
    安全专家称发现防护零日攻击新方法 狼人:
    观点:迄今为止 虚拟化安全领域一片空白 狼人:
    黑客利用弹出窗口冒充安全警告发起钓鱼攻击 狼人:
    工信部提醒消费者谨防手机预置恶意插件 狼人:
    美最大招聘网站Monster用户信息被窃 狼人:
    新闻周刊中文网遭黑客攻击 首页被挂马 狼人:
    易宝支付声明称遭遇大规模黑客攻击 狼人:
    木马病毒节日活跃 过年上网提防“四害” 狼人:
  • 原文地址:https://www.cnblogs.com/new-journey/p/12195066.html
Copyright © 2020-2023  润新知