利用哨兵如何实现监控SpringBoot应用?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
哨兵是一个应用监控系统,可以用于前后端各种技术栈的线上监控和错误分析,这次我们用它来进行弹簧启动项目的线上日志分析实践。
首先需要根据提示在哨兵中创建好项目,项目平台(平台)可以选择弹簧引导或Java者。
哨兵提供了官方的弹簧起动器启动。
& lt; dependency> & lt; groupId> io.sentry & lt; artifactId> sentry-spring-boot-starter & lt; version> 3.1.1 & lt;/dependency>
除此之外,我们还需要配置应用程序。属性,将我们在哨兵中创建的项目密钥(DSN)导入:
哨兵。dsn=https://key@host id
编写我们的控制器,尝试抛出一个简单的异常。
@RestController 公开课HelloController { @RequestMapping (“/? 公共空白测试(){ 把新IllegalArgumentException(“你好world"); } }
如果之前的配置没有问题,那么我们就可以在哨兵的“问题”面板上面看到这个异常信息。
@ Bean 公共SentryUserProvider SentryUserProvider () { 返回()→{//实际的用户信息,可能要通过其他方式获得 用户用户=新用户(); user.setId (“userId"); user.setUsername(“张三“); user.setEmail (“zhangsan@gmail.com"); 返回用户; }; }
再次触发异常,我们得到了用户信息。
@ bean 公共SentryOptions。BeforeSendCallback BeforeSendCallback () { 提示返回(事件)→{ event.setTag (“name",“zhangsan"); 返回事件; }; }
可以看到我们的标签已经成功地添加了,点击这个标签可以找到所有含有这个标签的事件。
& lt; dependency> & lt; groupId> io.sentry & lt; artifactId> sentry-logback & lt; version> 3.1.1 & lt;/dependency>
哨兵弹簧引导起动器会自动监测依赖并为我们配置好相应的配置,我们直接就可以用日志代替原有的异常抛出了。
@RestController 公开课HelloController { 私有静态日志记录器=LoggerFactory.getLogger (HelloController.class); @RequestMapping (“/? 公共空白测试(){ logger.error (“Logback错误!“); } }利用哨兵如何实现监控SpringBoot应用