Logstash过滤分析日志数据/kibanaGUI调试

【Logstash】

[[email protected] ~]# wget https://artifacts.elastic.co/downloads/logstash/logstash-6.3.2.tar.gz

[[email protected] ~]# tar zxvf logstash-6.3.2.tar.gz -C /usr/local/

[[email protected] ~]# mv /usr/local/logstash-6.3.2/ /usr/local/logstash

[[email protected] ~]# mkdir /usr/local/logstash/config/etc/

[[email protected] ~]# vim /usr/local/logstash/config/etc/test01.conf

测试:小试牛刀,我们先将kafka队列消息输出到终端,主要为了测试filebeat生产web日志。推送到kafka队列,logstash端能否消费,很明显,下图所示,消费正常!

input {
kafka {
bootstrap_servers =>
"192.168.37.134:9092,192.168.37.135:9092,192.168.37.136:9092"
topics => ["webapache"]
codec => "json"
}
}
output {
stdout {
codec => rubydebug
}
}

input接收源变成kafka,通过bootstrap_server和topics两个选项指定了接收源kafka集群以及主题属性;因为我们的logstash从kafka获取的的日志数据格式为json,所以需要 在inout字段中加上codec=>"json"解析

输出端是stdout,表示标准输出(从终端输出),这里的codex是个插件,表示格式,放在stout中表示输出的格式,rubydebug是专门测试的格式,一般在用来在终端输出json格式信息

[[email protected] ~]#/usr/local/logstash/bin/logstash -f config/etc/test01.conf

[[email protected] etc]# vim /usr/local/logstash/config/etc/httpd_log.conf      #我们配置将kafka消息存入到ES集群中,

input {
kafka {
bootstrap_servers =>
"192.168.37.134:9092,192.168.37.135:9092,192.168.37.136:9092"
topics => ["webapache"]
codec => "json"
}
}
output {
elasticsearch {
hosts => ["192.168.37.134:9200","192.168.37.135:9200","192.168.37.136:9200"]
index => "webapachelog-%{+YYYY-MM-dd}"
}
}

[email protected] etc]#  nohup /usr/local/logstash/bin/logstash -f httpd_log.conf &

详解:上述可以看到,

input接收源变成kafka,通过bootstrap_server和topics两个选项指定了接收源kafka集群以及主题属性;因为我们的logstash从kafka获取的的日志数据格式为json,所以需要 在inout字段中加上codec=>"json"解析

在看输出端,output输出类型是elasticseach,通过hosts指定Elasticsearch集群ip,将kafka消息队列的数据存入elasticsearch中,最后通过index定义索引名称;

 [Kibana]

[[email protected] ~]# tar zxvf kibana-6.3.2-linux-x86_64.tar.gz -C /usr/local/

[[email protected] ~]# mv /usr/local/kibana-6.3.2-linux-x86_64/ /usr/local/kibana
[[email protected] ~]# cd /usr/local/kibana/config/

[[email protected] config]# egrep -v "#|^$" kibana.yml

server.port: 5601       #kibana默认端口
server.host: "192.168.37.136"     #kibana绑定的IP地址,写本地IP即可
elasticsearch.url: "http://192.168.37.134:9200"  #kibana访问Elasticsearch地址,可以任意ES集群节点IP,推荐写Client node角色IP
 kibana.index: ".kibana"    #存储kibana数据信息的索引

这里只需要填写“webapachelog-*”即可,会自动检测ES索引对应的文件并抓取映射,前提是filebeat检测的日志消息经过kafka队列消息存入 ES中;否则会失败

选择“@timestamp”进行时间排序

 Kibana界面展示:

#Discover:主要用来进行日志检索,查询数据

#Visualize:数据可视化,我们可以创建各种唯独的可视化图表,例如:面积图,折线图,饼图 等

#Dashboard:仪盘表功能,仪盘表就是可视化图表的组合,通过将各种可视化图表组合到一起,整体上了解数据和日志的各种状态

#Timeblion:时间画像,可以创建时间序列可视化图形

#Dev Tools:调试工具控制台,简单的理解就是kibana提供与ES交互的平台

#Management:管理界面,可以在此创建索引模式,调整kibana设置等操作

总结:整个流程呢,我简单的说一下(大白话说明)

1.首先是由filebeat检索监控日志,将监控的日志路径推送到kafka消息队列中生成topics消息,这里filebeat相当于生产者

2.kafka消息队列将日志消息存储起来,这里结合zookeeper集群,并允许logstash拉取

3.Logstash充当消费者,向kafka集群拉取日志数据,并转发存入Elasticsearch;

4.Kibana为webUI展示页面,与Elasticsearch进行交互,将日志数据可视化的展现出来

根据上图架构,从整体分为两个部分:即日志收集,日志检索;细分如下描述

1.首先是生产日志,filebeat收集业务服务器上的日志数据,我们只需要将其安装在需要收集日志服务器上即可,随后将日志数据实时推送到Kafka集群中,kafka集群会对日志数据进行缓冲和存储,简称缓存,哈哈,这里的filebeat相当于kafka集群中的producer(生产者)

2.filebeat推送到Kafka集群之后,logstash会主动去kafka集群中拉取数据,因为这样consumer消费者可以自主的控制消费速率和方式,从而减少消费过程中出错的几率;其实logstash拉取数据就是分为input,filter和output,中间接受不规则的数据,过滤,分析并转换成格式化数据最后输出,

3.Logstash将格式化的数据中转到Elasticsearch中进行存储索引,所有的数据都会存储到Elasticsearch集群中

4.Kibana将elasticsearch中的数据在web GUI界面进行可视化展示

原文地址:https://www.cnblogs.com/bixiaoyu/p/9535573.html

时间: 2024-11-08 20:13:59

Logstash过滤分析日志数据/kibanaGUI调试的相关文章

MongoDB应用案例:使用 MongoDB 存储日志数据

线上运行的服务会产生大量的运行及访问日志,日志里会包含一些错误.警告.及用户行为等信息,通常服务会以文本的形式记录日志信息,这样可读性强,方便于日常定位问题,但当产生大量的日志之后,要想从大量日志里挖掘出有价值的内容,则需要对数据进行进一步的存储和分析. 本文以存储 web 服务的访问日志为例,介绍如何使用 MongoDB 来存储.分析日志数据,让日志数据发挥最大的价值,本文的内容同样使用其他的日志存储型应用. 模式设计 一个典型的web服务器的访问日志类似如下,包含访问来源.用户.访问的资源地

利用WebLog Experet分析日志获取性能需求

一.下载WebLog Expert日志分析工具 官网下载地址:http://www.weblogexpert.com/download.htm 二.安装 安装很简单,点击“下一步”默认安装即可 三.配置tomcat,自动生成访问日志(localhost_access_YYYY_MM_dd.log) Tomcat默认情况下是没有开启自动生成访问日志,也就是说在tomcat/logs目录下没有类似access.log的日志文件,开启tomcat访问日志需要修改tomcat/conf/server.x

Elasticsearch+Logstash+Kinaba+Redis日志分析系统

一.简介 1.组成 ELK由Elasticsearch.Logstash和Kibana三部分组件组成: Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等. Logstash是一个完全开源的工具,它可以对你的日志进行收集.分析,并将其存储供以后使用 kibana 是一个开源和免费的工具,它可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可

ELK 之Filebeat 结合Logstash 过滤出来你想要的日志

先扯点没用的 收集日志的目的是有效的利用日志,有效利用日志的前提是日志经过格式化符合我们的要求,这样才能真正的高效利用收集到elasticsearch平台的日志.默认的日志到达elasticsearch 是原始格式,乱的让人抓狂,这个时候你会发现Logstash filter的可爱之处,它很像一块橡皮泥,如果我们手巧的话就会塑造出来让自己舒舒服服的作品,but 如果你没搞好的话那就另说了,本文的宗旨就是带你一起飞,搞定这块橡皮泥.当你搞定之后你会觉得kibana 的世界瞬间清爽了很多!FIleb

logstash将Kafka中的日志数据订阅到HDFS

前言:通常情况下,我们将Kafka的日志数据通过logstash订阅输出到ES,然后用Kibana来做可视化分析,这就是我们通常用的ELK日志分析模式.但是基于ELK的日志分析,通常比较常用的是实时分析,日志存个十天半个月都会删掉.那么在一些情况下,我需要将日志数据也存一份到我HDFS,积累到比较久的时间做半年.一年甚至更长时间的大数据分析.下面就来说如何最简单的通过logstash将kafka中的数据订阅一份到hdfs. 一:安装logstash(下载tar包安装也行,我直接yum装了) #y

Elasticsearch+logstash+kibana实现日志分析(实验)

Elasticsearch+logstash+kibana实现日志分析(实验) 一.前言 Elastic Stack(旧称ELK Stack),是一种能够从任意数据源抽取数据,并实时对数据进行搜索.分析和可视化展现的数据分析框架.(hadoop同一个开发人员) java 开发的开源的全文搜索引擎工具 基于lucence搜索引擎的 采用 restful - api 标准的 高可用.高扩展的分布式框架 实时数据分析的 官方网站: https://www.elastic.co/products 为什么

Elastic Stack实战学习教程~日志数据的收集、分析与可视化

Elastic Stack介绍 近几年,互联网生成数据的速度不断递增,为了便于用户能够更快更精准的找到想要的内容,站内搜索或应用内搜索成了不可缺少了的功能之一.同时,企业积累的数据也再不断递增,对海量数据分析处理.可视化的需求也越来越高. 在这个领域里,开源项目ElasticSearch赢得了市场的关注,比如,去年Elastic公司与阿里云达成合作伙伴关系提供阿里云 Elasticsearch 的云服务.今年10月Elastic公司上市,今年11月举行了Elastic 中国开发者大会.目前各大云

logstash grok 分析 nginx access 日志

为了便于量化分析nginx access日志,使用logstash 进行筛选匹配 1.确定nginx 日志格式     log_format access '$remote_addr - $remote_user [$time_local] '               '$http_host $request_method $uri '               '$status $body_bytes_sent '               '$upstream_status $ups

5个日志数据:让你轻松分析系统性能

1.缓慢的响应时间 响应时间是日志数据最常见和最有用的性能,它能让你知道请求是多长时间被系统响应的.例如Web服务器日志可以让你洞察请求需要多久才能返回客户端设备的响应.这时间可以包括采用web服务器背后的不同组件(应用服务器,数据块)来处理请求的时间,因此它能够即时查看到你的应用程序是如何运作的.从客户端设备/ 浏览器记录的响应时间能够给你一个更全面的了解,因为它也捕捉在app/浏览器的页面加载和网络延迟时间. 一个好的测量响应时间的法则是1993年Jakob Nielsen发表的3响应时间的