文档章节

CentOS6.8搭建Sentry环境

BakerZhu
 BakerZhu
发布于 2017/12/12 01:00
字数 1432
阅读 962
收藏 4

安装第三方依赖包(redis依赖包,python依赖包,pip依赖包等必须提前安装):

yum install -y zlib zlib-devel
yum install -y cpp  binutils glibc-kernheaders glibc-common glibc-devel gcc gcc-c++ make wget libstdc++-devel tcl  tcl-devel
yum install -y openssl openssl-devel
yum install postgresql-devel*

 

下载Python2.7.14 :

下载2.7.*版本 3.*版本在使用pip安装sentry时会出现python库与sentry依赖库兼容性问题 , 2.6.*版本太低,对sentry不能有很好的支持

下载地址:https://www.python.org/downloads/  下载sentry2.7中推荐版本

 

并上传服务器,并解压、配置、编译、安装:

[root@centos1 py]# tar -xzvf Python-2.7.14.tgz 
[root@centos1 py]# cd Python-2.7.14
[root@centos1 Python-2.7.14]# ./configure --prefix=/usr/local/python2.7/
[root@centos1 Python-2.7.14]# make && make install

进入安装目录:创建安装python的软连接到用户资源库/usr/bin中

[root@centos1 bin]# ln -s /usr/local/python2.7/bin/python /usr/bin/python2.7

 

Sentry安装依赖pip安装,而pip安装依赖setuptools接下来进行setuptools安装:

setuptools安装

https://pypi.python.org/pypi/setuptools

下载最新的支持py2、py3的setuptools安装包,并上传linux: 进入python安装目录,并解压setuptools-*.zip

[root@centos1 python2.7]# pwd
/usr/local/python2.7
[root@centos1 python2.7]# unzip /root/py/setuptools-38.2.4.zip 
[root@centos1 python2.7]# ls
bin  include  lib selenium  setuptools-38.2.4  share

安装setuptools工具:进入setuptools目录并安装

[root@centos1 python2.7]# cd setuptools-38.2.4/
[root@centos1 setuptools-38.2.4]# python2.7 setup.py install

此时python安装目录bin目录下有安装后的sasy_install文件及其软连接文件

 

下载及安装pip

pip github下载pip源码

我们下载7.1.2版本支持python2,

pip 8.* 版本支持python3 ,python2环境下 ,安装有兼容性问题

下载pip 并上传服务器,并解压到python安转目录:

[root@centos1 python2.7]# pwd
/usr/local/python2.7
[root@centos1 python2.7]# tar -xzvf /root/py/pip-7.1.2.tar.gz 
[root@centos1 python2.7]# ls
bin  include  lib  pip-7.1.2  selenium  setuptools-38.2.4  share

进入pip目录并安装pip

[root@centos1 python2.7]# cd pip-7.1.2/              
[root@centos1 pip-7.1.2]# python2.7 setup.py install
....
[root@centos1 pip-7.1.2]# cd /usr/local/python2.7/bin/
[root@centos1 bin]# ls
2to3                     cssparse          explode.py    petname         pilprint.pyc  python2           rst2html5.pyc           rst2odt.pyc        rstpep2html.pyc
celery                   cygdb             explode.pyc   pilconvert.py   pip           python2.7         rst2html.py             rst2pseudoxml.py   sentry
celerybeat               cython            gifmaker.py   pilconvert.pyc  pip2          python2.7-config  rst2html.pyc            rst2pseudoxml.pyc  smtpd.py
celeryd                  cythonize         gifmaker.pyc  pildriver.py    pip2.7        python2-config    rst2latex.py            rst2s5.py          sqlformat
celeryd-multi            django-admin.py   honcho        pildriver.pyc   player.py     python-config     rst2latex.pyc           rst2s5.pyc         thresholder.py
chardetect               django-admin.pyc  idle          pilfile.py      player.pyc    qr                rst2man.py              rst2xetex.py       thresholder.pyc
createfontdatachunk.py   easy_install      jp.py         pilfile.pyc     pydoc         raven             rst2man.pyc             rst2xetex.pyc      uwsgi
createfontdatachunk.pyc  easy_install-2.7  jp.pyc        pilfont.py      pytest        rst2html4.py      rst2odt_prepstyles.py   rst2xml.py         viewer.py
csscapture               enhancer.py       painter.py    pilfont.pyc     py.test       rst2html4.pyc     rst2odt_prepstyles.pyc  rst2xml.pyc        viewer.pyc
csscombine               enhancer.pyc      painter.pyc   pilprint.py     python        rst2html5.py      rst2odt.py              rstpep2html.py     virtualenv
[root@centos1 bin]# 

此时python安装目录bin目录下有pip可执行文件。

为easy_install 和 pip文件创建软连接:

[root@centos1 bin]# ln -s /usr/local/python2.7/bin/easy_install /usr/bin/easy_install 
[root@centos1 bin]# ln -s /usr/local/python2.7/bin/pip /usr/bin/pip 

升级pip版本:

pip install --upgrade pip

下载sentry运行环境

pip install -U virtualenv

运行virtualenv 初始化sentry资源:

virtualenv /www/sentry/

切换sentry环境:

source /www/sentry/bin/activate

安装sentry:为了防止下载过程中超时,适当调整timeout

pip --default-timeout=50000 install -U sentry

下载、安装修改配置(修改密码,绑定ip ,后台启动配置修改)及启动redis:

略...

测试redis连接:

mysql服务安装:

略...

致命错误 : python.h 没有那个文件或目录,这是因为我们安装的python不是开发版,在CentOS6.8中

yum install python-devel

Building without Cython. ERROR: /bin/sh: xslt-config:未找到命令,致命错误:libxml/xpath.h:没有那个文件或目录以及致命错误:libxml/xmlversion.h:没有那个文件或目录,解决方法是:

easy_install Cython
yum install libxslt-devel libxml2-devel

解决了上述问题,继续安装sentry[mysql]

pip install sentry[mysql]

遇到的问题 sh: mysql_config: 未找到命令,需要安装mysql-devel

yum install mysql-devel

升级sentry[mysql]

pip install sentry[mysql] --upgrade

安装相关的Python库:

pip install redis hiredis nydus                                    
pip install redis hiredis nydus --upgrade                                 
pip install gevent                                
pip install eventlet

Sentry AttributeError: 'NoneType' object has no attribute 'connection_pool' , 下载redis插件

pip install redis==2.10.5

初始化sentry配置并生成配置文件:

sentry init

默认配置文件会出现在~/.sentry目录下:

[root@centos1 .sentry]# cd ~/.sentry/
[root@centos1 .sentry]# ls
config.yml  sentry.conf.py
[root@centos1 .sentry]# 

config.xml配置email配置,sentry.conf.py配置mysql 及redis链接,文件配置如下:

[root@centos1 redis-2.8.23]# cat /root/.sentry/sentry.conf.py | grep -v "^#" | grep -v "^$"
from sentry.conf.server import *
import os.path
CONF_ROOT = os.path.dirname(__file__)
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'sentry',
        'USER': 'root',
        'PASSWORD': 'root',
        'HOST': '192.168.1.109',
        'PORT': '3306',
        'AUTOCOMMIT': True,
        'ATOMIC_REQUESTS': False,
    }
}
SENTRY_USE_BIG_INTS = True
SENTRY_SINGLE_ORGANIZATION = True
DEBUG = False
ENTRY_REDIS_OPTIONS = {
    'hosts': {
        0: {
            'host': '127.0.0.1',
            'port': 6379,
            'timeout': 3,
            'password': '123456'
        }
    }
}
SENTRY_CACHE = 'sentry.cache.redis.RedisCache'
BROKER_URL = 'redis://localhost:6379'
SENTRY_RATELIMITER = 'sentry.ratelimits.redis.RedisRateLimiter'
SENTRY_BUFFER = 'sentry.buffer.redis.RedisBuffer'
SENTRY_QUOTAS = 'sentry.quotas.redis.RedisQuota'
SENTRY_TSDB = 'sentry.tsdb.redis.RedisTSDB'
SENTRY_DIGESTS = 'sentry.digests.backends.redis.RedisBackend'
SENTRY_WEB_HOST = '0.0.0.0'
SENTRY_WEB_PORT = 9000
SENTRY_WEB_OPTIONS = {
    # 'workers': 3,  # the number of web workers
    # 'protocol': 'uwsgi',  # Enable uwsgi protocol instead of http
}
SECRET_KEY='eyleyqvbv_ox)l9qufyh*tii@l(ryj=259_zh(d-w4+h@j3khz'
[root@centos1 redis-2.8.23]# 

根据自己环境配置,SECRET_KEY利用

sentry config generate-secret-key

生成并配置,否则启动会报错。更加详细的配置可以参考:sentry.conf.py

利用配置文件初始化mysql数据库:

(sentry) [root@centos1 bin]# sentry /root/.sentry/sentry.conf.py upgrade

会出现 django Error loading MySQLdb module:No module named MySQLdb,因为python并未下载下载并引入MySQL-python模块

安装MySQL-python

easy_install MySQL-python

将mysql模块引入python中

>>>python
>>>import MySQLdb

然后就可以进行数据库初始化工作了,初始化过程中提示要不要创建用户,创建用户并设置为超级用户。建议创建。

启动sentry服务

(sentry) [root@centos1 bin]# sentry --config=/root/.sentry/sentry.conf.py start

命令使用详情使用 sentry --help查看

我们可以通过服务监听的9000端口来访问服务。

     

参考文章:

https://www.tianmaying.com/tutorial/sentry

http://blog.csdn.net/u011630575/article/details/51209117

http://blog.csdn.net/u013896646/article/details/77869506

https://github.com/pypa/pip/releases

http://blog.csdn.net/u011630575/article/details/51209117
http://www.landui.com/help/show-3671.html

https://www.cnblogs.com/yangxia-test/p/4160022.html

https://www.python.org/downloads/release/python-2714/

https://blog.lerzen.com/articles/dbe34500-14b5-11e7-8747-eff4a27017c0

https://www.cnblogs.com/shansongxian/p/6256428.html

https://pypi.python.org/pypi/setuptools#downloads

https://www.cnblogs.com/xiaoduc-org/p/5958973.html

http://blog.csdn.net/longyinyushi/article/details/51851336

https://www.tianmaying.com/tutorial/sentry

http://blog.csdn.net/u011630575/article/details/51209117

http://blog.csdn.net/zheng0518/article/details/50421265

http://san-yun.iteye.com/blog/2109258

http://www.landui.com/help/show-3671.html

https://pypi.python.org/pypi/setuptools

 

© 著作权归作者所有

BakerZhu
粉丝 109
博文 517
码字总数 423077
作品 0
通州
程序员
私信 提问
加载中

评论(0)

基于sentry的前端错误监控日志系统(部署sentry服务器/前端项目部署)-让前端最快的定位到生产问题

背景   在这越来越发达的网络时代,web应用也是越来越复杂,尤其是前端的开发,也是越来越受重视。   所以在我们前端开发完成后,会有一些列的web应用的上线验证,如自测、QA测试、code ...

小结巴巴
2018/12/04
0
0
前端异常监控之 Sentry的部署和使用

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

Keely袁庆玲
2018/08/16
0
0
Sentry错误日志监控你会用了吗?

无论作为新手还是老手程序员在程序的开发过程中,代码运行时难免会抛出异常,而且项目在部署到测试、生产环境后,我们便不可能像在开发时那样容易的及时发现处理错误了。一般我们都是在错误发...

迎风而来
2019/08/13
0
0
Apache Sentry实战之旅(一)—— Impala+Sentry整合

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

九州暮云
2019/07/07
251
0
接入sentry-让你的错误别再裸奔

前言 前端项目目前发现错误的方法有哪些呢? 测试同学测出来。 缺点:现在浏览器版本、手机机型太多,兼容性问题很难测完全。另外有些项目流程非常长和复杂,测试同学不能确保每次都能覆盖1...

眉芳
2019/08/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

如何上好网课 — 老师录课和在线上课教学经验谈

工具/原料 授课工具 教材教案 电脑,麦克风,摄像头 讲课工具 先下载讲课助手工具,这个工具能够把老师语音、PPT讲稿、电脑操作界面直播到网络上,可以满足您做直播教学的需要。 软件下载地址...

osc_9i00cx5n
4分钟前
6
0
安装node.js和cnpm

1.安装node.js(新版node.js已经集成了npm) 到node.js官网下载 点击下载的安装包,开始安装(无脑点击下一步) 再命令行输入node -v和npm -v 都能出现版本号,就是安装成功 2.安装淘宝镜像(...

zlj012607
4分钟前
5
0
如何上好网课 — 老师录课和在线上课教学经验谈

工具/原料 授课工具 教材教案 电脑,麦克风,摄像头 讲课工具 先下载讲课助手工具,这个工具能够把老师语音、PPT讲稿、电脑操作界面直播到网络上,可以满足您做直播教学的需要。 软件下载地址...

osc_fnto2dbd
5分钟前
14
0
我说我懂多线程,面试官立马给我发了offer

前言 只有光头才能变强。 文本已收录至我的GitHub精选文章,欢迎Star:https://github.com/ZhongFuCheng3y/3y 在上周总结了一篇「工作中常用到的Java集合类」,反响还不错。这周来写写Java另...

Java3y
7分钟前
9
0
如何上好网课 — 老师录课和在线上课教学经验谈

工具/原料 授课工具 教材教案 电脑,麦克风,摄像头 讲课工具 先下载讲课助手工具,这个工具能够把老师语音、PPT讲稿、电脑操作界面直播到网络上,可以满足您做直播教学的需要。 软件下载地址...

osc_xu7n68ts
7分钟前
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部