首页 > 代码库 > elk搭建记录

elk搭建记录

1.elk介绍

(摘抄至http://www.tuicool.com/articles/YR7RRr)

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

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

开源实时日志分析ELK平台能够完美的解决我们上述的问题,ELK由ElasticSearch、Logstash和Kiabana三个开源工具组成。官方网站: https://www.elastic.co/products

  • Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。

  • Logstash是一个完全开源的工具,他可以对你的日志进行收集、过滤,并将其存储供以后使用(如,搜索)。

  • Kibana 也是一个开源和免费的工具,它Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。


技术分享

如图:Logstash收集AppServer产生的Log,并存放到ElasticSearch集群中,而Kibana则从ES集群中查询数据生成图表,再返回给Browser。


2.安装准备

系统版本:centos6.7

ElasticSearch:2.3.4

Logstash:2.3.4

Kibana:4.5.3

Jdk:1.8.0_45

注:由于Logstash的运行依赖于Java环境, 而Logstash 1.5以上版本不低于java 1.7,因此推荐使用最新版本的Java。因为我们只需要Java的运行环境,所以可以只安装JRE,不过这里我依然使用JDK,请自行搜索安装。


3.下载:

官方网址:https://www.elastic.co/downloads

cd /usr/local
wget https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/2.3.4/elasticsearch-2.3.4.tar.gz
wget https://download.elastic.co/logstash/logstash/logstash-2.3.4.tar.gz
wget https://download.elastic.co/kibana/kibana/kibana-4.5.3-linux-x64.tar.gz
wget http://download.oracle.com/otn-pub/java/jdk/8u45-b14/jdk-8u45-linux-x64.tar.gz


4.安装


4.1安装jdk

mkdir -p /usr/lib/jvm
tar -xvf  jdk-8u45-linux-x64.tar.gz -C /usr/lib/jvm
# vim /etc/profile 配置系统参数

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_45
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0_45/bin/java 300
update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.8.0_45/bin/javac 300

4.2安装elasticsearch

使用elk账号安装

useradd elk
su -elk
tar -xvf elasticsearch-2.3.4.tar.gz
cd elasticsearch-2.3.4
./bin/plugin install mobz/elasticsearch-head
[root@test elasticsearch-2.3.4]# ls plugins/
head

编辑es配置文件

[root@test elasticsearch-2.3.4]# pwd
/tools/elk/elasticsearch-2.3.4/elasticsearch-2.3.4
[root@test elasticsearch-2.3.4]# cat config/elasticsearch.yml |grep -Ev "^#"
 cluster.name: es_cluster
 node.name: node0
 path.data: /tmp/elasticsearch/data
 path.logs: /tmp/elasticsearch/logs
 network.host: 192.168.175.131
 #本机ip
 http.port: 9200

浏览器访问http://192.168.175.131:9200/

技术分享

看返回结果,有配置的cluster_name、节点name信息以及安装的软件版本信息,其中安装的head插件,它是一个用浏览器跟ES集群交互的插件,可以查看集群状态、集群的doc内容、执行搜索和普通的Rest请求等。可以使用web界面来操作查看http://192.168.175.131:9200/_plugin/head/,如下图

技术分享

可以从界面看到,当前的elas集群里面没有index也没有type,所以是空记录。

elk搭建记录