diff options
Diffstat (limited to 'plugins')
| -rw-r--r-- | plugins/check_disk.c | 6 | ||||
| -rw-r--r-- | plugins/t/check_disk.t | 15 |
2 files changed, 18 insertions, 3 deletions
diff --git a/plugins/check_disk.c b/plugins/check_disk.c index d42b5486..e1a2baff 100644 --- a/plugins/check_disk.c +++ b/plugins/check_disk.c | |||
| @@ -1262,6 +1262,10 @@ mp_subcheck evaluate_filesystem(measurement_unit measurement_unit, bool display_ | |||
| 1262 | double free_inode_percentage = | 1262 | double free_inode_percentage = |
| 1263 | calculate_percent(measurement_unit.inodes_free, measurement_unit.inodes_total); | 1263 | calculate_percent(measurement_unit.inodes_free, measurement_unit.inodes_total); |
| 1264 | 1264 | ||
| 1265 | mp_perfdata inode_percentage_pd = perfdata_init(); | ||
| 1266 | inode_percentage_pd = mp_set_pd_value(inode_percentage_pd, free_inode_percentage); | ||
| 1267 | inode_percentage_pd = mp_pd_set_thresholds(inode_percentage_pd, measurement_unit.freeinodes_percent_thresholds); | ||
| 1268 | |||
| 1265 | if (verbose > 0) { | 1269 | if (verbose > 0) { |
| 1266 | printf("free inode percentage computed: %g\n", free_inode_percentage); | 1270 | printf("free inode percentage computed: %g\n", free_inode_percentage); |
| 1267 | } | 1271 | } |
| @@ -1293,7 +1297,7 @@ mp_subcheck evaluate_filesystem(measurement_unit measurement_unit, bool display_ | |||
| 1293 | inodes_pd = mp_pd_set_thresholds(inodes_pd, absolut_inode_thresholds); | 1297 | inodes_pd = mp_pd_set_thresholds(inodes_pd, absolut_inode_thresholds); |
| 1294 | 1298 | ||
| 1295 | freeindodes_percent_sc = | 1299 | freeindodes_percent_sc = |
| 1296 | mp_set_subcheck_state(freeindodes_percent_sc, mp_get_pd_status(inodes_pd)); | 1300 | mp_set_subcheck_state(freeindodes_percent_sc, mp_get_pd_status(inode_percentage_pd)); |
| 1297 | if (display_inodes_perfdata) { | 1301 | if (display_inodes_perfdata) { |
| 1298 | mp_add_perfdata_to_subcheck(&freeindodes_percent_sc, inodes_pd); | 1302 | mp_add_perfdata_to_subcheck(&freeindodes_percent_sc, inodes_pd); |
| 1299 | } | 1303 | } |
diff --git a/plugins/t/check_disk.t b/plugins/t/check_disk.t index 0f62fb2b..72a83ea4 100644 --- a/plugins/t/check_disk.t +++ b/plugins/t/check_disk.t | |||
| @@ -80,14 +80,25 @@ if($free_percent_on_mp1 == $avg_free_percent || $free_percent_on_mp2 == $avg_fre | |||
| 80 | die "One mountpoints has average space free - cannot do rest of test"; | 80 | die "One mountpoints has average space free - cannot do rest of test"; |
| 81 | } | 81 | } |
| 82 | 82 | ||
| 83 | my $free_inodes_on_mp1 = $result->{'mp_test_result'}->{'checks'}->[1]->{'checks'}[2]->{'perfdata'}->[0]->{'value'}->{'value'}; | 83 | my $used_inodes_on_mp1 = $result->{'mp_test_result'}->{'checks'}->[1]->{'checks'}[2]->{'perfdata'}->[0]->{'value'}->{'value'}; |
| 84 | my $total_inodes_on_mp1 = $result->{'mp_test_result'}->{'checks'}->[1]->{'checks'}[2]->{'perfdata'}->[0]->{'max'}->{'value'}; | 84 | my $total_inodes_on_mp1 = $result->{'mp_test_result'}->{'checks'}->[1]->{'checks'}[2]->{'perfdata'}->[0]->{'max'}->{'value'}; |
| 85 | |||
| 86 | my $free_inodes_on_mp1 = $total_inodes_on_mp1 - $used_inodes_on_mp1; | ||
| 85 | my $free_inode_percentage_on_mp1 = $free_inodes_on_mp1 / ($total_inodes_on_mp1 / 100); | 87 | my $free_inode_percentage_on_mp1 = $free_inodes_on_mp1 / ($total_inodes_on_mp1 / 100); |
| 86 | 88 | ||
| 87 | my $free_inodes_on_mp2 = $result->{'mp_test_result'}->{'checks'}->[0]->{'checks'}[2]->{'perfdata'}->[0]->{'value'}->{'value'}; | 89 | # print("free inodes on mp1: " . $free_inodes_on_mp1 . "\n"); |
| 90 | # print("total inodes on mp1: " . $total_inodes_on_mp1 . "\n"); | ||
| 91 | # print("free inode percentage on mp1: " . $free_inode_percentage_on_mp1 . "\n"); | ||
| 92 | |||
| 93 | my $used_inodes_on_mp2 = $result->{'mp_test_result'}->{'checks'}->[0]->{'checks'}[2]->{'perfdata'}->[0]->{'value'}->{'value'}; | ||
| 88 | my $total_inodes_on_mp2 = $result->{'mp_test_result'}->{'checks'}->[0]->{'checks'}[2]->{'perfdata'}->[0]->{'max'}->{'value'}; | 94 | my $total_inodes_on_mp2 = $result->{'mp_test_result'}->{'checks'}->[0]->{'checks'}[2]->{'perfdata'}->[0]->{'max'}->{'value'}; |
| 95 | my $free_inodes_on_mp2 = $total_inodes_on_mp2 - $used_inodes_on_mp2; | ||
| 89 | my $free_inode_percentage_on_mp2 = $free_inodes_on_mp2 / ($total_inodes_on_mp2 / 100); | 96 | my $free_inode_percentage_on_mp2 = $free_inodes_on_mp2 / ($total_inodes_on_mp2 / 100); |
| 90 | 97 | ||
| 98 | # print("free inodes on mp2: " . $free_inodes_on_mp2 . "\n"); | ||
| 99 | # print("total inodes on mp2: " . $total_inodes_on_mp2 . "\n"); | ||
| 100 | # print("free inode percentage on mp2: " . $free_inode_percentage_on_mp2 . "\n"); | ||
| 101 | |||
| 91 | my $avg_inode_free_percentage = ceil(($free_inode_percentage_on_mp1 + $free_inode_percentage_on_mp2)/2); | 102 | my $avg_inode_free_percentage = ceil(($free_inode_percentage_on_mp1 + $free_inode_percentage_on_mp2)/2); |
| 92 | my ($more_inode_free, $less_inode_free); | 103 | my ($more_inode_free, $less_inode_free); |
| 93 | if ($free_inode_percentage_on_mp1 > $free_inode_percentage_on_mp2) { | 104 | if ($free_inode_percentage_on_mp1 > $free_inode_percentage_on_mp2) { |
