I know I haven't posted here in a long time but I'm quite excited to talk about a program we have just released as open source at work. It actually fullfills a post I made on the 16th May 2009, about a machine info service and while its not really been created in the same was I as imagined it allows for much the same sort of monitoring. It's not a particularly large program, it took at most a few days coding to get right. It simply pipes windows performance monitors through to Amazon CloudWatch in a nice configurable package. It has really made monitoring our servers very easy.
WinWatch is designed to run as a scheduled task. The task can be set to run at a regular time of the day (or several times a day). If the app fails for any reason and ends then the scheduled task should fire and restart the monitor. This removes any issues with ensuring a graceful failure and restart of the application from WinWatch. The guts of the app are really in the config file, which you can see at BitBucket.
In the metrics section you can add as many entries as you wish. These are the same as the entries in the windows performance monitor. A name and unit is then associated with each metric for use at the CloudWatch side. The appSettings require the use of an AWS Access and Secret key. They also allow a metric prefix to be placed in front of every metric from this instance of the application. This means you can separate machines without separating name-spaces (if that’s how you want to operate). You can also determine the CloudWatch name-space and the region can be controlled via the ServiceURI.
LogFrequency determines how many seconds to wait until taking another measurement. This is accomplished via a Thread.Sleep method call, which is not exactly the most accurate timing method in the world. However its very important to providing low CPU usage as the application should take up no resources until it is woken up again.
While there's some nice tweaks that could be made to WinWatch, we are overall very happy with how it has operated. It has provided us with detailed configurable monitoring of all our EC2 Servers. Go download/clone/fork the project at BitBucket.
Welcome to the new ClearCarbon site, I've finally completed this re-design and build after over year of on and off work on it. I'm much happier with the new design than I ever was with the old one. Theres still a few issues to iron out with the styles in old browsers and users with screen resolutions of 1024 or less might notice the odd problem. I do hope to get these issues fixed soon, time permitting. I've also removed the design gallery section of my site as I felt alot of the material in there was quite old and out of date, to make up for this I've launched the Dev section which will deal with all things geeky. I hope to have something to post there within a couple of weeks. Right I think thats about it for now, I'm going to get back to my weekend!
Thought I'd post some news about a small app I'm currently working on, basically its an asp.net webservice that provides you with basic machine info, in much the same way that phpinfo works. We needed a quick and simple way to check the status of our servers at work that would scale as we added more. The application would also need to run on a variety of platforms and conditions, a webservice seemed like the most flexible option. Adding the service to any .net application is nice and simple and you can then pull remote information off any server with the service installed. Just a few simple classes contain most of the server information. Currently the service splits requests into logically seperate chunks (machine info, drive info etc), this should reduce any load on the server as client machines will only request the information they require. However I will write a fetchall operation so that apps wishing to display all the information only have one roundtrip. I plan to include, memory usage, hdd usage, and the event log in the first version of the application. While the application is quite small is also quite extensible so others should be able to add additional information as they require.
As usual I never get the time to post updates as often as I would like to these days. But heres a quick idea of whats going on at the moment, firstly I managed to aquire www.clearcarbon.co.uk and sort out my DNS records so everything should point through to the right server now. My PC blew up a month or so ago hence work on this site crawling to a halt and my windows install crashed on my laptop causing me to have to format and lose some rather important work. Anyway this has forced me to spend more time developing applications (its about the only fun thing my laptop is powerful enough todo ;)) hopefully you will be able to see more of what I've been working on in a few months!
At work we have managed to get setup with VisualSVN which has saved us alot of time! We've also moved our bugs list over to Lighthouse, from the guys at entp, which I would recommend to any development team. We have tried various methods of issue management in the past, all the way from sticky notes up to Mantis however Lighthouse is the first bug tracker to give us just enough control without over complicating it. Ok think thats about it, I'm off.
Right I'm slowly starting to convert various parts of my site to be better managed by Enhance 2. For those of you that don't know Enhance 2 is the content management system that I have been developing for the best part of a year. First on the list of upgrades is the news section, I will now be using the news component within Enhance 2. I haven't migrated across the old news articles as many of them were out of date with broken links.
I'm hoping to get more time to publish to the site in the coming months. I've got some unpublished photo's that I'm waiting to upload (currently delayed due to a broken computer). I'm also hoping to start writing more about my development work (time permitting) as I feel I've learnt enough to be able to contribue some interesting articles.
Ok thats about it for now hopefully more posts coming soon.