The learning outcomes that are assessed by this coursework are:
Demonstrate a systematic understanding of knowledge and show a critical awareness of current problems in computer systems and networks. 2. Show originality in the application of knowledge as well as systematic understanding of knowledge and comprehension of the underlying concepts and principles associated with computer systems and networks. 3. Critically evaluate current computer system and networking technologies and methodologies and develop critiques of them
Late submission of coursework policy: Late submissions will be processed in accordance with current University regulations which state: “the time period during which a student may submit a piece of work late without authorisation and have the work capped at 40% [50% at PG level] if passed is 14 calendar days. Work submitted unauthorised more than 14 calendar days after the original submission date will receive a mark of 0%. These regulations apply to a student’s first attempt at coursework. Work submitted late without authorisation which constitutes reassessment of a previously failed piece of coursework will always receive a mark of 0%.”
You are an IT support engineer and you have been asked to build a GNU/Linux bash script that monitors a computer system and user activity regularly and logs key information. You need to create a script “mySysMonitor.sh” that automatically and regularly writes to a log file “mySysMonitor.log”. The log file will need to contain time-stamped detailed information about significant changes to the following:
a) Current processes
b) Top 8 CPU and RAM utilising processes run by the user logged in
c) Devices plugged in (e.g. USB)
d) Disk usage
1. Overall disk usage
2. The user’s home directory (/home/some_user…)
3. Other key directories
e) Network interfaces and their states
The script will need to be written to extract only key details about the user’s activities on the computer system such as listed above and add them to an ever-growing log file. Hence, the log file should consist of easily readable key details only. For pass level you are expected to write a script that sufficiently satisfies a) to e) listed above. For higher marks you are expected to add relevant extra information (monitoring shell commands used, aggregating information to useful statistics, etc.) and relevant features (automatic user notification at specific events, easily readable output
(e.g. HTML), configurable log levels (e.g. verbose, debug, standard and key-details only), etc.). You may want to use the virtual GNU/Linux shell environment you have been given via the link on Blackboard or the Linux system in the lab. Alternatively, you may install GNU/Linux (Ubuntu) on e.g. a laptop via dual boot. Note that you should only use common pre-installed command line tools and your work should not rely on additional programs / tools / libraries / etc. If you are unsure of anything, please ask your tutor.
What should be submitted to Blackboard before the due date:
I. Documentation (5 pages maximum and minimum font size 10):
a) A specification of how to install and use the script(s) (max 1 page)
b) Design consideration – what commands you used, how you constructed your script(s) and justification why you chose these techniques. (1 page)
c) Extensive test results with exemplary log and screen output. (1 page)
d) Conclusion / Reflection – Advantages and disadvantages of your techniques / work (1 page)
e) Bibliography – An exhaustive list of references you used in your work (1 page)
II. One ZIP file will need to be uploaded to Blackboard, containing all coursework relevant files including scripts and exemplary log files. The documentation needs to be submitted to Turnitin assignment submission link on blackboard while the ZIP file needs to be uploaded separately via the Upload link on blackboard, both in the reassessment section.