ELK是什么? E=ElasticSearch ,一款基于的Lucene的分布式搜索引擎,我们熟悉的github,就是由ElastiSearch提供的搜索,据传已经有10TB 的数据量。 L=LogStash , 一款分布式日志收集系统,支持多输入源,并内置一些过滤操作,支持多输入元 K=Kibana , 一款配合ElasticSearch的web可视化界面,内置非常各种查询,聚合操作,并拥有漂亮的图形化展示功能 为什么要用ELK? 在实际应用中,我们的日志是非常重要的,它通常会记录一些比较重要的信息,如应用程序的log记录的error,warn级别的log,通常在量小的情况下,我们可以直接vi awk sed grep定位原因,在量大的时候,这种方式就捉襟见肘了,而且我们还要各种聚合,或者基于异常多个关键词的搜索,并有且,或,交,并,差,补,排序等一些操作,而且相应速度必须给力,如果线上环境出了故障,能够立刻准确定位,ELK就是高手,在百万大军中取上将首级,犹如探囊取物,所以这时候ELK就非常适合了,当然除此之外,ELK也经常在运维工作中大放光彩,在应用级别的实时监控,非常适合一些重要核心服务的预警。 ELK如何安装搭建? 环境要求: Linux系统:Centos7
Java版本:JDK1.8
ELK均为最新版本:
(1)ElasticSearch1.7.2 基于Lucene4.10.4的版本
(2)Logstash1.5.4
(3)Kibana4.1.2
集群拓扑: ElasticSearch 3台机器: 集群名:search 机器名 es节点名 => ip地址 h1 => 192.168.1.120 h2 => 192.168.1.121 h3 => 192.168.1.122 Logstash 192.168.1.120 Kibana 192.168.1.120 下载: elasticsearch: wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.3.tar.gz logstash : wget https://download.elastic.co/logstash/logstash/logstash-1.5.4.tar.gz kibana : wget https://download.elastic.co/kibana/kibana/kibana-4.1.2-linux-x64.tar.gz 一: 安装elasticsearch集群: (1)解压到指定目录 (2)配置elasticsearch.yml里面,集群名字和节点名字,如果不配置默认集群名为elasticsearch,节点名随机生成一个 (3) 在线安装head和bigdisk插件 直接在elasticsearch的根目录下,分别输入: bin/plugin --install mobz/elasticsearch-head 安装head bin/plugin --install lukas-vlcek/bigdesk 安装bigdesk (4)scp分发安装完毕后的elasticsearch (5)依次启动各个机器上的elasticsearch (6)head显示如下:
(7)bigdisk显示如下:
二:安装logstash (1)解压到指定目录 (2)在根木下新建一个conf目录,在里面新建一个配置文件first.conf
(3)启动logstash 执行命令: bin/logstash -f conf/first.conf
三:安装kibana (1)解压到指定目录 (2)在根目录执行bin/kibana直接启动 (3)访问http://192.168.1.120:5601/ 配置一个ElasticSearch索引 (4)在logstach里面添加数据
(5)查看图表:刚新加的数据
四: 至此,ELK组件已经安装完毕,带图形化界面的简单日志查询分析系统就搞定了 本篇只是一个简单的入门例子,如需深入可以研究elastic的官网文档: https://www.elastic.co/guide/index.html