一,目前现状介绍
日志的分析和监控在系统开发中占非常重要的地位,系统越复杂,日志的分析和监控就越重要,常见的需求有:
- 根据关键字查询日志详情
- 控系统的运行状况
- 统计分析,比如接口的调用次数、执行时间、成功率等
- 异常数据自动触发消息通知
- 基于日志的数据挖掘
很多团队在日志方面可能遇到的一些问题有:
- 开发人员不能登录线上服务器查看详细日志,经过运维周转费时费力
- 日志数据分散在多个系统,难以查找
- 日志数据量大,查询速度慢
- 一个调用会涉及多个系统,难以在这些系统的日志中快速定位数据
- 数据不够实时
常见的一些重量级的开源Trace系统有
这些项目功能强大,但对于很多团队来说过于复杂,配置和部署比较麻烦,在系统规模大到一定程度前推荐轻量级下载即用的方案,比如logstash+elasticsearch+kibana(LEK)组合。
对于日志来说,最常见的需求就是收集、查询、显示,正对应logstash(搜集)、elasticsearch(搜索)、kibana(展示)的功能。
二,logstash+elasticsearch+kibana(LEK)轻量级日志平台搭建
步骤1:安装JDK,至少1.7以上
步骤2:安装ElasticSearch
#下载并安装elasticsearch cd /usr/local/ wget https://download.elasticsearch.org/elasticsearch/release/org/elasticsearch/distribution/zip/elasticsearch/2.3.0/elasticsearch-2.3.0.zip unzip elasticsearch-2.3.0.zip #启动elasticsearch cd /usr/local/elasticsearch-2.3.0/bin/ ./elasticsearch #验证是否启动成功(默认端口为9200) curl -X GET http://localhost:9200
步骤3:安装logstash
#下载并安装logstash cd /usr/local wget https://download.elastic.co/logstash/logstash/logstash-2.3.2.zip unzip logstash-2.3.2.zip
步骤4:安装kibana
高版本的logstash默认已经内置了kibana,你也可以单独部署kibana。kibana3是纯粹JavaScript+html的客户端,所以可以部署到任意http服务器上(tomcat,jetty,nginx等)。
#下载并安装kibana cd /usr/local wget http://download.elasticsearch.org/kibana/kibana/kibana-latest.zip unzip kibana-latest.zip
步骤5:安装Redis
redis安装参考:http://pandan-xyz.iteye.com/admin/blogs/2285540
步骤6:集成上述安装软件