Linux或MacOs下搭建前端监控系统(基于sentry)

搭建教程

I. python

在不同系统下安装python的方式不同

Mac

如果我没记错的话,Mac是自带python的,当然你也可以用Homebrew或其他方式安装一个别的版本的python

Ubuntu

sudo apt-get install python

目前我已知的是ubuntu上要安装这些依赖的库

sudo apt-get install libxml2-dev libxslt1-dev python-dev libffi-dev
其他

对其他系统不甚了解,CentOS应该能用yum install python安装

II. Pip

pip是python的一个很好的包管理软件,类似npm对于nodejs的关系。似乎pip一般不随python自动安装,但是一个叫easy_install的命令一般都是自带的,所以我们可以通过

sudo easy_install pip

来安装,至于为什么不直接用easy_install来安装所有依赖,通俗一点来讲,pip更流行:)(具体对比可自行搜索,例如http://python-packaging-user-guide.readthedocs.org/en/latest/pip_easy_install/

III. virtualenv

virtualenv is a tool to create isolated Python environments.

virtualenv能为python提供一个隔离的安装环境,如果没有virtualenv,通常python的module都会自动安装到同一个全局的目录,如/usr/lib/python2.7/site-packages/下,这样就意味着,如果项目A依赖版本1.x.x版本的公共的X模块,而项目B却依赖2.x.x版本的X模块时,安装依赖时会发生错误,两个版本的c模块无法共存。

virtualenv可以通过上面的pip安装

pip install virtualenv

然后随意找个文件夹作为根文件夹,进入根文件夹执行

virtualenv sentry

命令会在当前根文件夹下新建一个sentry文件夹(可以随意起别的名字),sentry里面会包含python的执行文件以及pip库。

然后执行

source sentry/bin/activate

就能激活出一个新的环境,在这个新环境下我们在进行后续操作

 

IV. sentry

执行

pip install sentry

来安装sentry

当然也可以install from source,从github上下载源码,然后

python setup.py develop

但是这样sentry就会被装到python默认的路径下,所以初学者还是推荐上面这种傻瓜式的安装方法

安装完sentry之后就有sentry命令了

usage: sentry [--config=/path/to/settings.py] [command] [options]

随便设置一个配置文件的路径,比如~/.sentry/sentry.conf.py,执行

sentry init ~/.sentry/sentry.conf.py

sentry会帮你初始化一份配置文件

配置文件中你需要设置几处

  • 数据库配置,推荐Postgresql,其次是Mysql
  • Redis配置
  • 邮件服务配置
  • web服务配置

V. Postgresql

官方是推荐使用Postgresql的,所以我们就用这个数据库,安装postgresql在不同系统下不同,但都累死,Mac下我用brew install postgresql装,ubuntu下用apt-get install postgresql

安装完之后配置数据库配置文件,启动数据库

另外,根据sentry.conf.py里面提的,如使用postgresql,需要另装模块

pip install psycopg2

VI. Redis

redis的安装方式和postgresql也类似,brew install redis/apt-get install redis-server

安装好后启动服务

VII. 配置文件

将配置文件中的postgresql和redis部分按照实际情况填写,邮件服务需要你有smtp的账号和密码,可以去购买或通过其他途径获得,web服务配置是配置,用来指定HOST和PORT,另外,还要设置

SENTRY_ADMIN_EMAIL和SENTRY_URL_PREFIX,前者是管理员邮箱,后者是网址前缀,例如'http://sentry100.sankuai.com'。

VIII. 数据库和用户初始化

执行命令创建名为sentry的数据库

createdb -E utf-8 sentry

为sentry项目初始化数据

sentry --config=~/.sentry/sentry.conf.py upgrade

创建新用户

sentry --config=~/.sentry/sentry.conf.py createuser

然后就可以启动服务了

sentry --config=~/.sentry/sentry.conf.py start
另外,还需要启动Worker
sentry --config=~/.sentry/sentry.conf.py celery worker -B
假设web服务器端口是9000,那么访问localhost:9000就能开始使用sentry了!

VIII. 其他

还有其他的设置如配置Apache或Nginx,开启SSL,配置开机自动脚本等就不细说了,可以查看参考链接或其他资料。

更新:

如果使用docker来运行sentry服务,那会更加方便,我们无需再考虑各种琐碎的环境因素了。docker hub上的sentry主页就有很详细的使用docker来启动sentry服务的文档 https://hub.docker.com/_/sentry/ 感兴趣的快去试试吧!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值