设为首页 收藏本站
查看: 1075|回复: 0

[经验分享] docker 安装sentry

[复制链接]

尚未签到

发表于 2017-12-6 07:25:40 | 显示全部楼层 |阅读模式
  主页:https://sentry.io/welcome/
  环境安装


  • 请先安装 Docker 1.10+ ,使用 CE 版本;安装文档,写的很清晰,不详述;因为国内网络环境问题,一般建议 docker 使用中科大的仓库镜像,具体操作请查看中科大镜像使用说明。
  •   安装 docker-compose,安装文档:


  • $ curl -L --fail https://github.com/docker/compose/releases/download/1.14.0/run.sh > /usr/local/bin/docker-compose
    $ sudo chmod +x /usr/local/bin/docker-compose
  • yum install python-pip
  • pip install docker-compose

sentry 安装/测试
  找到一个安装目录,当前假定为 /data/sentry,并进入此目录。
  首先拉取配置和构建文件仓库:

git clone https://github.com/getsentry/onpremise.git
  然后进入目录仓库目录,默认为 onpremise。
  下一步生成秘钥:

docker-compose run --rm web config generate-secret-key
  这一步会产生一个秘钥,复制它到 docker-compose.yml 文件的 SENTRY_SECRET_KEY 项,并取消 SENTRY_SECRET_KEY 项的注释,例子如下:

.....
# Run `docker-compose run web config generate-secret-key`
# to get the SENTRY_SECRET_KEY value.
SENTRY_SECRET_KEY: '*********************'
SENTRY_MEMCACHED_HOST: memcached
.....
  然后创建相关数据库和账号:

docker-compose run --rm web upgrade
  这一步会要求你填写一个账号密码,用于安装完成之后登录后台的管理员账号,请填写并记录。
  最后一步,使用 docker-compose 启动所有容器并提供服务:

docker-compose up -d
  这时候使用 docker-compose ps 命令可以看到类似如下的容器列表:

        Name                       Command               State           Ports         
---------------------------------------------------------------------------------------
onpremise_base_1        /entrypoint.sh run web           Up      9000/tcp               
onpremise_cron_1        /entrypoint.sh run cron          Up      9000/tcp               
onpremise_memcached_1   docker-entrypoint.sh memcached   Up      11211/tcp              
onpremise_postgres_1    docker-entrypoint.sh postgres    Up      5432/tcp               
onpremise_redis_1       docker-entrypoint.sh redis ...   Up      6379/tcp               
onpremise_smtp_1        entrypoint.sh tini -- exim ...   Up      25/tcp                 
onpremise_web_1         /entrypoint.sh run web           Up      0.0.0.0:9000->9000/tcp
onpremise_worker_1      /entrypoint.sh run worker        Up      9000/tcp
  并使用浏览器访问 {ip}:9000,使用开始自己填写的管理员账号就可以登录后台。

其他


  •   如果需要改变主机服务端口,只需要修改 docker-compose.yml 文件的 web 容器配置,如改为本机的 8888 端口提供服务:

      web:
    extends: base
    links:
    - redis
    - postgres
    - memcached
    - smtp
    ports:
    - '8888:9000'
  •   可以按照需求将整个服务在 systemd 管理,docker-compose 的其他相关命令如下:

    docker-compose up     # 创建并启动容器,容器没有创建无法启动,同时最好用 -d 参数在后台启动
    docker-compose stop  # 停止服务
    docker-compose start  # 启动服务,需要用 up 创建容器并停止之后
  修改了配置文件应用到docker镜像中:
  修改sentry.conf.py,比如添加smtp配置:



SENTRY_OPTIONS['mail.backend'] = 'smtp'
SENTRY_OPTIONS['mail.host'] = 'smtp.***.com'
SENTRY_OPTIONS['mail.password'] = '*******'
SENTRY_OPTIONS['mail.username'] = 'sentry@**.com'
SENTRY_OPTIONS['mail.port'] = 25
SENTRY_OPTIONS['mail.use-tls'] = False
  然后



docker-compose down(关闭删除容器)
docker-compose build (重新编译镜像)
make build (拷贝配置文件,可以不需要)
docker-compose up -d  (运行)

这样就ok了
有时候docker-compose down会报错,比如下面的:



ERROR: for onpremise_worker_1  driver "overlay" failed to remove root filesystem for 7846d51c3f6d1d19707b11bdd4b4d62065dae510c0007474ba585c241e38f37c: remove /var/lib/docker/overlay/65acac6ab4327668839eb7236b18045a48b8ba9c165a133ba851581fbf651177/merged: device or resource busy

这里可以重启docker 还不行的发直接找到报错的容器id
find / -name "7846d51c3f6d1d19707b11bdd4b4d62065dae510c0007474ba585c241e38f37c"
删除相关的目录,重新按照上面步骤就行了

补充:centos防火墙使用firewalld,直接关闭firewalld docker会启动报错,所以这里配置firewalld规则:



firewall-cmd --permanent --add-rich-rule="rule family="ipv4" port protocol="tcp" port="9000" accept"
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="需要访问的ip" accept"
firewall-cmd --permanent --zone=trusted --change-interface=docker0
firewall-cmd --permanent --zone=trusted --add-port=9000/tcp
firewall-cmd --add-port=9000/tcp --permanent
这些规则根据自己需要来配置,我做个记录

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-421036-1-1.html 上篇帖子: Docker 入门 下篇帖子: Docker简介以及使用docker搭建lnmp的过程(多PHP版本)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表