阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

ELK(ElasticSearch,Logstash,Kibana)搭建实时日志分析平台

219次阅读
没有评论

共计 3292 个字符,预计需要花费 9 分钟才能阅读完成。

ELK 平台介绍

日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。

通常,日志被分散的储存不同的设备上。如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志。这样是不是感觉很繁琐和效率低下。当务之急我们使用集中化的日志管理,例如:开源的 syslog,将所有服务器上的日志收集汇总。

集中化管理日志后,日志的统计和检索又成为一件比较麻烦的事情,一般我们使用 grep、awk 和 wc 等 Linux 命令能实现检索和统计,但是对于要求更高的查询、排序和统计等要求和庞大的机器数量依然使用这样的方法难免有点力不从心。

开源实时日志分析 ELK 平台能够完美的解决我们上述的问题,ELK 由 ElasticSearch、Logstash 和 Kiabana 三个开源工具组成。官方网站:https://www.elastic.co/products

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

画了一个 ELK 工作的原理图:

ELK(ElasticSearch,Logstash,Kibana) 搭建实时日志分析平台

如图:Logstash 收集 AppServer 产生的 Log,并存放到 ElasticSearch 集群中,而 Kibana 则从 ES 集群中查询数据生成图表,再返回给 Browser。

ELK 平台搭建

系统环境

System: CentOS release 6.6 (Final)

ElasticSearch: elasticsearch-5.3.0.tar.gz

Logstash: logstash-5.3.0.tar.gz

Kibana: kibana-5.3.0-linux-x86_64.tar.gz

Java: openjdk version”1.8.0_51″

ELK 官网下载:https://www.elastic.co/downloads/

ELK(ElasticSearch,Logstash,Kibana) 搭建实时日志分析平台

ElasticSearch

配置 ElasticSearch:

  useradd elk              #ES 不允许 root 启动服务

tar -zxvf elasticsearch-5.3.0.tar.gz
cd elasticsearch-5.3.0
vi config/elasticsearch.yml

 

修改以下配置项:

cluster.name: es_cluster
node.name: node0
path.data: /tmp/elasticsearch/data
path.logs: /tmp/elasticsearch/logs
network.host: 172.16.160.122
http.port: 9200

 

其他的选项保持默认,然后启动 ES:

  su elk

./bin/elasticsearch &

  3、

补:启动异常:ERROR: bootstrap checks failed
system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk

问题原因:因为 Centos6 不支持 SecComp,而 ES5.2.1 默认 bootstrap.system_call_filter 为 true 进行检测,所以导致检测失败,失败后直接导致 ES 不能启动。

解决方法:在 elasticsearch.yml 中配置,注意要在 Memory 下面:
bootstrap.memory_lock: false

bootstrap.system_call_filter: false

 

ELK(ElasticSearch,Logstash,Kibana) 搭建实时日志分析平台

可以看到,它跟其他的节点的传输端口为 9300,接受 HTTP 请求的端口为 9200。

Logstash

Logstash 的功能如下:

ELK(ElasticSearch,Logstash,Kibana) 搭建实时日志分析平台

其实它就是一个 收集器 而已,我们需要为它指定 Input 和 Output(当然 Input 和 Output 可以为多个)。由于我们需要把 Java 代码中 Log4j 的日志输出到 ElasticSearch 中,因此这里的 Input 就是 Log4j,而 Output 就是 ElasticSearch。

配置 Logstash:

tar -zxvf logstash-5.3.0.tar.gz
cd logstash-5.3.0

 

编写配置文件 (名字和位置可以随意,这里我放在 config 目录下,取名为 log4j_to_es.conf):

mkdir config
vi config/a_es.conf

input {
        file {
        path => “/tmp/a.log”                                    #创建的测试日志文件
    }
}
filter {

}
output {
        stdout {codec => rubydebug}
        elasticsearch {
                index => “test_%{+YYYY.MM.dd}”        #索引信息
                hosts => [“172.16.160.122:9200”]
        }
}

 

    ./bin/logstash -f config/a_es.conf  &            #启动服务

 

如下图,证明通信无误

ELK(ElasticSearch,Logstash,Kibana) 搭建实时日志分析平台

Kibana

配置 Kibana:

tar -zxvf kibana-4.3.0-linux-x86.tar.gz
cd kibana-4.3.0-linux-x86
vi config/kibana.yml

server.port: 5601
server.host: "172.16.160.122"
elasticsearch.url: http://172.16.160.122:9200
kibana.index: ".kibana.yml"

./bin/kibana

ELK(ElasticSearch,Logstash,Kibana) 搭建实时日志分析平台

Elasticsearch1.7.3 升级到 2.4.2 过程笔记  http://www.linuxidc.com/Linux/2017-03/142137.htm

ElasticSearch 基础和集群搭建  http://www.linuxidc.com/Linux/2017-02/140491.htm

Elasticsearch 的安装,运行和基本配置 http://www.linuxidc.com/Linux/2016-07/133057.htm

使用 Elasticsearch + Logstash + Kibana 搭建日志集中分析平台实践  http://www.linuxidc.com/Linux/2015-12/126587.htm

Ubuntu 14.04 搭建 ELK 日志分析系统 (Elasticsearch+Logstash+Kibana) http://www.linuxidc.com/Linux/2016-06/132618.htm

Elasticsearch1.7 升级到 2.3 实践总结  http://www.linuxidc.com/Linux/2016-11/137282.htm

Ubuntu 14.04 中 Elasticsearch 集群配置  http://www.linuxidc.com/Linux/2017-01/139460.htm

Elasticsearch-5.0.0 移植到 Ubuntu 16.04  http://www.linuxidc.com/Linux/2017-01/139505.htm

ElasticSearch 的详细介绍 :请点这里
ElasticSearch 的下载地址 :请点这里 

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-04/142772.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计3292字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中