网站建设结课总结,网页微博登录,360手机助手,wordpress #Logstash 是一个可以传输和处理你的日志、事务或其他数据的功能强大的工具#xff0c;可与各种部署集成。 它提供了大量插件#xff0c;可帮助你解析#xff0c;丰富#xff0c;转换和缓冲来自各种来源的数据。 工作原理
Logstash 事件处理有三个阶段#xff1a;inputs …Logstash 是一个可以传输和处理你的日志、事务或其他数据的功能强大的工具可与各种部署集成。 它提供了大量插件可帮助你解析丰富转换和缓冲来自各种来源的数据。 工作原理
Logstash 事件处理有三个阶段inputs - filters - outputs。
Logstash 是一个接收处理转发日志的工具。支持系统日志webserver日志错误日志应用日志总之包括所有可以抛出来的日志类型。 设置
logstash.yml 设置项说明参考https://www.elastic.co/guide/en/logstash/7.17/logstash-settings-file.html 配置
logstash 启动时需要指定配置文件按照配置文件中的参数去覆盖默认设置文件logstash.yml中的设置。示例配置文件logstash-sample.conf
配置文件结构
Logstash 主要有三个工作阶段 input 、filter、output。而 logstash 配置文件文件结构也与之相对应
input {}filter {}output {}
每个部分都包含一个或多个插件的配置选项。如果指定了多个过滤器则会按照它们在配置文件中的显示顺序应用它们。 值类型
一个插件可以要求设置的值是一个特定的类型比如布尔值列表或哈希值。以下值类型受支持。
Array
users [ {id 1, name aaa}, {id 2, name bbb} ]
Lists
path [ /data/logs/demo, /data/logs/*.log ]
Boolean
ssl_enable true
Bytes
my_bytes 1113 # 1113 bytes
my_bytes 10MiB # 10485760 bytes
my_bytes 100kib # 102400 bytes
my_bytes 180 mb # 180000000 bytes
Codec
codec json
Hash
match {field1 value1field2 value2...
}
Number
port 33 插件配置
Input
必要元素负责从数据源采集数据。
常用的输入为
file从文件系统的文件中读取类似于 tail -f 命令syslog在514端口上监听系统日志消息并根据RFC3164标准进行解析redis从redis service中读取beats从filebeat中读取
更多详情请见https://www.elastic.co/guide/en/logstash/current/input-plugins.html Filters
可选元素数据中间处理对数据进行操作将数据修改为指定的格式或内容。
常用的过滤器为
grok解析任意文本数据grok 是 logstash 最重要的插件。它的主要作用就是将文本格式的字符串转换成为具体的结构化的数据配合正则表达式使用。mutate对字段进行转换。例如对字段进行删除、替换、修改、重命名等。drop丢弃一部分events不进行处理。clone拷贝 event这个过程中也可以添加或移除字段。geoip添加地理信息(为前台kibana图形化展示使用)
更多详情请见https://www.elastic.co/guide/en/logstash/current/filter-plugins.html
官方提供的grok表达式https://github.com/logstash-plugins/logstash-patterns-core/tree/master/patterns
grok在线调试https://grokdebug.herokuapp.com/ Outputs
outputs 是 logstash 处理管道的最末端的必要元素组件主要是将数据传输到目的地。
常见的 outputs 为
elasticsearch可以高效的保存数据并且能够方便和简单的进行查询。file将event数据保存到文件中。graphite将event数据发送到图形化组件中一个很流行的开源存储图形化展示的组件。
更多详情请见https://www.elastic.co/guide/en/logstash/current/output-plugins.html codec
codecs 是基于数据流的过滤器它可以作为 inputoutput 的一部分配置。Codecs可以帮助你轻松的分割发送过来已经被序列化的数据。
常用 codec 插件
json以JSON格式对数据进行编码或解码。multiline将多行文本事件如java异常和堆栈跟踪消息合并为单个事件。
更多详情请见https://www.elastic.co/guide/en/logstash/current/codec-plugins.html