linux搭建elk日志分析系统,redhat下使用ELK套件搭建日志分析和监控平台

ELK套件(ELK stack)是指ElasticSearch、Logstash和Kibana三件套。这三个软件可以组成一套日志分析和监控工具。

官方下载地址:

测试环境:redhat6.5

所需软件:JDK1.7.0,Logstash,ElasticSearch,Kibana

首先我们先了解一下上面三个套件的功能:

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是第二流行的企业搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

Logstash是一个完全开源的工具,他可以对你的日志进行收集、分析,并将其存储供以后使用(如,搜索),您可以使用它。说到搜索,logstash带有一个web界面,搜索和展示所有日志。

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

下面是他们三者的一个关系架构图:

linux搭建elk日志分析系统,redhat下使用ELK套件搭建日志分析和监控平台_第1张图片

下面我们开始搭建这个ELK日志分析和监控平台

这里为了方便起见,我们直接配置centos的yum源:

设置iptables打开相应端口:

vim /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 9200 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 9292 -j ACCEPT

service iptables restart

安装jdk:

yum install java-1.7.0-openjdk* -y

java -version

安装ElasticSearch

ElasticSearch默认的对外服务的HTTP端口是9200,节点间交互的TCP端口是9300

wget

mkdir /usr/local/elk

tar zxf elasticsearch-1.4.2.tar.gz -C /usr/local/elk/

mv /usr/local/elk/elasticsearch-1.4.2 /usr/local/elk/elasticsearch

安装elasticsearch-servicewrapper,并启动ElasticSearch服务:

wget

tar zxf master

mv elasticsearch-servicewrapper-master/service /usr/local/elk/elasticsearch/bin/

/usr/local/elk/elasticsearch/bin/service/elasticsearch start

下面我们测试一下ElasticSearch服务是否正常,预期返回200的状态码:

linux搭建elk日志分析系统,redhat下使用ELK套件搭建日志分析和监控平台_第2张图片

说明这个服务正常。

安装Logstash

Logstash默认的对外端口是9292.

wget

tar zxf logstash-1.4.2.tar.gz -C /usr/local/elk/

mv /usr/local/elk/logstash-1.4.2 /usr/local/elk/logstash

测试一下Logstash服务是否正常,预期可以将输入简单的日志形式打印的界面上:

/usr/local/elk/logstash/bin/logstash -e 'input { stdin { } } output { stdout {} } '

hello we are hy#这里我们输入信息

2015-07-27T00:38:38.317+0000 elkhello we are hy#它会自动输出到屏幕

mkdir /usr/local/elk/logstash/etc

vim /usr/local/elk/logstash/etc/hy_search.conf

点击(此处)折叠或打开

input {

stdin {

type => "human"

}

}

output {

stdout {

codec => rubydebug

}

elasticsearch {

host => "192.168.40.131"

port => "9300"

}

}

logstash的命令行标志:

agent

-f    configfile     加载logstash的配置文件,可以是文件、目录、通配符,如果是目录或者通配符,则读取第一个匹配到的文件

-e   configset     设置一些配置文件中的配置

-w   count          设置filter的工作者个数,默认是1

-l     logfile         设置日志路径,默认是stdout

web

-a    address      启动一个webserver,默认监听0.0.0.0

-p    port           webserver监听的地址,默认是9292

/usr/local/elk/logstash/bin/logstash -f hy_search.conf

linux搭建elk日志分析系统,redhat下使用ELK套件搭建日志分析和监控平台_第3张图片

我们可以看到他的执行结果。

我们也可以给他安装一些其他的组件,更多信息可以查看/usr/local/elk/logstash/README.md

安装Kibana

wget

tar zxf kibana-3.1.2.tar.gz

将他放到nginx的发布目录里面然后启动nginx服务:

mv kibana-3.1.2  /usr/local/lnmp/nginx/html/kibana

修改Kibana的配置文件,把elasticsearch所在行的内容替换成如下:

vim /usr/local/lnmp/nginx/html/kibana/config.js

修改ElasticSearch的配置文件,追加一行内容,并重启ElasticSearch服务:

vim /usr/local/elk/elasticsearch/config/elasticsearch.yml

http.cors.enabled:true

/usr/local/elk/elasticsearch/bin/service/elasticsearch64 restart

然后在浏览器中输入就可以访问Kibana

linux搭建elk日志分析系统,redhat下使用ELK套件搭建日志分析和监控平台_第4张图片

配置Logstash

再次创建Logstash配置文件,这里将nginx日志和系统日志作为输出,输出直接传给ElasticSearch,不再打印在界面上:

vim /usr/local/elk/logstash/etc/logstash_agent.conf

点击(此处)折叠或打开

input {

file {

type => "http.access"

path => ["/usr/local/lnmp/nginx/logs/access.log"]

}

file {

type => "http.error"

path => ["/usr/local/lnmp/nginx/logs/error.log"]

}

file {

type => "messages"

path => ["/var/log/messages"]

}

}

output {

elasticsearch {

host => "192.168.40.131"

port => 9300

}

}

使用下面命令:

nohup /usr/local/elk/logstash/bin/logstash -f /usr/local/elk/logstash/etc/logstash_agent.conf

然后在web端使用Kibana进行查看,这样我们的一个简单的日志分析和监控平台就搭建完成了。

linux搭建elk日志分析系统,redhat下使用ELK套件搭建日志分析和监控平台_第5张图片

linux搭建elk日志分析系统,redhat下使用ELK套件搭建日志分析和监控平台_第6张图片

参考资料:

你可能感兴趣的:(linux搭建elk日志分析系统,redhat下使用ELK套件搭建日志分析和监控平台)