• OpenStack 监控解决方案


    正如你们看到的那样,到目前为止(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的监控方案得以完美实施。

  • 相关阅读:
    java基础 Collections.sort的两种用法
    Mysql常用命令详解
    2、Java并发编程:如何创建线程
    JAR、WAR、EAR的使用和区别
    区分Oracle的数据库,实例,服务名,SID
    Mysql 启动运行
    3、Java并发编程:Thread类的使用
    1、Java多线程基础:进程和线程之由来
    文件上传利器SWFUpload使用指南
    网络矩阵
  • 原文地址:https://www.cnblogs.com/zeweiwu/p/4937535.html
Copyright © 2020-2023  润新知