最近有个云计算IaaS平台虚拟机状态监控的需求。此平台基于OpenStack,各项需求的定制和开发已经基本完成,现在需要一套系统来完成此平台中各虚拟机状态的监控。包括虚拟机信息的采集、信息的存储以及虚拟机状态的显示等部分。调研前期已要求如果已有开源项目的部分尽量采用,可做一些定制,尽量减少开发成本。还好所有模块都有开源项目,经过对比、测试最终采用了以下方案:
采集:collectd(官网:http://collectd.org/)
数据库:InfluxDB (官网:http://influxdb.com/)
此外,由于InfluxDB接收的格式为json,而collectd的发送不提供json格式,所有在InfluxDB和collectd之间还需要一层转换。这里我们采用了InfluxDB-Collectd-Proxy(https://github.com/hoonmin/influxdb-collectd-proxy),也是一个开源项目。
下面我们就开始介绍部署和定制部分
虚拟机监控系统的设计与实现 (二) Collectd
虚拟机监控系统的设计与实现 (三) InfluxDB
虚拟机监控系统的设计与实现 (四) InfluxDB-Collectd-Proxy
虚拟机监控系统的设计与实现 (五) Grafana