diff --git a/Documentation/Release-Notes/MaxScale-2.4.0-Release-Notes.md b/Documentation/Release-Notes/MaxScale-2.4.0-Release-Notes.md index 154454b5f..766cefd40 100644 --- a/Documentation/Release-Notes/MaxScale-2.4.0-Release-Notes.md +++ b/Documentation/Release-Notes/MaxScale-2.4.0-Release-Notes.md @@ -89,6 +89,10 @@ of MaxScale. We advise against using it. +### Nagios Plugins + +MaxScale no longer ships the example scripts and configuration files for Nagios. + ## New Features ### Clustrix Support diff --git a/plugins/CMakeLists.txt b/plugins/CMakeLists.txt deleted file mode 100644 index ebff248a2..000000000 --- a/plugins/CMakeLists.txt +++ /dev/null @@ -1,5 +0,0 @@ -install_custom_file(nagios/check_maxscale_monitors.pl ${MAXSCALE_SHAREDIR}/plugins/nagios/ core) -install_custom_file(nagios/check_maxscale_resources.pl ${MAXSCALE_SHAREDIR}/plugins/nagios/ core) -install_custom_file(nagios/check_maxscale_threads.pl ${MAXSCALE_SHAREDIR}/plugins/nagios/ core) -install_custom_file(nagios/maxscale_commands.cfg ${MAXSCALE_SHAREDIR}/plugins/nagios/ core) -install_custom_file(nagios/server1.cfg ${MAXSCALE_SHAREDIR}/plugins/nagios/ core) diff --git a/plugins/nagios/check_maxscale_monitors.pl b/plugins/nagios/check_maxscale_monitors.pl deleted file mode 100755 index 0475b37ef..000000000 --- a/plugins/nagios/check_maxscale_monitors.pl +++ /dev/null @@ -1,207 +0,0 @@ -#!/usr/bin/perl -# -# Copyright (c) 2016 MariaDB Corporation Ab -# -# Use of this software is governed by the Business Source License included -# in the LICENSE.TXT file and at www.mariadb.com/bsl11. -# -# Change Date: 2023-01-01 -# -# On the date above, in accordance with the Business Source License, use -# of this software will be governed by version 2 or later of the General -# Public License. -# - -# -# @file check_maxscale_monitors.pl - Nagios plugin for MaxScale monitors -# -# Revision History -# -# Date Who Description -# 06-03-2015 Massimiliano Pinto Initial implementation -# 20-05-2016 Massimiliano Pinto Maxadmin can connect with UNIX domain socket -# in maxscale server only. -# Commands changed with "ssh -i /somepath/id_rsa user@maxscalehost maxadmin ...." -# - -#use strict; -#use warnings; -use Getopt::Std; - -my %opts; -my $TIMEOUT = 15; # we don't want to wait long for a response -my %ERRORS = ('UNKNOWN' , '3', - 'OK', '0', - 'WARNING', '1', - 'CRITICAL', '2'); - -my $curr_script = "$0"; -$curr_script =~ s{.*/}{}; - -sub usage { - my $rc = shift; - - print <<"EOF"; -MaxScale monitor checker plugin for Nagios - -Usage: $curr_script [-r ] [-H ] [-u ] [-S ] [-m ] [-h] - -Options: - -r = monitors - -h = provide this usage message - -H = which host to connect to with SSH - -u = username to connect to maxscale host via SSH (same user is used for maxadmin authentication) - -i = identity file to use for at - -m = /path/to/maxadmin - -S = UNIX socket path between maxadmin and maxscale (default is /tmp/maxadmin.sock) -EOF - exit $rc; -} - -%opts =( - 'r' => 'monitors', # default maxscale resource to show - 'h' => '', # give help - 'H' => 'localhost', # host - 'u' => 'root', # username - 'm' => '/usr/local/mariadb-maxscale/bin/maxadmin', # maxadmin -); - -my $MAXADMIN_DEFAULT = $opts{'m'}; - -getopts('r:hH:u:i:S:m:', \%opts) - or usage( $ERRORS{"UNKNOWN"} ); -usage( $ERRORS{'OK'} ) if $opts{'h'}; - -my $MAXADMIN_RESOURCE = $opts{'r'}; -my $MAXADMIN = $opts{'m'}; -my $MAXADMIN_SOCKET = $opts{'S'}; -my $MAXSCALE_HOST_IDENTITY_FILE = $opts{'i'}; - -if (!defined $MAXSCALE_HOST_IDENTITY_FILE || length($MAXSCALE_HOST_IDENTITY_FILE) == 0) { - die "$curr_script: ssh identity file for user $opts{'u'} is required"; -} - -if (!defined $MAXADMIN || length($MAXADMIN) == 0) { - $MAXADMIN = $MAXADMIN_DEFAULT; -} -if (defined $MAXADMIN_SOCKET && length($MAXADMIN_SOCKET) > 0) { - $MAXADMIN_SOCKET = ' -S ' . $MAXADMIN_SOCKET; -} else { - $MAXADMIN_SOCKET = ''; -} -# Just in case of problems, let's not hang Nagios -$SIG{'ALRM'} = sub { - print ("UNKNOWN: No response from MaxScale server (alarm)\n"); - exit $ERRORS{"UNKNOWN"}; -}; -alarm($TIMEOUT); - -my $command = "ssh -i " . $MAXSCALE_HOST_IDENTITY_FILE . ' ' . $opts{'u'} . '@' . $opts{'H'} . ' ' . $MAXADMIN . $MAXADMIN_SOCKET . ' ' . " show " . $MAXADMIN_RESOURCE; - -# -# print "maxadmin command: $command\n"; -# - -open (MAXSCALE, "$command 2>&1 |") - or die "can't get data out of Maxscale: $!"; - -my $hostname = qx{hostname}; chomp $hostname; -my $waiting_backend = 0; -my $start_output = 0; -my $n_monitors = 0; -my $performance_data=""; - - -my $resource_type = $MAXADMIN_RESOURCE; -chop($resource_type); - -my $resource_match = ucfirst("$resource_type Name"); - -my $this_key; -my %monitor_data; - -while ( ) { - chomp; - - if ( /(Failed|Unable) to connect to MaxScale/ ) { - printf "CRITICAL: $_\n"; - close(MAXSCALE); - exit(2); - } - - if ( /^Monitor\:/ ) { - $n_monitors++; - $this_key = 'monitor' . $n_monitors; - $monitor_data{$this_key} = { - '1name'=> '', - '2state' => '', - '3servers' => '', - '4interval' => '', - '5repl_lag' => '' - }; - - next; - } - - next if (/--/ || $_ eq ''); - - if ( /Name\:/) { - - my $str; - my $perf_line; - my @data_row = split(':', $_); - my $name = $data_row[1]; - $name =~ s/^\s+|\s+$//g; - $monitor_data{$this_key}{'1name'}=$name; - - } - - if (/(State\:\s+)(.*)/) { - $monitor_data{$this_key}{'2state'}=$2; - } - - if ( /Monitored servers\:/ ) { - my $server_list; - my @data_row = split(':', $_); - shift(@data_row); - foreach my $name (@data_row) { - $name =~ s/^\s+|\s+$//g; - $name =~ s/ //g; - $server_list .= $name . ":"; - } - chop($server_list); - $monitor_data{$this_key}{'3servers'}=$server_list; - } - - if ( /(Sampling interval\:)\s+(\d+) milliseconds/ ) { - $monitor_data{$this_key}{'4interval'}=$2; - } - - if ( /Replication lag\:/ ) { - my @data_row = split(':', $_); - my $name = $data_row[1]; - $name =~ s/^\s+|\s+$//g; - $monitor_data{$this_key}{'5repl_lag'}=$name; - } -} - -for my $key ( sort(keys %monitor_data) ) { - my $local_hash = {}; - $performance_data .= " $key="; - $local_hash = $monitor_data{$key}; - my %new_hash = %$local_hash; - foreach my $key (sort (keys (%new_hash))) { - $performance_data .= $new_hash{$key} . ";"; - } - chop($performance_data); -} - -if ($n_monitors) { - printf "OK: %d monitors found |%s\n", $n_monitors, $performance_data; - close(MAXSCALE); - exit 0; -} else { - printf "WARNING: 0 monitors found\n"; - close(MAXSCALE); - exit 1; -} diff --git a/plugins/nagios/check_maxscale_resources.pl b/plugins/nagios/check_maxscale_resources.pl deleted file mode 100755 index a3598a1ff..000000000 --- a/plugins/nagios/check_maxscale_resources.pl +++ /dev/null @@ -1,191 +0,0 @@ -#!/usr/bin/perl -# -# Copyright (c) 2016 MariaDB Corporation Ab -# -# Use of this software is governed by the Business Source License included -# in the LICENSE.TXT file and at www.mariadb.com/bsl11. -# -# Change Date: 2023-01-01 -# -# On the date above, in accordance with the Business Source License, use -# of this software will be governed by version 2 or later of the General -# Public License. -# - -# -# @file check_maxscale_resources.pl - Nagios plugin for MaxScale resources -# -# Revision History -# -# Date Who Description -# 06-03-2015 Massimiliano Pinto Initial implementation -# 20-05-2016 Massimiliano Pinto Maxadmin can connect with UNIX domain socket -# in maxscale server only. -# Commands changed with "ssh -i /somepath/id_rsa user@maxscalehost maxadmin ...." -# - -#use strict; -#use warnings; -use Getopt::Std; - -my %opts; -my $TIMEOUT = 15; # we don't want to wait long for a response -my %ERRORS = ('UNKNOWN' , '3', - 'OK', '0', - 'WARNING', '1', - 'CRITICAL', '2'); - -my $curr_script = "$0"; -$curr_script =~ s{.*/}{}; - -sub usage { - my $rc = shift; - - print <<"EOF"; -MaxScale monitor checker plugin for Nagios - -Usage: $curr_script [-r ] [-H ] [-u ] [-S ] [-m ] [-h] - -Options: - -r = modules|services|filters|listeners|servers|sessions - -h = provide this usage message - -H = which host to connect to with SSH - -u = username to connect to maxscale host via SSH (same user is used for maxadmin authentication) - -i = identity file to use for at - -m = /path/to/maxadmin - -S = UNIX socket path between maxadmin and maxscale (default is /tmp/maxadmin.sock) -EOF - exit $rc; -} - -%opts =( - 'r' => 'services', # default maxscale resource to show - 'h' => '', # give help - 'H' => 'localhost', # host - 'u' => 'root', # username - 'm' => '/usr/local/mariadb-maxscale/bin/maxadmin', # maxadmin -); - -my $MAXADMIN_DEFAULT = $opts{'m'}; - -getopts('r:hH:u:i:S:m:', \%opts) - or usage( $ERRORS{"UNKNOWN"} ); -usage( $ERRORS{'OK'} ) if $opts{'h'}; - -my $MAXADMIN_RESOURCE = $opts{'r'}; -my $MAXADMIN = $opts{'m'}; -my $MAXADMIN_SOCKET = $opts{'S'}; -my $MAXSCALE_HOST_IDENTITY_FILE = $opts{'i'}; - -if (!defined $MAXSCALE_HOST_IDENTITY_FILE || length($MAXSCALE_HOST_IDENTITY_FILE) == 0) { - die "$curr_script: ssh identity file for user $opts{'u'} is required"; -} - -if (!defined $MAXADMIN || length($MAXADMIN) == 0) { - $MAXADMIN = $MAXADMIN_DEFAULT; -} - -if (defined $MAXADMIN_SOCKET && length($MAXADMIN_SOCKET) > 0) { - $MAXADMIN_SOCKET = ' -S ' . $MAXADMIN_SOCKET; -} else { - $MAXADMIN_SOCKET = ''; -} -# Just in case of problems, let's not hang Nagios -$SIG{'ALRM'} = sub { - print ("UNKNOWN: No response from MaxScale server (alarm)\n"); - exit $ERRORS{"UNKNOWN"}; -}; -alarm($TIMEOUT); - -my $command = "ssh -i " . $MAXSCALE_HOST_IDENTITY_FILE . ' ' . $opts{'u'} . '@' . $opts{'H'} . ' ' . $MAXADMIN . $MAXADMIN_SOCKET . ' ' . " list " . $MAXADMIN_RESOURCE; - -# -# print "maxadmin command: $command\n"; -# - -open (MAXSCALE, "$command 2>&1 |") or die "can't get data out of Maxscale: $!"; - -my $hostname = qx{hostname}; chomp $hostname; - -my $start_output = 0; -my $n_resources = 0; -my $performance_data=""; - - -my $resource_type = $MAXADMIN_RESOURCE; -chop($resource_type); - -my $resource_match = ucfirst("$resource_type Name"); - -if ($resource_type eq "listener") { - $resource_match = "Name"; -} -if ($resource_type eq "filter") { - $resource_match = "Filter"; -} -if ($resource_type eq "server") { - $resource_match = "Server"; -} -if ($resource_type eq "session") { - $resource_match = "Session"; -} - -# -# print "Matching [$resource_match]\n"; -# - -while ( ) { - chomp; - - if ( /(Failed|Unable) to connect to MaxScale/ ) { - printf "CRITICAL: $_\n"; - close(MAXSCALE); - exit(2); - } - - if ( ! /^$resource_match/ ) { - } else { - $start_output = 1; - next; - } - if ($start_output) { - next if (/--/ || $_ eq ''); - $n_resources++; - if ($resource_type ne "session") { - my $str; - my $perf_line; - my @data_row = split('\|', $_); - $performance_data .= "$MAXADMIN_RESOURCE$n_resources="; - foreach my $val (@data_row) { - $str = $val; - $str =~ s/^\s+|\s+$//g; - $perf_line .= $str . ';'; - } - chop($perf_line); - $performance_data .= $perf_line . ' '; - } - } -} - -chop($performance_data); - -############################################### -# -# print OK or CRITICAL based on $n_resources -# -################################################ - -if ($n_resources) { - if ($performance_data eq '') { - printf "OK: %d $MAXADMIN_RESOURCE found\n", $n_resources; - } else { - printf "OK: %d $MAXADMIN_RESOURCE found | %s\n", $n_resources, $performance_data; - } - close(MAXSCALE); - exit 0; -} else { - printf "CRITICAL: 0 $MAXADMIN_RESOURCE found\n"; - close(MAXSCALE); - exit 2; -} - diff --git a/plugins/nagios/check_maxscale_threads.pl b/plugins/nagios/check_maxscale_threads.pl deleted file mode 100755 index b21fbbc55..000000000 --- a/plugins/nagios/check_maxscale_threads.pl +++ /dev/null @@ -1,249 +0,0 @@ -#!/usr/bin/perl -# -# Copyright (c) 2016 MariaDB Corporation Ab -# -# Use of this software is governed by the Business Source License included -# in the LICENSE.TXT file and at www.mariadb.com/bsl11. -# -# Change Date: 2023-01-01 -# -# On the date above, in accordance with the Business Source License, use -# of this software will be governed by version 2 or later of the General -# Public License. -# - -# -# @file check_maxscale_threads.pl - Nagios plugin for MaxScale threads and events -# -# Revision History -# -# Date Who Description -# 06-03-2015 Massimiliano Pinto Initial implementation -# 20-05-2016 Massimiliano Pinto Maxadmin can connect with UNIX domain socket -# in maxscale server only. -# Commands changed with "ssh -i /somepath/id_rsa user@maxscalehost maxadmin ...." -# - -#use strict; -#use warnings; -use Getopt::Std; - -my %opts; -my $TIMEOUT = 15; # we don't want to wait long for a response -my %ERRORS = ('UNKNOWN' , '3', - 'OK', '0', - 'WARNING', '1', - 'CRITICAL', '2'); - -my $curr_script = "$0"; -$curr_script =~ s{.*/}{}; - -sub usage { - my $rc = shift; - - print <<"EOF"; -MaxScale monitor checker plugin for Nagios - -Usage: $curr_script [-r ] [-H ] [-u ] [-S ] [-m ] [-h] - -Options: - -r = threads - -h = provide this usage message - -H = which host to connect to with SSH - -u = username to connect to maxscale host via SSH (same user is used for maxadmin authentication) - -i = identity file to use for at - -m = /path/to/maxadmin - -S = UNIX socket path between maxadmin and maxscale (default is /tmp/maxadmin.sock) -EOF - exit $rc; -} - -%opts =( - 'r' => 'threads', # default maxscale resource to show - 'h' => '', # give help - 'H' => 'localhost', # host - 'u' => 'root', # username - 'm' => '/usr/local/mariadb-maxscale/bin/maxadmin', # maxadmin -); - -my $MAXADMIN_DEFAULT = $opts{'m'}; - -getopts('r:hH:u:i:S:m:', \%opts) - or usage( $ERRORS{"UNKNOWN"} ); -usage( $ERRORS{'OK'} ) if $opts{'h'}; - -my $MAXADMIN_RESOURCE = $opts{'r'}; -my $MAXADMIN = $opts{'m'}; -my $MAXADMIN_SOCKET = $opts{'S'}; -my $MAXSCALE_HOST_IDENTITY_FILE = $opts{'i'}; - -if (!defined $MAXSCALE_HOST_IDENTITY_FILE || length($MAXSCALE_HOST_IDENTITY_FILE) == 0) { - die "$curr_script: ssh identity file for user $opts{'u'} is required"; -} - -if (!defined $MAXADMIN || length($MAXADMIN) == 0) { - $MAXADMIN = $MAXADMIN_DEFAULT; -} - -if (defined $MAXADMIN_SOCKET && length($MAXADMIN_SOCKET) > 0) { - $MAXADMIN_SOCKET = ' -S ' . $MAXADMIN_SOCKET; -} else { - $MAXADMIN_SOCKET = ''; -} -# Just in case of problems, let's not hang Nagios -$SIG{'ALRM'} = sub { - print ("UNKNOWN: No response from MaxScale server (alarm)\n"); - exit $ERRORS{"UNKNOWN"}; -}; -alarm($TIMEOUT); - -my $command = "ssh -i " . $MAXSCALE_HOST_IDENTITY_FILE . ' ' . $opts{'u'} . '@' . $opts{'H'} . ' ' . $MAXADMIN . $MAXADMIN_SOCKET . ' ' . " show " . $MAXADMIN_RESOURCE; - -# -# print "maxadmin command: $command\n"; -# - -open (MAXSCALE, "$command 2>&1 |") or die "can't get data out of Maxscale: $!"; - -my $hostname = qx{hostname}; chomp $hostname; -my $start_output = 0; -my $n_threads = 0; -my $p_threads = 0; -my $performance_data=""; - - -my $resource_type = $MAXADMIN_RESOURCE; -chop($resource_type); - -my $resource_match = ucfirst("$resource_type Name"); - -my $historic_thread_load_average = 0; -my $current_thread_load_average = 0; - -my %thread_data; -my %event_data; - -my $start_queue_len = 0; - -while ( ) { - chomp; - - if ( /(Failed|Unable) to connect to MaxScale/ ) { - printf "CRITICAL: $_\n"; - close(MAXSCALE); - exit(2); - } - - if ( /Historic Thread Load Average/) { - my $str; - my @data_row = split(':', $_); - foreach my $val (@data_row) { - $str = $val; - $str =~ s/^\s+|\s+$//g; - } - chop($str); - $historic_thread_load_average = $str; - } - - if (/Current Thread Load Average/) { - my $str; - my @data_row = split(':', $_); - foreach my $val (@data_row) { - $str = $val; - $str =~ s/^\s+|\s+$//g; - } - chop($str); - $current_thread_load_average = $str; - } - - if (/Minute Average/) { - my $str; - my $in_str; - my @data_row = split(',', $_); - foreach my $val (@data_row) { - my ($i,$j)= split(':', $val); - $i =~ s/^\s+|\s+$//g; - $j =~ s/^\s+|\s+$//g; - if ($start_queue_len) { - $event_data{$i} = $j; - } else { - $thread_data{$i} = $j; - } - } - } - - if ( /Pending event queue length averages/) { - $start_queue_len = 1; - next; - } - - if (/^\s+ID/ ) { - $start_output = 1; - next; - } - - if ($start_output && /^\s+\d/) { - $n_threads++; - if (/Processing/) { - $p_threads++; - } - } -} - -close(MAXSCALE); - -$command = "ssh -i " . $MAXSCALE_HOST_IDENTITY_FILE . ' ' . $opts{'u'} . '@' . $opts{'H'} . ' ' . $MAXADMIN . $MAXADMIN_SOCKET . ' ' . " show epoll"; - -open (MAXSCALE, "$command 2>&1 |") or die "can't get data out of Maxscale: $!"; - -my $queue_len = 0; - -while ( ) { - chomp; - - if ( /(Failed|Unable) to connect to MaxScale/ ) { - printf "CRITICAL: $_\n"; - close(MAXSCALE); - exit(2); - } - - if ( ! /Current event queue length/ ) { - next; - } else { - my $str; - my @data_row = split(':', $_); - foreach my $val (@data_row) { - $str = $val; - $str =~ s/^\s+|\s+$//g; - } - $queue_len = $str; - - last; - } -} - -my $performance_data_thread = ""; -my $performance_data_event = ""; - -my $in_str; -my $in_key; -my $in_val; - -my @new_thread_array = @thread_data{'15 Minute Average', '5 Minute Average', '1 Minute Average'}; -my @new_event_array = @event_data{'15 Minute Average', '5 Minute Average', '1 Minute Average'}; - -$performance_data_thread = join(';', @new_thread_array); -$performance_data_event = join(';', @new_event_array); - -$performance_data .= "threads=$historic_thread_load_average;$current_thread_load_average avg_threads=$performance_data_thread avg_events=$performance_data_event"; - -if (($p_threads < $n_threads) || ($n_threads == 1)) { - printf "OK: Processing threads: %d/%d Events: %d | $performance_data\n", $p_threads, $n_threads, $queue_len; - close(MAXSCALE); - exit 0; -} else { - printf "WARNING: Processing threads: %d/%d Events: %d | $performance_data\n", $p_threads, $n_threads, $queue_len; - close(MAXSCALE); - exit 1; -} - diff --git a/plugins/nagios/maxscale_commands.cfg b/plugins/nagios/maxscale_commands.cfg deleted file mode 100644 index da480fc18..000000000 --- a/plugins/nagios/maxscale_commands.cfg +++ /dev/null @@ -1,32 +0,0 @@ -############################################################################### -# MAXSCALE_COMMANDS.CFG - SAMPLE COMMAND DEFINITIONS FOR NAGIOS 3.5.1 -# -# Massimiliano Pinto -# Last Modified: 06-03-2015 -# -# NOTES: This config file provides you with some example command definitions -# that you can reference in host, service, and contact definitions. -# -# You don't need to keep commands in a separate file from your other -# object definitions. This has been done just to make things easier to -# understand. -# -############################################################################### - -# check maxscale monitors -define command{ - command_name check_maxscale_monitors - command_line $USER1$/check_maxscale_monitors.pl -H $HOSTADDRESS$ -u $ARG1$ -i $ARG2$ -r $ARG3$ -S $ARG4$ -m $ARG5$ -} - -# check maxscale threads -define command{ - command_name check_maxscale_threads - command_line $USER1$/check_maxscale_threads.pl -H $HOSTADDRESS$ -u $ARG1$ -i $ARG2$ -r $ARG3$ -S $ARG4$ -m $ARG5$ -} - -# check maxscale resource (listeners, services, etc) -define command{ - command_name check_maxscale_resource - command_line $USER1$/check_maxscale_resources.pl -H $HOSTADDRESS$ -u $ARG1$ -i $ARG2$ -r $ARG3$ -S $ARG4$ -m $ARG5$ -} diff --git a/plugins/nagios/server1.cfg b/plugins/nagios/server1.cfg deleted file mode 100644 index 2571f6ea0..000000000 --- a/plugins/nagios/server1.cfg +++ /dev/null @@ -1,111 +0,0 @@ - -############################################################################### -############################################################################### -# -# HOST DEFINITION -# -############################################################################### -############################################################################### - -# Define a host for the remote machine - -define host{ - use linux-server ; Name of host template to use - ; This host definition will inherit all variables that are defined - ; in (or inherited by) the linux-server host template definition. - host_name server1 - alias server1 - address xxx.xxx.xxx.xxx - } - - - -############################################################################### -############################################################################### -# -# HOST GROUP DEFINITION -# -############################################################################### -############################################################################### - -# Define an optional hostgroup for Linux machines - -define hostgroup{ - hostgroup_name linux-real-servers ; The name of the hostgroup - alias Linux Real Servers ; Long name of the group - members server1 ; Comma separated list of hosts that belong to this group - } - - - -# Check MaxScale modules, on the remote machine. -define service{ - use local-service ; Name of service template to use - host_name server1 - service_description MaxScale_modules - check_command check_maxscale_resource!maxscale!/ssh/maxscale_host/id_rsa!modules - notifications_enabled 0 - } - -# Check MaxScale services, on the remote machine. -define service{ - use local-service ; Name of service template to use - host_name server1 - service_description MaxScale_services - check_command check_maxscale_resource!maxscale!/ssh/maxscale_host/id_rsa!services - notifications_enabled 0 - } - -# Check MaxScale listeners, on the remote machine. -define service{ - use local-service ; Name of service template to use - host_name server1 - service_description MaxScale_listeners - check_command check_maxscale_resource!maxscale!/ssh/maxscale_host/id_rsa!listeners - notifications_enabled 0 - } - -# Check MaxScale servers, on the remote machine. -define service{ - use local-service ; Name of service template to use - host_name server1 - service_description MaxScale_servers - check_command check_maxscale_resource!maxscale!/ssh/maxscale_host/id_rsa!servers - notifications_enabled 0 - } - -# Check MaxScale sessions, on the remote machine. -define service{ - use local-service ; Name of service template to use - host_name server1 - service_description MaxScale_sessions - check_command check_maxscale_resource!maxscale!/ssh/maxscale_host/id_rsa!sessions - notifications_enabled 0 - } - -# Check MaxScale filters, on the remote machine. -define service{ - use local-service ; Name of service template to use - host_name server1 - service_description MaxScale_filters - check_command check_maxscale_resource!maxscale!/ssh/maxscale_host/id_rsa!filters - notifications_enabled 0 - } - -# Check MaxScale monitors, on the remote machine. -define service{ - use local-service ; Name of service template to use - host_name server1 - service_description MaxScale_monitors - check_command check_maxscale_monitors!maxscale!/ssh/maxscale_host/id_rsa!monitors!/tmp/maxadmin.sock - notifications_enabled 0 - } - -# Define a service to check Script on the remote machine, with maxadmin path -define service{ - use local-service ; Name of service template to use - host_name server1 - service_description MaxScale_threads - check_command check_maxscale_threads!maxscale!/ssh/maxscale_host/id_rsa!threads!/tmp/maxadmin.sock!/usr/bin/maxadmin - notifications_enabled 0 - }