OpenStack的监控分为三方面:监控、报警;诊断、追踪;故障处理。监控和报警是发现问题的第一步,故障解决的主要问题是面对大规模部署OpenStack的复杂环境,如何准确、详尽地报告系统目前情况,及早发现并提示故障发生。
OpenStack的监控可以分为三个层次:操作系统监控、服务监控、端到端监控,相互依赖,服务的稳定依赖操作系统的稳定,只有服务稳定了,用户才能正常的操作云资源.
Telemetry服务是OpenStack的监控框架,从Grizzly版本之后就集成到了OpenStack生态中,能够可靠地收集部署在云环境中使用的物理资源和虚拟资源数据,包含计量(metering)、计费(rating)、结算(billing)。收集、分析这些数据,当达到定义的临界值时触发动作确保资源健康。
计算节点代理、控制节点代理等主动调用OpenStack组件的API将收集的信息(CPU、IO)发送到通知总线,OpenStack组件将信息推送到通知总线,通知代理监听oslo消息框架并获取信息,处理后再发送到通知总线,MessageBus将信息发送给Pipeine,处理后发送给Collector收集器,收集器将信息存储到Metrics、Events。报警程序将报警结果存储到Alarms,并产生动作(发短信、邮件)。
Prometheus对OpenStack的监控是通过抓取Exporter的方式来采集运行指标的。现在比较实用的开源OpenStack Exporter主要有以下3个:
- Prometheus官网推荐的OpenStack Exporter是由英国Linaro用GO语言编写的开源软件,支持采集neutron、nova、cinder、identity等组件的指标,详见源码网站https://github.com/openstack-exporter/openstack-exporter。
- 由著名开源软件公司Canonical提供的,采集一些OpenStack高层级的指标,详见源码网站https://github.com/CanonicalLtd/prometheus-openstack-exporter。
- 由AT&T开源社区提供的,通过OpenStack的API采集度量指标,详见源码网站https://github.com/att-comdev/prometheus-openstack-exporter。
这3个开源软件都是编写Exporter来采集OpenStack的API接口的数据,并提供给Prometheus做进一步处理。总体上是一致的,建议安装在Ubuntu 16.04以上版本。
标签:exporter,开源,Prometheus,Exporter,监控,openstack,OpenStack,Tips From: https://blog.51cto.com/key3feng/5786123