There is two way to monitor the data.
Either passively, listening for each host saying hello on the network
or actively, probing for host at regular interval [1].
First way look like difficult as in requiring cooperation from diverse
host and relying on protocol like SNMP. Or you could listen for DHCP
message on the network.
The other way require to run a script at regular interval. For that
job, I would suggest Celery. Cron is the unix job for that tool but
celery is a python solution and integrate nicely with django.
Your project have quite an overlap with nagios. Especially for point
3, if you can interface with tools made to talk to nagios from client,
it will save you lot of trouble.
[1] If you want real time, there is an anecdote about diablo. The game
was turn-per-turn but the publisher wanted real time. Dev got twice
the money to turn it into real time. Dev simply reduced turn to 200ms.
Job done.
2016-06-07 15:01 GMT+02:00 Mahesh Kss <mahesh.kss@gmail.com>:
>
> Hi all,
>
>
> Need some of your thoughts for the below mentioned exercise. I am planning
> to do it using Django. But I am not sure where i can place the python script
> which monitors the network for connected hosts.
>
> Kindly share your thoughts and questions. I need to complete this as soon as
> possible(max 2weeks from now).
>
>
> Scanning tool:
>> Create a python script to extract and maintain list of all host names
>> connected to a network. There should be a mechanism to determine newly added
>> host in network (by maintaining new and old host list).
> (You may use virtual machines as client systems preferably Linux systems).
>> This list of hosts should be moved to database.
>> There should be an admin user across the network to access systems
>> remotely.
>> There should be a provision in python script to reset password for newly
>> added hosts.
>> The python script should then scan all the discovered systems in network
>> for the following information:
> system name, operating system details, CPU details, RAM details, hard disk
> details.
> On each system, list of all major softwares found along with installation
> directory, version, license expiry date, etc.
>> All the extracted information should be stored in database.
>> There should be a mechanism to delete unreachable host names from host
>> list and database.
>> Create a python web interface to display this information from DB nicely
>> using graphs, charts, etc.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Django users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to django-users+unsubscribe@googlegroups.com.
> To post to this group, send email to django-users@googlegroups.com.
> Visit this group at https://groups.google.com/group/django-users.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/django-users/d9e679ed-47be-40c3-9bfc-e065206e0d95%40googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
--
Cordialement, Coues Ludovic
+336 148 743 42
--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAEuG%2BTYCixPVjkbiWSMR9b3ZxH-dR9Q-uV6Zs57RLU%3DHv8cJ-w%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment