Logstash的整个pipleline分为三个部分:
input插件:提取数据。 这里可以来自file类型日志文件、TCP/UDP侦听器、syslog/IRC等若干协议特定插件,甚至是排队系统(如Redis/AQMP/Kafka)。 此阶段使用围绕事件来源的元数据标记传入事件。 filter 插件:插件转换过滤并丰富数据。 output插件: 将已处理的事件加载到其他内容中,例如ElasticSearch或其他文档数据库,或排队系统,如Redis,AQMP或Kafka。 它还可以配置为与API通信。 也可以将像PagerDuty这样的东西连接到Logstash输出。
这里的input可以支持多个input,同时多个worker可以处理filter及output:
首先我们来看看单入单出的配置文件是怎么样的?
//nginx 日志文件为例 input { file { path => "/var/log/nginx_access.log" type => "nginx" start_position => "beginning" sincedb_path => "/dev/null" } } filter { grok { match => ["message", "%{TIME}s+(?(S+)).*?((? (S+)))s*%{TIMESTAMP_ISO8601:time}s+[(? 欢迎分享,转载请注明来源:内存溢出
评论列表(0条)