热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

django异常日志_Sentry前端异常追踪平台集成钉钉消息提醒

django异常日志_Sentry前端异常追踪平台集成钉钉消息提醒,Go语言社区,Golang程序员人脉社



      Sentry是一个开源的实时错误追踪系统,可以帮助开发者实时监控并修复异常问题,支持web前后端移动应用以及游戏,支持 Python、Java、Go、Node.js、Django等主流编程语言和框架 ,还提供了GitHub、Slack、Trello等常见开发工具的集成。Sentry可以实时监控前端的日志,一旦发生异常会第一时间把报错的路由路径、错误所在文件等详细信息以钉钉消息形式通知我们,并且利用错误信息的堆栈跟踪快速定位到需要处理的问题,目前公司的前端一些项目接入了Sentry进行错误日志追踪。根据官方文档推荐,使用docker方式安装,此次安装环境版本如下:


Docker version:19.03.12docker-compose version:1.26.2


服务器配置至少需要2400M内存


1、克隆sentry仓库


$ git clone https://github.com/getsentry/onpremise.git$ cd onpremise

2、添加钉钉通知插件


$ cd sentry && vim requirements.example.txt 加入如下内容# Add plugins here# sentry-dingchat==0.0.1 该插件报警样式不友好,换成下面这个# 钉钉通知插件sentry-10-dingding# 发邮件支持SSL协议django-smtp-ssl~=1.0# 钉钉插件需要的依赖redis-py-cluster==1.3.6

3、修改config.yml,配置邮件发送参数(可选)


# 虽然是使用钉钉消息,但是也把邮件方式的配置说明下cp sentry.conf.example.py sentry.conf.pycp config.example.yml config.ymlcp requirements.example.txt requirements.txt如果Sentry部署是在阿里云,那么只能使用tls来发送,我这里是本地服务器,使用qq邮箱进行配置vim config.ymlmail.backend: 'smtp'mail.host: 'smtp.exmail.qq.com'mail.port: 25mail.username: 'xx.xxxx@xxxx.com'mail.password: 'xxxxxxx'mail.use-tls: false# The email address to send on behalf ofmail.from: 'xx.xxxx@xxxx.com'

4、添加环境变量文件


# 修改 .env (没有可以创建),添加如下配置# 获取sentry key值,生成后的key添加到.env文件里docker-compose run web config generate-secret-keycp ~/onepremise/.env sentry/cat .env # 查看文件内容COMPOSE_PROJECT_NAME=sentry_onpremiseSENTRY_EVENT_RETENTION_DAYS=90SENTRY_IMAGE=getsentry/sentry:latestSNUBA_IMAGE=getsentry/snuba:latestRELAY_IMAGE=getsentry/relay:latestSYMBOLICATOR_IMAGE=getsentry/symbolicator:eac35a6058c7749bdf20ed219a377e49e02d0b76SENTRY_SECRET_KEY='72-(g_!*@1x(*&f*i1c5f&0(-^t3j=hhql8#&_l!i&c_b+p=tu' # 这是第一个命令生成的秘钥

5、安装


      过程中会提示创建一个初始用户,根据内容进行输入,如果你需要修改默认运行端口:执行docker-compose down关闭已启动的容器,修改onpremise目录下的docker-compose.yml和sentry.conf.py 里面的对应端口,然后执行 docker-compose build重新编译,完成后docker-compose up -d重新启动。



# 执行 $ sh install.sh 或者$ docker-compose build# 注意:部署Sentry完成后,以后如果添加新的插件支持或者修改参数都得重新build,如下:# Build the services again after updating, and make sure we're up to date on patch version$ docker-compose build --pull# Run new migrations$ docker-compose run --rm web upgrade# Recreate the services$ docker-compose up -d$ docker-compose ps

716911a672aa07b3d8c81acc1e6ea485.png


6、Sentry历史数据清理


此次安装没有安装定时清理的docker镜像,因为一直拉不下来镜像,只能放弃,原因你懂的。删除docker-compose.yml文件里如下几行:


snuba-cleanup:<<: *snuba_defaultsimage: snuba-cleanup-onpremise-localbuild:context: ./cronargs:BASE_IMAGE: '$SNUBA_IMAGE'command: '"*/5 * * * * gosu snuba snuba cleanup --dry-run False"'

没有了清理Sentry数据的镜像,只能通过手动进行清理。


$ docker exec -it sentry_onpremise_worker_1 bash$ sentry cleanup --days 60

7、安装完成,登入账号密码为上一步设置的用户名和密码,点击设置--->项目--->选择一个项目-->Legacy Integrations,找到DingDing插件并开启,如下图:


d964e5a1f7669057d8f5a242f78f7e97.png8、接下来进行配置钉钉机器人,使用钉钉建个群,然后创建钉钉机器人,拿到webhook地址及token,选择一个加密方式,根据上图在sentry中找到钉钉插件,配置钉钉token:


274a7b8f1ab823b4ec7ef69b0ba386d9.png


点击测试插件,钉钉收到信息,说明钉钉插件配置成功。


1a5c4fd098760535bbea72c28931f526.png


接下来进行前端项目的接入,具体细节参考大勇哥的呕心沥血之作《前端监控Sentry使用手册》,以下为我们前端项目接入后的钉钉消息图:可以看到消息内容有来自xxxx项目,还有简短的错误信息,更详细的错误日志可以点击“详细信息”跳转到sentry查看。


0102c57fc15ae9fa09e68ddf1ace9c30.png






推荐阅读
  • Java虚拟机及其发展历程
    Java虚拟机(JVM)是每个Java开发者日常工作中不可或缺的一部分,但其背后的运作机制却往往显得神秘莫测。本文将探讨Java及其虚拟机的发展历程,帮助读者深入了解这一关键技术。 ... [详细]
  • 酷家乐 Serverless FaaS 产品实践探索
    本文探讨了酷家乐在 Serverless FaaS 领域的实践与经验,重点介绍了 FaaS 平台的构建、业务收益及未来发展方向。 ... [详细]
  • Golang与微服务架构:构建高效微服务
    本文探讨了Golang在微服务架构中的应用,包括Golang的基本概念、微服务开发的优势、常用开发工具以及具体实践案例。 ... [详细]
  • 本文详细介绍如何在Spring Boot项目中集成和使用JPA,涵盖JPA的基本概念、Spring Data JPA的功能以及具体的操作步骤,帮助开发者快速掌握这一强大的持久化技术。 ... [详细]
  • J2EE平台集成了多种服务、API和协议,旨在支持基于Web的多层应用开发。本文将详细介绍J2EE平台中的13项关键技术规范,涵盖从数据库连接到事务处理等多个方面。 ... [详细]
  • 本文档提供了详细的MySQL安装步骤,包括解压安装文件、选择安装类型、配置MySQL服务以及设置管理员密码等关键环节,帮助用户顺利完成MySQL的安装。 ... [详细]
  • 深入探讨Web服务器与动态语言的交互机制:CGI、FastCGI与PHP-FPM
    本文详细解析了Web服务器(如Apache、Nginx等)与动态语言(如PHP)之间通过CGI、FastCGI及PHP-FPM进行交互的具体过程,旨在帮助开发者更好地理解这些技术背后的原理。 ... [详细]
  • 本文探讨了六项Java特性,它们虽然强大,但在不当使用时可能会给应用程序带来严重问题。文章基于作者Nikita Salnikov Tarnovski多年的应用性能调优经验,提供了对这些特性的深入分析。 ... [详细]
  • 本文详细探讨了 HAProxy 的基本概念及其与 LVS(Linux Virtual Server)的比较,特别是在内核空间与用户空间的工作差异。文章还深入介绍了 HAProxy 独有的数据结构——弹性二叉树,以及其在高并发场景下的表现。 ... [详细]
  • 本文介绍了多种Eclipse插件,包括XML Schema Infoset Model (XSD)、Graphical Editing Framework (GEF)、Eclipse Modeling Framework (EMF)等,涵盖了从Web开发到图形界面编辑的多个方面。 ... [详细]
  • 优雅地记录API调用时长
    本文旨在探讨如何高效且优雅地记录API接口的调用时长,通过实际案例和代码示例,帮助开发者理解并实施这一技术,提高系统的可观测性和调试效率。 ... [详细]
  • 本文详细介绍了PHP中的几种超全局变量,包括$GLOBAL、$_SERVER、$_POST、$_GET等,并探讨了AJAX的工作原理及其优缺点。通过具体示例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 本文由公众号【数智物语】(ID: decision_engine)发布,关注获取更多干货。文章探讨了从数据收集到清洗、建模及可视化的全过程,介绍了41款实用工具,旨在帮助数据科学家和分析师提升工作效率。 ... [详细]
  • 帝国cms各数据表有什么用
    CMS教程|帝国CMS帝国cmsCMS教程-帝国CMS精易编程助手源码,ubuntu桥接设置,500错误是tomcat吗,爬虫c原理,php会话包括什么,营销seo关键词优化一般多 ... [详细]
  • 本文介绍了如何使用Workman框架构建一个功能全面的即时通讯系统,该系统不仅支持一对一聊天、群组聊天,还集成了视频会议和实时音视频通话功能,同时提供了红包发送等附加功能。 ... [详细]
author-avatar
wwhh47123_829
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有