CentOS 7 使用ELK套件搭建日志分析和监控平台

前端之家收集整理的这篇文章主要介绍了CentOS 7 使用ELK套件搭建日志分析和监控平台前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1 概述

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

由于三个软件各自的版本号太多,建议采用ElasticSearch官网推荐的搭配组合:http://www.elasticsearch.org/overview/elkdownloads/

2 环境准备

2.1 软件要求

本文把ELK套件部署在一台CentOS单机上。

具体的版本要求如下:

  • 操作系统版本:CentOS 6.4;

  • JDK版本:1.7.0;

  • Logstash版本:1.4.2;

  • ElasticSearch版本:1.4.2;

  • Kibana版本:3.1.2;

2.2 防火墙配置

为了正常使用HTTP服务等,需要关闭防火墙:

[plain] view plain@H_502_51@ copy@H_502_51@

  1. #serviceiptablesstop

或者可以不关闭防火墙,但是要在iptables中打开相关的端口:

[plain] view plain@H_502_51@ copy@H_502_51@

  1. #vim/etc/sysconfig/iptables

  2. -AINPUT-mstate--stateNEW-mtcp-ptcp--dport80-jACCEPT

  3. -AINPUT-mstate--stateNEW-mtcp-ptcp--dport9200-jACCEPT

  4. -AINPUT-mstate--stateNEW-mtcp-ptcp--dport9292-jACCEPT

  5. #serviceiptablesrestart

3 安装JDK

ElasticSearch和Logstash依赖于JDK,所以需要安装JDK:

[plain] view plain@H_502_51@ copy@H_502_51@

  1. #yum-yinstalljava-1.7.0-openjdk*

  2. #java-version

4 安装ElasticSearch

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

下载ElasticSearch:

[plain] view plain@H_502_51@ copy@H_502_51@

  1. #mkdir-p/opt/software&&cd/opt/software

  2. #sudowgethttps://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.4.2.tar.gz

  3. #sudotar-zxvfelasticsearch-1.4.2.tar.gz-C/usr/local/

  4. #ln-s/usr/local/elasticsearch-1.4.2/usr/local/elasticsearch

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

[plain] view plain@H_502_51@ copy@H_502_51@

  1. #sudowgethttps://github.com/elasticsearch/elasticsearch-servicewrapper/archive/master.tar.gz

  2. #sudotar-zxvfmaster

  3. #mv/opt/software/elasticsearch-servicewrapper-master/service/usr/local/elasticsearch/bin/

  4. #/usr/local/elasticsearch/bin/service/elasticsearchstart

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

[plain] view plain@H_502_51@ copy@H_502_51@

  1. #curl-XGEThttp://localhost:9200

5 安装Logstash

Logstash默认的对外服务的端口是9292。

下载Logstash:

[plain] view plain@H_502_51@ copy@H_502_51@

  1. #sudowgethttps://download.elasticsearch.org/logstash/logstash/logstash-1.4.2.tar.gz

  2. #sudotar-zxvflogstash-1.4.2.tar.gz-C/usr/local/

  3. #ln-s/usr/local/logstash-1.4.2/usr/local/logstash

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

[plain] view plain@H_502_51@ copy@H_502_51@

  1. #/usr/local/logstash/bin/logstash-e'input{stdin{}}output{stdout{}}'

创建Logstash配置文件,并再次测试Logstash服务是否正常,预期可以将输入内容以结构化的日志形式打印在界面上:

[plain] view plain@H_502_51@ copy@H_502_51@

  1. #mkdir-p/usr/local/logstash/etc

  2. #vim/usr/local/logstash/etc/hello_search.conf

  3. input{

  4. stdin{

  5. type=>"human"

  6. }

  7. }

  8. output{

  9. stdout{

  10. codec=>rubydebug

  11. }

  12. elasticsearch{

  13. host=>"10.111.121.22"

  14. port=>9300

  15. }

  16. }

  17. #/usr/local/logstash/bin/logstash-f/usr/local/logstash/etc/hello_search.conf

6 安装Kibana

CentOS默认预装了Apache,所以将Kibana的代码直接拷贝到Apache可以访问的目录下即可。

[plain] view plain@H_502_51@ copy@H_502_51@

  1. #sudowgethttps://download.elasticsearch.org/kibana/kibana/kibana-3.1.2.tar.gz

  2. #sudotar-zxvfkibana-3.1.2.tar.gz

  3. #mvkibana-3.1.2/var/www/html/kibana

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

[plain] view plain@H_502_51@ copy@H_502_51@

  1. #vim/var/www/html/kibana/config.js

  2. elasticsearch:"http://10.111.121.22:9200",

启动一下HTTP服务:

[plain] view plain@H_502_51@ copy@H_502_51@

  1. #servicehttpdstart

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

[plain] view plain@H_502_51@ copy@H_502_51@

  1. #vim/usr/local/elasticsearch/config/elasticsearch.yml

  2. http.cors.enabled:true

  3. #/usr/local/elasticsearch/bin/service/elasticsearchrestart

然后就可以通过浏览器访问Kibana了:

[plain] view plain@H_502_51@ copy@H_502_51@

  1. http://10.111.121.22/kibana

现在,在之前的Logstash会话中输入任意字符,就可以在Kibana中查看到日志情况。

7 配置Logstash

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

[plain] view plain@H_502_51@ copy@H_502_51@

  1. #vim/usr/local/logstash/etc/logstash_agent.conf

  2. input{

  3. file{

  4. type=>"http.access"

  5. path=>["/var/log/httpd/access_log"]

  6. }

  7. file{

  8. type=>"http.error"

  9. path=>["/var/log/httpd/error_log"]

  10. }

  11. file{

  12. type=>"messages"

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

  14. }

  15. }

  16. output{

  17. elasticsearch{

  18. host=>"10.111.121.22"

  19. port=>9300

  20. }

  21. }

  22. #nohup/usr/local/logstash/bin/logstash-f/usr/local/logstash/etc/logstash_agent.conf&

现在,一个简单的日志分析和监控平台就搭建好了,可以使用Kibana进行查看。

8 参考资料

1. 《安装logstash,elasticsearch,kibana三件套》,http://www.cnblogs.com/yjf512/p/4194012.html

猜你在找的CentOS相关文章