On Tue, Jun 7, 2016 at 6:01 AM, Mahesh Kss <mahesh....@gmail.com> wrote:
> > 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. > > Not to disillusion you, but IMHO writing such an application within two weeks is highly, highly improbable. Since you have a tight deadline, I'm assuming this is either for a customer, or for a class assignment. Either way, the timeline is too aggressive to be feasible for a production-ready application (or really even a working alpha application). You might want to consider integrating with an existing monitoring system (such as Nagios, monit, etc.) or perhaps a configuration management system such as Ansible, SaltStack, Puppet, or Chef for communicating with the hosts and handling discovery. It's unlikely that you'll reinvent the wheel and come up with something better than any of those purpose-built packages that have been in development for years. Unless of course you are doing this for your own learning purposes (but I think not given the timeline). Django actually has a very small part to play in this entire application. You'll probably need Celery to process the commands for adding/removing hosts from the backend and other management tasks. If it were me, and since you have all Linux hosts, I would start with Ansible (and Cobbler for the DB integration). I have limited experience with it (I'm still researching it for my own purposes), but it should be able to handle all of the requirements except for the last couple, which Django should be able to handle (probably in combination with Celery). http://docs.ansible.com/ansible/developing_api.html http://docs.ansible.com/ansible/intro_dynamic_inventory.html http://docs.celeryproject.org/en/latest/django/first-steps-with-django.html -James -- 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+unsubscr...@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/CA%2Be%2BciU6KDfXSkYX99ATFDDm%3DWf%2BPifnH-3vSgkw7fBoQd7SgQ%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.