1、ELK架构中Logstash的位置:



1.1、小规模集群部署(学习者适用的架构)


简单的只有Logstash、Elasticsearch、Kibana,由Logstash收集日志或者流量信息,过滤后由Elasticsearch存储,前台kibana进行展示、搜索、聚合。适合小规模部署或者学习使用。

1.2、大规模集群部署


由Logstash进行最初的信息收集和处理,之后传入消息队列(可以是kafka、redis等),然后又Logstash从消息队列中再读取信息处理后存入Elasticsearch集群,由kibana展示

、搜索、聚合等。该架构适合大规模部署,当然对与Logstash进程多消耗性能的问题,还有一些其他的解决办法,可以参考专门的ELK架构方面的文章,这里就不在赘述了。


2、Logstash的输入



2.1、标准输入


首先我们来拟定一个标准输出用来测试我们不同的输入:

input {
stdin{}
}
output{
stdout{
codec => rubydebug{}
}
}



简单的一些添加字段的方

标准输入中我们来加入一些添加固定字段的办法

#1
add_field => {"key":"value"}
#2
tags => ["tag1",tag2] #打标签
type => "type1" #标明类型
#3
host标签是不能修改的,否则会报错

2.2、文件输入


input {
file{
path => ["/Users/a003797/1.txt"]
type => 'ids-warnning'
start_position => "beginning"
}
}
output{
stdout{
codec => rubydebug{}
}
}

如上面的代码,path指的是文件位置,是一个list,start_position是监控位置,从开始监控还是从结尾监控(beginning和end)

#还有一些知识点
1、path里面的路径支持通配符
2、discover_interval 检查path下新文件时间间隔,默认15s
3、exclude 与path配合,表示批量文件中不需要监听的部分
4、stat_interval 检查监听文件的更新状态的时间间隔,默认1s

2.3、网络输入


这个很少用

input {
tcp {
port => 5580
mode => "server"
ssl_enable => false
}
}
output{
stdout{
codec => rubydebug{}
}
}

2.4、其他输入


把logstash配置成syslog服务器

input {
syslog{
port => "514"
}
}

3、编解码:



codec这个字段是控制编码形式的

code => "json" #可选项还有plain等

多行编码

codec => {
pattern => "^\["
negate => true
what => "previous"
}

ELK系列四:Logstash的在ELK架构中的使用和简单的输入的更多相关文章

  1. Apache Shiro系列四,概述 —— Shiro的架构

    Shiro的设计目标就是让应用程序的安全管理更简单.更直观.     软件系统一般是基于用户故事来做设计.也就是我们会基于一个客户如何与这个软件系统交互来设计用户界面和服务接口.比如,你可能会说:“如 ...

  2. ELK系列(5) - Logstash怎么分割字符串并添加新的字段到Elasticsearch

    问题 有时候我们想要在Logstash里对收集到的日志等信息进行分割,并且将分割后的字符作为新的字符来index到Elasticsearch里.假定需求如下: Logstash收集到的日志字段mess ...

  3. ELK系列(二):.net core中使用ELK

    ELK安装好后,我们现在.net Core中使用一下,大体思路就是结合NLog日志组件将数据写入ELK中,其它语言同理. ELK的安装还是有些复杂的,我们也可以在Docker中安装ELK:docker ...

  4. ELK系列--实时日志分析系统ELK 部署与运行中的问题汇总

    前记: 去年测试了ELK,今年测试了Storm,最终因为Storm需要过多开发介入而放弃,选择了ELK.感谢互联网上各路大神,目前总算是正常运行了. logstash+elasticsearch+ki ...

  5. [elk]停电日志离线恢复故障处理-elk环境极速搭建

    es数据手动导入 周末停电了两天,发现两天的日志没导入: 原因: 1. elk开启没设启动 2.日志入库时间是当前时间,不是日志本身的time字段 - 导入步骤 1. 先把日志拖下来 2. 事先需要干 ...

  6. elk系列8之logstash+redis+es的架构来收集apache的日志【转】

    preface logstash--> redis --> logstash --> es这套架构在讲究松耦合关系里面是最简单的,架构图如下: 解释下这个架构图的流程 首先前端log ...

  7. elk系列8之logstash+redis+es的架构来收集apache的日志

    preface logstash--> redis --> logstash --> es这套架构在讲究松耦合关系里面是最简单的, 架构图如下: 解释下这个架构图的流程 首先前端lo ...

  8. ELK系列(1) - Elasticsearch + Logstash + Kibana + Log4j2快速入门与搭建用例

    前言 最近公司分了个ELK相关的任务给我,在一边学习一边工作之余,总结下这些天来的学习历程和踩坑记录. 首先介绍下使用ELK的项目背景:在项目的数据库里有个表用来存储消息队列的消费日志,这些日志用于开 ...

  9. Dubbo学习系列之十六(ELK海量日志分析框架)

    外卖公司如何匹配骑手和订单?淘宝如何进行商品推荐?或者读者兴趣匹配?还有海量数据存储搜索.实时日志分析.应用程序监控等场景,Elasticsearch或许可以提供一些思路,作为业界最具影响力的海量搜索 ...

随机推荐

  1. Python自然语言处理学习——jieba分词

    jieba——“结巴”中文分词是sunjunyi开发的一款Python中文分词组件,可以在Github上查看jieba项目. 要使用jieba中文分词,首先需要安装jieba中文分词,作者给出了如下的 ...

  2. 如果BarTender出现卸载不干净的问题如何处理

    自从BarTender 2016出了之后,好多小伙伴都想试试新功能咋样,这就意味着首先要卸载电脑上旧版BarTender.然而就是这个操作,难倒了好一批人,他们表示BarTender卸载卸不干净,不仅 ...

  3. JavaWeb跨域访问问题

    转载: http://blog.csdn.net/zjq_1314520/article/details/65449279 最后的解决方案如下: 在 tomcat 的 conf目录下找到 web.xm ...

  4. 修改centos的时间,解决时间比本地实际时间快了8小时

    1.vi /etc/sysconfig/clock #编辑文件ZONE="Asia/Shanghai"UTC=false #设置为false,硬件时钟不于utc时间一致ARC=fa ...

  5. LINQ to Entities does not recognize the method 'Int32 ToInt32(System.String)' method, and this method cannot be translated into a store expression

    if (!string.IsNullOrEmpty(FarmWorkId)) { data = data.Where(p => p.TypeId == Convert.ToInt32(FarmW ...

  6. 标准JSON格式定义与解析注意点

    标准JSON格式定义与解析注意点 在JS.IOS.Android中都内置了JSON的序列化.反序列化SDK.JEE中也可以使用第三方的JSON解析库,如GSON.虽然在JSON格式被定义出来的时候并没 ...

  7. Java使用选择排序法对数组排序

    编写程序,实现将输入的字符串转换为一维数组,并使用选择排序法对数组进行排序. 思路如下: 点击"生成随机数"按钮,创建Random随机数对象: 使用JTextArea的setTex ...

  8. 【Winform】自定义Messagebox

    1.保持Msgbox的Icon 2.可以追加Checkbox,RadioBOx 下载

  9. 为什么要使用JS模板引擎

    我之前在写一个输入联想控件的时候,改过好几个版本,每个版本不是因为性能不好就是因为代码凌乱而被推翻,最后用了understore模板引擎,效果有明显改善.整好这两天在研究互联网技术架构,发现很多的开发 ...

  10. vuejs中使用echart图表

    首先安装echart npm i echarts -S 加下来以使用这个图表为例 在vue组件中像这样使用: <template> <div :class="classNa ...