术语表
@metadata
一个特殊的字段,用于存储您不想包含在输出事件中的内容。例如,该@metadata
字段对于创建用于条件语句的瞬态字段很有用。
编解码器插件(codec plugin)
一个Logstash 插件,用于更改事件的数据表示形式。编解码器本质上是流过滤器,可以作为输入或输出的一部分进行操作。编解码器使您可以将消息的传输与序列化过程分开。流行的编解码器包括json,msgpack和plain(文本)。
有条件的(conditional)
一个控制流,它根据语句(也称为条件)是对还是错来执行某些动作。Logstash支持if
,else if
和else
语句。您可以使用条件语句来应用过滤器,并根据您指定的条件将事件发送到特定输出。
事件(event)
单个信息单元,包含时间戳和其他数据。事件通过输入到达,然后被解析,加时间戳并通过Logstash 管道传递。
字段(field)
一个事件属性。例如,apache访问日志中的每个事件都具有属性,例如状态码(200、404),请求路径(“ /"、"index.html")、HTTP动词(GET,POST),客户端IP地址,等等。Logstash使用术语“字段”来指代这些属性。
字段参考(field reference)
对事件字段的引用。该引用可能出现在Logstash配置文件的输出块或过滤器块中。例如,字段引用通常用方[]
括号()括起来[fieldname]
。如果您指的是顶级字段,则可以省略,[]
而只需使用字段名称。要引用嵌套字段,请指定该字段的完整路径:[top-level field][nested field]
。
过滤器插件(filter plugin)
一个Logstash 插件,可对事件执行中间处理。通常,过滤器根据输入规则,根据配置规则对数据进行突变,丰富和/或修改后,对事件数据进行处理。通常根据事件的特征有条件地应用过滤器。流行的过滤器插件包括grok,mutate,drop,clone和geoip。过滤器级是可选的。
gem
一个独立的代码包,位于RubyGems.org上。Logstash 插件打包为Ruby Gems。您可以使用Logstash 插件管理器来管理Logstash gem。
hot thread
具有较高CPU使用率且执行时间比正常时间长的Java线程。
输入插件(input plugin)
一个Logstash 插件,可从特定来源读取事件数据。输入插件是Logstash事件处理管道中的第一阶段。流行的输入插件包括文件,系统日志,Redis和Beats。
索引器(indexer)
一个Logstash实例,负责与Elasticsearch集群接口以便为事件数据建立索引。
消息代理(message broker)
消息代理也称为消息缓冲区或消息队列,它是外部软件(例如Redis,Kafka或RabbitMQ),用于将Logstash发货方实例的消息存储为中间存储,等待Logstash索引器实例处理。
输出插件(output plugin)
一个Logstash 插件,可将事件数据写入特定的目标。输出是事件管道中的最后阶段。流行的输出插件包括elasticsearch,file,石墨和statsd。
管道(pipeline)
用于描述通过Logstash工作流程的事件流的术语。流水线通常由一系列输入,滤波器和输出级组成。输入阶段从源获取数据并生成事件, 过滤器阶段是可选的,修改事件数据, 输出阶段将数据写入目标。输入和输出支持编解码器,使您可以在数据进入或退出管道时对其进行编码或解码,而不必使用单独的过滤器。
插入(plugin)
一个自包含的软件包,可实现Logstash事件处理管道中的一个阶段 。可用插件的列表包括输入插件, 输出插件,编解码器插件和 过滤器插件。这些插件以Ruby gems的形式实现,并托管在RubyGems.org上。您可以通过配置插件来定义事件处理管道的阶段。
插件管理器(plugin manager)
通过bin/logstash-plugin
脚本访问,插件管理器使您能够管理Logstash部署中插件的生命周期 。您可以使用插件管理器命令行界面(CLI)安装,删除和升级插件。
shipper
Logstash实例,用于将事件发送到Logstash的另一个实例或某个其他应用程序。
worker
Logstash使用的筛选器线程模型,其中每个工作程序都会在将事件发送到输出队列之前,接收一个事件并按顺序应用所有筛选器。由于许多过滤器占用大量CPU资源,因此可以跨CPU进行扩展。