diff options
Diffstat (limited to '')
-rw-r--r-- | src/formats/haproxy_log.json | 173 |
1 files changed, 173 insertions, 0 deletions
diff --git a/src/formats/haproxy_log.json b/src/formats/haproxy_log.json new file mode 100644 index 0000000..9795a19 --- /dev/null +++ b/src/formats/haproxy_log.json @@ -0,0 +1,173 @@ +{ + "$schema": "https://lnav.org/schemas/format-v1.schema.json", + "haproxy_log": { + "title": "HAProxy HTTP Log Format", + "description": "The HAProxy log format", + "url": "http://www.haproxy.org/download/1.4/doc/configuration.txt", + "regex": { + "event_started": { + "pattern": "(?<timestamp>\\w{3} \\d{2} \\d{2}:\\d{2}:\\d{2}) (?<logging_host>[^ ]+) (?<process_name>\\w+)\\[(?<pid>\\d+)\\]: Proxy (?<frontend_name>[^ ]+) started." + }, + "event_stopping": { + "pattern": "(?<timestamp>\\w{3} \\d{2} \\d{2}:\\d{2}:\\d{2}) (?<logging_host>[^ ]+) (?<process_name>\\w+)\\[(?<pid>\\d+)\\]: Stopping frontend (?<frontend_name>[^ ]+) in (?<stopping_timeout>\\d+) ms." + }, + "event_stopped": { + "pattern": "(?<timestamp>\\w{3} \\d{2} \\d{2}:\\d{2}:\\d{2}) (?<logging_host>[^ ]+) (?<process_name>\\w+)\\[(?<pid>\\d+)\\]: Proxy (?<frontend_name>[^ ]+) stopped \\(FE: (?<frontend_connections>\\d+) conns, BE: (?<backend_connections>\\d+) conns\\)." + }, + "tcp": { + "pattern": "(?<timestamp>\\w{3} \\d{2} \\d{2}:\\d{2}:\\d{2}) (?<logging_host>[^ ]+) (?<process_name>\\w+)\\[(?<pid>\\d+)\\]: (?<client_ip>[^:]+):(?<client_port>\\d+) \\[(?<accept_date>\\d{2}\\/\\w{3}\\/\\d{4}:\\d{2}:\\d{2}:\\d{2}.\\d{3})\\] (?<frontend_name>[^ ]+) (?<backend_name>[^ ]+)\\/(?<server_name>[^ ]+) (?<tw>\\d+)\\/(?<tc>\\d+)\\/(?<tt>\\d+) (?<bytes_read>\\d+) (?<termination_state>..) (?<actconn>\\d+)\\/(?<feconn>\\d+)\\/(?<beconn>\\d+)\\/(?<srv_conn>\\d+)\\/(?<retries>\\d+) (?<srv_queue>\\d+)\\/(?<backend_queue>\\d+)" + }, + "http": { + "pattern": "(?<timestamp>\\w{3} \\d{2} \\d{2}:\\d{2}:\\d{2}) (?<logging_host>[^ ]+) (?<process_name>\\w+)\\[(?<pid>\\d+)\\]: (?<client_ip>[^:]+):(?<client_port>\\d+) \\[(?<accept_date>\\d{2}\\/\\w{3}\\/\\d{4}:\\d{2}:\\d{2}:\\d{2}.\\d{3})\\] (?<frontend_name>[^ ]+)(?<ssl>~)? (?<backend_name>[^ ]+)\\/(?<server_name>[^ ]+) (?<tq>-?\\d+)\\/(?<tw>-?\\d+)\\/(?<tc>-?\\d+)\\/(?<tr>-?\\d+)\\/(?<tt>\\d+) (?<status_code>\\d{3}|-1) (?<bytes_read>\\d+) (?<captured_request_cookie>.*) (?<captured_response_cookie>.*) (?<termination_state>....) (?<actconn>\\d+)\\/(?<feconn>\\d+)\\/(?<beconn>\\d+)\\/(?<srv_conn>\\d+)\\/(?<retries>\\d+) (?<srv_queue>\\d+)\\/(?<backend_queue>\\d+) (?:\\{(?<captured_request_headers>.*)\\} \\{(?<captured_response_headers>.*)\\} )?\"(?<http_method>[A-Z<>]+)(?: (?<http_url>.*?))?(?: (?<http_version>HTTP\\/\\d+.\\d+))?\"?$" + }, + "ssl": { + "pattern": "(?<timestamp>\\w{3} \\d{2} \\d{2}:\\d{2}:\\d{2}) (?<logging_host>[^ ]+) (?<process_name>\\w+)\\[(?<pid>\\d+)\\]: (?<client_ip>[^:]+):(?<client_port>\\d+) \\[(?<accept_date>\\d{2}\\/\\w{3}\\/\\d{4}:\\d{2}:\\d{2}:\\d{2}.\\d{3})\\] (?<backend_name>[^ ]+)\\/(?<server_name>[^ ]+): (?<ssl_error>.+)$" + } + }, + "json": false, + "value": { + "stopping_timeout": { + "kind": "integer" + }, + "frontend_connections": { + "kind": "integer" + }, + "backend_connections": { + "kind": "integer" + }, + "logging_host": { + "kind": "string" + }, + "process_name": { + "kind": "string" + }, + "pid": { + "kind": "integer", + "foreign-key": true + }, + "client_ip": { + "kind": "string", + "collate": "ipaddress" + }, + "client_port": { + "kind": "integer", + "foreign-key": true + }, + "accept_date": { + "kind": "string" + }, + "frontend_name": { + "kind": "string", + "identifier": true + }, + "ssl": { + "kind": "string" + }, + "ssl_error": { + "kind": "string" + }, + "backend_name": { + "kind": "string", + "identifier": true + }, + "server_name": { + "kind": "string", + "identifier": true + }, + "tq": { + "kind": "integer" + }, + "tw": { + "kind": "integer" + }, + "tc": { + "kind": "integer" + }, + "tr": { + "kind": "integer" + }, + "tt": { + "kind": "integer" + }, + "status_code": { + "kind": "integer", + "identifier": true + }, + "bytes_read": { + "kind": "integer" + }, + "captured_request_cookie": { + "kind": "string" + }, + "captured_response_cookie": { + "kind": "string" + }, + "termination_state": { + "kind": "string" + }, + "actconn": { + "kind": "integer", + "foreign-key": true + }, + "feconn": { + "kind": "integer", + "foreign-key": true + }, + "beconn": { + "kind": "integer", + "foreign-key": true + }, + "srv_conn": { + "kind": "integer", + "foreign-key": true + }, + "retries": { + "kind": "integer" + }, + "srv_queue": { + "kind": "integer", + "foreign-key": true + }, + "backend_queue": { + "kind": "integer", + "foreign-key": true + }, + "captured_request_headers": { + "kind": "string" + }, + "captured_response_headers": { + "kind": "string" + }, + "http_method": { + "kind": "string", + "identifier": true + }, + "http_url": { + "kind": "string" + }, + "http_version": { + "kind": "string" + } + }, + "sample": [ + { + "line": "Feb 26 10:07:24 192.168.8.2 haproxy[1]: Proxy prod_http_in started." + }, + { + "line": "Feb 26 10:00:47 192.168.8.2 haproxy[7]: Stopping frontend prod_http_in in 0 ms." + }, + { + "line": "Feb 26 10:00:47 192.168.8.2 haproxy[7]: Proxy prod_http_in stopped (FE: 847876 conns, BE: 0 conns)." + }, + { + "line": "Feb 26 23:08:47 192.168.8.2 haproxy[7]: 178.203.144.192:50210 [26/Feb/2019:23:08:47.266] prod_http_in/slsp: Connection closed during SSL handshake" + }, + { + "line": "Feb 26 23:16:16 192.168.8.2 haproxy[7]: 178.203.144.192:50210 [26/Feb/2019:23:16:15.321] prod_ssh_in prod_ssh_out/ssh1 1/1/861 1485 -- 2/1/0/0/0 0/0" + }, + { + "line": "Feb 26 00:29:44 192.168.8.2 haproxy[7]: 178.203.144.192:50210 [26/Feb/2019:00:29:44.326] prod_http_in~ prod_http_out/nginx1 0/0/1/48/49 200 3313 - - ---- 3/2/0/0/0 0/0 {Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:65.0) Gecko/20100101 Firefox/65.0} {} \"POST /schulportal/?Script=934&lehrer=126537&anm=3235&onlinetest=admin HTTP/1.1\"" + } + ] + } +}
\ No newline at end of file |