Spring Boot实战之配置使用Sentry上报错误日志(一)
来源:互联网 发布:r语言mac版 编辑:程序博客网 时间:2024/05/20 18:20
Spring Boot实战之配置使用Sentry上报错误日志(一)
本文介绍Sentry Server环境的安装与配置,本文基于Centos7进行测试
Sentry 是一款基于 Django实现的错误日志收集和聚合的平台,它是 Python 实现的,但是其日志监控功能却不局限于python,对诸如 Node.js, php,ruby, C#,java 等语言的项目都可以做到无缝集成,甚至可以用来对iOS, Android 移动客户端以及 Web前端异常进行跟踪。我们可以在程序中捕获异常,并发送到 Sentry服务端进行聚合统计、展示和报警。
一、安装mysql
1) 获取并安装mysql社区版本
wget http://repo.mysql.com//mysql57-community-release-el7-8.noarch.rpmrpm -ivh mysql57-community-release-el7-8.noarch.rpmyum install mysql-community-server
2) 启动mysql
service mysqld restart
grep 'temporary password' /var/log/mysqld.log2016-08-09T04:36:57.654274Z 1 [Note] A temporary password is generated for root@localhost: jDTcYtBnu4=v
4) 使用上面的密码进行登录
mysql -uroot -p5) 将临时密码修改为自己的新密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'mypassword';6) 新建数据库sentry,之后sentry的配置文件会用到
create database sentry;
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpmrpm -ivh epel-release-latest-7.noarch.rpm
yum -y install redis1) 启动redis
systemctl start redis.service2) 其它基本命令(供参考)
#停止systemctl stop redis.service#重启systemctl restart redis.service#检查状态systemctl status redis.service#打开开机启动systemctl enable redis.service
本文测试环境为centos7,默认已经安装python 2.7.5版本。Python的版本要>= 2.7,如果系统的Python版本过低,需要升级python。
[root@sunt2 home]# python -V && pip -VPython 2.7.5-bash: pip: 未找到命令1) 安装pip
wget https://bootstrap.pypa.io/get-pip.pypython get-pip.py
2) 安装virtualenv virtualenvwrapper
pip install virtualenv virtualenvwrapper
3) 修改~/.bashrc文件,设置环境变量,添加以下内容:
export WORKON_HOME=/var/sentryenvexport VIRTUALENVWRAPPER_PYTHON=/usr/bin/pythonexport VIRTUALENVWRAPPER_VIRTUALENV=/usr/bin/virtualenvsource /usr/bin/virtualenvwrapper.sh
4) 使环境变量生效
source ~/.bashrc
1) 按顺序安装以下包
mkvirtualenv sentryyum install python-develyum install libffi-develyum install openssl-develeasy_install Cythonyum install libxslt-devel libxml2-develyum install postgresql-develpip install sentry[mysql]pip install sentryyum install mysql-develpip install sentry[mysql] --upgrade
2)启用virtualenv,进入Python环境
source /var/sentryenv/sentry/bin/activate3)安装相关的Python库:
pip install redis hiredis nyduspip install redis hiredis nydus --upgradepip install geventpip install eventleteasy_install MySQL-python
4)初始化Sentry的配置文件,会在/var/sentryenv/sentry/etc下生成配置文件sentry.conf.py :
mkdir -p /var/sentryenv/sentry/etc/var/sentryenv/sentry/bin/sentry init /var/sentryenv/sentry/etc/
5)生成key
/var/sentryenv/sentry/bin/sentry config generate-secret-keyd5c=igv90h(r+zbtgd+ea=^%_fd!-x5b=fdyh4vv#%#i7_ll#k #配置文件中使用
6)修改配置文件/var/sentryenv/sentry/etc/sentry.conf.py 如下
# This file is just Python, with a touch of Django which means# you can inherit and tweak settings to your hearts content.from sentry.conf.server import *import os.pathCONF_ROOT = os.path.dirname(__file__)DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'sentry', 'USER': 'root', 'PASSWORD': 'mypassword', 'HOST': 'localhost', 'PORT': '3306', 'AUTOCOMMIT': True, 'ATOMIC_REQUESTS': False, }}SENTRY_USE_BIG_INTS = TrueSENTRY_SINGLE_ORGANIZATION = TrueDEBUG = FalseSENTRY_OPTIONS["redis.clusters"]={ 'default':{ 'hosts':{ 0: { 'host': '127.0.0.1', 'port': 6379, } } }}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_FILESTORE = 'django.core.files.storage.FileSystemStorage'SENTRY_FILESTORE_OPTIONS = { 'location': '/tmp/sentry-files',}SENTRY_OPTIONS['system.url-prefix']='http://192.168.1.112:9000'SENTRY_WEB_HOST = '0.0.0.0'SENTRY_WEB_PORT = 9000SENTRY_WEB_OPTIONS = { 'daemon':True # 'workers': 3, # the number of web workers # 'protocol': 'uwsgi', # Enable uwsgi protocol instead of http}SENTRY_OPTIONS['mail.mailgun-api-key']=''SENTRY_OPTIONS['system.secret-key']='d5c=igv90h(r+zbtgd+ea=^%_fd!-x5b=fdyh4vv#%#i7_ll#k'更加详细配置可以参考https://github.com/getsentry/sentry/blob/master/src/sentry/conf/server.py#L351
7)配置完成之后,初始化Sentry数据库:
/var/sentryenv/sentry/bin/sentry --config=/var/sentryenv/sentry/etc/sentry.conf.py upgrade初始化过程中提示要不要创建用户,创建用户并设置为超级用户。
8)启动Sentry server:
/var/sentryenv/sentry/bin/sentry --config=/var/sentryenv/sentry/etc/sentry.conf.py start
firewall-cmd --zone=public --add-port=9000/tcp --permanentfirewall-cmd --reload10)浏览器中输入http://192.168.1.112:9000/就可以看到 Sentry的主界面了:
11) 用刚才初始化的用户名和密码登陆。提示如下错误:
解决方法使用普通用户(非root用户登陆linux),执行以下命令,然后再启动sentry
/var/sentryenv/sentry/bin/sentry --config=/var/sentryenv/sentry/etc/sentry.conf.py celery worker -B
到这边sentry server安装配置完成
1 0
- Spring Boot实战之配置使用Sentry上报错误日志(一)
- Spring Boot实战之配置使用Sentry上报错误日志(二)
- Spring Boot实战之配置使用Logback进行日志记录
- Spring Boot实战之配置使用Logback进行日志记录
- Spring Boot实战之配置使用Logback进行日志记录
- Spring Boot之日志配置
- Spring Boot实战之Spring基础配置
- Spring Boot实战之Java配置
- Spring Boot系列之十 日志配置
- spring boot实战一
- Spring Boot 实战(一)
- Spring boot日志配置
- Sentry--错误日志收集框架
- spring boot (一)入门 启动、日志配置和快速构建
- Spring Boot自动配置实战
- spring boot 基础日志配置
- spring boot配置logback日志
- spring boot 基础日志配置
- 杨辉三角
- android studio下aidl的使用
- SLF4J分析
- IOS 监测网络状态
- Spring框架参考文档-核心技术-IoC容器
- Spring Boot实战之配置使用Sentry上报错误日志(一)
- sdut oj3343 数据结构实验之二叉树四:还原二叉树
- 面向对象原则--单一职责原则
- 写自己的配置文件中的section
- LightOJ 1265 Island of Survival(概率DP)
- PHP加密解密明文相同每次密文不一样非对称加解密
- 域操作符::的用法
- http协议学习系列(断点续传和多线程下载的实现原理)
- 一个form表单提交到两个不同的action中