HEX
Server: Apache
System: Linux pdx1-shared-a1-38 6.6.104-grsec-jammy+ #3 SMP Tue Sep 16 00:28:11 UTC 2025 x86_64
User: mmickelson (3396398)
PHP: 8.1.31
Disabled: NONE
Upload Files
File: //usr/local/bin/zabbix/corosync.pl
#!/usr/bin/perl

my $sudo    = '/usr/bin/sudo';
my $cfgtool = '/usr/sbin/corosync-cfgtool -s';

$num_args = $#ARGV + 1;

if ($num_args != 1) {
    print "\nUsage: corosync.pl ring number\n";
    exit;
}

my $ringNumber = $ARGV[0];

open( $fh, "$cfgtool |" ) or die ( "Running corosync-cfgtool failed" );

foreach my $line (<$fh>) {
    if ( $line =~ m/status\s*=\s*(\S.+)/ ) {
        my $status = $1;
        if ( $status =~ m/^ring $ringNumber/ ) {
            # print "RING NUMBER $ringNumber STATUS: $status\n";
            if ( $status =~ m/^ring $ringNumber active with no faults/ ) {
                print "0";
            } else {
                print "1";
            }
            exit;
        }
    }
}

close($fh) or die ( "Running corosync-cfgtool failed" );