<?xml version="1.0"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Transition Technology: Ticket #903: Large load spike on PuffinServer</title>
    <link>http://localhost:8080/trac/ticket/903</link>
    <description>&lt;p&gt;
There was a large load spike this morning on &lt;a class="wiki" href="http://localhost:8080/trac/wiki/PuffinServer"&gt;PuffinServer&lt;/a&gt;, which appears to have been caused by 12k requests for pages (Nginx doesn't log requests for anything other than PHP generated pages) from one IP address, this IP address has been blocked and I'll post some details below.
&lt;/p&gt;
</description>
    <language>en-us</language>
    <image>
      <title>Transition Technology</title>
      <url>/trac/chrome/site/TransitionNetwork-Logo-Web-Small.jpg</url>
      <link>http://localhost:8080/trac/ticket/903</link>
    </image>
    <generator>Trac 0.12.5</generator>
    <item>
      
        <dc:creator>chris</dc:creator>

      <pubDate>Mon, 08 Feb 2016 08:58:13 GMT</pubDate>
      <title>attachment set</title>
      <link>http://localhost:8080/trac/ticket/903</link>
      <guid isPermaLink="false">http://localhost:8080/trac/ticket/903</guid>
      <description>
          &lt;ul&gt;
            &lt;li&gt;&lt;strong&gt;attachment&lt;/strong&gt;
                set to &lt;em&gt;puffin-2016-02-08_load-day.png&lt;/em&gt;
            &lt;/li&gt;
          &lt;/ul&gt;
      </description>
      <category>Ticket</category>
    </item><item>
      
        <dc:creator>chris</dc:creator>

      <pubDate>Mon, 08 Feb 2016 08:58:28 GMT</pubDate>
      <title>attachment set</title>
      <link>http://localhost:8080/trac/ticket/903</link>
      <guid isPermaLink="false">http://localhost:8080/trac/ticket/903</guid>
      <description>
          &lt;ul&gt;
            &lt;li&gt;&lt;strong&gt;attachment&lt;/strong&gt;
                set to &lt;em&gt;puffin-2016-02-08_cpu-day.png&lt;/em&gt;
            &lt;/li&gt;
          &lt;/ul&gt;
      </description>
      <category>Ticket</category>
    </item><item>
      
        <dc:creator>chris</dc:creator>

      <pubDate>Mon, 08 Feb 2016 08:58:37 GMT</pubDate>
      <title>attachment set</title>
      <link>http://localhost:8080/trac/ticket/903</link>
      <guid isPermaLink="false">http://localhost:8080/trac/ticket/903</guid>
      <description>
          &lt;ul&gt;
            &lt;li&gt;&lt;strong&gt;attachment&lt;/strong&gt;
                set to &lt;em&gt;puffin-2016-02-08_redis_commands-day.png&lt;/em&gt;
            &lt;/li&gt;
          &lt;/ul&gt;
      </description>
      <category>Ticket</category>
    </item><item>
      
        <dc:creator>chris</dc:creator>

      <pubDate>Mon, 08 Feb 2016 08:58:49 GMT</pubDate>
      <title>attachment set</title>
      <link>http://localhost:8080/trac/ticket/903</link>
      <guid isPermaLink="false">http://localhost:8080/trac/ticket/903</guid>
      <description>
          &lt;ul&gt;
            &lt;li&gt;&lt;strong&gt;attachment&lt;/strong&gt;
                set to &lt;em&gt;puffin-2016-02-08_multips_memory-day.png&lt;/em&gt;
            &lt;/li&gt;
          &lt;/ul&gt;
      </description>
      <category>Ticket</category>
    </item><item>
      
        <dc:creator>chris</dc:creator>

      <pubDate>Mon, 08 Feb 2016 08:59:00 GMT</pubDate>
      <title>attachment set</title>
      <link>http://localhost:8080/trac/ticket/903</link>
      <guid isPermaLink="false">http://localhost:8080/trac/ticket/903</guid>
      <description>
          &lt;ul&gt;
            &lt;li&gt;&lt;strong&gt;attachment&lt;/strong&gt;
                set to &lt;em&gt;puffin-2016-02-08_nginx_vhost_traffic-day.png&lt;/em&gt;
            &lt;/li&gt;
          &lt;/ul&gt;
      </description>
      <category>Ticket</category>
    </item><item>
      
        <dc:creator>chris</dc:creator>

      <pubDate>Mon, 08 Feb 2016 08:59:12 GMT</pubDate>
      <title>attachment set</title>
      <link>http://localhost:8080/trac/ticket/903</link>
      <guid isPermaLink="false">http://localhost:8080/trac/ticket/903</guid>
      <description>
          &lt;ul&gt;
            &lt;li&gt;&lt;strong&gt;attachment&lt;/strong&gt;
                set to &lt;em&gt;puffin-2016-02-08_nginx_request-day.png&lt;/em&gt;
            &lt;/li&gt;
          &lt;/ul&gt;
      </description>
      <category>Ticket</category>
    </item><item>
      
        <dc:creator>chris</dc:creator>

      <pubDate>Mon, 08 Feb 2016 08:59:27 GMT</pubDate>
      <title>attachment set</title>
      <link>http://localhost:8080/trac/ticket/903</link>
      <guid isPermaLink="false">http://localhost:8080/trac/ticket/903</guid>
      <description>
          &lt;ul&gt;
            &lt;li&gt;&lt;strong&gt;attachment&lt;/strong&gt;
                set to &lt;em&gt;puffin-2016-02-08_http_loadtime-day.png&lt;/em&gt;
            &lt;/li&gt;
          &lt;/ul&gt;
      </description>
      <category>Ticket</category>
    </item><item>
      
        <dc:creator>chris</dc:creator>

      <pubDate>Mon, 08 Feb 2016 08:59:39 GMT</pubDate>
      <title>attachment set</title>
      <link>http://localhost:8080/trac/ticket/903</link>
      <guid isPermaLink="false">http://localhost:8080/trac/ticket/903</guid>
      <description>
          &lt;ul&gt;
            &lt;li&gt;&lt;strong&gt;attachment&lt;/strong&gt;
                set to &lt;em&gt;puffin-2016-02-08_fw_conntrack-day.png&lt;/em&gt;
            &lt;/li&gt;
          &lt;/ul&gt;
      </description>
      <category>Ticket</category>
    </item><item>
      
        <dc:creator>chris</dc:creator>

      <pubDate>Mon, 08 Feb 2016 08:59:52 GMT</pubDate>
      <title>attachment set</title>
      <link>http://localhost:8080/trac/ticket/903</link>
      <guid isPermaLink="false">http://localhost:8080/trac/ticket/903</guid>
      <description>
          &lt;ul&gt;
            &lt;li&gt;&lt;strong&gt;attachment&lt;/strong&gt;
                set to &lt;em&gt;puffin-2016-02-08_mysql_qcache-day.png&lt;/em&gt;
            &lt;/li&gt;
          &lt;/ul&gt;
      </description>
      <category>Ticket</category>
    </item><item>
      
        <dc:creator>chris</dc:creator>

      <pubDate>Mon, 08 Feb 2016 09:00:03 GMT</pubDate>
      <title>attachment set</title>
      <link>http://localhost:8080/trac/ticket/903</link>
      <guid isPermaLink="false">http://localhost:8080/trac/ticket/903</guid>
      <description>
          &lt;ul&gt;
            &lt;li&gt;&lt;strong&gt;attachment&lt;/strong&gt;
                set to &lt;em&gt;puffin-2016-02-08_mysql_queries-day.png&lt;/em&gt;
            &lt;/li&gt;
          &lt;/ul&gt;
      </description>
      <category>Ticket</category>
    </item><item>
      
        <dc:creator>chris</dc:creator>

      <pubDate>Mon, 08 Feb 2016 09:00:13 GMT</pubDate>
      <title>attachment set</title>
      <link>http://localhost:8080/trac/ticket/903</link>
      <guid isPermaLink="false">http://localhost:8080/trac/ticket/903</guid>
      <description>
          &lt;ul&gt;
            &lt;li&gt;&lt;strong&gt;attachment&lt;/strong&gt;
                set to &lt;em&gt;puffin-2016-02-08_mysql_innodb_rows-day.png&lt;/em&gt;
            &lt;/li&gt;
          &lt;/ul&gt;
      </description>
      <category>Ticket</category>
    </item><item>
      
        <dc:creator>chris</dc:creator>

      <pubDate>Mon, 08 Feb 2016 09:00:24 GMT</pubDate>
      <title>attachment set</title>
      <link>http://localhost:8080/trac/ticket/903</link>
      <guid isPermaLink="false">http://localhost:8080/trac/ticket/903</guid>
      <description>
          &lt;ul&gt;
            &lt;li&gt;&lt;strong&gt;attachment&lt;/strong&gt;
                set to &lt;em&gt;puffin-2016-02-08_mysql_innodb_io-day.png&lt;/em&gt;
            &lt;/li&gt;
          &lt;/ul&gt;
      </description>
      <category>Ticket</category>
    </item><item>
      
        <dc:creator>chris</dc:creator>

      <pubDate>Mon, 08 Feb 2016 09:08:06 GMT</pubDate>
      <title>hours, totalhours changed</title>
      <link>http://localhost:8080/trac/ticket/903#comment:1</link>
      <guid isPermaLink="false">http://localhost:8080/trac/ticket/903#comment:1</guid>
      <description>
          &lt;ul&gt;
            &lt;li&gt;&lt;strong&gt;hours&lt;/strong&gt;
                changed from &lt;em&gt;0.0&lt;/em&gt; to &lt;em&gt;0.36&lt;/em&gt;
            &lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;totalhours&lt;/strong&gt;
                changed from &lt;em&gt;0.0&lt;/em&gt; to &lt;em&gt;0.36&lt;/em&gt;
            &lt;/li&gt;
          &lt;/ul&gt;
        &lt;p&gt;
Between 7:55am and when I blocked the poneytelecom.eu IP address at 8:43am, 12,107 requests for PHP pages were made by this IP address, which reported multiple user agents. This fact alone, in my view, justifies blocking the IP address -- I very much doubt it was a transitioner mirroring the site if they had gone to the bother of using multiple random user agent strings -- it was abuse, a denial of service attack, that had the potential to seriously disrupt other users of the site.
&lt;/p&gt;
&lt;p&gt;
I was sent 13 lfd load alerts, spiking at 23.03, following are some &lt;a class="ext-link" href="https://penguin.transitionnetwork.org/munin/transitionnetwork.org/puffin.transitionnetwork.org/index.html"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;munin graphs&lt;/a&gt; of the load spike.
&lt;/p&gt;
&lt;p&gt;
I installed a script, &lt;a class="wiki" href="http://localhost:8080/trac/wiki/IpDrop"&gt;wiki:IpDrop&lt;/a&gt; to block the IP address, this records the blocked address in &lt;tt&gt;/root/Changelog&lt;/tt&gt;.
&lt;/p&gt;
&lt;p&gt;
&lt;a style="padding:0; border:none" href="http://localhost:8080/trac/attachment/ticket/903/puffin-2016-02-08_load-day.png"&gt;&lt;img src="http://localhost:8080/trac/raw-attachment/ticket/903/puffin-2016-02-08_load-day.png" /&gt;&lt;/a&gt;
&lt;a style="padding:0; border:none" href="http://localhost:8080/trac/attachment/ticket/903/puffin-2016-02-08_cpu-day.png"&gt;&lt;img src="http://localhost:8080/trac/raw-attachment/ticket/903/puffin-2016-02-08_cpu-day.png" /&gt;&lt;/a&gt;
&lt;a style="padding:0; border:none" href="http://localhost:8080/trac/attachment/ticket/903/puffin-2016-02-08_redis_commands-day.png"&gt;&lt;img src="http://localhost:8080/trac/raw-attachment/ticket/903/puffin-2016-02-08_redis_commands-day.png" /&gt;&lt;/a&gt;
&lt;a style="padding:0; border:none" href="http://localhost:8080/trac/attachment/ticket/903/puffin-2016-02-08_multips_memory-day.png"&gt;&lt;img src="http://localhost:8080/trac/raw-attachment/ticket/903/puffin-2016-02-08_multips_memory-day.png" /&gt;&lt;/a&gt;
&lt;a style="padding:0; border:none" href="http://localhost:8080/trac/attachment/ticket/903/puffin-2016-02-08_nginx_vhost_traffic-day.png"&gt;&lt;img src="http://localhost:8080/trac/raw-attachment/ticket/903/puffin-2016-02-08_nginx_vhost_traffic-day.png" /&gt;&lt;/a&gt;
&lt;a style="padding:0; border:none" href="http://localhost:8080/trac/attachment/ticket/903/puffin-2016-02-08_nginx_request-day.png"&gt;&lt;img src="http://localhost:8080/trac/raw-attachment/ticket/903/puffin-2016-02-08_nginx_request-day.png" /&gt;&lt;/a&gt;
&lt;a style="padding:0; border:none" href="http://localhost:8080/trac/attachment/ticket/903/puffin-2016-02-08_http_loadtime-day.png"&gt;&lt;img src="http://localhost:8080/trac/raw-attachment/ticket/903/puffin-2016-02-08_http_loadtime-day.png" /&gt;&lt;/a&gt;
&lt;a style="padding:0; border:none" href="http://localhost:8080/trac/attachment/ticket/903/puffin-2016-02-08_fw_conntrack-day.png"&gt;&lt;img src="http://localhost:8080/trac/raw-attachment/ticket/903/puffin-2016-02-08_fw_conntrack-day.png" /&gt;&lt;/a&gt;
&lt;a style="padding:0; border:none" href="http://localhost:8080/trac/attachment/ticket/903/puffin-2016-02-08_mysql_qcache-day.png"&gt;&lt;img src="http://localhost:8080/trac/raw-attachment/ticket/903/puffin-2016-02-08_mysql_qcache-day.png" /&gt;&lt;/a&gt;
&lt;a style="padding:0; border:none" href="http://localhost:8080/trac/attachment/ticket/903/puffin-2016-02-08_mysql_queries-day.png"&gt;&lt;img src="http://localhost:8080/trac/raw-attachment/ticket/903/puffin-2016-02-08_mysql_queries-day.png" /&gt;&lt;/a&gt;
&lt;a style="padding:0; border:none" href="http://localhost:8080/trac/attachment/ticket/903/puffin-2016-02-08_mysql_innodb_rows-day.png"&gt;&lt;img src="http://localhost:8080/trac/raw-attachment/ticket/903/puffin-2016-02-08_mysql_innodb_rows-day.png" /&gt;&lt;/a&gt;
&lt;a style="padding:0; border:none" href="http://localhost:8080/trac/attachment/ticket/903/puffin-2016-02-08_mysql_innodb_io-day.png"&gt;&lt;img src="http://localhost:8080/trac/raw-attachment/ticket/903/puffin-2016-02-08_mysql_innodb_io-day.png" /&gt;&lt;/a&gt;
&lt;/p&gt;
      </description>
      <category>Ticket</category>
    </item><item>
      
        <dc:creator>ade</dc:creator>

      <pubDate>Tue, 09 Feb 2016 11:10:10 GMT</pubDate>
      <title></title>
      <link>http://localhost:8080/trac/ticket/903#comment:14</link>
      <guid isPermaLink="false">http://localhost:8080/trac/ticket/903#comment:14</guid>
      <description>
        &lt;pre class="wiki"&gt;Awesome... many thanks for being on top of that Chris.
A
On 8 February 2016 at 09:08, Transition Technology Trac &amp;lt;
trac@tech.transitionnetwork.org&amp;gt; wrote:
&amp;gt; #903: Large load spike on PuffinServer
&amp;gt; -------------------------------------+-------------------------------------
&amp;gt;            Reporter:  chris          |                      Owner:  chris
&amp;gt;                Type:  maintenance    |                     Status:  new
&amp;gt;            Priority:  major          |                  Milestone:
&amp;gt;           Component:  Live server    |  Maintenance
&amp;gt;            Keywords:                 |                 Resolution:
&amp;gt; Add Hours to Ticket:  0.36           |  Estimated Number of Hours:  0.0
&amp;gt;         Total Hours:  0              |                  Billable?:  1
&amp;gt; -------------------------------------+-------------------------------------
&amp;gt; Changes (by chris):
&amp;gt;
&amp;gt;  * hours:  0.0 =&amp;gt; 0.36
&amp;gt;  * totalhours:  0.0 =&amp;gt; 0.36
&amp;gt;
&amp;gt;
&amp;gt; Comment:
&amp;gt;
&amp;gt;  Between 7:55am and when I blocked the poneytelecom.eu IP address at
&amp;gt;  8:43am, 12,107 requests for PHP pages were made by this IP address, which
&amp;gt;  reported multiple user agents. This fact alone, in my view, justifies
&amp;gt;  blocking the IP address -- I very much doubt it was a transitioner
&amp;gt;  mirroring the site if they had gone to the bother of using multiple random
&amp;gt;  user agent strings -- it was abuse, a denial of service attack, that had
&amp;gt;  the potential to seriously disrupt other users of the site.
&amp;gt;
&amp;gt;  I was sent 13 lfd load alerts, spiking at 23.03, following are some
&amp;gt;  [
&amp;gt; https://penguin.transitionnetwork.org/munin/transitionnetwork.org/puffin.transitionnetwork.org/index.html
&amp;gt;  munin graphs] of the load spike.
&amp;gt;
&amp;gt;  I installed a script, wiki:IpDrop to block the IP address, this records
&amp;gt;  the blocked address in `/root/Changelog`.
&amp;gt;
&amp;gt;  [[Image(puffin-2016-02-08_load-day.png)]]
&amp;gt;  [[Image(puffin-2016-02-08_cpu-day.png)]]
&amp;gt;  [[Image(puffin-2016-02-08_redis_commands-day.png)]]
&amp;gt;  [[Image(puffin-2016-02-08_multips_memory-day.png)]]
&amp;gt;  [[Image(puffin-2016-02-08_nginx_vhost_traffic-day.png)]]
&amp;gt;  [[Image(puffin-2016-02-08_nginx_request-day.png)]]
&amp;gt;  [[Image(puffin-2016-02-08_http_loadtime-day.png)]]
&amp;gt;  [[Image(puffin-2016-02-08_fw_conntrack-day.png)]]
&amp;gt;  [[Image(puffin-2016-02-08_mysql_qcache-day.png)]]
&amp;gt;  [[Image(puffin-2016-02-08_mysql_queries-day.png)]]
&amp;gt;  [[Image(puffin-2016-02-08_mysql_innodb_rows-day.png)]]
&amp;gt;  [[Image(puffin-2016-02-08_mysql_innodb_io-day.png)]]
&amp;gt;
&amp;gt; --
&amp;gt; Ticket URL: &amp;lt;https://tech.transitionnetwork.org/trac/ticket/903#comment:1&amp;gt;
&amp;gt; Transition Technology &amp;lt;https://tech.transitionnetwork.org/trac&amp;gt;
&amp;gt; Support and issues tracking for the Transition Network Web Project.
&amp;gt;
--
Ade Stuart
Web Manager - Transition network
07595 331877
The Transition Network is a registered charity
address: 43 Fore St, Totnes, Devon, TQ9 5HN, UK
website: www.transitionnetwork.org
TN company no: 6135675 TN charity no: 1128675
&lt;/pre&gt;
      </description>
      <category>Ticket</category>
    </item>
 </channel>
</rss>