output 是经过加工和处理后,事件日志的去向
Item | Comment |
---|---|
output { | 框定出口的定义范围 |
elasticsearch { | 定义了一个出口,使用 elasticsearch 插件来进行输出,将结果输出到ES中 |
hosts => ["localhost:9200"] | 指定es的目标地址为 localhost:9200 |
index=>"mysql-slow-log-%{ YYYY.MM.dd}" | 指定存到哪个index,如不指定,默认为logstash-%{ YYYY.MM.dd} |
stdout { codec => rubydebug } | 定义了一个出口,使用 stdout 插件将信息输出到标准输出,也就是终端,并且使用 rubydebug 插件处理过后进行展示,也就是行成jason格式 (生产中不会这样配置,一般用来进行交互调试) |
正则
"(?m)^#s User@Host:s %{USER:user}[[^]] ]s @s %{USER:clienthost}s [(?:%{IP:clientip})?]s Id:s %{NUMBER:id:int}n#s Schema:s %{USER:schema}s Last_errno:s %{NUMBER:lasterrorno:int}s Killed:s %{NUMBER:killedno:int}n#s Query_time:s %{NUMBER:query_time:float}s Lock_time:s %{NUMBER:lock_time:float}s Rows_sent:s %{NUMBER:rows_sent:int}s Rows_examined:s %{NUMBER:rows_examined:int}s Rows_affected:s %{NUMBER:rows_affected:int}n#s Bytes_sent:s %{NUMBER:bytes_sent:int}ns*(?:uses %{USER:usedatabase};s*n)?SETs timestamp=%{NUMBER:timestamp};ns*(?<query>(?<action>w )b.*)s*(?:n#s Time)?.*$"