博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ELK日志分析集群部署笔记
阅读量:7196 次
发布时间:2019-06-29

本文共 3107 字,大约阅读时间需要 10 分钟。

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系统:Centos6.5

[root@ELK-Server ~]# cat /etc/redhat-release 

CentOS release 6.5 (Final)


Java版本:JDK1.8

[root@ELK-Server ~]# java -version

openjdk version "1.8.0_51"

OpenJDK Runtime Environment (build 1.8.0_51-b16)

OpenJDK 64-Bit Server VM (build 25.51-b03, mixed mode)


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 

    #/usr/local/elasticsearch/bin/elasticsearch

 

    如果启动时遇到以下报错信息:

 [root@localhost elasticsearch]# ./bin/elasticsearch 

{1.7.3}: Initialization Failed ...

- RuntimeException[Java version: 1.7.0_45 suffers from critical bug https://bugs.openjdk.java.net/browse/JDK-8024830 which can cause data corruption.

Please upgrade the JVM, see http://www.elastic.co/guide/en/elasticsearch/reference/current/_installation.html for current recommendations.

If you absolutely cannot upgrade, please add -XX:-UseSuperWord to the JVM_OPTS environment variable.

Upgrading is preferred, this workaround will result in degraded performance.]

    解决方法:

    # yum -y install java-1.8.0*

    # yum remove java

    查看下java版本号:是否是1.8.0(因为最新版elasticsearch需要最新的java支持)

    

    [root@localhost elasticsearch]# java -version

    openjdk version "1.8.0_71"

    OpenJDK Runtime Environment (build 1.8.0_71-b15)

    OpenJDK 64-Bit Server VM (build 25.71-b15, mixed mode)

    问题2:

    [root@localhost elasticsearch]# ./bin/elasticsearch    

    Can't start up: not enough memory

    解决方法也是重启安装下java 就行了

(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 

     本文转自yangxuncai110 51CTO博客,原文链接:http://blog.51cto.com/zlyang/1737622,如需转载请自行联系原作者

你可能感兴趣的文章
usaco Superprime Rib 搜索
查看>>
neo4j
查看>>
使用NSOperationQueue简化多线程开发
查看>>
LaTeX技巧008:如何给文字添加阴影效果?
查看>>
二叉树——前序和中序得到后序
查看>>
tst
查看>>
Linux下JDK环境变量配置
查看>>
Android项目技术总结:项目中选择任务的联系人android版的解决方案
查看>>
CCF201604-1 折点计数(100分)
查看>>
Project Euler Problem 13 Large sum
查看>>
HDU2034 人见人爱A-B
查看>>
smb安装配置
查看>>
ionic3安卓版release发布
查看>>
B树、B+树、B*树
查看>>
JAVAWEB开发中过滤器的概述及使用
查看>>
中序遍历详解
查看>>
[MSSQL]SCOPE_IDENTITY,IDENT_CURRENT以及@@IDENTITY的区别
查看>>
学习elasticsearch(一)linux环境搭建(1)
查看>>
认识Python&基础环境搭建
查看>>
app.use( )做一个静态资源服务
查看>>