利用Grafana为OpenStack搭建现代化监控系统

本文介绍了如何利用Grafana、Collectd和Influxdb为OpenStack搭建一个现代化的监控系统,以解决环境中遇到的问题。通过Collectd收集监控指标,Influxdb存储数据,Grafana展示炫酷的监控图表,实现对物理机和虚拟机的高效监控,特别是对资源使用情况的排序和报警功能。
摘要由CSDN通过智能技术生成


       首先简单说下为什么会用grafana,最近公司在新机房上了300多台物理机,其中有60台分配给我做OpenStack的私有云环境。OpenStack部署很快,三下五除二很快就上线了Mitaka的版本。但是在分给各个运维使用一段时间后,暴露一些问题。

  • 场景一

       某个干坏事的小朋友在虚拟机里面搞性能测试,直接打满cpu使用率和物理机的网络IO,影响这个物理机上的其他虚拟机。

  • 场景二

        OpenStack的Cinder卷采用的LVM + Iscsi方式提供,线上虚拟机的某个在某个时间点同步大量数据到数据卷,造成打满存储网络。直接表现的现象就是虚拟机里面的/dev/vdb设备掉线,造成异常。

种种现象表明,我需要接入一个监控系统,实现快速定位到某个物理机或者虚拟机的异常指标。之前打算采用公司现有的zabbix监控框架,但是有两个点让我放弃使用zabbix的方案。其一,zabbix在绘图制表以及对指标排序方面相比grafana来还是有一定差距;二来,部门负责监控的同事太忙了,没时间开发我提出的需求,没办法只有自己动手(苦笑脸)。


选择


      既然要自己动手,那就要选择合适自己监控系统。目前网上的方案太多,刚开始找的时候简直一脸懵逼,直到我看到一片文章,标题我忘了,大概内容是利用Collectd + Influxdb + Grafana来做虚拟机监控。遗憾的是,那篇文章讲得很短,几乎没有实质性的内容。好吧,既然有人提出过方案,那我没理由不试一下。


Collectd

        简单来说Collectd是用C开发一套高性能的监控指标采集agent,官网上已经有丰富的插件,实现各种监控指标。同时也支持通过Shell、Python、Ruby、Perl等一些编程语言实现扩展的监控指标。这里需要注意的是,自定义的监控指标是没有在Collectd默认的类型数据库里面(/usr/share/collectd/),所以如果要自定义监控,需要创建一个自己的,然后在collectd的配置文件里面加上

TypesDB "/usr/local/share/"

Github上有个collectd-rabbitmq插件,可以让我们很好的理解collectd的采集机制。

另外,无意间发现一位大神的博客

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值