Brandon’s Raspberry Pi server monitor tweets the changes in online status of designated servers, from manic coding.
Due to a poorly developed/configured application, the server was outputting a lot of traffic (near 100Mbps). The server host detected it and shut down the server under the assumption that it had been compromised and was being used for malicious activity. I didn’t find out about the issue until several hours when I tried to SSH into it and my password was being rejected due to ‘rescue mode’. After several more hours communicating back and forth with the support team, we finally resolved the issue, but we had to wait for the Datacenter team to check that the server had been secured, which could take a few hours. At this point, I was tired and heading to bed and wouldn’t be up for when the server came back online, yet I wanted users to know when it had returned so that they could continue using the websites and other services I have running.
I wrote a quick little application in Java that would ping the server to see if it was online and send a tweet when it returned. I gave the application to a small handful of friends that had either computers that they never turned off or servers of their own to run the application for me. Whilst writing the application, I thought about how useful it would be to have a computer or server somewhere in the world that does nothing but monitor online services and alerts people when there is a change in their online status. It wouldn’t take much in the way of resources: minimal RAM, low-end CPU, next to no HDD space required. Pretty much the exact description of a Raspberry Pi. The application I was already working was quick, dirty and almost finished, so I finished that and got it running, but contemplated writing an application that was extensible and had a nice API so could be hooked in other applications if necessary.