正如你们看到的那样,到目前为止(OpenStack Kilo),OpenStack自己的监控组件Telemetry并不是完美,

获取的监控数据以及制作出来的图表有时候让人匪夷所思,因其重点并不是监控而是计费。

我们不仅要监控云平台中每个节点的资源使用状况,如CPU使用率,内存使用率,磁盘使用率以及带宽等,

还需要检查OpenStack的各个服务的运行情况。通过对比研究Nagios, Cacti, Zabbix等等,认为Nagios是比较适合的。

Nagios本身并不提供检测工具,它类似于一个信息收集与处理中心(或者平台),所有的检测工作都是通过插件(Plugin)来完成的,

而这些Plugin可以通过很多语言来实现,比如CPythonShellPerl等等。

至于Nagios的其他优点和功能特性,这里无需多言,感兴趣的童鞋可以参考Nagios 监控系统架设全攻略

不过Nagios收集的是实时数据,而且无法通过图表查看历史趋势,很多人推荐使用 Pnp4Nagios,但是Pnp4Nagios安装相对来说比较费事,

其依赖的软件比较多,而且很多时候由于与Nagios版本不兼容导致问题发生无从下手。这里推荐使用Nagiosgraph

下面以我的实验环境为例,简要介绍OpenStack的监控解决方案:

整个云平台由四台物理节点(控制节点,计算节点,网络节点以及块存储节点)构成,主机操作系统采用 Ubuntu Server 14.04 TLS

  • 以控制节点为Nagios服务器,其他节点作为被监控对象(Nagios Server同时监控自己)

    控制节点:
apt-get install nagios3 nagios-nrpe-plugin
htpasswd /etc/nagios3/htpasswd.users nagiosadmin
htpasswd /etc/nagios3/htpasswd.users steve

其他节点:

apt-get install nagios-nrpe-server

其他的配置请参考Ubuntu Monitoring

  • Nagios 服务器上安装Nagiosgraph
wget http://sourceforge.net/projects/nagiosgraph/files/nagiosgraph/1.5.2/nagiosgraph-1.5.2.tar.gz
tar zxvfnagiosgraph-1.5.2.tar.gz
cd nagiosgraph-1.5.2
./install.pl
  • Nagiosgraph的配置
  1. 修改 Nagios 配置文件 nagios.cfg
process_performance_data=1
service_perfdata_file=/tmp/perfdata.log
service_perfdata_file_template=$LASTSERVICECHECK$||$HOSTNAME$||$SERVICEDESC$||$SERVICEOUTPUT$||$SERVICEPERFDATA$
service_perfdata_file_mode=a
service_perfdata_file_processing_interval=30
service_perfdata_file_processing_command=process-service-perfdata-for-nagiosgraph
  1. 修改Nagios命令文件 commands.cfg
define command {
command_name process-service-perfdata-for-nagiosgraph
command_line /usr/local/nagiosgraph/bin/insert.pl
}
  1. 修改Apache配置文件
Include /usr/local/nagiosgraph/etc/nagiosgraph-apache.conf

由于新版的Ubuntu对Apache修改比较大,比较新的Ubuntu版本Apache配置文件默认路径为 /etc/apache2/apache2.conf

  1. 修改/usr/local/nagiosgraph/etc/nagiosgraph-apache.conf
ScriptAlias /nagiosgraph/cgi-bin "/usr/local/nagiosgraph/cgi"
<Directory "/usr/local/nagiosgraph/cgi">
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /etc/nagios3/htpasswd.users
Require valid-user
</Directory>
# enable nagiosgraph CSS and JavaScript
Alias /nagiosgraph "/usr/local/nagiosgraph/share"
<Directory "/usr/local/nagiosgraph/share">
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /etc/nagios3/htpasswd.users
Require valid-user
</Directory>

如果不添加 AuthName等4行,会出现诸如Server Forbidden Javascript Disable 等问题。

  • Nagiosgraph的连接添加到Nagios页面中
<?php $nagiosgraph_path = '/nagiosgraph/cgi-bin'; /* 因为cgi文件不是安装在nagios下的,所以要配置好路径 */?>
<li><a href="<?php echo $nagiosgraph_path;?>/trends.cgi" target="<?php echo $link_target;?>">Trends</a>
<ul>
<li><a href="<?php echo $nagiosgraph_path;?>/show.cgi" target="<?php echo $link_target;?>">Graphs</a></li>
<li><a href="<?php echo $nagiosgraph_path;?>/showhost.cgi" target="<?php echo $link_target;?>">Graphs by Host</a></li>
<li><a href="<?php echo $nagiosgraph_path;?>/showservice.cgi" target="<?php echo $link_target;?>">Graphs by Service</a></li>
<li><a href="<?php echo $nagiosgraph_path;?>/showgroup.cgi" target="<?php echo $link_target;?>">Graphs by Group</a></li>
</ul>
</li>
  • 安装Nagios Openstack Plugin(在控制节点上)
apt-get install nagios-plugins*

通过上面命令,你会看到 /usr/lib/plug-in/目录下出现很多检查工具,包括check_novaapi, check_keystone等等,

至于如果使用和配置这些plug-in, 可以参考Monitor Openstack

至此,OpenStack的监控方案得以完美实施。

OpenStack 监控解决方案的更多相关文章

  1. IT运维监控解决方案介绍

    现状 •小公司/ 创业团队< 500台服务器规模 开源方案:Zabbix.Nagios.Cacti- 云服务提供商:监控宝.oneAlert等 •BAT级别> 10万台服务器 投 ...

  2. 初识Opserver,StackExchange的监控解决方案

    Opserver是闻名遐迩的网站Stack Overflow的开源监控解决方案,由Stack Exchange发布.它基于.NET框架构建,这在监控工具领域有些与众不同. 旨在为每个受监控系统的健康状 ...

  3. Zabbix监控解决方案

    思通运维监控主要用来监控IT 基础设施组件的可用性和性能.监控项目是不受限制的,并且可以对IT 基础设施健康状态进行复杂分析.通过确定IT 系统问题的“来源”,使用户快速响应故障来降低宕机成本. 网络 ...

  4. Azure 为 SAP 提供的增强监控解决方案

    正如大家在之前公告中所看到的,多个SAP应用程序已获得认证可在 Azure虚拟机中运行,未来还会有更多 SAP应用程序获得认证.对于希望在 Azure中运行 SAP应用程序的客户来说,这是个激动人心的 ...

  5. Promethus+Grafana监控解决方案

    [MySQL]企业级监控解决方案Promethus+Grafana Promethus用作监控数据采集与处理,而Grafana只是用作数据展示 一.Promethus简介 Prometheus(普罗米 ...

  6. 减轻集群负载、三种k8s 替代openstack的解决方案

    减轻集群负载.三种k8s 替代openstack的解决方案 待办 https://news.ycombinator.com/item?id=17013779 kubevirt https://host ...

  7. zabbix企业级的分布式开源监控解决方案 v5.0 LTS

    目录 zabbix简介 服务模块 客户端守护进程 监控流程 功能拆解 安装 zabbix 5.0 LTS 参考官网 zabbix 5.0.12-1.el7 zabbix-server相关优化 1. 字 ...

  8. Greenplum数仓监控解决方案(开源版本)

    Greenplum监控解决方案 基于Prometheus+Grafana+greenplum_exporter+node_exporter实现 关联图 一.基本概念 1.Prometheus ​ Pr ...

  9. Zabbix企业级开源监控解决方案

    Zabbix企业级开源监控解决方案 目录 Zabbix企业级开源监控解决方案 一.Zabbix 1. 监控系统的必要性 2. 监控软件的作用 3. Zabbix的定义 4. Zabbix的监控原理 5 ...

随机推荐

  1. PHP Warning: strftime(): It is not safe to rely on the system's timezone set

    当运行一些程序时,在httpd日志中会有如下警告日志: PHP Warning:  strftime(): It is not safe to rely on the system's timezon ...

  2. android上的默认Intent

    android上的默认Intenthttp://www.verydemo.com/demo_c189_i276.html

  3. Spring MVC+Spring+Mybatis+MySQL(IDEA)入门框架搭建

    目录 Spring MVC+Spring+Mybatis+MySQL(IDEA)入门框架搭建 0.项目准备 1.数据持久层Mybatis+MySQL 1.1 MySQL数据准备 1.2 Mybatis ...

  4. 基于excel导入数据到ms sql server

    OLE DB (Object Linking and Embedding, Database, sometimes written as OLEDB or OLE-DB) an API designe ...

  5. 解题:SCOI 2012 喵星球上的点名

    题面 初见广义SAM 建立广义SAM,每次把询问走一遍,最终走到节点的子树里的猫老师都被这次点名点到 这样DFS parent树打时间戳记录入栈出栈时间,把问题转化成一个序列问题:给一个若干种颜色构成 ...

  6. 解题:SHOI 2012 回家的路

    题面 完了,做的时候已经想不起来分层图这个东西了QAQ 对于这种“多种”路径加中转站的题,还有那种有若干次“特殊能力”的题,都可以考虑用分层图来做 显然只需要记录所有的中转站+起点终点,然后拆出横竖两 ...

  7. activiti教程之示例项目activiti-explorer运行_百度经验

    https://jingyan.baidu.com/article/4e5b3e19107ad091901e249e.html

  8. 使用 laravel 的 queue 必须知道的一些事

    1. 在修改 queue 相关代码后,必须要使用 php artisan queue:restart 来重启队列服务,否则所做的修改可能不会生效(没法重现了,按理说应该和使用 queue:listen ...

  9. linux命令总结sed命令详解

    Sed 简介 sed 是一种新型的,非交互式的编辑器.它能执行与编辑器 vi 和 ex 相同的编辑任务.sed 编辑器没有提供交互式使用方式,使用者只能在命令行输入编辑命令.指定文件名,然后在屏幕上查 ...

  10. python基础之赋值/深copy/浅copy

    首先,不管是赋值还是深浅copy,都是针对那些可能会产生变化的值进行区分的,也就是对于数字,字符串来说,区分赋值,深浅copy是毫无意义的. 那么,让我们来对那些可变的像list set dict t ...