月度归档:2015年04月

2015年4月11日 51cto运维和开发者大会有感

1.运维的难度和体量

做运维已经一年半了,世面也见了不少,但是今天的感觉却有点不同(当然并不是会上有多少干货,这种会讲的内容都差不多),触动我的主要是几个点,其一就是量级上的感受,比如今天上午讲的日志收集系统和下午场新浪讲日志收集系统,虽然组件都差不多,用的东西也差不多,但是当你的应用体量达到一定量时,你所遇到的问题可能就完全不一样了。新浪的es节点数是30多台,而我们是三台,对于三台服务器其实随便虐都可以,而且在云上,硬件的问题都不用考虑。而当你的数据量达到Tb级的时候,可能就完全不一样了。特别是下午场阿里的大舞(花名)所讲的一个例子就很典型,当我们初始化一个硬盘时,可能不会太注意superBlock(保存着一些磁盘全局信息,有很多的备份)的大小问题,但是当阿里的服务器达到上万台的时候可能就是一个很大的浪费。而我现在管理的日志集群算上shipper端和indexer端再加上es各个数据节点也就二十来台。而此时,我真的要问自己一下,即使这20来台服务器,我真的做到统一配置管理吗?好像没有,这也是我工作以来一直忽略的一个问题,我往往更去关注技术的实现,而并没有太多的考虑管理,当然还有大规模下的扩展。

继续阅读

elasticsearch权威指南 学习4

getting start 部分 第三章:Data In,Data Out(续续)mget与bulk

Retrieving Multiple Documents

elasticsearch可以将多个请求合并成一个请求,来减少多次网络连接所消耗的资源,elasticsearch使用multi-get或mgetAPI来实现合并请求。mget API接受一个docs 的json数组,这个数组的每一个元素指定一个_index,_type,_id,甚至也可以指定source中的某一个或多个字段,例子如下:

继续阅读

elasticsearch权威指南 学习3

getting start部分 第三章:Data In,Data Out(续)elasticsearch并发控制相关

http://www.elastic.co/guide/en/elasticsearch/guide/current/version-control.html

Dealing with Conflicts

首先说明一下elasticsearch所能遇到的冲突的场景,比如两个用户同时更新一份数据这种情况。一般应用处理这种问题都是使用以下两种方式:

继续阅读

elasticsearch权威指南 学习2

第三章:Data In,Data Out(上)

What Is a Document
大部分应用使用序列化对象来表示一个实体,而elasticsearch是使用json对象来表示一个实体对象,这个实体对象在elasticsearch叫做document。
Document Metadata

继续阅读

rsyslog 替换logstash-shipper 方案 2 rsyslog omfwd 性能测试

本文主要测试rsylog的日志转发能力,所得数据作为rsyslog转发能力的基准水平。

 
一:准备工作:
1.rsyslog v8.8.1的安装:参见http://www.yubingzhe.com/?p=157
2.rsyslog-ng的安装:首先要安装epel包,
到此下载或wget:http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm  然后yum install rsyslog-ng -y
3.elk的安装:见官网

二.测试机结构与各个组件的解释:rsyslog_test

1.测试机性能:
测试机A:4核4G
测试机B:4核8G
2.各个组件的解释:
使用syslog-ng自带的loggen日志生成器生成日志。
使用rsyslog omfwd 模块向logstash的tcp_input发送日志,同时logstash 将日志转至 null output,即logstash空转,这样做的主要目的是为了去掉logstash所造成的性能瓶颈。
这里使用了rsyslog impstat模块用来进行rsyslog的性能记录。
为了可以更直观的观察rsyslog的性能数据,这里使用了logstash来处理rsyslog-impstat输出的日志,并输入到elasticsearch中,并使用kibana3做为数据展现。
另外使用zabbix监控各个测试机的基础信息,如cpu负载,内存,网络带宽等等。

继续阅读

rsyslog v8.8 替换logstash-shipper 方案 1

本文主要介绍使用rsyslog 代替logstash-shipper的解决方案
一 rsyslog架构说明:
rsyslog的几大优点(官网):高性能,高安全性,模块化设计
当在不方便启动java程序的服务器上收集日志时可以使用rsyslog作为log-shipper将日志发到logstash-indexer中,由于rsyslog提供了队列机制,所以新的结构图如下:
屏幕快照 2015-04-04 下午12.10.34

继续阅读