您的位置:首页 > 运维架构

关于集群监控

2015-06-24 11:45 441 查看
http://qiankunli.github.io/2014/09/10/monitor.html


前言

为什么需要监控集群,其实这个问题都不用谈了。成百上千台机器在哪里工作,如果不知道它们的工作状态,岂不是一件很虚的事情。还有,如果没有监控,你怎么评价你的程序是否高效,仅仅凭能够执行通过么?


监控软件的一些基本特点

到目前为止,我只学习过ganglia和zabbix,通过它们,我发现监控软件一般有以下基本特点:

从架构上讲,是分布式软件,主节点和从节点都会运行程序,主节点程序(以下称为server)负责收集从节点数据并分析展示,从节点程序(以下成为agent)负责采集本节点的状态信息。

如果节点不多,且都属于同一个地域,则一个server对应多个agent即可满足要求。
如果节点众多,监控地域不一,数据和网络开销较大,则server和agent之间,多加一个代理(proxy),代理替server进行所管理agent数据的收集,并向server汇报。

数据采集的工作模式一般分为:主动模式和被动模式 这是从agent的角度来看的,主动模式即agent主动上报数据,这样可以让server轻松一些。

采集节点数据有以下两种方式:

专用客户端采集,从节点运行专用程序获取本机状态数据
共用协议采集,即(server)利用SNMP或SSH等协议采集从节点数据

服务器端拿到采集的数据后,会以某种形式将数据存储起来(数据库或文本)。同时,这类软件还会准备web脚本或代码,我们可以将这些web脚本复制到http服务器的相关目录下。http服务器启动后,这些web脚本便会访问存储起来的数据,将结果以图形方式展现出来。以ganglia架构为例:



一般会带有报警功能,即如果某项指标大于设定的阈值,会触发邮件、短信和声音等动作。

一般可以自定义指标,只要符合接口规则,我们便可以采集我们想收集的个性化数据。

一般会为我们准备/etc/init.d下的启动脚本,我们只需将其复制到/etc/init.d下即可。

一般可以自定义视图的展示。

server端本身也会安装agent程序,监控自己的运行情况。server程序本身不会收集指标数据,都是通过agent程序获取的。


我用过的一些监控软件

我目前主要用过ganglia和zabbix,总体来讲,安装过程都是:

配置防火墙,关闭selinux

server端

分别安装server端程序、httpd和数据库程序
源码安装,运行configure命令时,可以根据实际情况,通过参数添加一些特性。

拷贝web脚本到httpd服务器相关目录,并配置。
server端脚本配置数据库程序路径,并对数据库做一定的初始化

对视图、指标等做个性化的修改

agent端

安装agent程序
修改配置文件,指明server主机的ip

共有

配置日志文件的位置


ganglia

组成:gmetad gmond

拓扑模式:多播和单播
多播:也就是说集群内所有节点都收发指标数据,每个节点维护一个“内存数据库”。这样所有的节点都备份了其它节点的数据,gmetad节点不必轮询所有gmond节点。当主节点产生故障时,gmetad会迅速将主节点切换到另一节点,可避免单点故障。

采用rrdtool数据库存储监控数据,新的数据可以覆盖掉旧数据


zabbix

组成: zabbix-server,zabbix-agent,zabbix-proxy(可选)

zabbix-server
a central process of Zabbix software that performs monitoring, interacts with Zabbix proxies and agents, calculates triggers, sends notifications; a central repository of data

zabbix-agent
a process deployed on monitoring targets to actively monitor local resources and applications

zabbix-proxy
a process that may collect data on behalf of Zabbix server, taking some processing load off of the server

支持多种监控方式,除agent方式外,其他监控方式无需在被监控节点上安装额外的程序。

使用传统数据库存储监控数据,所以当数据量较大时,要有一定的性能优化措施
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: