ELK开源日志分析系统实验

By | 2017年2月22日
目录
[隐藏]

一、简介

1、核心组成

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

2、四大组件

Logstash: logstash server端用来搜集日志;
Elasticsearch: 存储各类日志;
Kibana: web化接口用作查寻和可视化日志;
Logstash Forwarder: logstash client端用来通过lumberjack 网络协议发送日志到logstash server;

3、ELK工作流程

在需要收集日志的所有服务上部署logstash,作为logstash agent(logstash shipper)用于监控并过滤收集日志,将过滤后的内容发送到Redis,然后logstash indexer将日志收集在一起交给全文搜索服务ElasticSearch,可以用ElasticSearch进行自定义搜索通过Kibana 来结合自定义搜索进行页面展示。

4、ELK的帮助手册

ELK官网:https://www.elastic.co/
ELK官网文档:https://www.elastic.co/guide/index.html
ELK中文手册:http://kibana.logstash.es/content/elasticsearch/monitor/logging.html

注释
ELK有两种安装方式
(1)集成环境:Logstash有一个集成包,里面包括了其全套的三个组件;也就是安装一个集成包。
(2)独立环境:三个组件分别单独安装、运行、各司其职。(比较常用)
本实验也以第二种方式独立环境来进行演示;单机版主机地址为:192.168.57.139,os:centos6.8。

二、安装

1.安装jdk

tar zxvf jdk-7u80-linux-x64.gz
mv jdk1.7.0_80 /opt/java/
echo ‘export JAVA_HOME=/opt/java/’ >> /etc/profile
echo ‘export JRE_HOME=/opt/java/jre’ >> /etc/profile
echo ‘export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH’ >> /etc/profile
echo ‘export PATH=$JAVA_HOME/bin:$PATH’ >> /etc/profile
source /etc/profile

2.安装elasticsearch-2.4.4

目前最新版release版本为5.2.1,使用2.4.4版本进行测试,使用elastcsearch需要使用普通用户运行。

useradd data
su data
cd
wget https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/2.4.4/elasticsearch-2.4.4.tar.gz
tar zxvf elasticsearch-2.4.4.tar.gz
cd elasticsearch-2.4.4

#安装head插件

./bin/plugin install mobz/elasticsearch-head

#编辑配置文件

vim config/elasticsearch.yml

cluster.name:es_cluster
node.name:node0
path.data:/tmp/elasticsearch/data #没有此目录需新建或者其他目录或系统默认
path.logs:/tmp/elasticsearch/logs #同上
#当前hostname或IP
network.host:192.168.57.139
network.port:9200

保存,退出。启动elasticsearch

./bin/elasticsearch

验证:

打开http://192.168.57.139:9200

出现

{
“name” : “node0”,
“cluster_name” : “es_cluster”,
“cluster_uuid” : “gh2DcAQcTEG_HaiTayzx1Q”,
“version” : {
“number” : “2.4.4”,
“build_hash” : “fcbb46dfd45562a9cf00c604b30849a6dec6b017”,
“build_timestamp” : “2017-01-03T11:33:16Z”,
“build_snapshot” : false,
“lucene_version” : “5.5.2”
},
“tagline” : “You Know, for Search”
}

说明正常。

./bin/elasticsearch &

后台启动

3.安装logstash

wget https://download.elastic.co/logstash/logstash/logstash-2.4.1.tar.gz
tar zxvf logstash-2.4.1.tar.gz
cd logstash-2.4.1

新建一个httpd的配置文件,以监控http为例:

vim httpd.conf

input {
file {
path => “/var/log/httpd/access_log”
start_position => beginning
ignore_older => 0
}
}
filter {
grok {
match => { “message” => “%{COMBINEDAPACHELOG}”}
}
geoip {
source => “clientip”
}
}
output {
elasticsearch {
action => “index”
hosts => [ “192.168.57.139:9200” ]
index => “httpdlog”
}
}

启动   -f  指定配置文件

./bin/logstash -f httpd.conf

4.kibana安装

wget https://download.elastic.co/kibana/kibana/kibana-4.6.2-linux-x86_64.tar.gz
tar zxvf kibana-4.6.2-linux-x86_64.tar.gz
cd kibana-4.6.2-linux-x86_64

编辑配置文件
vim config/kibana.yml

server.port: 5601
server.host: “192.168.57.139”
elasticsearch.url: http://192.168.57.139:9200
kibana.indx: “.kibana”

启动
./bin/kibana

Category: os 标签:

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注