热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Logstash参考指南(配置文件的结构)

配置文件的结构Logstash配置文件为要添加到事件处理管道的每种插件都有一个单独的部分,例如:#Thisisacomment.Youshoulduse
配置文件的结构

Logstash配置文件为要添加到事件处理管道的每种插件都有一个单独的部分,例如:

# This is a comment. You should use comments to describe
# parts of your configuration.
input {...
}filter {...
}output {...
}

每个部分都包含一个或多个插件的配置选项,如果指定多个过滤器,它们将按照配置文件中它们的出现顺序应用。

插件配置

插件的配置由插件名称和插件的设置块组成,例如,这个输入部分配置两个文件输入:

input {file {path => "/var/log/messages"type => "syslog"}file {path => "/var/log/apache/access.log"type => "apache"}
}

在本例中,为每个文件输入配置了两个设置:路径和类型。

你可以根据插件类型配置不同的设置,有关每个插件的信息,请参阅输入插件、输出插件、过滤器插件和编解码器插件。

值类型

插件可以要求设置的值是某种类型,例如boolean、list或hash,支持下列值类型。

Array

这种类型现在大多不赞成使用标准类型,比如string,使用插件定义:list => true属性,以便更好地进行类型检查,它仍然需要处理不需要类型检查的hash或混合类型列表。

例如:

users => [ {id => 1, name => bob}, {id => 2, name => jane} ]

Lists

它本身不是一个类型,但是属性类型可以有,这使得键入检查多个值成为可能,插件检查可以通过在声明参数时指定:list => true来启用列表检查。

例如:

path => [ "/var/log/messages", "/var/log/*.log" ]
uris => [ "http://elastic.co", "http://example.net" ]

这个示例配置path,它是一个包含两个字符串并且每个元素是string的列表,它还将uris参数配置为URI列表,如果提供的任何uri都无效,则会失败。

Boolean

Boolean必须为truefalse,注意,truefalse关键字不包含在引号中。

例如:

ssl_enable => true

Bytes

Bytes字段是表示有效字节单位的字符串字段,在插件选项中声明特定大小是一种方便的方法,SI(k M G T P E Z Y)和二进制(Ki Mi Gi Ti Pi Ei Zi Yi)单位都支持,二进制单位基于1024,SI单位基于1000,该字段不区分大小写并且接受值和单位之间的空格,如果没有指定单位,则整数字符串表示字节数。

例如:

my_bytes => "1113" # 1113 bytes
my_bytes => "10MiB" # 10485760 bytes
my_bytes => "100kib" # 102400 bytes
my_bytes => "180 mb" # 180000000 bytes

Codec

Codec是用来表示数据的Logstash编解码器的名称,编解码器可用于输入和输出。

输入编解码器提供了一种方便的方式解码你的数据在输入之前,输出编解码器提供了一种在数据离开输出之前对其进行编码的方便方法,使用输入或输出编解码器消除了在你的Logstash管道中需要单独的过滤器。

可用的编解码器的列表可以在编解码器插件页找到。

例如:

codec => "json"

Hash

Hash是一个键值对的集合,格式为“field1” => “value1”,注意,多个键值条目用空格而不是逗号分隔。

例如:

match => {"field1" => "value1""field2" => "value2"...
}

Number

Number必须是有效的数值(浮点数或整数)。

例如:

port => 33

Password

密码是一个不记录或打印的单个值的字符串。

例如:

my_password => "password"

URI

URI可以是完整URL(如http://elastic.co/to)或简单标识符(如foobar)的任何内容,如果URI包含像http://user:pass@example.net这样的密码,URI的密码部分将不会被记录或打印。

例如:

my_uri => "http://foo:bar@example.net"

Path

Path是表示有效操作系统路径的字符串。

例如:

my_path => "/tmp/logstash"

String

String必须是单个字符序列,注意,字符串值用引号括起来,可以是双引号,也可以是单引号。

转义序列

默认情况下,不启用转义序列,如果你希望在引号中的字符串中使用转义序列,你将需要在你的logstash.yml中设置config.support_escapes: true,当为true时,双引号字符串(双引号和单引号)将有这样的转换:

文本结果
\r回车(ASCII 13)
\n新行(ASCII 10)
\t制表(ASCII 9)
\\反斜杠(ASCII 92)
\"双引号(ASCII 34)
\'单引号(ASCII 39)

例如:

name => "Hello world"
name => 'It\'s a beautiful day'

注释

注释与perl、ruby和python中的注释相同,注释以#字符开头,不需要在行首,例如:

# this is a commentinput { # comments can appear at the end of a line, too# ...
}



推荐阅读
  • centos6.8 下nginx1.10 安装 ... [详细]
  • SpringBoot整合SpringSecurity+JWT实现单点登录
    SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • 本文讨论了在openwrt-17.01版本中,mt7628设备上初始化启动时eth0的mac地址总是随机生成的问题。每次随机生成的eth0的mac地址都会写到/sys/class/net/eth0/address目录下,而openwrt-17.01原版的SDK会根据随机生成的eth0的mac地址再生成eth0.1、eth0.2等,生成后的mac地址会保存在/etc/config/network下。 ... [详细]
  • uniapp开发H5解决跨域问题的两种代理方法
    本文介绍了uniapp开发H5解决跨域问题的两种代理方法,分别是在manifest.json文件和vue.config.js文件中设置代理。通过设置代理根域名和配置路径别名,可以实现H5页面的跨域访问。同时还介绍了如何开启内网穿透,让外网的人可以访问到本地调试的H5页面。 ... [详细]
  • 基于SSL的mysql服务器的主从架构实现说明:本文选用172.16.22.1作为主服务器,172.16.22.3作为从服务器从服务器的mysql软件版 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • Ihavethefollowingonhtml我在html上有以下内容<html><head><scriptsrc..3003_Tes ... [详细]
  • 本文讨论了如何在codeigniter中识别来自angularjs的请求,并提供了两种方法的代码示例。作者尝试了$this->input->is_ajax_request()和自定义函数is_ajax(),但都没有成功。最后,作者展示了一个ajax请求的示例代码。 ... [详细]
  • PDO MySQL
    PDOMySQL如果文章有成千上万篇,该怎样保存?数据保存有多种方式,比如单机文件、单机数据库(SQLite)、网络数据库(MySQL、MariaDB)等等。根据项目来选择,做We ... [详细]
  • express工程中的json调用方法
    本文介绍了在express工程中如何调用json数据,包括建立app.js文件、创建数据接口以及获取全部数据和typeid为1的数据的方法。 ... [详细]
  • 如何使用Python从工程图图像中提取底部的方法?
    本文介绍了使用Python从工程图图像中提取底部的方法。首先将输入图片转换为灰度图像,并进行高斯模糊和阈值处理。然后通过填充潜在的轮廓以及使用轮廓逼近和矩形核进行过滤,去除非矩形轮廓。最后通过查找轮廓并使用轮廓近似、宽高比和轮廓区域进行过滤,隔离所需的底部轮廓,并使用Numpy切片提取底部模板部分。 ... [详细]
  • Struts2+Sring+Hibernate简单配置
    2019独角兽企业重金招聘Python工程师标准Struts2SpringHibernate搭建全解!Struts2SpringHibernate是J2EE的最 ... [详细]
author-avatar
php小盗
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有