分享

ELK日志分析集群部署笔记

 WindySky 2016-06-24
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

[iyunv@ELK-Server ~]# cat /etc/redhat-release
CentOS release 6.5 (Final)


Java版本:JDK1.8
[iyunv@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./elas ... search-1.7.3.tar.gz
logstash       : wget  https://download./logs ... gstash-1.5.4.tar.gz
kibana          : wget  https://download./kiba ... .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

    如果启动时遇到以下报错信息:
[iyunv@localhost elasticsearch]# ./bin/elasticsearch
{1.7.3}: Initialization Failed ...
- RuntimeException[Java version: 1.7.0_45 suffers from critical bug https://bugs.openjdk./browse/JDK-8024830 which can cause data corruption.
Please upgrade the JVM, see http://www./guide/en/e ... /_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支持)

   
    [iyunv@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)


(6)head显示如下:


A144929535-184341.png_small.jpg (172.63 KB, 下载次数: 0)

下载附件  保存到相册

2016-1-25 09:51 上传



(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./guide/index.html


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多