错误统计日志监控
Sentry 简介
Sentry 是一个开源的错误追踪工具,可以帮助开发人员实时监控和修复系统中的错误。其专注于错误监控以及提取一切事后处理所需的信息;支持几乎所有主流开发语言( JS/Java/Python/php )和平台, 并提供了web来展示输出错误。
sentry官网: https://sentry.io/
sentry 官方提供免费版和收费版的服务,如果不想搭建本地服务的话直接用官方服务好了。sentry是个开源的工具可以自行搭建。推荐使用Docker搭建,Github地址: https://github.com/getsentry/onpremise 。
数据卷位置
/var/lib/docker/volumes/sentry-data
/var/lib/docker/volumes/sentry-postgres
如果要重新安装记得删除这俩个目录,不然还会有以前的数据
如果有错(没有路径、文件等),可能尝试下重启docker
sentry 安装方式1(失败,可以直接看方式2,这里只是记录下)
环境搭建说明 https://docs.sentry.io/server/installation/docker/
1.拉取github上sentry的docker配置文件
git clone https://github.com/getsentry/onpremise.git
cd onpremise
2.构建容器
make build
3.运行依赖服务
Redis
docker run \
--detach \
--name sentry-redis \
redis:3.2-alpine
PostgreSQL
docker run \
--detach \
--name sentry-postgres \
--env POSTGRES_PASSWORD=secret \
--env POSTGRES_USER=sentry \
postgres:9.5
Outbound Email
docker run \
--detach \
--name sentry-smtp \
tianon/exim4
4.运行sentry服务
${REPOSITORY}对应于在上一步中构建图像时使用的名称。如果未指定,则默认为。要测试图像是否正常工作,您可以执行以下操作:sentry-onpremise
docker run \
--rm ${REPOSITORY} \
--help
# docker run \
# --rm sentry-onpremise \
# --help
如果出现如下帮助提示说明成功了。
生成一个密钥
docker run \
--rm ${REPOSITORY} \
config generate-secret-key
# docker run \
# --rm sentry-onpremise \
# config generate-secret-key
运行命令
docker run \
--detach \
--link sentry-redis:redis \
--link sentry-postgres:postgres \
--link sentry-smtp:smtp \
--env SENTRY_SECRET_KEY=${SENTRY_SECRET_KEY} \
${REPOSITORY} \
5.初始化(升级)
docker run --rm -it sentry-onpremise upgrade
在升级过程中,系统将提示您创建将充当超级用户的初始用户。 所有架构更改和数据库升级都通过upgrade命令处理,这是您在升级到Sentry的未来版本时首先要运行的。
6.启动web服务
docker run \
--detach \
--name sentry-web-01 \
--publish 9000:9000 \
sentry-onpremise \
run web
7.启动后台工作者(业务处理,数据持久化,报警等)
docker run \
--detach \
--name sentry-worker-01 \
sentry-onpremise \
run worker
8.启动Cron precess(定时任务,活性检测等)
docker run \
--detach \
--name sentry-cron \
sentry-onpremise \
run cron
嗯,如果上面的方法出现Redis Error或者容器未能启动等情况,那么请换种方式重来。参考:https://medium.com/sentry-with-docker/installing-sentry-with-docker-c1d83dfee577
sentry 安装方式2
上面方式有问题,没有提示我创建管理员账号!!!换一个方式,按照Readme中的步骤来
邮箱配置最好在开始的时候就配置在config.yml中,不然改起来很蛮烦,下面是腾讯企业邮箱实例,端口实际测试465不好使,把port改成 587
vim config.yml
1.先安装docker-compose https://docs.docker.com/compose/install/
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
2.运行安装脚本
./install.sh
然后会弹出创建用户,根据提示操作即可
3.成功后会提示你运行sentry
docker-compose up -d
4.输入IP:9000查看并配置
如果前面没有设置config,怎么填写都是有问题的,即使成功了,后面邮件测试也不会通过,应该就是port那个地方的问题,所以邮箱配置最好在开始的时候就配置在config.yml中,不然改起来很蛮烦。
如果开头config设置好了邮箱,起始页面就没有这一部分了。如果前面没有设置config,你也可以在这里更改config文件,然后再install即可,问题不大。
sentry 使用注意事项
1.成员都是发送邀请邮件进来的 2.权限定义到Team 3.创建项目后有相应的安装指引 4.user setting中可以设置中文,但是不完善
外网访问
阿里云:配置安全组