ELK是三个开源工具ElasticSearch,Logstash,Kibana组合而成的软件栈,其中的核心是开源的分布式搜索引擎Elasticsearch,辅以Logstash灵活多样的日志收集,过滤,传送功能以及Kibana炫酷的前端展示面板,组合成一套可以媲美商业应用的解决方案。
下面是个典型的ELK架构方案;
看起来很简单,logstash像一把瑞士军刀,可以通过plugin的方式从多种渠道输入日志、内部深加工(filter),再输出到多种类型的目的地,这里我们送到Elasticsearch做索引和存储。 中间的Redis用作消息队列,使得架构的容错性更高,当ES故障或者下线维护的时候,日志可以缓存一段时间而不至于丢失。
本系列的博客只是简单的说明搭建ELK的方法,以及简单的列出了常用的应用场景,不涉及到Kafka等其他组件。
本篇内容主要涉及到ELK的环境搭建,其中Elasticsearch,Kibana安装在同一台机器上,Logstash安装到需要进行数据采集的节点上- 环境说明
- 硬件配置
CPU:8*Intel Xeon E312xx 内存:8G 硬盘:300G - 系统版本
Ubuntu12.04
- 软件版本
ELK,目前发展较快,版本之间的兼容性问题,是需要注意的
Elasticsearch:elasticsearch-2.3.3
Logstash:logstash-2.3.3
Kibana:kibana-4.5.1
JDK:1.8.0_45
- 硬件配置
- 安装过程
- elsaticsearch
- 下载:https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/zip/elasticsearch/2.3.3/elasticsearch-2.3.3.zip
- 配置
>>unzip elasticsearch-2.3.3.zip
对于单节点的elasticsearch基本不需要配置,直接启动即可,但是为了方便对es节点的操作,可以安装head插件
>>cd /opt/talas/elk/elasticsearch-2.3.3/bin
>>./plugin -install mobz/elasticsearch-head
- 启动
>>cd /opt/talas/elk/elasticsearch-2.3.3/bin
>>nohup ./elasticsearch -Des.insecure.allow.root=true >/dev/null 2>&1 & - 验证
登陆http://IP:9200/_plugin/head/ 如果安装成功,便可以看到管理页面
- logstash
- 下载:https://download.elastic.co/logstash/logstash/logstash-2.3.4.zip
- 配置
>>unzip logstash-2.3.4.zip
由于logstash的配置在不同的应用场景下会有不同的配置方式,所以此处不做详细介绍,后面两个章节会有详细描述 - 启动
logstash 需要部署到需要采集数据的节点上
>>cd logstash-2.3.4
>>nohup bin/logstash -f ../xconf/talas_logs.conf >/dev/null 2>&1 &
- kibana
- 下载:https://download.elastic.co/kibana/kibana/kibana-4.5.1-linux-x64.tar.gz
- 配置
>>tar -xvf kibana-4.5.1-linux-x64.tar.gz
>>cd kibana-4.5.1-linux-x64
>>vi config/kibana.yml
在配置文件中指定Elasticsearch的地址
elasticsearch.url: "http://localhost:9200" - 启动
>>cd kibana-4.5.1-linux-x64
>>nohup bin/kibana >/dev/null 2>&1 & - 验证
如果部署启动成功,可以登录http://IP:5601/ 进行使用
- elsaticsearch