docker 安装sentry
环境安装
- 请先安装 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的更多相关文章
- CentOS 使用 Docker 安装 Sentry
官网介绍:Sentry是一个实时事件日志记录和汇集的日志平台,其专注于错误监控,以及提取一切事后处理所需的信息.他基于Django开发,目的在于帮助开发人员从散落在多个不同服务器上的日志文件里提取发掘 ...
- Centos7通过Docker安装Sentry(哨兵)
Docker介绍 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制, ...
- 使用docker安装sentry
一.安装docker yum -y install docker 更换docker镜像源为中科大的 在配置文件/etc/docker/daemon.json中加入 { "registry-m ...
- CentOS7 安装sentry(最新)
Sentry 是一款基于 Django实现的错误日志收集和聚合的平台,它是 Python 实现的,但是其日志监控功能却不局限于python,对诸如 Node.js, php,ruby, C#,ja ...
- linux,mac安装sentry
linux,mac安装sentry 最近需要一个日志监视系统所以选择了sentry.以下是用mac安装,看需求量linux安装类似后面的文章会补充. 安装docker https://download ...
- centos7搭建安装sentry
Sentry 是一款基于 Django实现的错误日志收集和聚合的平台,它是 Python 实现的,但是其日志监控功能却不局限于python,对诸如 Node.js, php,ruby, C#,java ...
- Centos7使用docker搭建Sentry
1.安装docker Sentry 是一款基于 Django实现的错误日志收集和聚合的平台,它是 Python 实现的,但是其日志监控功能却不局限于python,对诸如 Node.js, php,ru ...
- 理解Docker(1):Docker 安装和基础用法
本系列文章将介绍Docker的有关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 ...
- 通过Cloudera在hadoop生态圈中安装Sentry服务。
写在张文章时,差点辣死我了.把sentry数据库密码搞掉了,导致hive,impala,hue都挂了.此事要引以为戒,以后要小心操作了. 安装Sentry服务 a) 在c ...
随机推荐
- Charles 4.2.5 破解原理.RP
请支持正版,仅供技术交流. 写了个小工具方便在线处理,在线破解 https://github.com/8enet/Charles-Crack 2018/4/8 Charles 4.2.5 替换类名和方 ...
- HUST软件测试1504班: 第0周作业成绩
说明 本次公布的成绩包含三次作业的结果: 毕博平台课前测试题 第0周作业1:开设博客 第0周作业2:博客阅读和思考 如果同学对作业结果存在异议,可以: 在线平台的第一周在线答疑中创建话题申诉. 或直接 ...
- bootstrap小图标引用方法
<span class="glyphicon glyphicon-search"></span> <span class="glyphico ...
- 改善C#公共程序类库质量的10种方法(转)
出处:http://www.cnblogs.com/JamesLi2015/p/3140897.html 最近重构一套代码,运用以下几种方法,供参考. 1 公共方法尽可能的使用缓存 public s ...
- [GO]结构体成员的使用:普通变量
package main import "fmt" func main() { type student struct { id int name string sex byte ...
- C++/Java中继承关系引发的调用关系详解
C++: 这里引用到了 http://blog.csdn.net/haoel/article/details/1948051/ 中的内容,还请提前阅读陈大神的这篇博客后在阅读本篇. 覆盖,实现多态的基 ...
- ARIA(Accessible Rich Internet Application)
ARIA 为Web app提供满足用户不同需求的解决方案.建设起用户和软件之间的桥梁. 新的HTML5标准中增加 aria-* 的标签属性,全称Accessible Rich Internet App ...
- Android-ContentProvider原理图
ContentProvider的设计思想是模仿了Web里面的架构思想: Web服务器 对外暴露数据(提供被访问的地址Uri,并允许给客户端访问,也可以只让客户端访问某些行为) ContentPro ...
- django静态文件路径配置
在settings.py中加入 STATICFILES_DIRS = [ os.path.join(BASE_DIR,'static') ] 即可在html中引用该目录下的静态文件 <!DOCT ...
- 《Beginning Java 7》 - 4 - finalize() 手动垃圾回收
当我们想在系统进行垃圾回收时做一些特定的工作,我们就可以重写 finalze() 函数,因为 Object 的 此函数是空的. 比如: protected void finalize() throws ...