How to build an application in Django which will handle Multiple servers accross network
Paul Kölle
paul at subsignal.org
Fri Apr 29 07:24:33 EDT 2011
Hi,
Am 29.04.2011 12:01, schrieb Adam Tauno Williams:
> On Thu, 2011-04-28 at 23:47 -0700, Anurag (anu) Agarwal wrote:
>> Hi All,
>> I want to build an application for one of my client which has
>> following features
>> 1. Client has some driver software which can be installed on Windows
>> and Linux based systems. This driver software is fetching some
>> operating system details using kernel level programming.
This is commonly called an "agent". You might not want do write your own
because it is hard to do correctly and takes a lot of time. I'd suggest
you search for something like sigar (library) or collectd and check out
what they can offer in terms of output formats.
>> 2. Now a new web based application is required to moniter these
>> servers remotly. This application will talk to these servers and get
>> the data (not sure how data will be fetched from driver software) then
>> show it on UI.
>
> Perhaps via WMI?
Yes, best option. Modern windows versions have WinRM which is basically
WMI over http (wmi being an implementation of CIM over DCOM, but I
digress...)
>
>> 3. The web based application will be used internally in the network to
>> moniter servers in that network only.
>
> You mean like OpenNMS or ZenOSS?
>
>> 4. Web based application will be a real time application with a
>> Database.
>
> Like OpenNMS or ZenOSS?
How can they be realtime if they generate static images?
>
>> 5. Technology I am thingking for web based application is Django and
>> Python as this web application can also be installed on Windows or
>> Linux based OS.
>
> If you want real-time monitoring you *must* build a service; a 'web app'
> can *not* do that.
Do you mean an agent?
>
>> 6. Also please suggest which third party tool for chatrs and graphs I
>> should use with Django (open source + paid)
>
> ZenOSS and OpenNMS do graphs using RRD.
I know this is the "standard" but IMO it's totally backward these days.
Correlating or selecting/deselecting certain values is painful (you have
to write a graph def). With <canvas> and modern JS libs like raphael
there are better ways to do this. Just look at google analytics. On the
other hand, RRD (the database) is great, I just never got the python
bindings for rrd_fetch to reliably fetch the values I needed (you can't
tell it to stop normalizing ....)
It looks like PCP (http://oss.sgi.com/projects/pcp/features.html) will
gain a JSON interface shortly. That would be awesome because PCP is
developed by real engineers and has a proper architecture and is NOT a
CPU sucking monstrosity of PERL-line-noise + a few hacked-together PHP
frontends.
just my 2cents
Paul
More information about the Python-list
mailing list