ELK技术栈实践(一)

通常,日志被分散的储存不同的设备上。如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志。这样是不是感觉很繁琐和效率低下。当务之急我们使用集中化的日志管理,例如:开源的syslog,将所有服务器上的日志收集汇总。
集中化管理日志后,日志的统计和检索又成为一件比较麻烦的事情,一般我们使用grep、awk和wc等Linux命令能实现检索和统计,但是对于要求更高的查询、排序和统计等要求和庞大的机器数量依然使用这样的方法难免有点力不从心。
源实时日志分析ELK平台能够完美的解决我们上述的问题,ELK由ElasticSearch、Logstash和Kiabana三个开源工具组成。实践的目的是了解ELK技术栈的部署和应用。

Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
Logstash是一个完全开源的工具,他可以对你的日志进行收集、过滤,并将其存储供以后使用(如,搜索)。
Kibana 也是一个开源和免费的工具,它Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。

1、目标

       安装部署ELK,使之正常工作。集群工作留待以后再实践。

2、部署的机器

       服务器1: 192.168.136.144     部署 ELK 三个程序

       服务器2: 192.168.136.138     部署logstash agent

       以上机器都为 centos 65  虚拟机

       安装的ELK版本为:

       elasticsearch-2.4.1.tar.gz
       kibana-4.5.1-linux-x64.tar.gz
       logstash-2.3.2.tar.gz

       说明: 本来用ELK 5.0.0版本,但是碰到一个 logstash与ES 连接的问题(和鉴权相关)目前找不到处理办法,所以采用旧的版本来进行实践。用最新版有风险,入门需谨慎!

3、安装过程

      3.1  安装前准备

1)下载上面三个软件并上传到144主机

        

        2) 准备java 1.8  (只要jdk 1.8 就可以)       

<span style="font-family:Microsoft YaHei;font-size:14px;">[root@cwqsolo elk2.3]# java -version
java version "1.8.0_111"
Java(TM) SE Runtime Environment (build 1.8.0_111-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)
[root@cwqsolo elk2.3]# </span>

     3.2 安装步骤

         ELK技术栈的部署将会按下面几个步骤进行

         首先安装ES(Elasticsearch)和ES的插件, 然后安装kibana,最后安装 logstash。 在下篇,还继续进行logstash的agent的安装。

         1、安装 ES(Elasticsearch)和ES的插件

          首先解压elasticsearch-2.4.1.tar.gz ,然后进入目录

然后,我们要修改  config 目录下的配置文件elasticsearch.yml

要修改的内容为

<span style="font-family:Microsoft YaHei;font-size:14px;">cluster.name: solo
node.name: node1
path.data: ./data
path.logs: ./logs
network.host: cwqsolo
http.port: 9200</span>
将上面的内容,修改正确,并且确保前面的#去掉,使得该项目生效。

由于ES不支持在root 下运行, 所以需要对目录进行授权。  使用root用户登录,并且执行如下命令

chown +R  nmc:nmc  /home/nmc/dev/elk/elk2.3/elasticsearch-2.4.1/

说明:上面命令是将这个目录以及这个目录下的子目录都授权给nmc用户,隶属于nmc用户组。

然后,我们切换到nmc用户,使用nmc用户来启动ES。  进入 /home/nmc/dev/elk/elk2.3/elasticsearch-2.4.1/

在命令行,执行:    ./bin/elasticsearch 

启动后,没有报错就表示成功了,我们可以通过浏览器执行  http://192.168.136.144:9200/  来查看,出现下面界面就表示成功



下面我们可以进行 es 插件 head的安装。 head 之前的安装比较简单,在es没有启动的时候,执行 ./bin/plugin install mobz/elasticsearch-head

在我的环境下,执行已经无法下来这个包了。(估计5.0出来后,这个包已经整合了) 从网上下载了head 包,解压有,上传到 /home/nmc/dev/elk/elk2.3/elasticsearch-2.4.1/plugins


重启启动es,我们可以通过url   http://192.168.136.144:9200/_plugin/head/来查看插件


好了 ES部分的安装就到这里。下面我们来安装 kibana

   2、 安装kibana

   用root 用户,解压缩 kibana,然后进入到这个目录。修改 config 目录下的kibana.yml  

<span style="font-family:Microsoft YaHei;font-size:14px;">server.port: 5601
server.host: "192.168.136.144"
elasticsearch.url: "http://192.168.136.144:9200"
kibana.index: ".kibana"</span>
确保上面的配置生效。

然后,我们启动kibana。执行  ./bin/kibana启动后,我们通过url   http://192.168.136.144:5601/来进入 kibana 界面。


    可以按默认的直接创建。然后点击最上方的discover 来观察

     3、 下面我们安装logstash。  同样解压后进入该目录, 

原来没config目录,我自己建立了一个,并且在config目录,创建一个配置文件。


通过配置文件中 output 将 logstash 与 ES 连接起来。

下面我们启动logstash,启动后,我们从logstash 窗口输入任何的内容,都能通过ES 反馈到 kibana界面上。


logstash我们输入了一个日志内容,kibana上同样可以看到


安装过程大致就是如此,后续我们再聊一些细节。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值