From 7446627faed9905469ca3d23fd59c89556d09f9f Mon Sep 17 00:00:00 2001 From: Daniel Xu Date: Mon, 14 Oct 2019 17:02:01 -0700 Subject: [PATCH 1/2] Fix regex that parses the RDS slowquery user --- decode/decode.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/decode/decode.go b/decode/decode.go index 55becc4..7ab5040 100644 --- a/decode/decode.go +++ b/decode/decode.go @@ -107,7 +107,7 @@ func FieldsFromKayvee(line string) (map[string]interface{}, error) { return m, nil } -var userPattern = `#\sUser@Host:\s(?P[a-zA-Z]+\[[a-zA-Z]+\])\s@\s[a-zA-Z]+.*Id:\s+(?P[0-9]+)` +var userPattern = `#\sUser@Host:\s(?P[a-zA-Z]+\[[a-zA-Z]+\])\s@\s.*Id:\s+(?P[0-9]+)` var userPatternRegex = regexp.MustCompile(userPattern) func FieldsFromRDSSlowquery(rawlog string) map[string]interface{} { From 69d31088f34365f520529c4239543837154c469f Mon Sep 17 00:00:00 2001 From: Daniel Xu Date: Mon, 14 Oct 2019 17:19:12 -0700 Subject: [PATCH 2/2] Add tests for parsing slow query user --- decode/decode_test.go | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/decode/decode_test.go b/decode/decode_test.go index d60e0d3..d5b8003 100644 --- a/decode/decode_test.go +++ b/decode/decode_test.go @@ -345,7 +345,7 @@ func TestParseAndEnhance(t *testing.T) { }, }, ParseAndEnhanceSpec{ - Title: "RDS Slowquery Log", + Title: "RDS Slowquery Log rdsadmin", Line: `2017-04-05T21:57:46+00:00 aws-rds production-aurora-test-db: Slow query: # Time: 190921 16:02:59 # User@Host: rdsadmin[rdsadmin] @ localhost [] Id: 1 # Query_time: 22.741550 Lock_time: 0.000000 Rows_sent: 0 Rows_examined: 0SET timestamp=1569081779;call action start_seamless_scaling('AQEAAB1P/PAIqvTHEQFJAEkojZUoH176FGJttZ62JF5QmRehaf0S0VFTa+5MPJdYQ9k0/sekBlnMi8U=', 300000, 2); @@ -361,6 +361,24 @@ SET timestamp=1569862702;`, "user_id": "1", }, }, + ParseAndEnhanceSpec{ + Title: "RDS Slowquery Log clever user", + Line: `2017-04-05T21:57:46+00:00 aws-rds production-aurora-test-db: Slow query: # Time: 190921 16:02:59 +# User@Host: clever[clever] @ [10.1.11.112] Id: 868 +# Query_time: 2.000270 Lock_time: 0.000000 Rows_sent: 1 Rows_examined: 0 +SET timestamp=1571090308; +select sleep(2);`, + ExpectedOutput: map[string]interface{}{ + "env": "deploy-env", + "hostname": "aws-rds", + "programname": "production-aurora-test-db", + "decoder_msg_type": "syslog", + "rawlog": "Slow query: # Time: 190921 16:02:59\n# User@Host: clever[clever] @ [10.1.11.112] Id: 868\n# Query_time: 2.000270 Lock_time: 0.000000 Rows_sent: 1 Rows_examined: 0\nSET timestamp=1571090308;\nselect sleep(2);", + "timestamp": logTime2, + "user": "clever[clever]", + "user_id": "868", + }, + }, } for _, spec := range specs { t.Run(fmt.Sprintf(spec.Title), func(t *testing.T) {