前言
系统一大,就会拆分成多个独立的进程,比如web+wcf/web api等,也就成了分布式系统。
要看一个请求怎么从头到尾走的,就有些困难了,要是进行DEBUG、跟踪,就更加麻烦了,困难程度要视进程多少而定,越多越复杂。
分布式日志收集系统就登场了。
今天介绍一款
全开源日志收集、展示系统 - logstash(基于java)+kibana(基于JRuby, logstash已自带)+ElasticSearch+RabbitMQ
架构图如下
这张图是拷贝来的
里面虽然是Redis,但是没关系,换成RabbitMQ照样行
这个Broker Redis/RabbitMQ去掉实际上也行,只是去掉会会造成高峰时刻拖垮ElasticSearch,此处出现的目的是消峰
Shipper Logstash图中有3个,意思是可以有多个,可以分布在不同Server上,无论是windows还是linux系统都可以
看完上面三点,实际上已经对这个架构的扩展性很放心了,平心而论,确实很flex,具体可看http://logstash.net/docs/1.4.2/
安装方法
略,baidu一下一堆一堆的,注意的地方就一个:Kibana已经在log