Logstash 处理 Mysql Slow Log6

2022-01-20 11:34:49 浏览数 (1)

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)?.*$"

0 人点赞