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

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
Elasticsearch Serverless通用抵扣包,测试体验金 200元
简介:

ELK平台介绍

在搜索ELK资料的时候,发现这篇文章比较好,于是摘抄一小段:

以下内容来自: http://baidu.blog.51cto.com/71938/1676798

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

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

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

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

  • Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。

  • Logstash是一个完全开源的工具,他可以对你的日志进行收集、过滤,并将其存储供以后使用(如,搜索)。

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

—————————- 摘抄内容结束——————————-

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

wKioL1jsNbLjc7NOAAExS6LeEAk535.png

如图: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/


wKioL1jsN-ThuU9yAABdBSZzgOc286.png

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不能启动。

  解决方法需要修改几个地方:

      1, 在elasticsearch.yml中配置,注意要在Memory下面:
bootstrap.memory_lock: false

  bootstrap.system_call_filter: false

      2,vim /etc/security/limits.d/90-nproc.conf

      *          soft    nproc     65535
      root       soft    nproc     unlimited

      3,vim /etc/sysctl.conf

      vm.max_map_count = 655360

       

      


wKioL1jsbwqRfbbrAABf9p1jnVs303.png

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



Logstash

Logstash的功能如下:

wKioL1jse_XQs7fpAACh9CJ4pRA963.png

其实它就是一个 收集器 而已,我们需要为它指定Input和Output(当然Input和Output可以为多个)。而Output就是ElasticSearch。

配置Logstash:

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


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

1
2
mkdir  config
vi  config /a_es .conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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

如下图,证明通信无误

wKioL1jt-qnDfqp0AACyiHH9sPw776.png

Kibana

配置Kibana:

1
2
3
4
5
6
7
8
9
10
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

wKioL1jt_FTSfoZaAAC_43dixZc821.png



本文转自 转身撞墙角 51CTO博客,原文链接:http://blog.51cto.com/chentianwang/1915326

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
4月前
|
数据可视化 关系型数据库 MySQL
ELK实现nginx、mysql、http的日志可视化实验
通过本文的步骤,你可以成功配置ELK(Elasticsearch, Logstash, Kibana)来实现nginx、mysql和http日志的可视化。通过Kibana,你可以直观地查看和分析日志数据,从而更好地监控和管理系统。希望这些步骤能帮助你在实际项目中有效地利用ELK来处理日志数据。
376 90
|
6月前
|
存储 运维 监控
金融场景 PB 级大规模日志平台:中信银行信用卡中心从 Elasticsearch 到 Apache Doris 的先进实践
中信银行信用卡中心每日新增日志数据 140 亿条(80TB),全量归档日志量超 40PB,早期基于 Elasticsearch 构建的日志云平台,面临存储成本高、实时写入性能差、文本检索慢以及日志分析能力不足等问题。因此使用 Apache Doris 替换 Elasticsearch,实现资源投入降低 50%、查询速度提升 2~4 倍,同时显著提高了运维效率。
金融场景 PB 级大规模日志平台:中信银行信用卡中心从 Elasticsearch 到 Apache Doris 的先进实践
|
5月前
|
存储 弹性计算 运维
海量日志接入 Elasticsearch Serverless 应用降本70%以上
本文将探讨在日志场景下,使用阿里云Elasticsearch Serverless相较于基于ECS自建Elasticsearch集群的成本与性能优势,展示如何通过Serverless架构实现高达 70%以上的成本节约。
356 0
|
8月前
|
存储 JSON Java
ELK 圣经:Elasticsearch、Logstash、Kibana 从入门到精通
ELK是一套强大的日志管理和分析工具,广泛应用于日志监控、故障排查、业务分析等场景。本文档将详细介绍ELK的各个组件及其配置方法,帮助读者从零开始掌握ELK的使用。
|
8月前
|
存储 SQL 监控
|
8月前
|
自然语言处理 监控 数据可视化
|
8月前
|
运维 监控 安全
|
8月前
|
存储 监控 安全
|
8月前
|
存储 数据采集 监控
开源日志分析Elasticsearch
【10月更文挑战第22天】
134 5
|
10月前
|
存储 消息中间件 网络协议
日志平台-ELK实操系列(一)
日志平台-ELK实操系列(一)

热门文章

最新文章