Skip to content

Conversation

@Starosdev
Copy link
Owner

Summary

This release integrates 9 upstream PRs from AnalogJ/scrutiny that have been tested and verified.

Features

Fixes

Testing

All features manually tested on develop branch with 15+ drives:

  • Prometheus metrics: PASS
  • Temperature conversion: PASS
  • Day resolution: PASS
  • Device mute/unmute: PASS
  • SCT temperature: PASS
  • Query performance: PASS
  • SAS temperature: N/A (no hardware)
  • Transient failures: PASS (code review)

Upstream PRs Integrated

dcelasun and others added 29 commits September 24, 2022 22:33
As discussed in [1] some SMART errors are transient and should not
be treated as permanent.

This commit adds support for a configurable list of ATA SMART attribute
IDs, failures of which will be treated as transient. Drive health history
is still recorded and notifications are sent, but the device itself is
not marked as failed.

Fixes AnalogJ#374.

[1] AnalogJ#374
(not tested yet)
Conflicts:
	webapp/backend/pkg/database/scrutiny_repository_migrations.go
This commit makes two modification to smart temperature logging:
- Even if ata_sct_temperature_history is present, log current time.
- Forcefully align each ata_sct_temperature_history data point according to
  logging interval reported in SMART. This prevents duplicated datapoints.

Fixes 824
…fetching recent entries

- Updated the aggregation logic in `aggregateSmartAttributesQuery` to utilize `limit()` for retrieving the newest entries after sorting, ensuring correct data retrieval.
- Adjusted subquery construction to improve clarity and maintainability.
- Enhanced comments for better understanding of the changes made.

(cherry picked from commit c1f70ff)
- Added configuration options for enabling Prometheus metrics in `example.scrutiny.yaml` and `config.go`.
- Introduced a new `metrics` package to handle metrics collection and registration.
- Created a `ScrutinyCollector` to gather device metrics and expose them via a `/metrics` endpoint.
- Updated the web server to conditionally register the metrics endpoint based on configuration.
- Implemented caching for device details to optimize metrics collection.
- Added tests for utility functions related to metrics sanitization and parsing.

This commit enhances the monitoring capabilities of Scrutiny by integrating Prometheus metrics support.
@Starosdev Starosdev merged commit 872cfb1 into master Nov 30, 2025
13 of 15 checks passed
@Starosdev
Copy link
Owner Author

Release Integration (2025-11-30)

Batch integration of upstream contributions into Starosdev/scrutiny.

Changes Made

  1. Prometheus metrics endpoint - /api/metrics for monitoring integration
  2. Device notification mute/unmute - Per-device notification control
  3. Day resolution for temperature graph - New time range option
  4. SCT temperature history setting - Configurable SCT data handling
  5. SAS temperature support - Extended temperature parsing for SAS drives
  6. Temperature conversion fix - Corrected Fahrenheit calculation
  7. Better SCT temperature handling - Fixes duplicated/missing datapoints
  8. Query optimization - Use limit() instead of tail() for SMART attributes
  9. Transient SMART failure handling - Graceful handling of temporary failures
  10. SCSI migration fix - Added missing temperature parameter
PR #41
Release v1.1.0
Docker ghcr.io/starosdev/scrutiny

Thanks to all upstream contributors.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants