云监控

运维人可以通过远程运维的模式实现对公司服务器、数据中心的远程控制,主要介绍了三种方法:专业远维、VPN和第三方软件。这三种远维方法可谓各有千秋,今天笔者就跟大家介绍一下有哪些辅助工具能够帮助你实现轻松、自动化运维。

1、ELK——性能监控

ELK由Elasticsearch、Logstash和Kibana三部分组件组成,简称ELK(日志采集、分析、报警),三者都是开源免费软件;其具体的操作方法笔者在《空口无凭:服务器性能监控 ELK实践》一文中曾有过详细的讲解:Collectd+ELK确实可以实现服务器性能数据采集、入库、展现。

由于Collectd采集的数据是拆分过的,在统计展现时就需要精心设计了。对于不熟悉ES分组统计的同学会感觉比较头疼。我们设计展现时,考虑需要一个按服务器分组统计的表格页面(整体状况页面)。可以下钻到单台服务器的性能展现(也就是文中的展现)。单台服务器的性能再下钻到单个指标(cpu、内存等)的性能展现(多颗cpu,多块网卡)。

架构图

从ELK运行逻辑来讲,Logstash收集AppServer产生的Log,并存放到ElasticSearch集群中,而Kibana则从ES集群中查询数据生成图表,再返回给Browser。但是ELK的二次开发、权限管理、尤其是资源控制等问题也同样明显

2、Nagios——监控系统

Nagios是由Nagios公司开发的一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设备,打印机等。这款开源工具最大的优势在于其报警机制:在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。

除了普通自带的plugin,还必须学会自己写plugin,满足自己的定制化监控需求。Nagios是一个监视系统运行状态和网络信息的监视系统。Nagios能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等。

3、Ganglia——集群监控

Ganglia是一个监控服务器,集群的开源软件,适用于分布式监控,能够用曲线图表现几乎任何时间段的服务器/集群的CPU负载、网络、内存和硬盘的各项指标。

Ganglia的核心包含gmond、gmetad以及一个Web前端。它的优势在于能够通过一台客户端收集所有客户端的数据,这个体系设计表示一台服务器能够通过不同的分层能够管理上万台机器。这个功能是其他mrtg,nagios,cacti所不能比拟。同时Ganglia的扩展插件也非常好写,无论用何种语言(shell,php,pyton)都可以完成。

今天笔者和大家分享的三款软件均为运维管理相关的开源软件,虽然开源软件优点在于迭代快,还免费,但是各位运维工程师还要注意,开源软件可能会存在一些其它问题,各位在使用时需要根据自身情况而做适配。