【Vue+DRF 生鲜电商】sentry 实现错误日志监控(十二)
1. 安装 Docker
# 卸载已有的docker
yum remove docker docker-common docker-selinux docker-engine
# 安装docker的依赖
yum install -y yum-utils device-mapper-persistent-data lvm2
# 安装docker-ce
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce
# 启动docker后台服务
service docker start
# 测试运行
docker run hello-world
# 设置开机启动
sudo systemctl enable docker
参考
https://linoxide.com/containers/upgrade-docker-fedora-centos/
http://projectsedu.com/
2. Docker 配置国内节点
配置国内节点加速访问(拉去镜像)
1、新增配置文件:
vim /etc/docker/daemon.json
{
"registry-mirrors": [
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com"
]
}
2、重启 Docker
:
systemctl daemon-reload
systemtctl restart docker && systemctl status docker
3、检查是否生效:docker info
3. CentOS 安装 sentry
3.1 方式一
cd /opt
mkdir -p data/{sentry,postgres}
# 克隆该项目
git clone https://github.com/getsentry/onpremise.git
# 生成密钥
cd onpremise
cp .env.example .env
docker volume create --name=sentry-data
docker volume create --name=sentry-postgres
docker-compose run --rm web config generate-secret-key
# 输出信息
Successfully built 65266319f103
Successfully tagged sentry-onpremise-local:latest
WARNING: Image for service web was built because it did not already exist. To rebuild this image you must use `docker-compose build` or `docker-compose up --build`.
# 密钥文件
(2gwakm75k4%-#79i(6o)%og4tz41r_02t=ik#uq_li15_*)(m
# 将该密钥文件写入 .env 或 docker-compose.yml 中
vim .env
SENTRY_SECRET_KEY='(2gwakm75k4%-#79i(6o)%og4tz41r_02t=ik#uq_li15_*)(m'
# 创建数据库
docker-compose run --rm web upgrade
# 在创建数据的时候会提示我们是否需要创建管理员,我们选择Y,填入对应的邮箱地址和密码,等一下登陆WEB需要,是否是超级管理员也选择Y
# 启动所有服务
docker-compose up -d
# 验证docker启动状态
docker ps
到此 sentry
就已经部署完成了,访问我们的服务器 ip:9000
端口就可以看见 sentry
的界面
参考文章
3.2 方式二
最新的安装方式:
git clone https://github.com/getsentry/onpremise.git
cd onpremise/
# 服务器最小安装内存为 2G,不足请修改 install.sh 中的 min_ram
# 执行脚本进行安装
./install.sh
# 看到以下信息表示已经安装完毕
# Generating Relay credentials...
# Relay credentials written to relay/credentials.json
# Relay public key written to sentry/sentry.conf.py
# Cleaning up...
# ----------------
# You're all done! Run the following command to get Sentry running:
# docker-compose up -d
docker-compose run --rm web upgrade
docker-compose run --rm web createuser # 创建登录账户
docker-compose up -d # 后台启动
docker ps # 查看启动的容器,检查是否启动成功
若没有出错,访问:http://ip:9000
端口查看 sentry
。
3.3 Django 集成 sentry
1、安装:pip install --upgrade 'sentry-sdk==0.16.1'
2、配置 settings
:
import sentry_sdk
from sentry_sdk.integrations.django import DjangoIntegration
sentry_sdk.init(
dsn="",
integrations=[DjangoIntegration()],
# If you wish to associate users to errors (assuming you are using
# django.contrib.auth) you may enable sending PII data.
send_default_pii=True
)
其中 dsn
是 sentry
创建项目时生成的一个 key
,用于标识和区分不同的项目,设置后才知道要往哪个项目发送错误,在 sentry
界面设置中能找到它。
3、配置路由 MxShop/urls.py
:
from django.urls import path
def trigger_error(request):
division_by_zero = 1 / 0
urlpatterns = [
path('sentry-debug/', trigger_error),
# ...
]
参考文章