阿里云监控平台分析
阿里云监控平台分析
暮然回首,我已在IT运维行业十多年了, 近来也没什么新的方向,就没事研究一下别人的运维监控平台,正好我对阿里云比较熟悉,就拿这个来练练手吧。
声明:我只是出于技术分析,任何人不得将内容用于不正当的活动!
操作系统:centos 6.3
阿里云的监控进程:aegis_quartz
程序位置: /usr/local/aegis/aegis_quartz
目录分析:
tree /usr/local/aegis/aegis_quartz
/usr/local/aegis/aegis_quartz
├── aegis_config.ini #——–主配置文件,如启动名称和类型等
├── aegis_quartz #———主程序
├── conf #———-配置文件目录
│ ├── aegis_quartz.conf.default #——-阿里云默认监控程序配置,内容:[0 0/1 * * * ?] default/sampler.py ,从内容来看,就是一个仿crontab类的定时任务管理器。
│ ├── aegis_quartz.conf.user #——-用户自己监测的配置文件,我没有配置自有监测器,不过直觉应和默认监控配置是一致的。
│ └── uuid #———主机的唯一标识ID,和操作系统是一致的,而不是自己生成。这样当主机如何改IP地址,都能能过这个UID找到主机。
├── libexec #———监测器执行目录
│ ├── default #———阿里云默认的监测器存储目录
│ │ ├── check_process.py #—–检测进程名称为 参数1 的进程运行数量,如执行python check_process.py mysql,使用HTTP协议提交到监控中心。
│ │ └── sampler.py #——不要被名字迷惑~!这是阿里云默认最基础的监测程序,监测CPU、内存、磁盘、IO、TCP连接等。主函数“collector”,从程序里能看到是用HTTP协议提交的性能数据。和我原来设想的大规模的云监测思路不谋而合!原博文“ ”
│ └── user #——用户自定义的监测器目录
└── log #——日志程序目录
└── aegis_quartz.log
至于数据汇总端,我就没有能力分析了,因为看不到程序哈。不过估计会有一堆时间序列数据库来存储性能数据吧。
我觉得还可以有些优化的地方: