主页: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="" 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=/tcp
firewall-cmd --add-port=/tcp --permanent
这些规则根据自己需要来配置,我做个记录


docker 安装sentry的更多相关文章

  1. CentOS 使用 Docker 安装 Sentry

    官网介绍:Sentry是一个实时事件日志记录和汇集的日志平台,其专注于错误监控,以及提取一切事后处理所需的信息.他基于Django开发,目的在于帮助开发人员从散落在多个不同服务器上的日志文件里提取发掘 ...

  2. Centos7通过Docker安装Sentry(哨兵)

    Docker介绍 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制, ...

  3. 使用docker安装sentry

    一.安装docker yum -y install docker 更换docker镜像源为中科大的 在配置文件/etc/docker/daemon.json中加入 { "registry-m ...

  4. CentOS7 安装sentry(最新)

      Sentry 是一款基于 Django实现的错误日志收集和聚合的平台,它是 Python 实现的,但是其日志监控功能却不局限于python,对诸如 Node.js, php,ruby, C#,ja ...

  5. linux,mac安装sentry

    linux,mac安装sentry 最近需要一个日志监视系统所以选择了sentry.以下是用mac安装,看需求量linux安装类似后面的文章会补充. 安装docker https://download ...

  6. centos7搭建安装sentry

    Sentry 是一款基于 Django实现的错误日志收集和聚合的平台,它是 Python 实现的,但是其日志监控功能却不局限于python,对诸如 Node.js, php,ruby, C#,java ...

  7. Centos7使用docker搭建Sentry

    1.安装docker Sentry 是一款基于 Django实现的错误日志收集和聚合的平台,它是 Python 实现的,但是其日志监控功能却不局限于python,对诸如 Node.js, php,ru ...

  8. 理解Docker(1):Docker 安装和基础用法

    本系列文章将介绍Docker的有关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 ...

  9. 通过Cloudera在hadoop生态圈中安装Sentry服务。

    写在张文章时,差点辣死我了.把sentry数据库密码搞掉了,导致hive,impala,hue都挂了.此事要引以为戒,以后要小心操作了. 安装Sentry服务 a)                在c ...

随机推荐

  1. WebAPI如何返回json

    public HttpResponseMessage PostUser(User user) { JavaScriptSerializer serializer = new JavaScriptSer ...

  2. TF录像存储专项测试

    测试环境 移动设备:小米4C 移动设备版本:Android 5.1 IPC版本号:0.1.4110_10.1.1.1.3948 安居小宝版本:Version:2.0.1 测试网络:IPC使用WIFI网 ...

  3. (转).Net有哪些大型项目、大型网站的案例?

    [分享].Net有哪些大型项目.大型网站的案例?   .Net开发的部分知名网站案例:http://www.godaddy.com  全球最大域名注册商http://www.ips.com  环迅支付 ...

  4. [SoapUI] 在Test Step 下加Script Assertion,用 messageExchange 获取当前步骤的response content

    //Get response content of the current request def response = messageExchange.getResponseContent() // ...

  5. 白盒测试实践--Day0

    白盒测试实践--Day0 累计完成任务情况: 阶段内容 参与人 开会学习作业要求,取得共识 全体 注: 1."阶段内容"划斜线表示完成. 2.采用倒序. 具体情况: 组长提前组织分 ...

  6. 免秘钥oracel官方下载jdk

    wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-co ...

  7. eclipse 按装lombok与注解说明

    原文:http://www.cnblogs.com/ywqbj/p/5711691.html 一.安装lombok 1.下载   lombok-1.16.16.jar 包 我的下载完后放到:/root ...

  8. PHP中文乱码解决办法[转]

    一.首先是PHP网页的编码1.     php文件本身的编码与网页的编码应匹配a.     如果欲使用gb2312编码,那么php要输出头:header(“Content-Type: text/htm ...

  9. 编写高质量代码改善C#程序的157个建议——建议123:程序集不必与命名空间同名

    建议123:程序集不必与命名空间同名 程序集一般会和命名空间同名,但这并不是必须的.事实上,不同名的命名空间和程序集是很常见的. 程序集表示的是一种物理上的分组,而命名空间是逻辑上的分组,两者没有必然 ...

  10. 编写高质量代码改善C#程序的157个建议——建议67:慎用自定义异常

    建议67:慎用自定义异常 除非有充分的理由,否则不要创建自定义异常.如果要对某类程序出错做特殊处理,那就自定义异常.需要自定义异常的理由如下: 1)方便测试.通过抛出一个自定义的异常类型实例,我们可以 ...