安装方式
Python安装
Docker 安装 接下来是介绍在centeos 用 docker 安装
注意事项
- 服务器的内存至少 8G,否则在执行 sentry upgrade 命令时会出现问题
Docker 版本要在17.05.0+
Compose 版本要在1.23.0+
一、Docker的安装
1.1更新软件源
sudo apt-get update
1.2安装所需的包
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
1.3添加Docker的官方GPG密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
1.4设置稳定版仓库
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
1.5再次更新软件源并安装Docker CE
sudo apt-get update
sudo apt-get install docker-ce
1.6验证安装
sudo systemctl status docker
如果显示的信息中包含 active (running)
,则表示Docker已成功安装。
二、Docker-Compose的安装
2.1下载Docker-Compose的当前稳定版本
sudo curl -L "https://github.com/docker/compose/releases/download/$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep 'tag_name' | cut -d\" -f4)/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
2.2赋予可执行权限
sudo chmod +x /usr/local/bin/docker-compose
2.3验证安装
docker-compose --version
显示版本信息表示安装成功。
三、安装git
yum install git
四、安装sentry
官方制作的自动化安装脚本,sentry组件非常多,如下图所示。所以不要想自己一个个去装,能要你命!!!(目前安装成功的版本为self-hosted-23.7.0
,其余版本运行./install.sh
下载依赖安装时,均会报错,提示依赖下载失败…(某原因))
(下面有安装成功版本的百度网盘链接,有需要的铁铁可以自取)
4.1git拉取sentry安装组件
git clone https://github.com/getsentry/onpremise.git
这个是旧的
git https://github.com/getsentry/self-hosted.git
这个是新仓库
两个地址可以拉取,网上大多数都是旧的,后面估计仓库迁移了,但旧的也能用。
百度网盘组件安装包:
链接:https://pan.baidu.com/s/1ARsjAJze-x-pxoBey991KA?pwd=7734 提取码:7734
–来自百度网盘超级会员V6的分享
4.2切换docker镜像
部分docker镜像源国内访问较慢,下面附上几个常用镜像源
cd /etc/docker
vim daemon.json
daemon.json配置文件内容
{
"registry-mirrors": [
"http://registry.docker-cn.com",
"http://docker.mirrors.ustc.edu.cn",
"http://hub-mirror.c.163.com",
"https://82ywvjs9.mirror.aliyuncs.com",
"https://mirror.ccs.tencentyun.com",
"https://hkoa9dfz.mirror.aliyuncs.com",
"https://cr.console.aliyun.com",
"https://registry.cn-hangzhou.aliyuncs.com",
"https://mirrors.huaweicloud.com/",
"http://f1361db2.m.daocloud.io"
],
"max-concurrent-downloads": 100,
"log-driver": "json-file",
"log-level": "warn",
"log-opts": {
"max-size": "1000m",
"max-file": "300"
},
"data-root": "/var/lib/docker"
}
4.3解压安装
unzip 23.7.0.zip
cd self-hosted-23.7.0/
在self-hosted-23.7.0路径下运行./install.sh
sudo ./install.sh
出现超时情况,可以多次重试./install.sh
命令来尝试解决。
4.4创建初始帐号
安装快结束的时候会提示你是否现在注册账户,我这里选择是(输入y),接着输入对应信息即可。
不小心点了 n 咋办?
运行下述代码,设置管理员账号密码
docker-compose run --rm sentry createuser --email (你的邮箱) --password (你的密码) --superuser
4.5启动sentry
docker compose up -d
可以看到启动的服务贼多…
注意一定得在self-hosted-23.7.0
(sentry解压目录)文件目录下执行
打开浏览器输入IP地址+端口号9000就可以访问Sentry登录界面了。
4.6邮箱配置
进入self-hosted-23.7.0/sentry
目录下,编辑config.yml
着重讲解一下几个配置项
- mail.backend: ‘smtp’
- mail.host:邮件服务域名
- mail.port:587/465 我是企业邮箱(465)
- mail.username:邮箱登录名
- mail.use-tls:我是false。
- mail.use-ssl:我是true,一般ssl协议对应端口为587,但我测试下来是能成功发送的。
- mail.password:不是邮箱登录密码,是邮箱给的IMAP/SMTP服务密码
- mail.from:与mail.username要一致
其中 mail.use-tls 、mail.use-ssl
二选一来配置
示例 QQ邮箱配置使用 tls类型的(我这边没测试成功....
)
mail.backend: 'smtp'
mail.host: 'smtp.qq.com'
mail.port: 587
mail.username: '123456@qq.com'
mail.password: '是秘钥 不是登录密码'
mail.use-tls: true
mail.use-ssl: false
mail.from: '123456@qq.com'
以上配置都是可以在自己qq邮箱中找到并且设置的
附如何获取qq邮箱账户密钥
登录qq邮箱首页
点击账号与安全
示例 企业邮箱配置使用 ssl类型的
mail.backend: 'smtp'
mail.host: 'smtp.exmail.qq.com'
mail.port: 465
mail.username: '122@test.com'
mail.password: '是秘钥 不是登录密码'
mail.use-tls: false
mail.use-ssl: true
mail.from: '122@test.com'
配置完毕后保存 重新启动sentry
docker-compose down
docker-compose up -d
启动完毕后可以刷新一下邮箱配置页面 就可以看到改变了
五、Springboot项目引入sentry
5.1新建sentry项目
5.2pom.xml引入依赖
<!-- sentry--> <dependency> <groupId>io.sentry</groupId> <artifactId>sentry-spring-boot-starter</artifactId> <version>6.4.1</version> </dependency> <dependency> <groupId>io.sentry</groupId> <artifactId>sentry-logback</artifactId> <version>6.4.1</version> </dependency>
5.3配置DNS
application.properties:
sentry.dsn=http://aa1f397e403f4996be0fe1503e6a4a7a@192.168.128.137:9000/7
# Set traces-sample-rate to 1.0 to capture 100% of transactions for performance monitoring.
# We recommend adjusting this value in production.
sentry.traces-sample-rate=1.0
application.yml
sentry:
dsn:http://aa1f397e403f4996be0fe1503e6a4a7a@192.168.128.137:9000/7
# Set traces-sample-rate to 1.0 to capture 100% of transactions for performance monitoring.
# We recommend adjusting this value in production.
traces-sample-rate: 1.0
5.4配置全局异常捕获
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(ServiceException.class)
@ResponseBody
public Result handle(ServiceException se){
Sentry.captureException(se); //将异常信息发送至sentry服务
return Result.error(se.getCode(),se.getMessage());
}
}