提示:建议将此篇和第二弹都浏览一下再开始搭建环境

日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。

通常,日志被分散的储存不同的设备上。如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志。这样是不是感觉很繁琐和效率低下。当务之急我们使用集中化的日志管理,例如:开源的syslog,将所有服务器上的日志收集汇总。

集中化管理日志后,日志的统计和检索又成为一件比较麻烦的事情,一般我们使用grep、awk和wc等Linux命令能实现检索和统计,但是对于要求更高的查询、排序和统计等要求和庞大的机器数量依然使用这样的方法难免有点力不从心。

开源实时日志分析ELK平台能够完美的解决我们上述的问题,ELK由ElasticSearch、Logstash和Kiabana三个开源工具组成。


参考博文:https://my.oschina.net/itblog/blog/547250

ELK下载:https://www.elastic.co/downloads

注意:版本需要与JDK版本匹配,目前最新版本要求JDK1.8以上,我环境是Centos,JDK1.7,试了下载很多次才安装成功。最终安装成功的是ElasticSearch:2.3.0,Logstash:2.3.0,Kibana:4.5.0


Elasticsearch

1.下载好elasticsearch的tar.gz文件后,是用tar -zxvf解压,然后进入解压后文件夹的bin目录,执行:

./plugin install mobz/elasticsearch-head

进行安装,后面跟的参数是安装head插件,安装好后bin目录的同级目录plugins中会有一个head文件。

2.修改配置文件,不难理解的,自己看着修改吧,host那里配置成IP地址的话局域网中都可以访问,配置成127.0.0.1的话就只有本机可以访问


3.运行

./bin/elasticsearch

报错了


百度了一下,跟着做就行了:



4.浏览器验证一下是否启动成功,我这个就是从局域网访问的


刚刚安装的head插件,它是一个用浏览器跟ES集群交互的插件,可以查看集群状态、集群的doc内容、执行搜索和普通的Rest请求等。现在也可以使用它打开XXX:9200/_plugin/head页面来查看ES集群状态:


Logstatsh

切换回root用户

安装这个之前我们先安装filebeat(后记:filebeat其实用不到,详见第二弹

rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch
在/etc/yum.repos.d目录下创建elastic.repo文件,内容:

[elastic-5.x]
name=Elastic repository for 5.x packages
baseurl=https://artifacts.elastic.co/packages/5.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

接下来通过yum下载安装filebeat

yum install filebeat 

中间会有一次询问,按y,回车就行了

设置自启动

chkconfig --add filebeat

生成filebeat的配置文件

假如log4j这样配的:


那么filebeat的配置文件长这样,IP地址记得换一下,/usr.share/filebeat/bin/filebeat.yml

# filebeat.yml
filebeat:
  prospectors:
    -
      paths:
        - /var/log/your-app/app.*.log
      input_type: log
output:
  logstash:
    hosts: ["192.168.2.200:5000"]


更多信息: 安装   配置

开始搞logstash了,跟es一样,下载tar.gz并解压

在config目录中创建log4j_to_ef.conf文件,注意修改ip地址:

# For detail structure of this file
input {
  # For receive data from filebeat
   beats {
    port => 5000
  }
}
filter {
  #Only matched data are send to output.
}
output {
  # For detail config for elasticsearch as output
  elasticsearch {
    action => "index"          #The operation on ES
    hosts  => "192.168.2.200:9200"   #ElasticSearch host, can be array.
    index  => "applog"         #The index to write data to.
  }
}
 

 启动logstash: 

./bin/logstash agent -f config/log4j_to_es.conf

启动filebeat:

./filebeat  -c ./filebeat.yml -e

现在到http://yourip:9200/_plugin/head/里切换到browser标签可以看到所有日志了:


Kibana

一样下载tar.gz,解压,编辑config/kibana.yml文件:


启动Kibana,齐活儿:

./bin/kibana

后面的就是一些网页上的配置了,可以移步本文一开始的关联文章查看,不重复了

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐