Skip to content

Commit

Permalink
hddtemp_smartctl: configure warning and critical temps per device
Browse files Browse the repository at this point in the history
this is useful if you have a mix of drives in the system
(e.g. HDD + SSD) that have different temperature limits
  • Loading branch information
ap-wtioit committed Jul 13, 2023
1 parent 773972d commit 0b44ec5
Showing 1 changed file with 27 additions and 12 deletions.
39 changes: 27 additions & 12 deletions plugins/node.d/hddtemp_smartctl
Original file line number Diff line number Diff line change
Expand Up @@ -15,16 +15,20 @@ the harddrive devices.
The following environment variables are used
smartctl - path to smartctl executable
drives - List drives to monitor. E.g. "env.drives hda hdc".
type_$dev - device type for one drive, e.g. "env.type_sda 3ware,0"
or more typically "env.type_sda ata" if sda is a SATA disk.
args_$dev - additional arguments to smartctl for one drive,
e.g. "env.args_hda -v 194,10xCelsius". Use this to make
the plugin use the --all or -a option if your disk will
not return its temperature when only the -A option is
used.
dev_$dev - monitoring device for one drive, e.g. twe0
smartctl - path to smartctl executable
drives - List drives to monitor. E.g. "env.drives hda hdc".
type_$dev - device type for one drive, e.g. "env.type_sda 3ware,0"
or more typically "env.type_sda ata" if sda is a SATA disk.
args_$dev - additional arguments to smartctl for one drive,
e.g. "env.args_hda -v 194,10xCelsius". Use this to make
the plugin use the --all or -a option if your disk will
not return its temperature when only the -A option is
used.
dev_$dev - monitoring device for one drive, e.g. twe0
$dev.warning - set warning temperature for $dev, default 57 (°C)
e.g. "env.nvme0n1.warning 70"
$dev.critical - set critical temperature for $dev, default 60 (°C),
e.g. "env.nvme0n1.critical 80"
If the "smartctl" environment variable is not set the plugin will
search your $PATH, /usr/bin, /usr/sbin, /usr/local/bin and
Expand All @@ -46,6 +50,9 @@ All rights reserved.
2016-08-27, Gabriele Pohl ([email protected])
Fix for github issue #690
2023-07-23, Andreas Perhab, WT-IO-IT GmbH
enable configuring warning and critical temps
=head1 LICENSE
Redistribution and use in source and binary forms, with or without
Expand Down Expand Up @@ -227,8 +234,16 @@ if (defined $ARGV[0]) {
my @dirs = splitdir($_);
print $d . ".label " . $dirs[-1] . "\n";
print $d . ".max 100\n";
print $d . ".warning 57\n";
print $d . ".critical 60\n";
my $warning = "57";
if (defined($ENV{clean_fieldname($_) . ".warning"})) {
$warning = $ENV{clean_fieldname($_) . ".warning"};
}
print clean_fieldname($_) . ".warning $warning\n";
my $critical = "60";
if (defined($ENV{clean_fieldname($_) . ".critical"})) {
$critical = $ENV{clean_fieldname($_) . ".critical"};
}
print clean_fieldname($_) . ".critical $critical\n";
my $id = get_drive_id($_, device_for_drive($_), $use_nocheck);
print $d . ".info $id\n";
}
Expand Down

0 comments on commit 0b44ec5

Please sign in to comment.