{"id":707,"date":"2016-07-14T12:08:26","date_gmt":"2016-07-14T11:08:26","guid":{"rendered":"http:\/\/www.haxed.me.uk\/?p=707"},"modified":"2016-07-14T12:08:26","modified_gmt":"2016-07-14T11:08:26","slug":"checking-requests-apache2-webserver-downtime","status":"publish","type":"post","link":"https:\/\/haxed.me.uk\/index.php\/2016\/07\/14\/checking-requests-apache2-webserver-downtime\/","title":{"rendered":"Checking requests to apache2 webserver during downtime"},"content":{"rendered":"<p>A customer of ours was having some serious disruptions to his webserver, with 15 minute outages happening here and there. He said he couldn&#8217;t see an increase in traffic and therefore didn&#8217;t understand why it reached maxclients. Here was a quick way to prove whether traffic really increased or not by directly grepping the access logs for the time and day in question and using wc -l to count them, and a for loop to step thru the minutes of the hour in between the events.<\/p>\n<p>Proud of this simple one.. much simpler than a lot of other scripts that do the same thing I&#8217;ve seen out there!<\/p>\n<pre>\r\nroot@anonymousbox:\/var\/log\/apache2# for i in `seq 01 60`;  do  printf \"total visits: 13:$i\\n\\n\"; grep \"12\/Jul\/2016:13:$i\" access.log | wc -l; done\r\n<\/pre>\n<p>total visits: 13:1<\/p>\n<p>305<br \/>\ntotal visits: 13:2<\/p>\n<p>474<br \/>\ntotal visits: 13:3<\/p>\n<p>421<br \/>\ntotal visits: 13:4<\/p>\n<p>411<br \/>\ntotal visits: 13:5<\/p>\n<p>733<br \/>\ntotal visits: 13:6<\/p>\n<p>0<br \/>\ntotal visits: 13:7<\/p>\n<p>0<br \/>\ntotal visits: 13:8<\/p>\n<p>0<br \/>\ntotal visits: 13:9<\/p>\n<p>0<br \/>\ntotal visits: 13:10<\/p>\n<p>30<br \/>\ntotal visits: 13:11<\/p>\n<p>36<br \/>\ntotal visits: 13:12<\/p>\n<p>30<br \/>\ntotal visits: 13:13<\/p>\n<p>29<br \/>\ntotal visits: 13:14<\/p>\n<p>28<br \/>\ntotal visits: 13:15<\/p>\n<p>26<br \/>\ntotal visits: 13:16<\/p>\n<p>26<br \/>\ntotal visits: 13:17<\/p>\n<p>32<br \/>\ntotal visits: 13:18<\/p>\n<p>37<br \/>\ntotal visits: 13:19<\/p>\n<p>31<br \/>\ntotal visits: 13:20<\/p>\n<p>42<br \/>\ntotal visits: 13:21<\/p>\n<p>47<br \/>\ntotal visits: 13:22<\/p>\n<p>65<br \/>\ntotal visits: 13:23<\/p>\n<p>51<br \/>\ntotal visits: 13:24<\/p>\n<p>57<br \/>\ntotal visits: 13:25<\/p>\n<p>38<br \/>\ntotal visits: 13:26<\/p>\n<p>40<br \/>\ntotal visits: 13:27<\/p>\n<p>51<br \/>\ntotal visits: 13:28<\/p>\n<p>51<br \/>\ntotal visits: 13:29<\/p>\n<p>32<br \/>\ntotal visits: 13:30<\/p>\n<p>56<br \/>\ntotal visits: 13:31<\/p>\n<p>37<br \/>\ntotal visits: 13:32<\/p>\n<p>36<br \/>\ntotal visits: 13:33<\/p>\n<p>32<br \/>\ntotal visits: 13:34<\/p>\n<p>36<br \/>\ntotal visits: 13:35<\/p>\n<p>36<br \/>\ntotal visits: 13:36<\/p>\n<p>39<br \/>\ntotal visits: 13:37<\/p>\n<p>70<br \/>\ntotal visits: 13:38<\/p>\n<p>52<br \/>\ntotal visits: 13:39<\/p>\n<p>27<br \/>\ntotal visits: 13:40<\/p>\n<p>38<br \/>\ntotal visits: 13:41<\/p>\n<p>46<br \/>\ntotal visits: 13:42<\/p>\n<p>46<br \/>\ntotal visits: 13:43<\/p>\n<p>47<br \/>\ntotal visits: 13:44<\/p>\n<p>39<br \/>\ntotal visits: 13:45<\/p>\n<p>36<br \/>\ntotal visits: 13:46<\/p>\n<p>39<br \/>\ntotal visits: 13:47<\/p>\n<p>49<br \/>\ntotal visits: 13:48<\/p>\n<p>41<br \/>\ntotal visits: 13:49<\/p>\n<p>30<br \/>\ntotal visits: 13:50<\/p>\n<p>57<br \/>\ntotal visits: 13:51<\/p>\n<p>68<br \/>\ntotal visits: 13:52<\/p>\n<p>99<br \/>\ntotal visits: 13:53<\/p>\n<p>52<br \/>\ntotal visits: 13:54<\/p>\n<p>92<br \/>\ntotal visits: 13:55<\/p>\n<p>66<br \/>\ntotal visits: 13:56<\/p>\n<p>75<br \/>\ntotal visits: 13:57<\/p>\n<p>70<br \/>\ntotal visits: 13:58<\/p>\n<p>87<br \/>\ntotal visits: 13:59<\/p>\n<p>67<br \/>\ntotal visits: 13:60<\/p>\n<p>root@anonymousbox:\/var\/log\/apache2# for i in `seq 01 60`;  do  printf &#8220;total visits: 12:$i\\n\\n&#8221;; grep &#8220;12\/Jul\/2016:12:$i&#8221; access.log | wc -l; done<br \/>\ntotal visits: 12:1<\/p>\n<p>169<br \/>\ntotal visits: 12:2<\/p>\n<p>248<br \/>\ntotal visits: 12:3<\/p>\n<p>298<br \/>\ntotal visits: 12:4<\/p>\n<p>200<br \/>\ntotal visits: 12:5<\/p>\n<p>341<br \/>\ntotal visits: 12:6<\/p>\n<p>0<br \/>\ntotal visits: 12:7<\/p>\n<p>0<br \/>\ntotal visits: 12:8<\/p>\n<p>0<br \/>\ntotal visits: 12:9<\/p>\n<p>0<br \/>\ntotal visits: 12:10<\/p>\n<p>13<br \/>\ntotal visits: 12:11<\/p>\n<p>11<br \/>\ntotal visits: 12:12<\/p>\n<p>30<br \/>\ntotal visits: 12:13<\/p>\n<p>11<br \/>\ntotal visits: 12:14<\/p>\n<p>11<br \/>\ntotal visits: 12:15<\/p>\n<p>13<br \/>\ntotal visits: 12:16<\/p>\n<p>16<br \/>\ntotal visits: 12:17<\/p>\n<p>28<br \/>\ntotal visits: 12:18<\/p>\n<p>26<br \/>\ntotal visits: 12:19<\/p>\n<p>10<br \/>\ntotal visits: 12:20<\/p>\n<p>19<br \/>\ntotal visits: 12:21<\/p>\n<p>35<br \/>\ntotal visits: 12:22<\/p>\n<p>12<br \/>\ntotal visits: 12:23<\/p>\n<p>19<br \/>\ntotal visits: 12:24<\/p>\n<p>28<br \/>\ntotal visits: 12:25<\/p>\n<p>25<br \/>\ntotal visits: 12:26<\/p>\n<p>30<br \/>\ntotal visits: 12:27<\/p>\n<p>43<br \/>\ntotal visits: 12:28<\/p>\n<p>13<br \/>\ntotal visits: 12:29<\/p>\n<p>24<br \/>\ntotal visits: 12:30<\/p>\n<p>39<br \/>\ntotal visits: 12:31<\/p>\n<p>35<br \/>\ntotal visits: 12:32<\/p>\n<p>25<br \/>\ntotal visits: 12:33<\/p>\n<p>22<br \/>\ntotal visits: 12:34<\/p>\n<p>33<br \/>\ntotal visits: 12:35<\/p>\n<p>21<br \/>\ntotal visits: 12:36<\/p>\n<p>31<br \/>\ntotal visits: 12:37<\/p>\n<p>31<br \/>\ntotal visits: 12:38<\/p>\n<p>22<br \/>\ntotal visits: 12:39<\/p>\n<p>39<br \/>\ntotal visits: 12:40<\/p>\n<p>11<br \/>\ntotal visits: 12:41<\/p>\n<p>18<br \/>\ntotal visits: 12:42<\/p>\n<p>11<br \/>\ntotal visits: 12:43<\/p>\n<p>28<br \/>\ntotal visits: 12:44<\/p>\n<p>19<br \/>\ntotal visits: 12:45<\/p>\n<p>27<br \/>\ntotal visits: 12:46<\/p>\n<p>18<br \/>\ntotal visits: 12:47<\/p>\n<p>17<br \/>\ntotal visits: 12:48<\/p>\n<p>22<br \/>\ntotal visits: 12:49<\/p>\n<p>29<br \/>\ntotal visits: 12:50<\/p>\n<p>22<br \/>\ntotal visits: 12:51<\/p>\n<p>31<br \/>\ntotal visits: 12:52<\/p>\n<p>44<br \/>\ntotal visits: 12:53<\/p>\n<p>38<br \/>\ntotal visits: 12:54<\/p>\n<p>38<br \/>\ntotal visits: 12:55<\/p>\n<p>41<br \/>\ntotal visits: 12:56<\/p>\n<p>38<br \/>\ntotal visits: 12:57<\/p>\n<p>32<br \/>\ntotal visits: 12:58<\/p>\n<p>26<br \/>\ntotal visits: 12:59<\/p>\n<p>31<br \/>\ntotal visits: 12:60<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A customer of ours was having some serious disruptions to his webserver, with 15 minute outages happening here and there. He said he couldn&#8217;t see an increase in traffic and therefore didn&#8217;t understand why it reached maxclients. Here was a &hellip; <a href=\"https:\/\/haxed.me.uk\/index.php\/2016\/07\/14\/checking-requests-apache2-webserver-downtime\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[33,42,58,37,7,29,20],"tags":[],"class_list":["post-707","post","type-post","status-publish","format-standard","hentry","category-apache","category-automation","category-benchmarking","category-disaster-recovery","category-management-tools","category-monitoring","category-webhosting"],"_links":{"self":[{"href":"https:\/\/haxed.me.uk\/index.php\/wp-json\/wp\/v2\/posts\/707","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/haxed.me.uk\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/haxed.me.uk\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/haxed.me.uk\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/haxed.me.uk\/index.php\/wp-json\/wp\/v2\/comments?post=707"}],"version-history":[{"count":1,"href":"https:\/\/haxed.me.uk\/index.php\/wp-json\/wp\/v2\/posts\/707\/revisions"}],"predecessor-version":[{"id":708,"href":"https:\/\/haxed.me.uk\/index.php\/wp-json\/wp\/v2\/posts\/707\/revisions\/708"}],"wp:attachment":[{"href":"https:\/\/haxed.me.uk\/index.php\/wp-json\/wp\/v2\/media?parent=707"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/haxed.me.uk\/index.php\/wp-json\/wp\/v2\/categories?post=707"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/haxed.me.uk\/index.php\/wp-json\/wp\/v2\/tags?post=707"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}