【Logstash】

[root@localhost ~]# wget https://artifacts.elastic.co/downloads/logstash/logstash-6.3.2.tar.gz

[root@localhost ~]# tar zxvf logstash-6.3.2.tar.gz -C /usr/local/

[root@localhost ~]# mv /usr/local/logstash-6.3.2/ /usr/local/logstash

[root@localhost ~]# mkdir /usr/local/logstash/config/etc/

[root@localhost ~]# 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格式信息

[root@localhost ~]#/usr/local/logstash/bin/logstash -f config/etc/test01.conf

[root@localhost 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}"
}
}

root@localhost 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]

[root@localhost ~]# tar zxvf kibana-6.3.2-linux-x86_64.tar.gz -C /usr/local/

[root@localhost ~]# mv /usr/local/kibana-6.3.2-linux-x86_64/ /usr/local/kibana
[root@localhost ~]# cd /usr/local/kibana/config/

[root@localhost 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界面进行可视化展示

Logstash过滤分析日志数据/kibanaGUI调试(四)的更多相关文章

  1. 通过logstash过滤、分析日志数据

    logstash是怎么工作的呢? Logstash是一个开源的.服务端的数据处理pipeline(管道),它可以接收多个源的数据.然后对它们进行转换.最终将它们发送到指定类型的目的地.Logstash ...

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

    一.下载WebLog Expert日志分析工具 官网下载地址:http://www.weblogexpert.com/download.htm 二.安装 安装很简单,点击“下一步”默认安装即可 三.配 ...

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

    线上运行的服务会产生大量的运行及访问日志,日志里会包含一些错误.警告.及用户行为等信息,通常服务会以文本的形式记录日志信息,这样可读性强,方便于日常定位问题,但当产生大量的日志之后,要想从大量日志里挖 ...

  4. 使用 MongoDB 存储日志数据

    使用 MongoDB 存储日志数据     线上运行的服务会产生大量的运行及访问日志,日志里会包含一些错误.警告.及用户行为等信息.通常服务会以文本的形式记录日志信息,这样可读性强,方便于日常定位问题 ...

  5. MongoDB 存储日志数据

    MongoDB 存储日志数据 https://www.cnblogs.com/nongchaoer/archive/2017/01/11/6274242.html 线上运行的服务会产生大量的运行及访问 ...

  6. Centos6.5使用ELK(Elasticsearch + Logstash + Kibana) 搭建日志集中分析平台实践

    Centos6.5安装Logstash ELK stack 日志管理系统 概述:   日志主要包括系统日志.应用程序日志和安全日志.系统运维和开发人员可以通过日志了解服务器软硬件信息.检查配置过程中的 ...

  7. Elastic Stack(ElasticSearch 、 Kibana 和 Logstash) 实现日志的自动采集、搜索和分析

    Elastic Stack 包括 Elasticsearch.Kibana.Beats 和 Logstash(也称为 ELK Stack).能够安全可靠地获取任何来源.任何格式的数据,然后实时地对数据 ...

  8. 使用ELK(Elasticsearch + Logstash + Kibana) 搭建日志集中分析平台实践--转载

    原文地址:https://wsgzao.github.io/post/elk/ 另外可以参考:https://www.digitalocean.com/community/tutorials/how- ...

  9. 新秀nginx源代码分析数据结构篇(四)红黑树ngx_rbtree_t

    新秀nginx源代码分析数据结构篇(四)红黑树ngx_rbtree_t Author:Echo Chen(陈斌) Email:chenb19870707@gmail.com Blog:Blog.csd ...

随机推荐

  1. 008_falcon磁盘io计算方法

    一.falcon磁盘IO告警计算方法 (1)线上告警示例 [falcon]环境: prod 时间: 2018-11-10 22:29 共1条 [#主机磁盘io过高(appid)]主机hostname磁 ...

  2. sqlserver记录去重

    ,[emp_name] ,[gender] ,[department] ,[salary] from [employee] select * from ( select ROW_NUMBER() ov ...

  3. 在内网使用Gradle构建Android Studio项目

    在Android Studio项目中,默认的远程仓库为jcenter,如果在项目引用了一些类库,Gradle构建程序的时候会将这些依赖类库从jcenter网站下载到本地,如我们在 build.grad ...

  4. 解决KafKa数据存储与顺序一致性保证

    “严格的顺序消费”有多么困难 下面就从3个方面来分析一下,对于一个消息中间件来说,”严格的顺序消费”有多么困难,或者说不可能. 发送端 发送端不能异步发送,异步发送在发送失败的情况下,就没办法保证消息 ...

  5. SQL Server 2012-2016-2017 简体中文版下载和序列号

    注:本文来源于<SQL Server 2012-2016-2017 简体中文版下载和序列号> SqlServer 2017 下载地址及密钥 下载地址:ed2k://|file|cn_sql ...

  6. Niagara 泵阀

    1.泵阀系统 2.Niagara 每次在启动workbench的时候安装一下daemon,后启动platform 启动station的时候,当station的status变成Running之后启动

  7. WinHex数据恢复笔记(二)

    续写上次笔记: 1.Winhex数据恢复软件的界面上的所有功能已经介绍了一遍,最主要的还是编程恢复的能力. 今天主要看看记事本的编辑恢复及其相关的一些问题,记事本的 编辑值是ASCII值,所以没有文件 ...

  8. cf861D 字典树+时间戳

    好久没碰字典树之类的题了,搞起来有点生疏 /* 把所有母串的后缀加入字典树中 然后再扫一次所有母串的后缀,把后缀放到字典树中查询,找到第一个访问次数为1的结点返回即可 num在计数时,同一个母串的子串 ...

  9. Nginx详解二十三:Nginx深度学习篇之Nginx+Lua开发环境搭建

    Nginx+Lua开发环境 1.下载LuaJIT解释器wget http://luajit.org/download/LuaJIT-2.0.2.tar.gztar -zxvf LuaJIT-2.0.2 ...

  10. jQuery 选择器demo练习

    <!DOCTYPE html><html lang="en"><head> <meta charset="utf-8" ...