解决运维稳定性难题,夜莺监控助力方正证券研发提效

杨豆豆 2022年5月25日
Flashcat导读:

随着金融行业竞争环境变化,以及用户服务需求的不断提升,证券机构核心系统技术、网络架构也越来越复杂。像方正证券这样日成交额超1.5亿元、客户数超219万的证券公司,为满足业务日常敏捷、创新的需求,其内部IT运维系统的稳定性、及时性、可观测性能力也面临更大的挑战。如何选择靠谱的运维监控工具,成为了证券公司运维工程师们亟待解决的难题之一。

本期用户故事,快猫小编采访到了方正证券的运维工程师杨豆豆,聊了聊他与Nightingale(夜莺监控)相识、合作的历程和落地经验。以下访谈整理,也总结了他对证券行业运维工作的一些思考和未来建议(下文用“杨”简称),以供参考。

请简单介绍贵司?

杨:方正证券是我国首批综合类证券公司,2011年在上海证券交易所上市了,我们公司主要是从事投资银行、期货经纪、基金管理、私募基金管理、海外业务等业务,为客户提供交易、投融资、财富管理等全方位金融服务。

金融证券行业的运维监控,有什么行业特点吗?

杨:稳定性要求高。因为证券行业它本身比较特殊,监管比较严格,故障复盘或者是故障分析这些个环节都要做到位。如果是比较严重的故障,就可能往证监局上报,对稳定性要求很高。运维尽量不要出现故障,如果出现故障需要迅速修复,所以监控对于证券行业的运维是很重要的。提前预警可以最早发现问题。

在金融证券行业从事运维工作,有什么困难?

杨:各种不同的系统维护和二次开发还是比较难的。比如,不同系统之间的数据如何对接、整合。 此外,有些系统是采购的,与已有系统采用的技术可能不太一样,然后运维方式也不太一样。有些系统暴露的接口也比较有限,在维护的过程中,遇到的都是比较复杂的问题,有些问题还需要依赖于厂商。

运维产品的特点就是迭代比较快,有些产品的厂商持续在更新,我们可能会持续的用。但是有些产品可能没有更新,我们就可能考虑更换。相当于一个产品采购,过了一两年可能要重新采购,这个也是比较大的痛点,总结下来就是运维产品的可持续性可能没那么好。

如何了解到夜莺监控?

杨:20年的时候,最开始是通过Open-Falcon的一些咨询群、QQ群、Github了解到夜莺V5版本做了很大的转型,于是立即开始用起来了;

知道Open-Falcon是因为之前寻找一些能支持二次开发的开源工具,做了一些调研,发现Open-Falcon用的人比较多,然后整个社区也比较活跃,一直关注它的发版,开始试用大概是在2017年。

之前用Open-Falcon有什么不方便的吗?

杨:

  1. 发布的问题。主要是agent怎么管理,如果机器比较多的话,靠手工去或者是命令去下发的话,这个会比较不好维护。
  2. 插件的问题。之前插件是放在 agent里面的,和agent强绑定,维护成本也比较高。比如说我要去升级这个插件或者插件脚本的内容,我需要登录到机器上面。缺乏一个统一的地方去管理,我们后续也去做了一些完善,比如说通过 web页面去管脚本,管每台机器的agent的配置,就是插件的配置内容。我们更倾向插件或者是工具的管理更流程化。
  3. 使用门槛比较高。研发或者测试如果之前没接触过,上手比较困难。
  4. 监控系统本身的运维效率。因为运维本身人员比较少,但系统比较多,可能有几百个,怎么去用更少的人去管理更多的监控?
  5. 行业特殊原因导致的监控系统的拆分。比如我们公司,网络也比较重要并且复杂。网络组有自己的监控系统,一般是商业采购的。

我们基于这些痛点,在Open-Falcon的基础上做了一系列的二开,逐步完善运维监控的管理和控制能力。但是,面对云原生这一领域,Open-Falcon明显力不从心,也开始寻求一些更好的云原生监控方案。后来我们就转移到了夜莺监控。

夜莺监控落地过程中,是否遇到过困难及挑战?是如何解决的?

杨:按照夜莺的官方文档部署,是非常容易的。

相对于Open-Falcon来说,夜莺有了很大的进步,基本上通过文档,不管是单机或者是分布式的,都有很清晰的步骤。

因为我们有用k8s,部署过程中就这一板块的问题也咨询了来炜老师。总之,部署过程中,通过夜莺的官方文档,还有社群咨询,问题都可以被迅速地解决。

升级夜莺监控后,你们的架构大概是怎么样的呢?

杨:目前是在同时使用Open-Falcon和夜莺监控系统,因为我们测试环境部署了1500多台,然后生产是部署了有6000多台, agent量比较大,全部切换会比较麻烦。

6机房,保留Open-Falcon监控系统:Transfer组件转发到中心Transfer;

agent:历史监控一直使用Open-falcon,涉及agent较多,且falcon-agent的适配和稳定性较好,采用夜莺facon push接口,进行数据同步;K8S使用grafana-agent采集;telegraf根据需求进行部署,进一步推广;

监控数据:中心Transfer 同步到夜莺;默认采用Prometheus TSDB,接入多个研发、运维的Prometheus数据源;VictoriaMetrics作为长期存储;

你认为夜莺监控相比其他开源产品,有什么优点吗?

杨:

  1. V5版本无缝对接Prometheus

从v1到v4突然转型,直接去无缝对接prometheus的数据源,团队大概是下了很大决心。个人认为做监控肯定绕不开prometheus,要超越它可能非常难。以它为基础去做的方式,我很赞同。对prometheus的支持很重要,是真正的云原生监控。当看到V5版本的夜莺,当时就立即在测试环境部署上线,并于现有的Fz-Falcon监控适配。

  1. 社区很活跃,生态圈有问必答,未来持续性好

从v1到v5一直在观察,发现夜莺社区比较活跃,迭代速度非常快。还是那个原则,我们希望用一个可持续性好的软件。希望这种系统不会做一段时间,然后突然停止更新了,那后期的维护可能比较麻烦。夜莺监控让人比较放心,主要是因为它有一个比较好的监控生态圈,有问必答。如果有特殊的需求也可以走商业咨询,这些都是可以满足的。

  1. 业务线有读写控制功能

监控人员比较多的话,如果没有一个好的权限或者是业务分类,会比较麻烦。比如说监控项被谁改了,会不会通知,有没有留痕,这些对证券公司非常重要。或者说有一个策略,如果被改了的话,别人不知道,如果第二天出问题了,就是非常严重的问题。

我们以前也有遇到过类似的问题,因为一个模板或者策略,很多人都可以修改,有时候被改了,但第二天可能报警内容变了或者没报出来,如果没有被及时发现的话,会是比较重大的问题。

转换到夜莺监控后,有什么明显的改变吗?

杨:

组件变得非常少,只有server、web API,架构更简洁了,分布式也更容易了,相对于Open-Falcon来说,降低运维和部署成本的同时,拓展起来也变得非常简单了;

对第三方组件的扩展性强,比如说prometheus,它支持多种或者是多个数据源,这样的话可以更好的去接入;比如说兼容其他的数据监控源,可以形成监控数据的统一。

用夜莺监控后,对业务团队带来了哪些实质性的帮助和提升吗?

杨:用了夜莺之后,有业务的同事来咨询,举个例子,行情网关这个配置,我简单和他沟通了下,他看了之后自己就会用了,还是比较顺利的,大大降低了业务同事的使用门槛。我还记得夜莺监控的公众号也推过一篇文章,讲解怎么去学习PromQL的写法。

对于夜莺监控有什么期待吗?

杨:我在Github提了一些需求:

  • 管控能力,更少的人管理更多的监控
  • 更容易上手,降低研发、运维等使用门槛
  • agent管理:状态、部屠、更新、命令下发等能力
  • 插件或工具的管理及流程化

这些建议很快得到了反馈。期待团队越做越好~

多大程度上愿意把夜莺监控推荐给同行和朋友?打几分?

杨:必须给10分,从Open-Falcon,然后一直到夜莺,我觉得夜莺团队其实对监控领域付出非常多,然后每次还是非常耐心的答疑,这一点特别的感谢,总体是非常推荐的。

作者简介

杨豆豆,方正证券运维平台架构组,主要负责监控系统,2015年加入方正证券,最开始是在 CRM、小方开户等项目组做开发,2017年接触运维岗位,持续在做运维开发、监控系统、大数据平台维护、自动化运维等工作。个人一直比较关注 Java、Go、Flutter、云原生、前端相关的技术。

关于夜莺监控

夜莺监控是一款开源云原生监控分析系统,与云原生生态紧密集成,提供开箱即用的企业级的监控分析和告警能力,已有众多企业选择将 Prometheus + AlertManager + Grafana 的组合方案升级为使用夜莺监控。

  • Github:github.com/ccfos/nightingale
  • Proposal & Issues: github.com/ccfos/nightingale/issues
  • Docs: n9e.github.io

关于快猫星云

快猫星云,一家云原生智能运维科技公司,秉承着让监控分析变简单的初心和使命,致力于打造先进的云原生监控分析平台,结合人工智能技术,提升云原生时代数字化服务的稳定性保障能力。

联系我们

  • 联系我们:contact-us@flashcat.cloud
  • 官方网站:https://flashcat.cloud