zoukankan      html  css  js  c++  java
  • docker下一步步部署sentry

    sentry概述

      Sentry是程序的哨兵,它可以监控我们在生产环境中项目的运行状态,一旦某段代码运行报错或者异常,会第一时间把报错的路由异常文件,请求方式 等一些非常详细的信息以消息或者邮件给我们,让我们第一时间知道:程序出错了,然后我们可以从 Sentry 给我们的详细的错误信息中瞬间找到我们需要处理的代码,及时解决异常!

    官方地址:

    https://github.com/getsentry/onpremise     //安装部署

    https://sentry.io

    https://github.com/getsentry/sentry

    https://github.com/docker-library/docs/tree/master/sentry     //dockerhub官方镜像 v9.1.2

    ## Requirements
     
     * Docker 17.05.0+
     * Compose 1.17.0+

    ## Minimum Hardware Requirements:
     
     * You need at least 3GB RAM
     
    env:
    centos7.x

    sentry架构

    注意:当前分析v9.1.2

      Sentry到底是如何实现实时日志监控报警的呢?首先,Sentry是一个C/S架构,我们需要在自己应用中集成Sentry的SDK(支持前后端语言)才能在应用发生错误是将错误信息发送给Sentry服务端。根据语言和框架的不同,我们可以选择自动或自定义设置特殊的错误类型报告给Sentry服务端。
      Sentry的服务端分为web、cron、worker这几个部分,应用(客户端)发生错误后将错误信息上报给web,web处理后放入消息队列或Redis内存队列,worker从队列中消费数据进行处理,postgresql对数据持久化。

    my-sentry:sentry的web服务
    sentry-cron:sentry的定时任务,活性检测
    sentry-worker:业务处理,数据持久化,报警

    部署docker/docker-compose

    docker-ce

    docker-compose

    部署sentry

    拉取镜像

    docker pull sentry       ###目前最新版本9.1.2

    docker pull redis

    docker pull postgres

    启动服务

    docker run -d --name sentry-redis --restart=always redis   ###保证了,异常自动拉起
    docker run -d --name sentry-postgres -e POSTGRES_PASSWORD=secret -e POSTGRES_USER=sentry --restart=always postgres

    生成sentry秘钥

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

    n8ntkj(u3z5(o18tm*wprg^sqp2)z%980f@upd7(e86v67g*ut  ###打印出secret-keys

    数据库及账户初始化及

    注意:过程中需要你创建用户和密码
    During the upgrade, you will be prompted to create the initial user which will act as the superuser.

    docker run -it --rm -e SENTRY_SECRET_KEY='n8ntkj(u3z5(o18tm*wprg^sqp2)z%980f@upd7(e86v67g*ut' --link sentry-postgres:postgres --link sentry-redis:redis sentry upgrade

    启动sentry的web服务

    The web interface needs to expose port 9000 into the container. This can just be done with –publish 9000:9000:
    You should now be able to test the web service by visiting http://localhost:9000/

    docker run -d -p 9000:9000 --name my-sentry -e SENTRY_SECRET_KEY='n8ntkj(u3z5(o18tm*wprg^sqp2)z%980f@upd7(e86v67g*ut' --link sentry-redis:redis --link sentry-postgres:postgres --restart=always sentry

    启动sentry-cron/work服务

    docker run -d --name sentry-cron -e SENTRY_SECRET_KEY='n8ntkj(u3z5(o18tm*wprg^sqp2)z%980f@upd7(e86v67g*ut' --link sentry-postgres:postgres --link sentry-redis:redis sentry run cron

    docker run -d --name sentry-worker-1 -e SENTRY_SECRET_KEY='n8ntkj(u3z5(o18tm*wprg^sqp2)z%980f@upd7(e86v67g*ut' --link sentry-postgres:postgres --link sentry-redis:redis sentry run worker

    登录测试效果

    http://ip:9000/  

    注意:认证账户就是初始化的邮箱及密码

    reference:

    https://www.cnblogs.com/watchslowly/p/11309052.html

  • 相关阅读:
    Docker 使用笔记 (一)
    oracle 截取字符(substr),检索字符位置(instr)
    oracle表空间配额(quota)与UNLIMITED TABLESPACE系统权限
    把大象放到eclipse分几步?
    hadoop -- 搭建集群小工具
    1. Mybatis简单操作
    SpringMVC --- 拦截器 HandlerInterceptor
    Spring MVC --- 异步请求
    Spring MVC--RequestMapping
    Spring MVC 异常控制
  • 原文地址:https://www.cnblogs.com/xiaochina/p/12585453.html
Copyright © 2011-2022 走看看