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) Users currently logged in
c) Devices plugged in (e.g. USB)
d) Disk usage
1. Overall disk usage
2. The user’s home directory (/home/someuser…)
3. Other key directories
e) Network interfaces and their states
f) Any other relevant information…
The script will need to be written to extract only key details about the changes to 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 satisfies a) to e) listed above. For higher marks you are expected to add relevant extra information (e.g. monitoring OS system file changes, monitoring installed applications, etc.) and relevant features, more easily readable output (e.g. HTML), configurable log levels (e.g. verbose, debug, standard and key-details only), etc.
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 about any detail of this coursework please ask your tutor.
Also you may be called to present and demonstrate the system and report if your module tutor is in doubt. Failure to proof ownership of your coursework may lead to a fail! What should be submitted to Blackboard before the due date:
I. Documentation (5 pages maximum (excluding title page, bibliography, appendices etc.) , 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.
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%.”
The learning outcomes that are assessed by this coursework are:
1. Demonstrate a systematic understanding of knowledge and show a critical awareness of currentproblems 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.