曾经我有个梦想,一个监控软件搞定所有类型的监控。。。曾经我有个梦想,一个监控软件覆盖所有机器,容器。。。曾经我有个梦想,一键部署恢复升级整套监控系统。。。
但是,后来的故事大家也都知道了,梦想是丰满的,现实是骨感的。历来就没有这么一个简单的监控解决方案,要不然大公司养一大帮运维干啥。
废话了这么多,下面说说我对监控的粗浅理解和一些坑。大牛绕行,专业运维绕行,急急如律令。。。
小公司或者个人,往往没有时间投入人力物力好好弄监控,很多都是不得不上监控的时候,才勉强整个玩意出来,糊弄上司或者满足非常简单的需求。这个时候,可以
- 用现成的监控服务,国内现在已经很多了(当然基本上要收钱,质量嘛,自己去体会,嘿嘿嘿)。不想为它们打广告,只说一个国外的,newrelic。
- 穷屌如我,又或者想自己探索一下,可以用业界推崇的解决方案,比如prometheus和influxdb。
我个人不是很建议zabbix(没用过)和nagios(在大公司用过)之类的,它们功能蛮多,对新手其实有些学习难度,而且,没那么潮流。(个人感受,不喜勿喷,当然喷我我也不睬你)
那么接下来就是说说prometheus或者influxdb该怎么搞法。它们都是golang写的,都各个平台对应的binary,可以直接启动。所以你用docker装逼或者不装都可以简单地运行起来。二者都提供了收集metrics的常用组件,比如prometheus的node_exporter, 每台机器上启动一下,然后告诉prometheus的server去收集,就搞定最基础的CPU、内存等的监控了。API server的,当然得自己去写了,逃不掉的。
写了这么多,似乎没有详细的东西,罪过罪过。。。但是我觉得需要单独弄一篇文章去比较prometheus和influxdb,以及说明一个注意点(其实我最开始就是想说说这个大坑的,汗)
能忍受我这么生疏的文风,看到这里的,我敬你是条(女)汉子!
UPDATE:
下一篇文章是 监控之prometheus和influxdb