logstash配置

Logstash filter 的使用

雨燕双飞 提交于 2019-12-06 03:31:25
概述 logstash 之所以强大和流行,与其丰富的过滤器插件是分不开的 过滤器提供的并不单单是过滤的功能,还可以对进入过滤器的原始数据进行复杂的逻辑处理,甚至添加独特的新事件到后续流程中 强大的文本解析工具 -- Grok grok 是一个十分强大的 logstash filter 插件,他可以解析任何格式的文本,他是目前 logstash 中解析非结构化日志数据最好的方式 基本用法 Grok 的语法规则是: %{语法 : 语义} “语法”指的就是匹配的模式,例如使用 NUMBER 模式可以匹配出数字,IP 则会匹配出 127.0.0.1 这样的 IP 地址: %{NUMBER:lasttime}%{IP:client} 默认情况下,所有“语义”都被保存成字符串,你也可以添加转换到的数据类型 %{NUMBER:lasttime:int}%{IP:client} 目前转换类型只支持 int 和 float 覆盖 -- overwrite 使用 Grok 的 overwrite 参数也可以覆盖日志中的信息 filter { grok { match => { "message" => "%{SYSLOGBASE} %{DATA:message}" } overwrite => [ "message" ] } } 日志中的 message 字段将会被覆盖 示例 对于下面的log

Logstash 安装、配置

做~自己de王妃 提交于 2019-12-03 08:21:14
ELK实战: https://blog.csdn.net/beyond_qjm/article/details/81943187 一、下载 https://www.elastic.co/downloads/past-releases https://artifacts.elastic.co/downloads/logstash/logstash-6.2.3.tar.gz 二、创建新用户 useradd elk passwd elk 三、解压安装 安装目录 /home/elk tar -xvf logstash-6.2.3.tar.gz 四、运行参数 五、基础配置 添加配置文件 /home/elk/logstash-6.2.3/bin/config/log4j.cfg input { # 读取数据配置 file { path => ["/home/elk/log4j.log"] #读取文件 type => “eslog" # 类型 start_position => "beginning" # 从文件开始读取 } } output { #输出 stdout{ } } filter grok测试: http://grokdebug.herokuapp.com/ 六、启动 cd /home/elk/logstash-6.2.3/bin ./bin/logstash -f ./bin

logstash配置

匿名 (未验证) 提交于 2019-12-03 00:27:02
在conf.d目录下创建文件logs.conf用于收集*.log中的日志 output { stdout { codec=> rubydebug } if [type] == "logfile" { elasticsearch { hosts => ["10.10.1.11:9200"] user => elastic password => SA33bbvbDc4H27qKRduk index => "log-%{+YYYY.MM.dd}" document_type => "log" } } if ([level] == "ERROR" or [level] == "FATAL") { email { to => "xxxx" from => "xxxx" username => "gxxxx" password => "xxxx" address => "xxxxxx" port => 587 via => "smtp" use_tls => true subject => "项目%{project_name}发现严重错误" body => "主机名称: %{HOSTNAME}\n 主机地址: %{host}\n 项目: %{project_name}\n 时间: %{createTime}\n 日志级别: %{level}\n 类名: %{logger_name}\n 日志

logstash合并有换行符的日志

匿名 (未验证) 提交于 2019-12-03 00:27:02
出现error日志时,有时出现多行信息,如果不处理,logstash会当成多条日志看待.如果你的日志是以时间开关的,请添加如下配置 } file { path => "/data/securityopdata/syncapi/logs/*.log" type => "logfile" start_position => "beginning" #sincedb_path => "/dev/null" codec => multiline { pattern => "^%{TIMESTAMP_ISO8601}" what => "previous" negate => true } add_field => { HOSTNAME => "郜金丹的空间" project_name => "syncapi" } } 文章来源: logstash合并有换行符的日志

使用logstash同步MongoDB数据到es

匿名 (未验证) 提交于 2019-12-02 23:48:02
input{   mongodb{ codec => "json" uri => 'mongodb://127.0.0.1:27017/kuaibao' placeholder_db_dir => '/usr/local/etc/logstash-5.6.0/dbdir' placeholder_db_name =>'user.db' collection => 'user' generateId => 'true' parse_method => "simple" } } filter{   mutate{remove_field => ["_id"]} } output{ elasticsearch{   hosts => ["http://127.0.0.1:9200"]   index => "ordertrance"   manage_template=>true   document_type=>"user" } stdout { codec => json_lines } }    配置如上图,遇到一个坑,卡了我两天,我去。。。。 刚开始我的placeholder_db_dir是配置成了/usr/local/etc/logstash-5.6.0,也就是logstash的根目录,谁成想配置成这样居然不好使,各种百度各种谷歌,明明跟人家的配置都是一样的

【记录】logstash 的filter 使用

陌路散爱 提交于 2019-12-01 09:02:08
概述 logstash 之所以强大和流行,与其丰富的过滤器插件是分不开的 过滤器提供的并不单单是过滤的功能,还可以对进入过滤器的原始数据进行复杂的逻辑处理,甚至添加独特的新事件到后续流程中 强大的文本解析工具 -- Grok grok 是一个十分强大的 logstash filter 插件,他可以解析任何格式的文本,他是目前 logstash 中解析非结构化日志数据最好的方式 基本用法 Grok 的语法规则是: %{语法 : 语义} “语法”指的就是匹配的模式,例如使用 NUMBER 模式可以匹配出数字,IP 则会匹配出 127.0.0.1 这样的 IP 地址: %{NUMBER:lasttime}%{IP:client} 默认情况下,所有“语义”都被保存成字符串,你也可以添加转换到的数据类型 %{NUMBER:lasttime:int}%{IP:client} 目前转换类型只支持 int 和 float 覆盖 -- overwrite 使用 Grok 的 overwrite 参数也可以覆盖日志中的信息 filter { grok { match => { "message" => "%{SYSLOGBASE} %{DATA:message}" } overwrite => [ "message" ] } } 日志中的 message 字段将会被覆盖 示例 对于下面的log

Logstash(6.3.0)之输出到kafka

拜拜、爱过 提交于 2019-11-28 07:17:15
配置输出到kafka 这个地方,我的kafka机器是192.168.112.12:9092,需要导入到test 这个topic种,这个地方,我输出到了file,kafka,stdout的三个地方了。 input{ file { path => "/usr/local/log_test/*.log" start_position => "beginning" } } output { file { path => "/path/to/%{+yyyy}/%{+MM}/%{+dd-HH}-%{host}.log" } kafka{ bootstrap_servers => "192.168.112.12:9092" codec => json topic_id => "test" compression_type => "snappy" } stdout { codec => rubydebug } } 参数说明 compression_type 这个是压缩方式,可以设定为”none”, “gzip”, “snappy”, “lz4” 启动服务 参考文章 https://www.elastic.co/guide/en/logstash/current/plugins-outputs-kafka.html https://www.cnblogs.com/Orgliny/p/5730381

Logstash:多个配置文件(conf)

房东的猫 提交于 2019-11-27 03:01:15
在前面的一篇文章“ Logstash:处理多个input ”中,我们介绍了如何使用在同一个配置文件中处理两个input的情况。在今天这篇文章中,我们来介绍如何来处理多个配置文件的问题。对于多个配置的处理方法,有多个处理方法: 多个pipeline 一个pipleline处理多个配置文件 一个pipeline含有一个逻辑的数据流,它从input接收数据,并把它们传入到队列里,经过worker的处理,最后输出到output。这个output可以是Elasticsearch或其它。下面针对这两种情况,来分别进行描述。 多个pipeline 为了做这个练习,我创建了两个Logstash的配置文件。这两个配置文件可以在地址 https://github.com/liu-xiao-guo/logstash_multi-pipeline 进行下载。我们把文件下载下来后,把文件存于一个自己喜欢的目录里。根据这个路径修改下面.conf文件里的path里的路径。 apache.conf input { file { path => "/Users/liuxg/data/multi-input/apache.log" start_position => "beginning" sincedb_path => "/dev/null" # ignore_older => 100000 type =>