Question: I have a application that writes logs to postgres database in the format attached. You have to create a Flask REST API that connects to

I have a application that writes logs to postgres database in the format attached. You have to create a Flask REST API that connects to the DB and returns the following stats.

a. Number of logs at a certain time. b. Peak time for GET and POST requests. c. Hour wise frequency of logs. d. The ratio of Status code 200 vs other status code for a given URL. e. The 5 most requested URLs.

I have a application that writes logs to postgres database in the

Staus IP 10.128.2.1 10.128.2.1 10.128.2.1 10.131.2.1 10.130.2.1 10.130.2.1 10.128.2.1 10.131.2.1 10.131.2.1 10.131.2.1 10.131.2.1 10.130.2.1 10.130.2.1 10.130.2.1 10.130.2.1 10.129.2.1 10.131.0.1 10.131.0.1 10.130.2.1 10.131.2.1 10.131.2.1 10.128.2.1 10.131.0.1 10.128.2.1 10.131.0.1 10.129.2.1 10.131.0.1 10.128.2.1 10.131.2.1 10.131.2.1 10.131.2.1 10.131.2.1 10.131.2.1 10.131.2.1 10.131.2.1 10.131.2.1 Time [29/Nov/2017:06:58:55 [29/Nov/2017:06:59:02 [29/Nov/2017:06:59:03 [29/Nov/2017:06:59:04 [29/Nov/2017:06:59:06 [29/Nov/2017:06:59:19 [29/Nov/2017:06:59:19 [29/Nov/2017:06:59:19 [29/Nov/2017:06:59:30 [29/Nov/2017:06:59:37 [29/Nov/2017:06:59:37 [29/Nov/2017:07:00:19 [29/Nov/2017:07:00:21 [29/Nov/2017:13:31:27 [29/Nov/2017:13:31:28 [29/Nov/2017:13:38:03 [29/Nov/2017:13:38:04 [29/Nov/2017:13:38:07 [29/Nov/2017:13:38:19 [29/Nov/2017:13:38:20 [29/Nov/2017:13:38:20 [29/Nov/2017:13:38:20 [29/Nov/2017:13:38:20 [29/Nov/2017:13:38:20 [29/Nov/2017:13:38:20 [29/Nov/2017:13:38:20 [29/Nov/2017:13:38:21 [29/Nov/2017:13:38:21 [29/Nov/2017:13:38:23 [29/Nov/2017:13:46:46 [29/Nov/2017:13:46:50 [29/Nov/2017:13:46:53 [29/Nov/2017:13:46:54 [29/Nov/2017:13:47:04 [29/Nov/2017:13:47:05 [29/Nov/2017:13:47:16 URL GET /login.php HTTP/1.1 POST /process.php HTTP/1.1 GET /home.php HTTP/1.1 GET /js/vendor/moment.min.js HTTP/1.1 GET /bootstrap-3.3.7/js/bootstrap.js HTTP/1.1 GET /profile.php?user=bala HTTP/1.1 GET /js/jquery.min.js HTTP/1.1 GET /is/chart.min.js HTTP/1.1 GET /edit.php?name=bala HTTP/1.1 GET /logout.php HTTP/1.1 GET /login.php HTTP/1.1 GET /login.php HTTP/1.1 GET /login.php HTTP/1.1 GET/ HTTP/1.1 GET /login.php HTTP/1.1 POST /process.php HTTP/1.1 GET /home.php HTTP/1.1 GET /contestproblem.php?name=RUET%2001%20Server%20Testing%20Contest HTTP/1.1 GET/ HTTP/1.1 GET /login.php HTTP/1.1 GET /css/bootstrap.min.css HTTP/1.1 GET /css/font-awesome.min.css HTTP/1.1 GET /cssormalize.css HTTP/1.1 GET /css/style.css HTTP/1.1 GET /js/vendor/modernizr-2.8.3.min.js HTTP/1.1 GET /css/main.css HTTP/1.1 GET /js/vendor/jquery-1.12.0.min.js HTTP/1.1 GET /bootstrap-3.3.7/js/bootstrap.min.js HTTP/1.1 GET /fonts/fontawesome-webfont.woff2?v=4.6.3 HTTP/1.1 GET/ HTTP/1.1 GET /contestproblem.php?name=RUET%2001%20Server%20Testing%20Contest HTTP/1.1 GET /logout.php HTTP/1.1 GET /login.php HTTP/1.1 POST /process.php HTTP/1.1 GET /login.php?value=fail HTTP/1.1 POST /process.php HTTP/1.1 200 302 200 200 200 200 200 200 200 302 200 200 200 302 200 302 200 200 302 200 200 200 200 200 200 200 200 200 200 200 200 302 200 302 200 302 Staus IP 10.128.2.1 10.128.2.1 10.128.2.1 10.131.2.1 10.130.2.1 10.130.2.1 10.128.2.1 10.131.2.1 10.131.2.1 10.131.2.1 10.131.2.1 10.130.2.1 10.130.2.1 10.130.2.1 10.130.2.1 10.129.2.1 10.131.0.1 10.131.0.1 10.130.2.1 10.131.2.1 10.131.2.1 10.128.2.1 10.131.0.1 10.128.2.1 10.131.0.1 10.129.2.1 10.131.0.1 10.128.2.1 10.131.2.1 10.131.2.1 10.131.2.1 10.131.2.1 10.131.2.1 10.131.2.1 10.131.2.1 10.131.2.1 Time [29/Nov/2017:06:58:55 [29/Nov/2017:06:59:02 [29/Nov/2017:06:59:03 [29/Nov/2017:06:59:04 [29/Nov/2017:06:59:06 [29/Nov/2017:06:59:19 [29/Nov/2017:06:59:19 [29/Nov/2017:06:59:19 [29/Nov/2017:06:59:30 [29/Nov/2017:06:59:37 [29/Nov/2017:06:59:37 [29/Nov/2017:07:00:19 [29/Nov/2017:07:00:21 [29/Nov/2017:13:31:27 [29/Nov/2017:13:31:28 [29/Nov/2017:13:38:03 [29/Nov/2017:13:38:04 [29/Nov/2017:13:38:07 [29/Nov/2017:13:38:19 [29/Nov/2017:13:38:20 [29/Nov/2017:13:38:20 [29/Nov/2017:13:38:20 [29/Nov/2017:13:38:20 [29/Nov/2017:13:38:20 [29/Nov/2017:13:38:20 [29/Nov/2017:13:38:20 [29/Nov/2017:13:38:21 [29/Nov/2017:13:38:21 [29/Nov/2017:13:38:23 [29/Nov/2017:13:46:46 [29/Nov/2017:13:46:50 [29/Nov/2017:13:46:53 [29/Nov/2017:13:46:54 [29/Nov/2017:13:47:04 [29/Nov/2017:13:47:05 [29/Nov/2017:13:47:16 URL GET /login.php HTTP/1.1 POST /process.php HTTP/1.1 GET /home.php HTTP/1.1 GET /js/vendor/moment.min.js HTTP/1.1 GET /bootstrap-3.3.7/js/bootstrap.js HTTP/1.1 GET /profile.php?user=bala HTTP/1.1 GET /js/jquery.min.js HTTP/1.1 GET /is/chart.min.js HTTP/1.1 GET /edit.php?name=bala HTTP/1.1 GET /logout.php HTTP/1.1 GET /login.php HTTP/1.1 GET /login.php HTTP/1.1 GET /login.php HTTP/1.1 GET/ HTTP/1.1 GET /login.php HTTP/1.1 POST /process.php HTTP/1.1 GET /home.php HTTP/1.1 GET /contestproblem.php?name=RUET%2001%20Server%20Testing%20Contest HTTP/1.1 GET/ HTTP/1.1 GET /login.php HTTP/1.1 GET /css/bootstrap.min.css HTTP/1.1 GET /css/font-awesome.min.css HTTP/1.1 GET /cssormalize.css HTTP/1.1 GET /css/style.css HTTP/1.1 GET /js/vendor/modernizr-2.8.3.min.js HTTP/1.1 GET /css/main.css HTTP/1.1 GET /js/vendor/jquery-1.12.0.min.js HTTP/1.1 GET /bootstrap-3.3.7/js/bootstrap.min.js HTTP/1.1 GET /fonts/fontawesome-webfont.woff2?v=4.6.3 HTTP/1.1 GET/ HTTP/1.1 GET /contestproblem.php?name=RUET%2001%20Server%20Testing%20Contest HTTP/1.1 GET /logout.php HTTP/1.1 GET /login.php HTTP/1.1 POST /process.php HTTP/1.1 GET /login.php?value=fail HTTP/1.1 POST /process.php HTTP/1.1 200 302 200 200 200 200 200 200 200 302 200 200 200 302 200 302 200 200 302 200 200 200 200 200 200 200 200 200 200 200 200 302 200 302 200 302

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!