folks!
I have a little question here and it's regarding product design.
My task was to create a client-server application, which could gather the information from many clients (hundreds of them) with different OS: windows, linux, mac.
This should be implemented as python script both client and server side.
Now the interesting part:
- Server should connect to the client via ssh and upload a script to the tmp directory and then execute it in order to gather some system info like: CPU% load, MEM% load, Free disk space, and in case of windows, it should gather Security System logs from the journal.
- Server should receive the messages from different clients (thus should be a listenter)
- Server should send the alert messages with the found problems from clients to themselves via smtp proto, clients thresholds stored in xml file (like mem=50, cpu=80), so if the threshold is overlap - it should be mentioned in the letter
- Messages from client to server should be encrypted
- You can use: paramiko, smtplib, pycrypto libs
What kind of design and modules you'd probably create and how you would organize the structure of the application, which methods you will create?
P.S. and yes - connect to the windows via ssh. I know that this is VERY strange, but still.
Aucun commentaire:
Enregistrer un commentaire