微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

1 概述

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

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

2 环境准备

2.1 软件要求

具体的版本要求如下:

  • 操作系统版本:CentOS 6.4;

  • JDK版本:1.7.0;

  • Logstash版本:1.4.2;

  • ElasticSearch版本:1.4.2;

  • Kibana版本:3.1.2;

2.2 防火墙配置

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

[plain]view plaincopy

在CODE上查看代码片

派生到我的代码片

  1. #serviceiptablesstop

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

#vim/etc/sysconfig/iptables

  • -AINPUT-mstate--stateNEW-mtcp-ptcp--dport80-jACCEPT

  • -AINPUT-mstate--stateNEW-mtcp-ptcp--dport9200-jACCEPT

  • -AINPUT-mstate--stateNEW-mtcp-ptcp--dport9292-jACCEPT

  • #serviceiptablesrestart

  • 3 安装JDK

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

    #yum-yinstalljava-1.7.0-openjdk*

  • #java-version

  • 4 安装ElasticSearch

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

    下载ElasticSearch:

    copy

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

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

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

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

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

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

  • #sudotar-zxvfmaster

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

  • #/usr/local/elasticsearch/bin/service/elasticsearchstart

  • 测试ElasticSearch服务是否正常,预期返回200的状态码:
    #curl-XGEThttp://localhost:9200

    5 安装Logstash

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

    下载Logstash:

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

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

  • #ln-s/usr/local/logstash-1.4.2/usr/local/logstash

  • 简单测试Logstash服务是否正常,预期可以将输入内容以简单的日志形式打印在界面上:
    #/usr/local/logstash/bin/logstash-e'input{stdin{}}output{stdout{}}'

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

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

  • input{

  • stdin{

  • type=>"human"

  • }

  • output{

  • stdout{

  • codec=>rubydebug

  • elasticsearch{

  • host=>"10.111.121.22"

  • port=>9300

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

  • 6 安装Kibana

    CentOS认预装了Apache,所以将Kibana的代码直接拷贝到Apache可以访问的目录下即可。
    #sudowgethttps://download.elasticsearch.org/kibana/kibana/kibana-3.1.2.tar.gz

  • #sudotar-zxvfkibana-3.1.2.tar.gz

  • #mvkibana-3.1.2/var/www/html/kibana

  • 修改Kibana的配置文件,把elasticsearch所在行的内容替换成如下:
    #vim/var/www/html/kibana/config.js

  • elasticsearch:"http://10.111.121.22:9200",

  • 启动一下HTTP服务:
    #servicehttpdstart

    修改ElasticSearch的配置文件,追加一行内容,并重启ElasticSearch服务:
    #vim/usr/local/elasticsearch/config/elasticsearch.yml

  • http.cors.enabled:true

  • #/usr/local/elasticsearch/bin/service/elasticsearchrestart

  • 然后就可以通过浏览器访问Kibana了:
    http://10.111.121.22/kibana

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

    7 配置Logstash

    再次创建Logstash配置文件,这里将HTTP日志和文件系统日志作为输入,输出直接传给ElasticSearch,不再打印在界面上:
    #vim/usr/local/logstash/etc/logstash_agent.conf


  • input {

  • file {

  • type => "http.access"

  • path => ["/var/log/httpd/access_log"]

  • }


  • type => "http.error"

  • path => ["/var/log/httpd/error_log"]

  • type => "messages"

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

  • }

  • }

  • output {

  • elasticsearch {

  • host => "123.206.211.52"

  • port => 9300

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

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

    原文地址:https://www.jb51.cc/centos/378491.html

    版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。