监控项目工作记

目前要给公司实施一套监控系统。需要从地基开始做起。希望能做个地基方便别人的接入,可以灵活的部署到不同的平台上。所以这么说来,不应该是监控系统,应该是打造一个监控平台。基础方面选择了 Consul,传统框架我也没有接触过,Consul 用 Golang 编写,至少能学学新语言,同时组件简洁。简洁的东西总是不错的。有坑慢慢填。今天看了一下 Consul 的 K/V 存储机制,不加插件的话只能 DC 内部使用,不过一个 DC 作为一个下发单元来说应该也是可以接受的。不然就要选择其他的下发方式。 Watches 可以通过叠加配置文件的方式配置还不错的,解决了一个疑惑。发烧了。。。影响进度。。。时间用在前端上了,明天应该可以完成对KV的操作,然后可以写个固定Watcher来加载配置。用提示的方式解决节点选择的问题。在家工作效率略微低一些,不过在有明确动力的前提下,其实完全可以一点不差。昨天做好了服务的配置并可以写入 KV 了,以后也许需要 Session 或者使用 Index 的手段来保证一致性,但是这种服务甚至于检查的配置,并不需要保证强一致性,并发操作也不是不可以。本身监控系统发现有问题就可以及时做出更正,不需要一组人来进行基础配置。今天把配合的 Watcher 做好,就可以配置服务和对应的检查以及监控了。之后组织这些监控项目就可以实现对系统,网络和高层服务的监控。需要引入数据库来保存这些记录。现在倾向于使用 MySQL 来保存这些东西,方便关联。KV 数据库的联合/条件查询需要全捋一遍,不可接受。现在有些转变方向,使用本地的配置文件来作为配置的基础,一个json文件可以作为一个客户服务的定义,作为模版来根据用户信息生成对应的检查项目。今天调整了匹配的方式,使用RegExp看起来更为专业的模式匹配。将来这些配置文件可以是由UI来配置并生成,并不见得使用文件方式,可以用Postgres来存储内容。今天查了几个问题,整理了下代码。明天可以套用真实的模版,在实验室环境的L3设备上启用检查来看看效果。接着就是更新Wiki来给其他人的工作提供一个基础,就可以继续休假了。今天要用实际的脚本向内网迁移工程,顺便做一些其他的测试。另外就是还要去应付一些无脑的问题。。。另外就是检查和告警的组织还需要一些功夫。

2015年4月7日,今天准备复工了,没有什么杂七杂八的问题需要解决。今天首先要把内网环境配置好,然后用真实的检查进行部署,看看效果。之后还要对具体的部署进行动态的调整以及实施监控检查和告警。动态调整依赖外部程序(添加检查的程序),因为配置文件将是同名的,所以会覆盖原有的内容。检查和告警将会参考一些开源项目。

删除修改和增加的功能基本稳定了,删除操作比预想的要顺利,统一API接口的状态查询几乎是白给。这样的话,只需要做好Watch和Alert,就基本上算是后台的功能完整了。接着就是怎么动态的配置和前端的操作相结合。今天要试试Watch的机制,同时做一个采集状态的POC出来。这样就可以加更多的检查逻辑同时还有外部的输出了。

编辑的配置功能勉强算有了,使用上只要先走固定的配置文件,理论上可以全面部署了。检查上用主动的方式可以收集状态数据。自动的汇集还是需要一个小程序来帮忙。要被抽去先解决API Proxy的部署和配置。现在的一个大问题就是上前个域名和IP如果都走这种查询,估计损耗会非常大,这么一个DG上一个服务有些走不通。需要有定期的删除机制活着怎么合并一些服务才可以。

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.