Thoughts on AJAX systems monitoring
Posted: Fri Apr 20, 2007 11:42 am
I'm starting to do more and more coding for the systems guys here at work. One of the things they're interested in is monitoring of course.
That's when I started thinking about live or nearly live monitoring of systems in a web browser and doing it via AJAX (well, most of it).
So I did it. Here are some thoughts.
1) If you want trend data, you don't need AJAX.
2) Since we want live or nearly live data, performance is important.
3) Keeping number 2 in mind, eliminate the XML overhead that most AJAX frameworks carry around.
4) Keeping number 2 in mind, use a client side graphing libraray. I've never been impressed with the
speed of server side graphing libs.
5) Keeping number 2 in mind, don't use DOM if you're generating tables dynamically. String concat is faster.
Now the server side is where I'm interested in getting information from you guys. Here is why: if you just want to monitor your
own box, gkrellm or various other things are fine. If you just want to monitor the server that's serving the page to you, the above is
cool and really easy to do. Now if that server that is serving the page is part of Web Farm, the above is cool, but there is a hitch.
That hitch is getting the data from the other web servers or db servers in the farm. What I would love to do is just open an SSH connection
to the box I want to monitor then run command line commands to get the data that I need for the client. However, scripting SSH doesn't seem
as easy as I thought it would be.
At least we have an in house solution that I can employ, but I want some alternatives before forging ahead. That said, I'd love to get some feedback or ideas from others on how it might be accomplished.
BTW, I'm using the WebFX client side Javascript lib (http://webfx.eae.net/dhtml/chart/chart.html). It's extremely fast!
Cheers
That's when I started thinking about live or nearly live monitoring of systems in a web browser and doing it via AJAX (well, most of it).
So I did it. Here are some thoughts.
1) If you want trend data, you don't need AJAX.
2) Since we want live or nearly live data, performance is important.
3) Keeping number 2 in mind, eliminate the XML overhead that most AJAX frameworks carry around.
4) Keeping number 2 in mind, use a client side graphing libraray. I've never been impressed with the
speed of server side graphing libs.
5) Keeping number 2 in mind, don't use DOM if you're generating tables dynamically. String concat is faster.
Now the server side is where I'm interested in getting information from you guys. Here is why: if you just want to monitor your
own box, gkrellm or various other things are fine. If you just want to monitor the server that's serving the page to you, the above is
cool and really easy to do. Now if that server that is serving the page is part of Web Farm, the above is cool, but there is a hitch.
That hitch is getting the data from the other web servers or db servers in the farm. What I would love to do is just open an SSH connection
to the box I want to monitor then run command line commands to get the data that I need for the client. However, scripting SSH doesn't seem
as easy as I thought it would be.
At least we have an in house solution that I can employ, but I want some alternatives before forging ahead. That said, I'd love to get some feedback or ideas from others on how it might be accomplished.
BTW, I'm using the WebFX client side Javascript lib (http://webfx.eae.net/dhtml/chart/chart.html). It's extremely fast!
Cheers