Bonree ONE荣获信通院“2022IT新治理年度明星产品”

2023-01-09

今日,由信通院主办的“GOLF+IT新治理领导力论坛”正式召开,论坛上公布了2022IT新治理年度评选活动的结果,博睿数据一体化智能可观测平台Bonree ONE凭借卓越的产品力以及优秀的用户体验,从一众产品中脱颖而出,获得“2022 IT新治理年度明星产品”的荣誉。

3(3)

同时,博睿数据还参与了信通院对《智能化运维AIOps能力成熟度模型》的评估,并获得了信通院AIOps系统和工具“优秀级”评级。博睿数据成为国内首个也是目前唯一获得该项目根因分析模块“优秀级”评价的厂商。

2(3)

1(3)

博睿数据产品总监贺安辉与博睿数据首席架构师及数智能力中心研发负责人李骅宸接受了信通院的采访,与大家分享博睿数据在AIOps领域的见解。

1-1674092967695

Q1. 老师您好,请介绍一下您和您的企业,以及此次参与评估的项目。


李骅宸:您好,我是博睿数据的首席架构师及数智能力中心研发负责人,主要负责公司的大数据、AIOps、智能告警等系统的研发工作。

北京博睿宏远数据科技股份有限公司是中国APM(应用性能管理)技术的领导厂商,成立于2008年。公司专注于利用数据赋能IT运维,助力企业数字化转型成功。2020年8月17日,公司正式在上海证券交易所科创板上市(股票代码:688229)。目前,博睿数据的解决方案已经覆盖了IT运维管理所有分支领域(DEM、APM、ITIM、NPM和智能运维管理),满足了IT运维人员、开发人员、技术 支持人员、前端业务人员等多种职业角色的需求。

基于14年的行业积累,2022年10月博睿数据发布了一体化智能可观测平台Bonree ONE 2.0,实现了开箱即用的故障根因分析能力和业务应用的完整可观测性,给运维带来端到端、一体化、有见解的新体验,标志着中国IT运维迈入数智融合3.0时代,是中国IT运维市场发展的重要里程碑。IDC《中国IT统一运维软件产品市场跟踪报告,2022H1》研究报告显示,中国IT统一运维软件市场总体规模在2022年上半年达到2.8亿美元(18.1亿人民币),同比增长20%。在APM市场中,博睿数据成功以18.4%的份额稳居中国APM市场第一!

本次博睿数据参加评测的项目是:博睿数据Swift-AI能力平台的根因分析能力。


Q2. 恭喜您通过AIOps标准系统和工具评估,您的感受是怎样的?

李骅宸:非常荣幸成为信通院AIOps标准通过的企业。能够顺利通过根因分析优秀级评估,获得行业专家的认可,非常高兴。同时感谢专家老师的大力指导,以及我们公司同事的努力。我们在评估中也得到了很多收益,能更好的了解企业AIOps自身发展情况,也能和专家深度交流行业优秀实践,相互取长补短,对我们后续产品规划也有很大的指导帮助。


Q3. 贵单位参与本次AIOps标准系统和工具标准评估,请问企业有哪些考量?

李骅宸:信通院是国家标准制定的指引者。信通院牵头联合多家单位制定的AIOps能力成熟度标准,推动了AIOps相关产业健康有序发展。博睿数据作为国内APM行业的领导者非常重视AIOps的行业标准和技术发展,我们希望通过评估能发现自身产品能力和优化改进的方向,赋能给客户更好的体验。通过本次评估,我们和行业专家也进行了比较充分的交流,对AIOps行业发展有坚定的信心,行而不辍,未来可期。


Q4. 通过AIOps标准系统和工具标准评估带给企业和团队哪些变化?

李骅宸:我们Swift-AI、大数据、Alert等多个团队的共同努力,最终实现了以知识图谱为核心的根因分析能力,通过了根因分析优秀级能力评估,我们公司和团队迈出了AIOps关键的一步。在评估过程中,团队成员有了技术能力的提升和实在的收获,同时我们不断打磨AI能力,一举突破创新出有代差的AI根因分析能力。评估34个根因分析能力项最终通过了33项,对不通过的那一项算法编排能力,我们也和专家交流,事后认真复盘,最终规划到我们后续的产品能力上。

2-1674092982610

Q5. 对于AIOps工作的开展,下一步计划有几方面?

贺安辉:2021年通过信通院异常检测能力评估,2022年通过信通院根因分析能力评估,连续两年通过信通院的AIOps能力成熟度评估,表明了博睿数据在AIOps方向的重视和投入程度。博睿数据以“让IT运营更智能”为品牌理念,从本质上决定了公司在 AIOps 上的投入和发展是持续性的。接下来,我们还有如下几个方面的计划:

(1) 自适应AI 的持续发力和突破,在客户环境的运行过程中实时获得反馈,并不断调整训练参数,以得到更优的输出结果。整个过程由以前用户介入很深的半自动模式演变到几乎不需要用户介入的全托管模式。自适应AI 的赋能使得可观测性演进到自适应可观测性,更进一步奠定博睿数据在可观测领域的领先地位。

(2) 混沌工程和AI的深度结合,日常通过主动注入故障不断校验和训练算法,进一步提升根因分析的推断深度、准确度和行业覆盖度,以便在不同行业中达到生产环境开箱可用的效果,切实真正地为企业数字化转型起到加速赋能的作用。


Q6. 对于AIOps的未来发展方向,您有何看法?

贺安辉:从咨询公司发布的IT技术成熟度曲线来看,AIOps 目前正处于期望顶峰,离生产成熟可用还有5到10年的时间。国内在这个领域的探索还处于百花齐放的阶段。每家公司的投入和发力点还存在不少差异。这导致不少企业客户对于AIOps的落地效果产生了怀疑不信任的情绪。信通院发布的AIOps能力成熟度模型无疑为行业树立了标准,拥抱标准和生态是提升这个行业整体成熟度和效率的必由之路。我们很欣慰地看到,博睿数据在拥抱AIOps标准方面是走在了前面的。后续我们也将更多地贡献公司在AIOps领域的最佳实践。

同时我们也观察到很多企业在数字化转型的过程中也在持续发力AIOps相关的项目投入,博睿数据作为APM领域的领导者,有决心、有信心、有责任与各企业客户一起加速AIOps成熟期的到来。


文章标签

可观测性平台 智能运维

相关文章

FreeMarker template error (DEBUG mode; use RETHROW in production!): The string doesn't match the expected date/time/date-time format. The string to parse was: "2024年3月5日". The expected format was: "MMM d, y". The nested reason given follows: Unparseable date: "2024年3月5日" ---- FTL stack trace ("~" means nesting-related): - Failed at: #if "2024年3月5日"?date lt item.createTi... [in template "themes/halo_quickstarter/post_newsDetail.ftl" at line 106, column 25] ---- Java stack trace (for programmers): ---- freemarker.core._TemplateModelException: [... Exception message was already printed; see it above ...] at freemarker.core.BuiltInsForMultipleTypes$dateBI$DateParser.parse(BuiltInsForMultipleTypes.java:220) at freemarker.core.BuiltInsForMultipleTypes$dateBI$DateParser.getAsDateModel(BuiltInsForMultipleTypes.java:190) at freemarker.core.BuiltInsForMultipleTypes$dateBI$DateParser.getAsDate(BuiltInsForMultipleTypes.java:197) at freemarker.core.EvalUtil.modelToDate(EvalUtil.java:86) at freemarker.core.EvalUtil.compare(EvalUtil.java:270) at freemarker.core.EvalUtil.compare(EvalUtil.java:115) at freemarker.core.ComparisonExpression.evalToBoolean(ComparisonExpression.java:78) at freemarker.core.IfBlock.accept(IfBlock.java:49) at freemarker.core.Environment.visit(Environment.java:370) at freemarker.core.IteratorBlock$IterationContext.executedNestedContentForCollOrSeqListing(IteratorBlock.java:321) at freemarker.core.IteratorBlock$IterationContext.executeNestedContent(IteratorBlock.java:271) at freemarker.core.IteratorBlock$IterationContext.accept(IteratorBlock.java:244) at freemarker.core.Environment.visitIteratorBlock(Environment.java:644) at freemarker.core.IteratorBlock.acceptWithResult(IteratorBlock.java:108) at freemarker.core.IteratorBlock.accept(IteratorBlock.java:94) at freemarker.core.Environment.visit(Environment.java:334) at freemarker.core.Environment.visit(Environment.java:340) at freemarker.core.Environment.visit(Environment.java:340) at freemarker.core.Environment.process(Environment.java:313) at freemarker.template.Template.process(Template.java:383) at org.springframework.web.servlet.view.freemarker.FreeMarkerView.processTemplate(FreeMarkerView.java:391) at org.springframework.web.servlet.view.freemarker.FreeMarkerView.doRender(FreeMarkerView.java:304) at org.springframework.web.servlet.view.freemarker.FreeMarkerView.renderMergedTemplateModel(FreeMarkerView.java:255) at org.springframework.web.servlet.view.AbstractTemplateView.renderMergedOutputModel(AbstractTemplateView.java:179) at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:316) at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1401) at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1145) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1084) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) at javax.servlet.http.HttpServlet.service(HttpServlet.java:497) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) at javax.servlet.http.HttpServlet.service(HttpServlet.java:584) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799) at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1631) at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:230) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) at run.halo.app.cas.UserInfoFilter.doFilter(UserInfoFilter.java:37) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) at org.jasig.cas.client.util.AssertionThreadLocalFilter.doFilter(AssertionThreadLocalFilter.java:54) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) at org.jasig.cas.client.util.HttpServletRequestWrapperFilter.doFilter(HttpServletRequestWrapperFilter.java:75) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) at run.halo.app.cas.MyAbstractTicketValidationFilter.doFilter(MyAbstractTicketValidationFilter.java:215) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) at run.halo.app.cas.MyAuthenticationNoLoginFilter.doFilter(MyAuthenticationNoLoginFilter.java:57) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:102) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:102) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) at run.halo.app.security.filter.ContentFilter.doAuthenticate(ContentFilter.java:69) at run.halo.app.security.filter.AbstractAuthenticationFilter.doFilterInternal(AbstractAuthenticationFilter.java:229) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) at run.halo.app.filter.CorsFilter.doFilter(CorsFilter.java:53) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:96) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) at run.halo.app.filter.LogFilter.doFilterInternal(LogFilter.java:40) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:548) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:600) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1440) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1355) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) at org.eclipse.jetty.server.Server.handle(Server.java:516) at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:487) at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:732) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:479) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131) at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:409) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883) at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034) at java.base/java.lang.Thread.run(Thread.java:834) Caused by: freemarker.core.UnparsableValueException: Unparseable date: "2024年3月5日" at freemarker.core.JavaTemplateDateFormat.parse(JavaTemplateDateFormat.java:51) at freemarker.core.JavaTemplateDateFormat.parse(JavaTemplateDateFormat.java:33) at freemarker.core.BuiltInsForMultipleTypes$dateBI$DateParser.parse(BuiltInsForMultipleTypes.java:213) ... 118 more Caused by: java.text.ParseException: Unparseable date: "2024年3月5日" at java.base/java.text.DateFormat.parse(DateFormat.java:395) at freemarker.core.JavaTemplateDateFormat.parse(JavaTemplateDateFormat.java:49) ... 120 more