SMART Log Plotter is a local web app for exploring SMART attribute history from
smartmontools logs. It parses timestamped attribute data and plots one
selected attribute over time, with support for both raw and normalized values.
This is useful when you want to inspect disk health trends (for example, temperature, pending sectors, reallocated sectors, or power-on hours) without manual spreadsheet work.
For a general description of SMART attributes and terminology, see:
- Parses log rows in this shape:
YYYY-MM-DD HH:mm:ss; attr; norm; raw; attr; norm; raw; ...
- Extracts attribute series by SMART ID.
- Lets you select one attribute from the detected list.
- Plots:
rawnormalizedboth(dual Y-axes)
- Shows summary info:
- number of parsed rows
- number of discovered attributes
- detected time range
Expected input is semicolon-separated text where each row starts with a timestamp and then repeats SMART triplets.
Example:
2020-07-14 13:04:23; 1; 67; 5113173; 3; 96; 0; 5; 100; 0;
Parser behavior:
- Splits by
; - Trims whitespace and tab characters
- Ignores empty trailing separators
- Skips unusable rows/values (invalid timestamp or non-numeric value)
Logs are usually found in /var/lib/smartmontools/ on Linux systems.
- React + TypeScript
- Vite
- Recharts
Install dependencies and start the dev server:
npm install
npm run devBuild for production:
npm run buildPreview a production build locally:
npm run preview- This project is client-side only (no backend).
- Timestamps are displayed using your local browser time formatting from parsed log data.
This repo includes a workflow at .github/workflows/deploy-pages.yml that
deploys to https://giorginolab.github.io/smartmontools_log_plotter/ . Data
is processed locally on your machine.
