Requirements — System Health Monitor¶
Before starting this project, make sure you are comfortable with the topics below. Each links back to the relevant course section.
Knowledge Prerequisites¶
| Topic | Course section | Why you need it |
|---|---|---|
| Variables & arithmetic | day03-part1-variables-quoting | Storing and comparing metric values |
Control flow (if) |
day04-part1-control-flow | Threshold comparisons |
| Functions | day01-part1-functions | Modular metric collectors |
Error handling & trap |
day02-part1-error-handling | Graceful failures and cleanup |
| I/O & pipes | day05-part1-io-pipes | Capturing command output |
| cron | day04-part1-automation-tools | Scheduling unattended runs |
curl (optional) |
day04-part2-networking-apis | Sending Slack/webhook alerts |
Tool Prerequisites¶
All tools below come pre-installed on any standard Linux system:
# Verify before starting
bash --version # need 4.0+
uptime --version # part of procps
free --version # part of procps
df --version # part of coreutils
awk --version # part of gawk or mawk
For the optional Slack alerting step:
Estimated Time¶
| Mode | Time |
|---|---|
| Core script only | 2–3 hours |
| With config file and logging | 3–4 hours |
| With Slack alerts and cron | 4–5 hours |
| Full solution with all enhancements | 6–8 hours |
What You Will Produce¶
A single executable script health_check.sh plus:
- health_check.conf — user-configurable thresholds
- A cron entry that runs the check every 5 minutes
- A logfile at /var/log/health_check.log (or ~/logs/health_check.log)
Related Project¶
This project forms the foundation of the Capstone Project in day05-part1-capstone.