Adding d/p/25_check_snmp_int_add_metrik from upsgtream
This commit is contained in:
parent
d0702fa34d
commit
5638743330
2 changed files with 83 additions and 0 deletions
82
debian/patches/25_check_snmp_int_add_metrik
vendored
Normal file
82
debian/patches/25_check_snmp_int_add_metrik
vendored
Normal file
|
@ -0,0 +1,82 @@
|
||||||
|
From a0f606c2c29d1f5588fab0b464a7e905f3872255 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Patrick Grimm <patrick@lunatiki.de>
|
||||||
|
Date: Mon, 11 Mar 2024 18:28:15 +0100
|
||||||
|
Subject: [PATCH] add metrik for Interface speed K|M|G Bits/s and more comments
|
||||||
|
|
||||||
|
---
|
||||||
|
doc/04-Plugins.md | 2 ++
|
||||||
|
plugins/check_snmp_int.pl | 20 ++++++++++++--------
|
||||||
|
2 files changed, 14 insertions(+), 8 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/doc/04-Plugins.md b/doc/04-Plugins.md
|
||||||
|
index bf2a593..21b672a 100644
|
||||||
|
--- a/doc/04-Plugins.md
|
||||||
|
+++ b/doc/04-Plugins.md
|
||||||
|
@@ -211,10 +211,12 @@ Usage: ./check_snmp_int.pl [-v] -H <host> -C <snmp_community> [-2] | (-l login -
|
||||||
|
warning level for input / output bandwidth (0 for no warning)
|
||||||
|
unit depends on B,M,G,u options and interface speed is in bps
|
||||||
|
warning for error & discard input / output in error/min (need -q)
|
||||||
|
+ warning level for interface speed only in K|M|G Bits/s (0 for no warning)
|
||||||
|
-c, --critical=input,output[,error in,error out,discard in,discard out,interface speed]
|
||||||
|
critical level for input / output bandwidth (0 for no critical)
|
||||||
|
unit depends on B,M,G,u options and interface speed is in bps
|
||||||
|
critical for error & discard input / output in error/min (need -q)
|
||||||
|
+ critical level for interface speed only in K|M|G Bits/s (0 for no critical)
|
||||||
|
-s, --short=int
|
||||||
|
Make the output shorter : only the first <n> chars of the interface(s)
|
||||||
|
If the number is negative, then get the <n> LAST caracters.
|
||||||
|
diff --git a/plugins/check_snmp_int.pl b/plugins/check_snmp_int.pl
|
||||||
|
index d978c66..fd45a61 100755
|
||||||
|
--- a/plugins/check_snmp_int.pl
|
||||||
|
+++ b/plugins/check_snmp_int.pl
|
||||||
|
@@ -266,10 +266,12 @@ sub help {
|
||||||
|
warning level for input / output bandwidth (0 for no warning)
|
||||||
|
unit depends on B,M,G,u options
|
||||||
|
warning for error & discard input / output in error/min (need -q)
|
||||||
|
+ warning level for interface speed only in K|M|G Bits/s (0 for no warning)
|
||||||
|
-c, --critical=input,output[,error in,error out,discard in,discard out,interface speed]
|
||||||
|
critical level for input / output bandwidth (0 for no critical)
|
||||||
|
unit depends on B,M,G,u options
|
||||||
|
critical for error & discard input / output in error/min (need -q)
|
||||||
|
+ critical level for interface speed only in K|M|G Bits/s (0 for no critical)
|
||||||
|
-s, --short=int
|
||||||
|
Make the output shorter : only the first <n> chars of the interface(s)
|
||||||
|
If the number is negative, then get the <n> LAST caracters.
|
||||||
|
@@ -955,16 +957,18 @@ sub check_options {
|
||||||
|
if ($l == 0 || $l == 1) { $print_out .= $speed_unit; }
|
||||||
|
}
|
||||||
|
if (defined($o_perfs) && defined($o_ext_checkperf)) {
|
||||||
|
+ my $warn_factor = (defined($o_meg)) ? 1000000 : (defined($o_gig)) ? 1000000000 : 1000;
|
||||||
|
$print_out .= "/";
|
||||||
|
- if (defined($o_crit[6]) && ($o_crit[6] != 0) && ($speed_real < $o_crit[6])) {
|
||||||
|
+ if (defined($o_crit[6]) && ($o_crit[6] != 0) && ($speed_real / $warn_factor < $o_crit[6])) {
|
||||||
|
$final_status = 2;
|
||||||
|
- $print_out .= sprintf("CRIT %.0fbps", $speed_real);
|
||||||
|
- } elsif (defined($o_warn[6]) && ($o_warn[6] != 0) && ($speed_real < $o_warn[6])) {
|
||||||
|
+ $print_out .= sprintf("CRIT %.0f", $speed_real / $warn_factor);
|
||||||
|
+ } elsif (defined($o_warn[6]) && ($o_warn[6] != 0) && ($speed_real / $warn_factor < $o_warn[6])) {
|
||||||
|
$final_status = ($final_status == 2) ? 2 : 1;
|
||||||
|
- $print_out .= sprintf("WARN %.0fbps", $speed_real);
|
||||||
|
+ $print_out .= sprintf("WARN %.0f", $speed_real / $warn_factor);
|
||||||
|
} else {
|
||||||
|
- $print_out .= sprintf("%.0fbps", $speed_real);
|
||||||
|
+ $print_out .= sprintf("%.0f", $speed_real / $warn_factor);
|
||||||
|
}
|
||||||
|
+ $print_out .= (defined($o_meg)) ? "Mbps" : (defined($o_gig)) ? "Gbps" : "kbps";
|
||||||
|
}
|
||||||
|
$print_out .= ")";
|
||||||
|
} else { # Return unknown when no data
|
||||||
|
@@ -1058,10 +1062,10 @@ sub check_options {
|
||||||
|
$perf_out .= "'" . $descr[$i] . "_out_discard'=" . $$result{ $oid_perf_outdisc[$i] } . "c ";
|
||||||
|
}
|
||||||
|
if (defined($o_perfs)) {
|
||||||
|
- $speed_real = "" unless (defined($speed_real));
|
||||||
|
+ my $warn_factor = (defined($o_meg)) ? 1000000 : (defined($o_gig)) ? 1000000000 : 1000;
|
||||||
|
$perf_out .= "'" . $descr[$i] . "_speed_bps'=" . $speed_real . ";";
|
||||||
|
- $perf_out .= defined($o_warn[6]) ? $o_warn[6] . ";" : ";";
|
||||||
|
- $perf_out .= defined($o_crit[6]) ? $o_crit[6] . ";" : ";";
|
||||||
|
+ $perf_out .= defined($o_warn[6]) ? $o_warn[6] * $warn_factor . ";" : ";";
|
||||||
|
+ $perf_out .= defined($o_crit[6]) ? $o_crit[6] * $warn_factor . ";" : ";";
|
||||||
|
$perf_out .= "; ";
|
||||||
|
}
|
||||||
|
if (defined($o_weather) && $usable_data == 1) {
|
1
debian/patches/series
vendored
1
debian/patches/series
vendored
|
@ -13,5 +13,6 @@
|
||||||
22_check_snmp_storage_fix_space_btrfs
|
22_check_snmp_storage_fix_space_btrfs
|
||||||
23_check_snmp_int_interface_speed
|
23_check_snmp_int_interface_speed
|
||||||
24_tcp_udp_ipv4_ipv6
|
24_tcp_udp_ipv4_ipv6
|
||||||
|
25_check_snmp_int_add_metrik
|
||||||
50_disable_epn
|
50_disable_epn
|
||||||
51_fix_privacy_doc
|
51_fix_privacy_doc
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue