From 338f3d731cf4ef5922611ab33e8bd389f55730ad Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 11 Dec 2024 16:16:04 +0100 Subject: [PATCH 1/3] Update sdwan.pm - Fix incorrect traffic counters calculation The traffic counters are reported via SNMP are in kbps and only needs to be multiple by 1000 to get the bps values. --- src/centreon/common/fortinet/fortigate/snmp/mode/sdwan.pm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/centreon/common/fortinet/fortigate/snmp/mode/sdwan.pm b/src/centreon/common/fortinet/fortigate/snmp/mode/sdwan.pm index 7fb29f1669..50411049fe 100644 --- a/src/centreon/common/fortinet/fortigate/snmp/mode/sdwan.pm +++ b/src/centreon/common/fortinet/fortigate/snmp/mode/sdwan.pm @@ -314,9 +314,9 @@ sub manage_selection { name => $self->{sdwan}->{$_}->{name}, vdom => $result->{vdom}, ifName => $result->{ifName}, - in => $result->{traffic_in} * 1000 * 1000, - out => $result->{traffic_out} * 1000 * 1000, - bi => $result->{traffic_bi} * 1000 * 1000, + in => $result->{traffic_in} * 1000, + out => $result->{traffic_out} * 1000, + bi => $result->{traffic_bi} * 1000, }; $self->{sdwan}->{$_}->{jitter} = { From c4e074025e9d86cde58cb39b35ea534b81d17818 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 10 Jan 2025 10:52:30 +0100 Subject: [PATCH 2/3] Update vpn.pm to add IPSec Tunnel Counter --- .../fortinet/fortigate/snmp/mode/vpn.pm | 25 +++++++++++++++---- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/src/centreon/common/fortinet/fortigate/snmp/mode/vpn.pm b/src/centreon/common/fortinet/fortigate/snmp/mode/vpn.pm index ab87fb8a6f..34449072f3 100644 --- a/src/centreon/common/fortinet/fortigate/snmp/mode/vpn.pm +++ b/src/centreon/common/fortinet/fortigate/snmp/mode/vpn.pm @@ -69,6 +69,14 @@ sub set_counters { { label => 'active_tunnels', template => '%d', min => 0, unit => 'tunnels', label_extra_instance => 1 } ] } + }, + { label => 'ipsec_tunnels_count', nlabel => 'vpn.ipsec.tunnels.state.count', set => { + key_values => [ { name => 'ipsec_tunnels_count' } ], + output_template => 'IPSec tunnels state up: %s', + perfdatas => [ + { label => 'ipsec_tunnels_count', template => '%d', min => 0, unit => 'tunnels', label_extra_instance => 1 } + ] + } } ]; @@ -128,7 +136,7 @@ sub new { 'filter-vpn:s' => { name => 'filter_vpn' }, 'filter-vdomain:s' => { name => 'filter_vdomain' }, 'warning-status:s' => { name => 'warning_status', default => '' }, - 'critical-status:s' => { name => 'critical_status', default => '%{state} eq "down"' } + 'critical-status:s' => { name => 'critical_status', default => '' } }); return $self; @@ -186,6 +194,7 @@ sub manage_selection { $self->{vd} = {}; my $duplicated = {}; + my $ipsec_tunnels_counter = 0; foreach my $oid (keys %{$snmp_result->{ $oid_fgVdEntName }}) { $oid =~ /^$oid_fgVdEntName\.(.*)$/; my $vdom_instance = $1; @@ -203,7 +212,8 @@ sub manage_selection { global => { users => $result->{fgVpnSslStatsLoginUsers}, tunnels => $result->{fgVpnSslStatsActiveTunnels}, - sessions => $result->{fgVpnSslStatsActiveWebSessions} + sessions => $result->{fgVpnSslStatsActiveWebSessions}, + ipsec_tunnels_count => $ipsec_tunnels_counter }, vpn => {}, }; @@ -238,8 +248,13 @@ sub manage_selection { traffic_in => $result->{fgVpnTunEntInOctets} * 8, traffic_out => $result->{fgVpnTunEntOutOctets} * 8 }; + # count tunnels in state up + if ($self->{vd}->{$vdomain_name}->{vpn}->{$name}->{state} eq "up") { + $ipsec_tunnels_counter++; + }; } - } + $self->{vd}->{$vdomain_name}->{global}->{ipsec_tunnels_count} = $ipsec_tunnels_counter; + } } 1; @@ -258,11 +273,11 @@ Filter name with regexp. Can be ('vdomain', 'vpn') =item B<--warning-*> -Warning on counters. Can be ('users', 'sessions', 'tunnels', 'traffic-in', 'traffic-out') +Warning on counters. Can be ('users', 'sessions', 'tunnels', 'traffic-in', 'traffic-out', 'ipsec_tunnels_count') =item B<--critical-*> -Warning on counters. Can be ('users', 'sessions', 'tunnels', 'traffic-in', 'traffic-out') +Warning on counters. Can be ('users', 'sessions', 'tunnels', 'traffic-in', 'traffic-out', 'ipsec_tunnels_count')) =item B<--warning-status> From 6510764b25dce8a7ee7ac407c0aef081d9dc4b4b Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 10 Jan 2025 10:58:04 +0100 Subject: [PATCH 3/3] Update sdwan.pm to original one --- src/centreon/common/fortinet/fortigate/snmp/mode/sdwan.pm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/centreon/common/fortinet/fortigate/snmp/mode/sdwan.pm b/src/centreon/common/fortinet/fortigate/snmp/mode/sdwan.pm index 50411049fe..7fb29f1669 100644 --- a/src/centreon/common/fortinet/fortigate/snmp/mode/sdwan.pm +++ b/src/centreon/common/fortinet/fortigate/snmp/mode/sdwan.pm @@ -314,9 +314,9 @@ sub manage_selection { name => $self->{sdwan}->{$_}->{name}, vdom => $result->{vdom}, ifName => $result->{ifName}, - in => $result->{traffic_in} * 1000, - out => $result->{traffic_out} * 1000, - bi => $result->{traffic_bi} * 1000, + in => $result->{traffic_in} * 1000 * 1000, + out => $result->{traffic_out} * 1000 * 1000, + bi => $result->{traffic_bi} * 1000 * 1000, }; $self->{sdwan}->{$_}->{jitter} = {