文档章节

Sentry容器化部署

胡佐治
 胡佐治
发布于 2017/03/16 09:39
字数 767
阅读 196
收藏 1

软件版本

  • docker-1.12.3
  • sentry-8.14.1
  • postgresql-9.2.18
  • redis-3.2

启动一个新的容器用于部署sentry

docker run -it a7109a665e79 /bin/bash

sentry部署

下面关于sentry的安装和配置都是在刚刚开启的容器中进行

基础软件安装

yum -y install gcc gcc-c++ autoconf make openssl-devel python-devel libjpeg-turbo-devel

yum -y install postgresql-devel

pip2.7 install sentry #可能出现错误,根据提示逐步安装缺少的库

sentry --version #查看版本

[root@ca3e0e35a0a7 ~]# sentry --version
sentry, version 8.14.1

sentry配置

  • 初始化sentry配置

    [root@ca3e0e35a0a7 /]# sentry init /etc/sentry

    [root@ca3e0e35a0a7 ~]# ll /etc/sentry/

total 8
-rw-r--r--. 1 root root 1971 Mar 15 05:16 config.yml
-rw-r--r--. 1 root root 3828 Mar 15 05:16 sentry.conf.py

sentry.conf.py文件中修改数据库的配置项和BROKER_URL的配置项 数据库配置

DATABASES = {
    'default': {
        'ENGINE': 'sentry.db.postgres',
        'NAME': 'sentry',
        'USER': 'sentry',
        'PASSWORD': 'pass',
        'HOST': '169.24.1.111',
        'PORT': '5432',
        'AUTOCOMMIT': True,
        'ATOMIC_REQUESTS': False,
    }
}

代理(BROKER_URL)配置

BROKER_URL = 'amqp://sentry:sentry@ip:5672/sentry' #这里使用`rabbitmq`作为消息中间件,也可以使用`redis`

OR

BROKER_URL = 'redis://ip:6379'

如果redis不是运行在本机的话需要同时修改/etc/sentry/config.yaml文件中的redis的配置

  • 初始化sentry数据库

    sentry --config /etc/sentry upgrade

记住supersuer的用户和密码

  • 设置开机启动和数据定期数据清理

这里使用supervisor来进行sentry相关进程的管理,supervisor的安装可以参见网上的文档,supervisor的配置文档如下

[supervisord]
logfile=/tmp/supervisord.log ; (main log file;default $CWD/supervisord.log)
logfile_maxbytes=50MB        ; (max main logfile bytes b4 rotation;default 50MB)
logfile_backups=10           ; (num of main logfile rotation backups;default 10)
loglevel=info                ; (log level;default info; others: debug,warn,trace)
pidfile=/tmp/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
nodaemon=true    ;非常重要,因本次是在docker里运行,所以supervisor进程放在前台运行

...

;新增的3个sentry启动任务
[program:sentry_web] 
command=sentry --config /etc/sentry run web             ; the program (relative uses PATH, can take args)
user=sentry                  ; setuid to this UNIX account to run the program

[program:sentry_worker]
command=sentry --config /etc/sentry run worker             ; the program (relative uses PATH, can take args)
user=sentry                  ; setuid to this UNIX account to run the program

[program:sentry_cron]
command=sentry --config /etc/sentry run cron             ; the program (relative uses PATH, can take args)
user=sentry                  ; setuid to this UNIX account to run the program
  • 测试

运行supervisord进程,查看sentry的各个进程是否正常运行

/usr/bin/supervisord -c /etc/supervisor.conf &  #在后台运行

netstat -tunlp|grep 9000 # 如果9000端口在监听表示启动正常

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:9000            0.0.0.0:*               LISTEN      -                                                            
[root@ca3e0e35a0a7 /]# 

开启应用

经过以上的工作已经完成一个能够运行的sentry的容器,但是因为容器没有将端口暴露在宿主机上,只能在容器内访问sentry的站点,下面的工作是将做好的容器提交为一个镜像后再创建可被外部访问的容器.

  • 将容器提交为镜像

    docker commit -m 'sentry image' -a 12860 6efcfd33c0c6 mvn.source.org:9990/sentry:8.14.1

6efcfd33c0c6:对应的容器ID

  • 运行新的容器

    docker run -it -p 9000:9000 -name sentry-8.14.1 58f0f918a119 /usr/bin/supervisord -c /etc/supervisor.conf

97c9fdd90602:对应sentry:8.14.1的镜像ID

  • 查看容器运行状态

    root@docker-center:~ # docker ps

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                      NAMES
5c30e214812f        58f0f918a119        "/usr/bin/supervisord"   20 hours ago        Up 20 hours         0.0.0.0:9000->9000/tcp     sentry-8.14.1

© 著作权归作者所有

胡佐治
粉丝 10
博文 32
码字总数 22828
作品 0
上海
后端工程师
私信 提问
Sentry通过Docker私有化部署

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 https://blog.csdn.net/SuperRD/article/details/94721819 下载镜像 启动redis和postgres 生...

Super_RD
07/05
0
0
前端异常监控之 Sentry的部署和使用

由于最近在整理前端异常监控相关内容,所以自己在虚拟机搭建部署了一下Sentry,把搭建过程及一些自己踩得坑整理如下 一、Sentry部署 Sentry搭建有两种方式: 通过Python安装 教程地址 通过D...

Keely袁庆玲
2018/08/16
0
0
【总结】HUE集成Sentry,通过HUE界面管理Sentry权限

将Sentry集成到HUE中能够有许多好处: 1、通过HUE界面,创建role 2、在HUE的Sentry管理界面,可以Grant privileges给用户 3、在Hue中创建与Sentry中role同名的group 4、将role赋予一个user ...

巧克力黒
2018/06/27
0
0
Apache Sentry 1.5.0 发布

Apache Sentry 是一个加强的细粒度的基于角色的授权系统,针对存储在 Hadoop 集群中的数据和元数据。 Apache Sentry 1.5.0 发布,此版本更新内容如下: 新特性 [SENTRY-74] - Add column-lev...

oschina
2015/04/16
1K
0
Apache Sentry实战之旅(一)—— Impala+Sentry整合

默认是以这个超级用户运行服务,执行和操作的,要实现不同用户之间细粒度的权限控制,需要与整合。是下的一个开源项目,它基于的授权模型实现了权限控制,与它整合以后,就能实现不同用户之间...

九州暮云
07/07
148
0

没有更多内容

加载失败,请刷新页面

加载更多

从0搭建自己的webpack开发环境(五)

往期回顾: 从0搭建自己的webpack开发环境(一) 从0搭建自己的webpack开发环境(二) 从0搭建自己的webpack开发环境(三) 从0搭建自己的webpack开发环境(四) 前四篇文章我们已经掌握了w...

前端优选
昨天
4
0
docker 构建php-fpm 7.2(swoole) 镜像

mkdir -p ~/mnt/docker/phpmkdir -p ~/mnt/docker/php#下载swoole-2.2.0.tgz安装包到software 下载地址:http://pecl.php.net/package/swoole/2.2.0#创建Dockerfilevim ~/docker/......

Jack088
昨天
3
0
简单工厂

定义:由一个工厂对象决定创建出哪一种产品类的实例 类型:创建型,但不属于GOF23种设计模式 工厂类负责创建的对象比较少 客户端(应用层)只知道传入工厂类的参数,对于如何创建对象,不关心...

东风破2019
昨天
4
0
SSH安全加强两步走

从 OpenSSH 6.2 开始已经支持 SSH 多因素认证,本文就来讲讲如何在 OpenSSH 下启用该特性。 OpenSSH 6.2 以后的版本多了一个配置项 AuthenticationMethods。该配置项可以让 OpenSSH 同时指定...

Linux就该这么学
昨天
7
0
聊聊nacos的TcpSuperSenseProcessor

序 本文主要研究一下nacos的TcpSuperSenseProcessor TcpSuperSenseProcessor nacos-1.1.3/naming/src/main/java/com/alibaba/nacos/naming/healthcheck/TcpSuperSenseProcessor.java @Compon......

go4it
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部