错误统计日志监控

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

如果要重新安装记得删除这俩个目录,不然还会有以前的数据

国内前端异常监控 私有部署 前端错误监控平台_数据库_02

如果有错(没有路径、文件等),可能尝试下重启docker

国内前端异常监控 私有部署 前端错误监控平台_ViewUI_03

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

如果出现如下帮助提示说明成功了。

国内前端异常监控 私有部署 前端错误监控平台_前端_04

生成一个密钥

docker run \
  --rm ${REPOSITORY} \
  config generate-secret-key

# docker run \
# --rm sentry-onpremise \
# config generate-secret-key

执行命令后会返回一串密钥,复制下后面用。

国内前端异常监控 私有部署 前端错误监控平台_ViewUI_05

运行命令

docker run \
  --detach \
  --link sentry-redis:redis \
  --link sentry-postgres:postgres \
  --link sentry-smtp:smtp \
  --env SENTRY_SECRET_KEY=${SENTRY_SECRET_KEY} \
  ${REPOSITORY} \
  <command>

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中的步骤来

国内前端异常监控 私有部署 前端错误监控平台_前端_06

邮箱配置最好在开始的时候就配置在config.yml中,不然改起来很蛮烦,下面是腾讯企业邮箱实例,端口实际测试465不好使,把port改成 587

vim config.yml

国内前端异常监控 私有部署 前端错误监控平台_前端_07

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

然后会弹出创建用户,根据提示操作即可

国内前端异常监控 私有部署 前端错误监控平台_运维_08

3.成功后会提示你运行sentry

docker-compose up -d

国内前端异常监控 私有部署 前端错误监控平台_ViewUI_09

4.输入IP:9000查看并配置

国内前端异常监控 私有部署 前端错误监控平台_ViewUI_10

如果前面没有设置config,怎么填写都是有问题的,即使成功了,后面邮件测试也不会通过,应该就是port那个地方的问题,所以邮箱配置最好在开始的时候就配置在config.yml中,不然改起来很蛮烦。

国内前端异常监控 私有部署 前端错误监控平台_前端_07

如果开头config设置好了邮箱,起始页面就没有这一部分了。如果前面没有设置config,你也可以在这里更改config文件,然后再install即可,问题不大。

国内前端异常监控 私有部署 前端错误监控平台_ViewUI_12

sentry 使用注意事项

1.成员都是发送邀请邮件进来的 2.权限定义到Team 3.创建项目后有相应的安装指引 4.user setting中可以设置中文,但是不完善

外网访问

阿里云:配置安全组

国内前端异常监控 私有部署 前端错误监控平台_数据库_13