OpenStack 监控解决方案
正如你们看到的那样,到目前为止(OpenStack Kilo
),OpenStack
自己的监控组件Telemetry
并不是完美,
获取的监控数据以及制作出来的图表有时候让人匪夷所思,因其重点并不是监控而是计费。
我们不仅要监控云平台中每个节点的资源使用状况,如CPU
使用率,内存使用率,磁盘使用率以及带宽等,
还需要检查OpenStack
的各个服务的运行情况。通过对比研究Nagios
, Cacti
, Zabbix
等等,认为Nagios
是比较适合的。
Nagios
本身并不提供检测工具,它类似于一个信息收集与处理中心(或者平台),所有的检测工作都是通过插件(Plugin
)来完成的,
而这些Plugin
可以通过很多语言来实现,比如C
,Python
,Shell
,Perl
等等。
至于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
Nagio
s 服务器上安装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
的配置
- 修改 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
- 修改Nagios命令文件
commands.cfg
define command {
command_name process-service-perfdata-for-nagiosgraph
command_line /usr/local/nagiosgraph/bin/insert.pl
}
- 修改
Apache
配置文件
Include /usr/local/nagiosgraph/etc/nagiosgraph-apache.conf
由于新版的Ubuntu对Apache修改比较大,比较新的Ubuntu版本Apache配置文件默认路径为
/etc/apache2/apache2.conf
- 修改
/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 监控解决方案的更多相关文章
- IT运维监控解决方案介绍
现状 •小公司/ 创业团队< 500台服务器规模 开源方案:Zabbix.Nagios.Cacti- 云服务提供商:监控宝.oneAlert等 •BAT级别> 10万台服务器 投 ...
- 初识Opserver,StackExchange的监控解决方案
Opserver是闻名遐迩的网站Stack Overflow的开源监控解决方案,由Stack Exchange发布.它基于.NET框架构建,这在监控工具领域有些与众不同. 旨在为每个受监控系统的健康状 ...
- Zabbix监控解决方案
思通运维监控主要用来监控IT 基础设施组件的可用性和性能.监控项目是不受限制的,并且可以对IT 基础设施健康状态进行复杂分析.通过确定IT 系统问题的“来源”,使用户快速响应故障来降低宕机成本. 网络 ...
- Azure 为 SAP 提供的增强监控解决方案
正如大家在之前公告中所看到的,多个SAP应用程序已获得认证可在 Azure虚拟机中运行,未来还会有更多 SAP应用程序获得认证.对于希望在 Azure中运行 SAP应用程序的客户来说,这是个激动人心的 ...
- Promethus+Grafana监控解决方案
[MySQL]企业级监控解决方案Promethus+Grafana Promethus用作监控数据采集与处理,而Grafana只是用作数据展示 一.Promethus简介 Prometheus(普罗米 ...
- 减轻集群负载、三种k8s 替代openstack的解决方案
减轻集群负载.三种k8s 替代openstack的解决方案 待办 https://news.ycombinator.com/item?id=17013779 kubevirt https://host ...
- zabbix企业级的分布式开源监控解决方案 v5.0 LTS
目录 zabbix简介 服务模块 客户端守护进程 监控流程 功能拆解 安装 zabbix 5.0 LTS 参考官网 zabbix 5.0.12-1.el7 zabbix-server相关优化 1. 字 ...
- Greenplum数仓监控解决方案(开源版本)
Greenplum监控解决方案 基于Prometheus+Grafana+greenplum_exporter+node_exporter实现 关联图 一.基本概念 1.Prometheus Pr ...
- Zabbix企业级开源监控解决方案
Zabbix企业级开源监控解决方案 目录 Zabbix企业级开源监控解决方案 一.Zabbix 1. 监控系统的必要性 2. 监控软件的作用 3. Zabbix的定义 4. Zabbix的监控原理 5 ...
随机推荐
- 【刷题】COGS 2701 动态树
★★★☆ 输入文件:dynamic_tree.in 输出文件:dynamic_tree.out 简单对比 时间限制:1 s 内存限制:256 MB [题目描述] 开始时有n个点形成的森林,共m个操作. ...
- 《Linux内核设计与实现》第17章读书笔记
第十七章 设备与模块 一.四种内核成分 设备类型:在所有 Unix 系统中为了统一普通设备的操作所采用的分类. 模块: Linux 内核中用于按需加载和卸载目标码的机制. 内核对象:内核数据结构中支 ...
- Java之NIO,BIO,AIO
Hollis知识星球的一些学习笔记,有兴趣的朋友可以微信搜一下 什么是NIO 什么是IO? 它是指计算机与外部世界或者一个程序与计算机的其余部分的之间的接口.它对于任何计算机系统都非常关键,因而所有 ...
- opncv视频资料
链接: http://pan.baidu.com/s/1i37nXSL 密码: 3xnd这一套opncv资料包括视频和pdf资料
- c/c++基本数据类型转换
If either operand is of type long double, the other operand is converted to type long double. If the ...
- web项目中配置文件的加载顺序
当一个项目启动时,首先是web.xml: 这里面的配置: 为什么要在web.xml中配置struts的过滤器? 因为一个web项目运行的时需要加载的,或者默认的部分配置都会在web.xml中配置,中间 ...
- 「Vue」实用组件
一.时间格式 1.安装Moment模块 npm i moment -S2.main.js中设置全局过滤器 import moment from 'moment' Vue.filter('ctime', ...
- python---堡垒机开发
一:堡垒机需求分析 注意: 虽然我们在中间使用防火墙服务器对流量进行拦截和转发也可以起到过滤作用,但是我们无法去获取到完整,正确的操作记录.因为无论是客户端还是服务器端(管理员可能会去修改记录,而且可 ...
- Maven学习一:使用Myeclipse创建Maven项目
使用Myeclipse2014创建Maven项目有如下几种方式: 1.创建Maven Java项目 1.1 选择新建Maven项目 1.2.选择创建简单项目 1.3.填写项目信息 1.4.创建成功后项 ...
- C语言中的指针和内存泄漏几种情况
引言 原文地址:http://www.cnblogs.com/archimedes/p/c-point-memory-leak.html,转载请注明源地址. 对于任何使用C语言的人,如果问他们C语言的 ...