1
0
mirror of https://github.com/opinkerfi/nagios-plugins.git synced 2024-11-14 22:43:46 +01:00

Compare commits

..

1 Commits

Author SHA1 Message Date
Your Name
e45625a179 Automatic commit of package [nagios-okplugin-check_xroad_token] release [1.0.3-1]. 2020-09-14 11:03:48 +00:00
5 changed files with 162 additions and 223 deletions

65
check_snmp/check_snmp_cpfw.pl Executable file → Normal file
View File

@ -5,9 +5,6 @@
# Author : Patrick Proy (patrick at proy.org) # Author : Patrick Proy (patrick at proy.org)
# Help : http://nagios.manubulon.com # Help : http://nagios.manubulon.com
# Licence : GPL - http://www.fsf.org/licenses/gpl.txt # Licence : GPL - http://www.fsf.org/licenses/gpl.txt
# Patch 1.2.1c
# Author : monitoreo.osi@uchile.cl
# Desc: warn/crit threshold to conns/seg check
# TODO : # TODO :
# - check sync method # - check sync method
################################################################# #################################################################
@ -22,7 +19,6 @@ use Getopt::Long;
# Nagios specific # Nagios specific
use lib "/usr/local/nagios/libexec"; use lib "/usr/local/nagios/libexec";
#use lib "/usr/lib/nagios/plugins"; # use in ubugtu
use utils qw(%ERRORS $TIMEOUT); use utils qw(%ERRORS $TIMEOUT);
#my $TIMEOUT = 15; #my $TIMEOUT = 15;
#my %ERRORS=('OK'=>0,'WARNING'=>1,'CRITICAL'=>2,'UNKNOWN'=>3,'DEPENDENT'=>4); #my %ERRORS=('OK'=>0,'WARNING'=>1,'CRITICAL'=>2,'UNKNOWN'=>3,'DEPENDENT'=>4);
@ -30,12 +26,11 @@ use utils qw(%ERRORS $TIMEOUT);
########### SNMP Datas ########### ########### SNMP Datas ###########
###### FW data ###### FW data
my $policy_state = "1.3.6.1.4.1.2620.1.1.1.0"; # Installed my $policy_state = "1.3.6.1.4.1.2620.1.1.1.0"; # "Installed"
my $policy_name = "1.3.6.1.4.1.2620.1.1.2.0"; # Installed policy name my $policy_name = "1.3.6.1.4.1.2620.1.1.2.0"; # Installed policy name
my $connections = "1.3.6.1.4.1.2620.1.1.25.3.0"; # Number of connections my $connections = "1.3.6.1.4.1.2620.1.1.25.3.0"; # number of connections
my $connectionsSR = "1.3.6.1.4.1.2620.1.1.26.11.6.0" ; # FwConnectionsStatConnectionRate aka connx/seg #my $connections_peak = "1.3.6.1.4.1.2620.1.1.25.4.0"; # peak number of connections
my $connectionsPeak = "1.3.6.1.4.1.2620.1.1.25.4.0"; # Peak number of connections my @fw_checks = ($policy_state,$policy_name,$connections);
my @fw_checks = ($policy_state,$policy_name,$connections,$connectionsSR,$connectionsPeak);
###### SVN data ###### SVN data
my $svn_status = "1.3.6.1.4.1.2620.1.6.102.0"; # "OK" svn status my $svn_status = "1.3.6.1.4.1.2620.1.6.102.0"; # "OK" svn status
@ -47,8 +42,8 @@ my @svn_checks_oid = ($svn_status);
my $ha_active = "1.3.6.1.4.1.2620.1.5.5.0"; # "yes" my $ha_active = "1.3.6.1.4.1.2620.1.5.5.0"; # "yes"
my $ha_state = "1.3.6.1.4.1.2620.1.5.6.0"; # "active" / "standby" my $ha_state = "1.3.6.1.4.1.2620.1.5.6.0"; # "active" / "standby"
my $ha_block_state = "1.3.6.1.4.1.2620.1.5.7.0"; #"OK" : ha blocking state
my $ha_status = "1.3.6.1.4.1.2620.1.5.102.0"; # "OK" : ha status my $ha_status = "1.3.6.1.4.1.2620.1.5.102.0"; # "OK" : ha status
my $ha_block_state = "1.3.6.1.4.1.2620.1.5.7.0"; # "OK" : ha blocking state
my %ha_checks =( $ha_active,"yes",$ha_state,"active",$ha_block_state,"OK",$ha_status,"OK"); my %ha_checks =( $ha_active,"yes",$ha_state,"active",$ha_block_state,"OK",$ha_status,"OK");
my %ha_checks_stand =( $ha_active,"yes",$ha_state,"standby",$ha_block_state,"OK",$ha_status,"OK"); my %ha_checks_stand =( $ha_active,"yes",$ha_state,"standby",$ha_block_state,"OK",$ha_status,"OK");
@ -56,6 +51,7 @@ my %ha_checks_n =( $ha_active,"HA active",$ha_state,"HA state",$ha_block_sta
my @ha_checks_oid =( $ha_active,$ha_state,$ha_block_state,$ha_status); my @ha_checks_oid =( $ha_active,$ha_state,$ha_block_state,$ha_status);
my $ha_mode = "1.3.6.1.4.1.2620.1.5.11.0"; # "Sync only"/"High Availability (Active Up)" : ha Working mode my $ha_mode = "1.3.6.1.4.1.2620.1.5.11.0"; # "Sync only"/"High Availability (Active Up)" : ha Working mode
my $ha_tables = "1.3.6.1.4.1.2620.1.5.13.1"; # ha status table my $ha_tables = "1.3.6.1.4.1.2620.1.5.13.1"; # ha status table
my $ha_tables_index = ".1"; my $ha_tables_index = ".1";
my $ha_tables_name = ".2"; my $ha_tables_name = ".2";
@ -77,11 +73,11 @@ my @mgmt_checks_oid = ($mgmt_status,$mgmt_alive);
#################################### Globals ##############################"" #################################### Globals ##############################""
my $Version='1.2.1b'; my $Version='1.2.1';
my $o_host = undef; # hostname my $o_host = undef; # hostname
my $o_community = undef; # community my $o_community = undef; # community
my $o_version2 = undef; # Version 2 my $o_version2 =undef; # Version 2
my $o_port = 161; # port my $o_port = 161; # port
my $o_help= undef; # wan't some help ? my $o_help= undef; # wan't some help ?
my $o_verb= undef; # verbose mode my $o_verb= undef; # verbose mode
@ -89,15 +85,12 @@ my $o_version= undef; # print version
my $o_timeout= 5; # Default 5s Timeout my $o_timeout= 5; # Default 5s Timeout
my $o_warn= undef; # Warning for connections my $o_warn= undef; # Warning for connections
my $o_crit= undef; # Crit for connections my $o_crit= undef; # Crit for connections
my $o_warnSR= undef; # Warning for connectionsSR
my $o_critSR= undef; # Crit for connectionsSR
my $o_svn= undef; # Check for SVN status my $o_svn= undef; # Check for SVN status
my $o_fw= undef; # Check for FW status my $o_fw= undef; # Check for FW status
my $o_ha= undef; # Check for HA status my $o_ha= undef; # Check for HA status
my $o_mgmt= undef; # Check for management status my $o_mgmt= undef; # Check for management status
my $o_policy= undef; # Check for policy name my $o_policy= undef; # Check for policy name
my $o_conn= undef; # Check for connexions my $o_conn= undef; # Check for connexions
my $o_connSR= undef; # Check for connexionsSR
my $o_perf= undef; # Performance data output my $o_perf= undef; # Performance data output
# SNMPv3 specific # SNMPv3 specific
@ -113,7 +106,7 @@ my $o_privpass= undef; # priv password
sub p_version { print "check_snmp_cpfw version : $Version\n"; } sub p_version { print "check_snmp_cpfw version : $Version\n"; }
sub print_usage { sub print_usage {
print "Usage: $0 [-v] -H <host> -C <snmp_community> [-2] | (-l login -x passwd [-X pass -L <authp>,<privp>]) [-s] [-w [-p=pol_name] [-c=warn,crit]] [-r=warn,crit]] [-m] [-a [standby] ] [-f] [-p <port>] [-t <timeout>] [-V]\n"; print "Usage: $0 [-v] -H <host> -C <snmp_community> [-2] | (-l login -x passwd [-X pass -L <authp>,<privp>]) [-s] [-w [-p=pol_name] [-c=warn,crit]] [-m] [-a [standby] ] [-f] [-p <port>] [-t <timeout>] [-V]\n";
} }
sub isnnum { # Return true if arg is not a number sub isnnum { # Return true if arg is not a number
@ -124,7 +117,7 @@ sub isnnum { # Return true if arg is not a number
sub help { sub help {
print "\nSNMP Checkpoint FW-1 Monitor for Nagios version ",$Version,"\n"; print "\nSNMP Checkpoint FW-1 Monitor for Nagios version ",$Version,"\n";
print "GPL Licence, (c)2004-2020 - Patrick Proy\n\n"; print "GPL Licence, (c)2004-2007 - Patrick Proy\n\n";
print_usage(); print_usage();
print <<EOT; print <<EOT;
-v, --verbose -v, --verbose
@ -164,8 +157,6 @@ sub help {
SNMP port (Default 161) SNMP port (Default 161)
-t, --timeout=INTEGER -t, --timeout=INTEGER
timeout for SNMP (Default: Nagios default) timeout for SNMP (Default: Nagios default)
-r, --connexionsSR=WARN,CRIT
check warn and critical number of connexionsSR (must have -w)
-V, --version -V, --version
prints version number prints version number
EOT EOT
@ -195,7 +186,6 @@ sub check_options {
'm' => \$o_mgmt, 'mgmt' => \$o_mgmt, 'm' => \$o_mgmt, 'mgmt' => \$o_mgmt,
'p:s' => \$o_policy, 'policy:s' => \$o_policy, 'p:s' => \$o_policy, 'policy:s' => \$o_policy,
'c:s' => \$o_conn, 'connexions:s' => \$o_conn, 'c:s' => \$o_conn, 'connexions:s' => \$o_conn,
'r:s' => \$o_connSR, 'rate:s' => \$o_connSR,
'f' => \$o_perf, 'perfparse' => \$o_perf 'f' => \$o_perf, 'perfparse' => \$o_perf
); );
if (defined ($o_help) ) { help(); exit $ERRORS{"UNKNOWN"}}; if (defined ($o_help) ) { help(); exit $ERRORS{"UNKNOWN"}};
@ -228,18 +218,6 @@ sub check_options {
if ($o_warn >= $o_crit) if ($o_warn >= $o_crit)
{ print "warning <= critical ! \n";print_usage(); exit $ERRORS{"UNKNOWN"}} { print "warning <= critical ! \n";print_usage(); exit $ERRORS{"UNKNOWN"}}
} }
if ( defined($o_connSR)) {
if ( ! defined($o_fw))
{ print "Cannot check connexionsSR without checking fw\n"; print_usage(); exit $ERRORS{"UNKNOWN"}}
my @warncritSR=split(/,/ , $o_connSR);
if ( $#warncritSR != 1 )
{ print "Put warn,crit levels with -c option\n";print_usage(); exit $ERRORS{"UNKNOWN"}}
($o_warnSR,$o_critSR)=@warncritSR;
if ( isnnum($o_warnSR) || isnnum($o_critSR) )
{ print "Numeric values for warning and critical in -r options\n";print_usage(); exit $ERRORS{"UNKNOWN"}}
if ($o_warnSR >= $o_critSR)
{ print "warning <= critical ! \n";print_usage(); exit $ERRORS{"UNKNOWN"}}
}
if ( defined($o_policy)) { if ( defined($o_policy)) {
if (! defined($o_fw)) if (! defined($o_fw))
{ print "Cannot check policy name without checking fw\n"; print_usage(); exit $ERRORS{"UNKNOWN"}} { print "Cannot check policy name without checking fw\n"; print_usage(); exit $ERRORS{"UNKNOWN"}}
@ -252,6 +230,7 @@ sub check_options {
{ print "Must select a product to check !\n";print_usage(); exit $ERRORS{"UNKNOWN"}} { print "Must select a product to check !\n";print_usage(); exit $ERRORS{"UNKNOWN"}}
if (defined ($o_ha) && ($o_ha ne "") && ($o_ha ne "standby")) if (defined ($o_ha) && ($o_ha ne "") && ($o_ha ne "standby"))
{ print "-a option comes with 'standby' or nothing !\n";print_usage(); exit $ERRORS{"UNKNOWN"}} { print "-a option comes with 'standby' or nothing !\n";print_usage(); exit $ERRORS{"UNKNOWN"}}
} }
########## MAIN ####### ########## MAIN #######
@ -401,8 +380,6 @@ if (defined ($o_mgmt)) {
my $fw_state=0; my $fw_state=0;
my $fw_print=""; my $fw_print="";
my $perf_conn=undef; my $perf_conn=undef;
my $perf_connSR=undef;
my $perf_connPeak=undef;
if (defined ($o_fw)) { if (defined ($o_fw)) {
@ -415,8 +392,6 @@ if (defined ($o_fw)) {
verb("State : $$resultat{$policy_state}"); verb("State : $$resultat{$policy_state}");
verb("Name : $$resultat{$policy_name}"); verb("Name : $$resultat{$policy_name}");
verb("connections : $$resultat{$connections}"); verb("connections : $$resultat{$connections}");
verb("connectionsSR : $$resultat{$connectionsSR}");
verb("connectionsPeak : $$resultat{$connectionsPeak}");
if ($$resultat{$policy_state} ne "Installed") { if ($$resultat{$policy_state} ne "Installed") {
$fw_state=2; $fw_state=2;
@ -442,22 +417,6 @@ if (defined ($o_fw)) {
} }
} }
$perf_conn=$$resultat{$connections}; $perf_conn=$$resultat{$connections};
$perf_connSR=$$resultat{$connectionsSR};
$perf_connPeak=$$resultat{$connectionsPeak};
}
if (defined($o_connSR)) {
if ($$resultat{$connectionsSR} > $o_critSR) {
$fw_state=3;
$fw_print .= "Conn/seg : ".$$resultat{$connectionsSR}." > ".$o_critSR." ";
} else {
if ($$resultat{$connectionsSR} > $o_warnSR) {
if ($fw_state!=3) {$fw_state=1;}
$fw_print .= "Conn/seg : ".$$resultat{$connectionsSR}." > ".$o_warnSR." ";
}
}
$perf_conn=$$resultat{$connections};
$perf_connSR=$$resultat{$connectionsSR};
$perf_connPeak=$$resultat{$connectionsPeak};
} }
} else { } else {
$fw_print .= "cannot find oids"; $fw_print .= "cannot find oids";
@ -589,8 +548,6 @@ if (($ha_state_n+$svn_state+$fw_state+$mgmt_state) == 0 ) {
if (defined($o_perf) && defined ($perf_conn)) { if (defined($o_perf) && defined ($perf_conn)) {
$f_print .= " | fw_connexions=" . $perf_conn; $f_print .= " | fw_connexions=" . $perf_conn;
$f_print .= " | fw_connexionsSR=" . $perf_connSR;
$f_print .= " | fw_connexionsPeak=" . $perf_connPeak;
} }
print "$f_print\n"; print "$f_print\n";

View File

@ -2,7 +2,7 @@
Summary: A Nagios plugin to check status of XROAD soft-token Summary: A Nagios plugin to check status of XROAD soft-token
Name: nagios-okplugin-check_xroad_token Name: nagios-okplugin-check_xroad_token
Version: 1.2 Version: 1.0.3
Release: 1%{?dist} Release: 1%{?dist}
License: GPLv2+ License: GPLv2+
Group: Applications/System Group: Applications/System
@ -45,7 +45,10 @@ rm -rf %{buildroot}
restorecon -v %{_libdir}/nagios/plugins/check_xroad_token.sh /etc/nrpe.d/check_xroad_token.cfg /etc/sudoers.d/check_xroad_token restorecon -v %{_libdir}/nagios/plugins/check_xroad_token.sh /etc/nrpe.d/check_xroad_token.cfg /etc/sudoers.d/check_xroad_token
%changelog %changelog
* Mon Sep 14 2020 Your Name <you@example.com> 1.2-1 * Mon Sep 14 2020 Your Name <you@example.com> 1.0.3-1
- new package built with tito
* Mon Sep 14 2020 Your Name <you@example.com>
- new package built with tito - new package built with tito
* Fri Sep 11 2020 Gardar Thorsteinsson <gardart@gmail.com> 1.0.1-1 * Fri Sep 11 2020 Gardar Thorsteinsson <gardart@gmail.com> 1.0.1-1

View File

@ -1,9 +0,0 @@
# Required steps to use this check
```shell
# On RHEL/Centos
sudo semanage permissive -a nrpe_t
sudo setsebool -P nagios_run_sudo 1
sudo yum install nagios-okplugin-check_xroad_token -y
sudo systemctl restart nrpe
```

View File

@ -1 +1 @@
1.2-1 check_xroad_token/ 1.0.3-1 check_xroad_token/

View File

@ -3,7 +3,6 @@
releaser = tito.release.YumRepoReleaser releaser = tito.release.YumRepoReleaser
builder = tito.builder.MockBuilder builder = tito.builder.MockBuilder
builder.mock = epel-7-x86_64 builder.mock = epel-7-x86_64
srpm_disttag = .el7
rsync = tito@opensource.is:/var/www/sites/opensource.ok.is/repo/rhel7/x86_64/ rsync = tito@opensource.is:/var/www/sites/opensource.ok.is/repo/rhel7/x86_64/
# RHEL 7 Test # RHEL 7 Test
@ -11,7 +10,6 @@ rsync = tito@opensource.is:/var/www/sites/opensource.ok.is/repo/rhel7/x86_64/
releaser = tito.release.YumRepoReleaser releaser = tito.release.YumRepoReleaser
builder = tito.builder.MockBuilder builder = tito.builder.MockBuilder
builder.mock = epel-7-x86_64 builder.mock = epel-7-x86_64
srpm_disttag = .el7
builder.test = 1 builder.test = 1
rsync = tito@opensource.is:/var/www/sites/opensource.ok.is/repo/testing/rhel7/x86_64/ rsync = tito@opensource.is:/var/www/sites/opensource.ok.is/repo/testing/rhel7/x86_64/
@ -21,14 +19,12 @@ rsync = tito@opensource.is:/var/www/sites/opensource.ok.is/repo/testing/rhel7/x8
releaser = tito.release.YumRepoReleaser releaser = tito.release.YumRepoReleaser
builder = tito.builder.MockBuilder builder = tito.builder.MockBuilder
builder.mock = epel-6-x86_64 builder.mock = epel-6-x86_64
srpm_disttag = .el6
rsync = tito@opensource.is:/var/www/sites/opensource.ok.is/repo/rhel6/x86_64/ rsync = tito@opensource.is:/var/www/sites/opensource.ok.is/repo/rhel6/x86_64/
[production-el6-i386] [production-el6-i386]
releaser = tito.release.YumRepoReleaser releaser = tito.release.YumRepoReleaser
builder = tito.builder.MockBuilder builder = tito.builder.MockBuilder
builder.mock = epel-6-i386 builder.mock = epel-6-i386
srpm_disttag = .el6
rsync = tito@opensource.is:/var/www/sites/opensource.ok.is/repo/rhel6/i386/ rsync = tito@opensource.is:/var/www/sites/opensource.ok.is/repo/rhel6/i386/
@ -38,7 +34,6 @@ rsync = tito@opensource.is:/var/www/sites/opensource.ok.is/repo/rhel6/i386/
releaser = tito.release.YumRepoReleaser releaser = tito.release.YumRepoReleaser
builder = tito.builder.MockBuilder builder = tito.builder.MockBuilder
builder.mock = epel-5-x86_64 builder.mock = epel-5-x86_64
srpm_disttag = .el5
createrepo_command = createrepo -s sha1 . createrepo_command = createrepo -s sha1 .
rsync = tito@opensource.is:/var/www/sites/opensource.ok.is/repo/rhel5/x86_64/ rsync = tito@opensource.is:/var/www/sites/opensource.ok.is/repo/rhel5/x86_64/
@ -47,7 +42,6 @@ rsync = tito@opensource.is:/var/www/sites/opensource.ok.is/repo/rhel5/x86_64/
releaser = tito.release.YumRepoReleaser releaser = tito.release.YumRepoReleaser
builder = tito.builder.MockBuilder builder = tito.builder.MockBuilder
builder.mock = epel-5-i386 builder.mock = epel-5-i386
srpm_disttag = .el5
createrepo_command = createrepo -s sha1 . createrepo_command = createrepo -s sha1 .
rsync = tito@opensource.is:/var/www/sites/opensource.ok.is/repo/rhel5/i386/ rsync = tito@opensource.is:/var/www/sites/opensource.ok.is/repo/rhel5/i386/
@ -56,7 +50,6 @@ rsync = tito@opensource.is:/var/www/sites/opensource.ok.is/repo/rhel5/i386/
releaser = tito.release.YumRepoReleaser releaser = tito.release.YumRepoReleaser
builder = tito.builder.MockBuilder builder = tito.builder.MockBuilder
builder.mock = epel-6-x86_64 builder.mock = epel-6-x86_64
srpm_disttag = .el6
builder.test = 1 builder.test = 1
rsync = tito@opensource.is:/var/www/sites/opensource.ok.is/repo/testing/rhel6/x86_64/ rsync = tito@opensource.is:/var/www/sites/opensource.ok.is/repo/testing/rhel6/x86_64/
@ -65,7 +58,6 @@ releaser = tito.release.YumRepoReleaser
builder = tito.builder.MockBuilder builder = tito.builder.MockBuilder
builder.mock = epel-6-i386 builder.mock = epel-6-i386
builder.test = 1 builder.test = 1
srpm_disttag = .el6
rsync = tito@opensource.is:/var/www/sites/opensource.ok.is/repo/testing/rhel6/i386/ rsync = tito@opensource.is:/var/www/sites/opensource.ok.is/repo/testing/rhel6/i386/
@ -74,7 +66,6 @@ rsync = tito@opensource.is:/var/www/sites/opensource.ok.is/repo/testing/rhel6/i3
releaser = tito.release.YumRepoReleaser releaser = tito.release.YumRepoReleaser
builder = tito.builder.MockBuilder builder = tito.builder.MockBuilder
builder.mock = epel-5-x86_64 builder.mock = epel-5-x86_64
srpm_disttag = .el5
builder.test = 1 builder.test = 1
createrepo_command = createrepo -s sha1 . createrepo_command = createrepo -s sha1 .
rsync = tito@opensource.is:/var/www/sites/opensource.ok.is/repo/testing/rhel5/x86_64/ rsync = tito@opensource.is:/var/www/sites/opensource.ok.is/repo/testing/rhel5/x86_64/
@ -84,7 +75,6 @@ rsync = tito@opensource.is:/var/www/sites/opensource.ok.is/repo/testing/rhel5/x8
releaser = tito.release.YumRepoReleaser releaser = tito.release.YumRepoReleaser
builder = tito.builder.MockBuilder builder = tito.builder.MockBuilder
builder.mock = epel-5-i386 builder.mock = epel-5-i386
srpm_disttag = .el5
builder.test = 1 builder.test = 1
createrepo_command = createrepo -s sha1 . createrepo_command = createrepo -s sha1 .
rsync = tito@opensource.is:/var/www/sites/opensource.ok.is/repo/testing/rhel5/i386/ rsync = tito@opensource.is:/var/www/sites/opensource.ok.is/repo/testing/rhel5/i386/
@ -96,7 +86,6 @@ rsync = tito@opensource.is:/var/www/sites/opensource.ok.is/repo/testing/rhel5/i3
releaser = tito.release.YumRepoReleaser releaser = tito.release.YumRepoReleaser
builder = tito.builder.MockBuilder builder = tito.builder.MockBuilder
builder.mock = fedora-20-x86_64 builder.mock = fedora-20-x86_64
srpm_disttag = .fc20
rsync = tito@opensource.is:/var/www/sites/opensource.ok.is/repo/fedora20/x86_64/ rsync = tito@opensource.is:/var/www/sites/opensource.ok.is/repo/fedora20/x86_64/
# Fedora FC20 # Fedora FC20
@ -104,7 +93,6 @@ rsync = tito@opensource.is:/var/www/sites/opensource.ok.is/repo/fedora20/x86_64/
releaser = tito.release.YumRepoReleaser releaser = tito.release.YumRepoReleaser
builder = tito.builder.MockBuilder builder = tito.builder.MockBuilder
builder.mock = fedora-20-x86_64 builder.mock = fedora-20-x86_64
srpm_disttag = .fc20
builder.test = 1 builder.test = 1
rsync = tito@opensource.is:/var/www/sites/opensource.ok.is/repo/testing/fedora20/x86_64/ rsync = tito@opensource.is:/var/www/sites/opensource.ok.is/repo/testing/fedora20/x86_64/