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

云计算 专栏收录该内容
15 篇文章 0 订阅

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服务等,需要关闭防火墙:

# service iptables stop

或者可以不关闭防火墙,但是要在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

3 安装JDK

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

# yum -y install java-1.7.0-openjdk*
# java -version

4 安装ElasticSearch

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

下载ElasticSearch:

# mkdir -p /opt/software && cd /opt/software
# sudo wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.4.2.tar.gz
# sudo tar -zxvf elasticsearch-1.4.2.tar.gz -C /usr/local/
# ln -s /usr/local/elasticsearch-1.4.2 /usr/local/elasticsearch
安装elasticsearch-servicewrapper,并启动ElasticSearch服务:
# sudo wget https://github.com/elasticsearch/elasticsearch-servicewrapper/archive/master.tar.gz
# sudo tar -zxvf master
# mv /opt/software/elasticsearch-servicewrapper-master/service /usr/local/elasticsearch/bin/
# /usr/local/elasticsearch/bin/service/elasticsearch start
测试ElasticSearch服务是否正常,预期返回200的状态码:
# curl -X GET http://localhost:9200

5 安装Logstash

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

下载Logstash:

# sudo wget https://download.elasticsearch.org/logstash/logstash/logstash-1.4.2.tar.gz
# sudo tar -zxvf logstash-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可以访问的目录下即可。
# sudo wget https://download.elasticsearch.org/kibana/kibana/kibana-3.1.2.tar.gz
# sudo tar -zxvf kibana-3.1.2.tar.gz
# mv kibana-3.1.2 /var/www/html/kibana
修改Kibana的配置文件,把elasticsearch所在行的内容替换成如下:
# vim /var/www/html/kibana/config.js
elasticsearch: "http://10.111.121.22:9200",
启动一下HTTP服务:
# service httpd start
修改ElasticSearch的配置文件,追加一行内容,并重启ElasticSearch服务:
# vim /usr/local/elasticsearch/config/elasticsearch.yml
http.cors.enabled: true
# /usr/local/elasticsearch/bin/service/elasticsearch restart
然后就可以通过浏览器访问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"]
  }

  file {
    type => "http.error"
    path => ["/var/log/httpd/error_log"]
  }

  file {
    type => "messages"
    path => ["/var/log/messages"]
  }
}

output {
  elasticsearch {
    host => "10.111.121.22"
    port => 9300
  }
}
# 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


  • 1
    点赞
  • 2
    评论
  • 2
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

<p> <span style="font-size:18px;">版本定位:</span> </p> <p> <span style="font-size:18px;">目前采用ELK7.x:即ELKelasticsearch7.3+logstash7.3+kibana7.3)</span> </p> <span style="font-size:18px;">官网最新版本搭建集群展示</span><br /> <p> <span style="font-size:18px;"></span> </p> <p> <span style="font-size:18px;"><strong>elk是什么意思中文?</strong></span> </p> <p> <span style="color:#333333;">ELK Stack 是ElasticsearchLogstash、Kiban三个开源软件的组合。在实时数据检索分析场合,三者通常是配合共用,而且又都先后归于 Elastic.co 公司名,故有此简称。 ELK Stack成为机器数据分析,或者说实时日志处理领域,开源界的第一选择。传统的日志处理方案相比,ELK Stack 具有如几个优点: • 处理方式灵活。Elasticsearch 是实时全文索引,不需要像 storm 那样预先编程才能使用; • 配置简易上手。Elasticsearch 全部采用 JSON 接口,Logstash 是 Ruby DSL 设计,都是目前业界最通用的配置语法设计; • 检索性能高效。虽然每次查询都是实时计算,但是优秀的设计实现基本可以达到全天数据查询的秒级响应; • 集群线性扩展。不管是 Elasticsearch 集群还是 Logstash 集群都是可以线性扩展的; • 前端操作炫丽。Kibana 界面上,只需要点击鼠标,就可以完成搜索、聚合功能,生成炫丽的仪表板。 官网地址:https://www.elastic.co/cn/</span> </p> <p> <strong><span style="font-size:18px;">elk日志分析系统?</span></strong> </p> <p> ELK+Beats日志分析系统部署,<span style="color:#333333;">Elasticsearch分布式集群部署,加上ELK Stack堆栈,让搜索发挥极致</span> </p> <p> <br /> </p>
©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值