Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ Specification versions of reference:

### Supported NVMe CLI Versions

Supports [NVMe CLI](https://github.com/linux-nvme/nvme-cli) versions **2.8 and above**.
Supports [NVMe CLI](https://github.com/linux-nvme/nvme-cli) versions **2.3 and above**.

> **Note**: The exporter will continue to run with unsupported versions, but may produce incorrect data or fail scrapes.

Expand Down Expand Up @@ -158,7 +158,7 @@ docker run --rm -d --network=host --privileged nvme_exporter \

| Metric Name | Type | Description |
|-------------|------|-------------|
| `nvme_exporter_scrape_failures_total` | Counter | Total number of scrape failures due to validation errors (not root, nvme-cli not found, or unsupported version) |
| `nvme_exporter_scrape_failures_total` | Counter | Total number of scrape failures due to fatal validation errors (not root or nvme-cli not found) |

### NVMe Device Metrics

Expand Down
10 changes: 5 additions & 5 deletions cmd/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import (
"github.com/E4-Computer-Engineering/nvme_exporter/pkg/utils"
)

const _minimumSupportedVersion = "2.8"
const _minimumSupportedVersion = "2.3"

var (
validationState = struct {
Expand All @@ -33,8 +33,8 @@ var (
scrapeFailuresTotal = prometheus.NewCounter(
prometheus.CounterOpts{
Name: "nvme_exporter_scrape_failures_total",
Help: "Total number of scrape failures due to validation errors " +
"(not root, nvme-cli not found, or unsupported version)",
Help: "Total number of scrape failures due to fatal validation errors " +
"(not root or nvme-cli not found)",
},
)
)
Expand Down Expand Up @@ -278,8 +278,8 @@ func validateNVMeCLI() {
log.Printf("WARNING: NVMe cli version %s not supported, minimum required version is %s",
version, _minimumSupportedVersion)
log.Printf("WARNING: exporter will continue running but scrapes may fail or produce incorrect data")
setValidationError(fmt.Sprintf("unsupported nvme-cli version %s (minimum: %s)",
version, _minimumSupportedVersion))
// Note: We do NOT set validation error for version issues - we still attempt to collect data
// Only fatal errors (not root, nvme binary missing) should block collection entirely

return
}
Expand Down
Loading