安庆大理运城常德铜陵江西
投稿投诉
江西南阳
嘉兴昆明
铜陵滨州
广东西昌
常德梅州
兰州阳江
运城金华
广西萍乡
大理重庆
诸暨泉州
安庆南充
武汉辽宁

应用异常监控利器Sentry搭建与学习笔记(修正版)

10月10日 莫思归投稿
  什么是Sentry?Sentry是一家开源公司,提供了一个应用程序监视平台,可以帮助您实时识别问题。
  在这里,我们涵盖了有关产品,平台集成和自托管Sentry的所有内容。
  【通俗讲的讲】
  我们可以使用Sentry平台实时地监控我们的应用或服务、并且可以收集相关运行时错误或异常日志信息,
  在第一时间将错误信息推送至我们的后台或邮件组等。这样不仅能主动帮我们第一时间发现线上问题,
  而且很好的保留了异常发生时的现场,更有助于我们快速定位问题根源,提高解决问题的效率,逐步提高产品的稳定性和用户体验。
  官网及文档https:sentry。iowelcomehttps:docs。sentry。iohttps:docs。sentry。ioguideshttps:docs。sentry。ioplatformsgo
  Sentry的原理
  在Sentry后台注册相关账号并使用关联Dsnkey。(该key是关联应用和后台平台的桥梁)
  在我们的应用中潜入对应语言的SDK埋点,并关联上述
  简单到仅用一个init方法就可以搞定。
  捕获异常并埋点,将异常信息第一时间推送至后台平台。
  Sentry平台的优势
  支持各种主流语言或框架。
  跨平台性较好,并支持容器化安装搭建等。
  平台自建成本低、部署简单、集成方便。
  SentryGolang版的支持
  官方文档https:docs。sentry。ioplatformsgo
  fasthttp框架支持https:docs。sentry。ioplatformsgofasthttp
  平台搭建与实践
  虚拟机环境
  CentOSLinuxrelease7。6。1810(Core)
  SentryDocker镜像获取
  https:github。comgetsentrydockersentry
  https:github。comgetsentryonpremise
  安装部署
  https:github。comdockerlibrarydocstreemastersentry。dockerrundnamesentryredisredis。dockerrundnamesentrypostgresePOSTGRESPASSWORDsecretePOSTGRESUSERsentrypostgres。dockerrunrmsentryconfiggeneratesecretkey这一步会生成一个密钥key,比如l)ti9v!pt!hpz3g33tq3hy2afpvsda6ghr24)k4q,先记下来,后面步骤中多个容器会共享该key。dockerrunitrmeSENTRYSECRETKEYl)ti9v!pt!hpz3g33tq3hy2afpvsda6ghr24)k4qlinksentrypostgres:postgreslinksentryredis:redissentryupgrade5。dockerrundp9090:9000namemysentryeSENTRYSECRETKEYl)ti9v!pt!hpz3g33tq3hy2afpvsda6ghr24)k4qlinksentryredis:redislinksentrypostgres:postgressentry6。dockerrundnamesentrycroneSENTRYSECRETKEYl)ti9v!pt!hpz3g33tq3hy2afpvsda6ghr24)k4qlinksentrypostgres:postgreslinksentryredis:redissentryruncron。dockerrundnamesentryworkereSENTRYSECRETKEYl)ti9v!pt!hpz3g33tq3hy2afpvsda6ghr24)k4qlinksentrypostgres:postgreslinksentryredis:redissentryrunworker上述几步完成后,查看下刚才创建的容器以及运行状态是否完好:tmpdockerpsCONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMESed2439c527csentryentrypoint。shrunhoursagoUphours9000tcpsentryworkerf3779877d102sentryentrypoint。shrunhoursagoUphours9000tcpsentrycron9c190bd613a6sentryentrypoint。shrunhoursagoUphours0。0。0。0:90909000tcpmysentry188c744c2f21postgresdockerentrypoint。shoursagoUphours5432tcpsentrypostgresabad0564ca2bredisdockerentrypoint。shoursagoUphours6379tcpsentryredis然后检查下宿主机防火墙或安全组策略,放行上述映射的9090端口;
  在浏览器中访问并测试
  http:localhost:9090authloginsentry
  访问成功后登陆
  如果成功,您会看到如下页面
  然后用上述第4步中填入第账户登陆并配置,成功后进入首页
  简体中文设置
  打开左上角第个人中心,然后点击Usersettingslanguage选择简体中文即可。
  然后可以创建一个团队,如名称为server
  然后创建一个项目,如gosentrytest
  将sdk潜入Golang应用,如gosentrytest。goimport(errorstimegithub。comgetsentrysentrygo)funcmain{sentry。Init(sentry。ClientOptions{Dsn:http:60e443996c464def804082d3c7e04de3localhost:90902,})sentry。CaptureException(errors。New(myerror))Sincesentryemitseventsinthebackgroundweneedtomakesuretheyaresentbeforeweshutdownsentry。Flush(time。Second5)}
  本地运行并模拟错误将日志上报
  gorungosentrytest。go
  刷新后台页面,看到刚刚咱们应用上传的error已经在issues列表中了,如图
  并且还支持直接潜入到web框架,如以fasthttp为例:import(fmtnethttpgithub。comgetsentrysentrygosentryfasthttpgithub。comgetsentrysentrygofasthttp)ToinitializeSentryshandler,youneedtoinitializeSentryitselfbeforehandiferr:sentry。Init(sentry。ClientOptions{Dsn:https:079843729765443f982ef8f3aea18766o396662。ingest。sentry。io5250281,});err!nil{fmt。Printf(Sentryinitializationfailed:v,err)}CreateaninstanceofsentryfasthttpsentryHandler:sentryfasthttp。New(sentryfasthttp。Options{})Aftercreatingtheinstance,youcanattachthehandlerasoneofyourmiddlewarefastHTTPHandler:sentryHandler。Handle(func(ctxfasthttp。RequestCtx){panic(ytho)})fmt。Println(ListeningandservingHTTPon:3000)Andrunitiferr:fasthttp。ListenAndServe(:3000,fastHTTPHandler);err!nil{panic(err)}
  直接使用官方提供的admin后台做测试或学习
  上述是自己完整到搭建一下sentry,如果仅是为了学习或测试一下,并想节省时间,则可以直接在官方的后台https:sentry。iosignup
  注册一个账号,然后将sdk潜入到自己的测试应用中看效果,如packagemainimport(logtimegithub。comgetsentrysentrygo)funcmain{err:sentry。Init(sentry。ClientOptions{EithersetyourDSNhereorsettheSENTRYDSNenvironmentvariable。Dsn:https:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx。ingest。sentry。ioxxxxxxx,这里需要替换为您自己的DsnEnableprintingofSDKdebugmessages。Usefulwhengettingstartedortryingtofiguresomethingout。Debug:true,})iferr!nil{log。Fatalf(sentry。Init:s,err)}Flushbufferedeventsbeforetheprogramterminates。Setthetimeouttothemaximumdurationtheprogramcanaffordtowait。defersentry。Flush(time。Second)sentry。CaptureException(自定义运行时错误1)sentry。CaptureMessage(自定义error)}
  效果如下
投诉 评论 转载

有山有水有树林的虎宝宝名字山字旁寓意:虎虎生威掌握地盘岄枞岄冰岄芊岄栩岄岄笙峖峖昱峖潼峖芷峖晴景峖岺岺琪岺洲岺宵岺尘陌岺岍岍柠岍珃岍帆岺洲岍澄岍珃水字旁寓意:顺风顺水吃喝不……膀胱癌!!是指膀胱组织因异常理化因素侵袭而发生变性,是泌尿系最常见的肿瘤。常见表现:好发于5070岁男性,可发生间歇性血尿、时有时无,尿频、尿急、尿痛多因病情加重,排尿困难是肿瘤梗……记得那高考后跪地谢母的考生?一跪成名后,最后高考了几分文章纯属原创,版权归本作者所有,欢迎个人转发分享高考作为人生最重要的转折点之一,可谓是十年磨一剑,就为高考一哆嗦,这个时候每个家长都焦虑的为争分夺秒的孩子打气,期待孩子高……阳光下的童年!绘画了一缕阳光,带给人的是温暖也是光明今日欣赏英国艺术家AndrewMacara笔下那阳光的童年,他用画笔绘画了一群无忧无虑的孩子,看他们开心玩耍的样子,拥有无限的快乐。他们在光感的映衬下透露了许多单纯的存在,这些……张一山版的鹿鼎记是尬还是另一种表演风格?鹿鼎记已经不知道被翻拍多少个版本了,没过几年就有新的版本出现,可是2020版的评分尤其低啊!前有周星驰,陈小春,梁朝伟版,那已经是珠玉在前,无法复制的经典,后有张卫健,黄晓明,……应用异常监控利器Sentry搭建与学习笔记(修正版)什么是Sentry?Sentry是一家开源公司,提供了一个应用程序监视平台,可以帮助您实时识别问题。在这里,我们涵盖了有关产品,平台集成和自托管Sentry的所有内容。……最伤父母的四句话对待父母的态度,决定了你有多大福报善待父母,才是一个人最大的福报。周国平曾说过:对亲近的人挑剔是本能,但克服本能,做到对亲近的人不挑剔是种教养。最好的教养,不仅是对陌生人彬彬有礼,更重要的是尊重自己……你的家庭教育方式对吗?不要再用你错误的教育方式害了孩子今天我们来讲讲家庭教育的重要性,家庭教育由于成长环境、学识水平、社会阅历、性情品质的不同,每对父母在管教孩子时,都会呈现出不同的面貌:有爱意浓浓,讲究以理服人的;有娇惯孩子,任……笑着哭!萌娃被爸爸整蛊,用快递单粘在脸上,撕下来那一刻肉疼!都说爸爸带娃,活着就好!最主要的原因就是爸爸本身比较粗线条,性格比较男性化豪迈,不像妈妈那样细致体贴,对于孩子的照顾显得格外的大气。很多时候爸爸带娃都是只要孩子没有身处危……想让孩子走出自卑,变得自信,父母只要做好几件小事就够了1。教孩子养成阅读的好习惯教孩子养成阅读的好习惯。书是最有耐心、最能忍耐和最令人愉悦的伙伴。阅读让孩子在书中找寻到安慰,同样的,阅读可以让孩子变得心明眼亮,发现自我,找到……父母的三次觉醒,你做到了几次作为父母要想教育好孩子,得有三次觉醒,大家不妨来看一下,自己都做到了几次第一、真正明白了成绩永远没有性格重要在这一点上很多父母都搞反了,因为成功智商情商逆商,如果说……双减政策后,家长如何帮助孩子养成良好的运动习惯?欢迎关注秀才教育在线文秀才2021年双减政策落地后,孩子们有了更多的玩耍时间。如何引导孩子养成良好的运动习惯呢?秀才的建议是:一、家长以身作则。孩子天性……
顶嘴不服管青春期叛逆亲子关系紧张?六大秘籍来调整幼儿新生入园要做哪些准备?最理想的两胎是两个儿子或者女儿,还是一儿一女?外卖小哥高考623分!适合上班族的学历提升方式有哪些?让你能够瞬间清醒的10条建议,甚至会改变你的人生温州人夏天必吃的美食有哪些?你又吃过几种?素质教育很好,但为孩子选对素质成才方向却很难治痹三大法孩子在学校被欺负,是被霸凌了吗?我该如何处理?2岁女孩和妈妈的尸体待了一整天,别让你的孩子成为下一个皮胡19岁天才少年魂断异国,爸爸不惜辞职悉心照料,为何还会发生悲如何在短期内准确地识别出有家暴倾向的人?活久见!EDG战队夏季赛大名单公布,阿布厂长同时出镜猫的报恩观后感瘦西湖的月,在螺蛳壳里做道场的园林,不一样的扬州苏翊鸣经纪人忙着拒绝代言,一战成名后要保护运动员IP古代最早的喷火器,射程能达6米杀伤力极强就连海战都适用老人帕金森病后如何做好卫生护理愿得心人,白头不相离的作者是谁紫色曼陀罗绿化施工合同村上春树且听风吟的经典语录寒潮来了宝宝该注意哪些防寒保暖作家的作文400字

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找七猫云易事利