热门标签 | 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






推荐阅读
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • 本文将深入探讨PHP编程语言的基本概念,并解释PHP概念股的含义。通过详细解析,帮助读者理解PHP在Web开发和股票市场中的重要性。 ... [详细]
  • 前端开发:从底层到顶端的行业现象解析
    在编程领域,鄙视链现象屡见不鲜,从C语言到Java、.NET等,每个技术栈都有其独特地位。然而,前端开发者尽管常处于鄙视链底端,却在市场需求中备受青睐。本文深入探讨这一现象,并分析前端工程师如何在竞争激烈的市场中脱颖而出。 ... [详细]
  • Python 异步编程:ASGI 服务器与框架详解
    自 Python 3.5 引入 async/await 语法以来,异步编程迅速崛起,吸引了大量开发者的关注。本文将深入探讨 ASGI(异步服务器网关接口)及其在现代 Python Web 开发中的应用,介绍主流的 ASGI 服务器和框架。 ... [详细]
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 将Web服务部署到Tomcat
    本文介绍了如何在JDeveloper 12c中创建一个Java项目,并将其打包为Web服务,然后部署到Tomcat服务器。内容涵盖从项目创建、编写Web服务代码、配置相关XML文件到最终的本地部署和验证。 ... [详细]
  • 本文详细介绍了macOS系统的核心组件,包括如何管理其安全特性——系统完整性保护(SIP),并探讨了不同版本的更新亮点。对于使用macOS系统的用户来说,了解这些信息有助于更好地管理和优化系统性能。 ... [详细]
  • libsodium 1.0.15 发布:引入重大不兼容更新
    最新发布的 libsodium 1.0.15 版本带来了若干不兼容的变更,其中包括默认密码散列算法的更改和其他重要调整。 ... [详细]
  • 本文探讨了领域驱动设计(DDD)的核心概念、应用场景及其实现方式,详细介绍了其在企业级软件开发中的优势和挑战。通过对比事务脚本与领域模型,展示了DDD如何提升系统的可维护性和扩展性。 ... [详细]
  • 本文详细介绍了Python编程语言的学习路径,涵盖基础语法、常用组件、开发工具、数据库管理、Web服务开发、大数据分析、人工智能、爬虫开发及办公自动化等多个方向。通过系统化的学习计划,帮助初学者快速掌握Python的核心技能。 ... [详细]
  • Python入门:第一天准备与安装
    本文详细介绍了Python编程语言的基础知识和安装步骤,帮助初学者快速上手。涵盖Python的特点、应用场景以及Windows环境下Python和PyCharm的安装方法。 ... [详细]
  • 在Java中,this是一个引用当前对象的关键字。如何通过this获取并显示其所指向的对象的属性和方法?本文详细解释了this的用法及其背后的原理。 ... [详细]
  • 使用 GitHub、JSDelivr、PicGo 和 Typora 构建高效的图床解决方案
    本文详细介绍了如何利用 GitHub 仓库、JSDelivr CDN、PicGo 图床工具和 Typora 编辑器,搭建一个高效且免费的图床系统。通过此方案,用户可以轻松管理和上传图片,并在 Markdown 文档中快速插入高质量的图片链接。 ... [详细]
  • FinOps 与 Serverless 的结合:破解云成本难题
    本文探讨了如何通过 FinOps 实践优化 Serverless 应用的成本管理,提出了首个 Serverless 函数总成本估计模型,并分享了多种有效的成本优化策略。 ... [详细]
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社区 版权所有