公司还没有监控系统,说每次出问题都是后知后觉,都是出问题后才能发觉,非常苦恼。包括服务器的磁盘使用率,服务器宕机,数据库集群的一些状态等等。上次听同事说服务器磁盘都撑爆了,数据库集群的节点都挂了结果半个月了还没人知道,公司都打算买相关的监控系统了或者专业的运监控软件啥的。
我一听这个事情,心里一想,估计这个时候开源的监控系统能够派上用场了。由于公司是用的自研的 Linux 系统,跟常用的操作系统还有点区别,所以我怕相关监控上去会出啥问题。结果在验证之后,发现没问题。于是接下来就涉及到选型的问题了。
首先考虑的当然是 Zabbix 或者普罗米修斯了。因为都不要钱,而且还实用。但由于考虑到数据源比较多,种类各不相同,图形炫酷方面最后还是选择了普罗米修斯。因为现在在公司还是能够有一定的话语权的,所以就选择了这个。先大概上一个监控效果图,领导看后喜出望外,跟包了个二奶一样。
看起来还可以吧,其实实现的原理也较为简单,就是利用 node_exporter 去抓取数据,给普罗米修斯,普罗米修斯在前端展示相关指标,最后发送给 grafana,利用 grafana 汇出炫酷图形,也就是用户直接看到的。
普罗米修斯前端
难就难在了如何在 grafana 中绘制指标如何绘画图形。如图:
node_filesystem_size_bytes{instance=~'$node',fstype=~"ext4|xfs"}-0
1-(node_filesystem_free_bytes{instance=~'$node',fstype=~"ext4|xfs"} / node_filesystem_size_bytes{instance=~'$node',fstype=~"ext4|xfs"})
相关这块的语句需要去看一下普罗米修斯的指标获取格式。
然后公司就决定了选这个,那么接下来我的任务也更加繁重了。需要不断的完善监控,以及 mongo 集群和 es集群、redis 集群、docker 等的维护。特么的还要管服务器硬件,比如做 raid 。
以前一直偏重于做技术,因为我本身很热爱技术,但是直到做现在的工作相关内容时,才感觉到了选型的重要性,也能够理解架构师为什么待遇那么高了。这对于我来说有个重大突破。
感觉时间真的过得太快,而我一如既往的救火,一如既往的忙碌。真希望有个时间可以好好的休息一下。
救火,救火,这真不是我想要的状态。传说中的运维不是一杯保温杯,一根烟,一个大屏就可以摸鱼一整天吗?可是我特么的完全没有感受到。。
技术在精进,视野也在不断开阔,收入也在不断增加。挺好的,能救火说明我对于公司来说还能有那么一点价值。等到哪天不需要救火的时候无非有两个原因:一者是工作做得太到位了,问题出的少了;另一者就是快要走人了。