Property changes on: trunk
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/DEV-capside/release-3.9.0:6365-6370
/branches/DEV-extra-notification-data:6734-6746
/branches/DEV-odw-calculations:9016-9160
/branches/DEV-restapi-monitoringservers:9778
/branches/DEV-snmp-multi:7324-7376
/branches/US187:9403-9479
/branches/US198b:8875-8994
/branches/US310:9851-9873
/branches/US539:12178-12182
/branches/enterprise/BRAN-3.14:6874,6882,6956
/branches/enterprise/DEV-professional:6494-8475,8477-8478,8486,8490,8492,8494,8499-8500,8515,8518-8519,8524,8527-8529,8531-8532,8536,8538,8540-8544,8547-8552,8554,8557,8600-8601,8637,8749,8772,8897,8917,8944-8945,8947,8950-8952,8967,8969,8979,8982,8987,8998,9006,9008,9011,9013,9026,9033-9036,9038,9040,9042,9044,9048,9050-9053,9062,9064-9065,9069,9078,9081,9088,9096,9099-9101,9103,9105,9115,9118,9347,9353-9354,9411,9432,9445,9486,9538-9550,9569-9571,9620,9635,9637-9638,9645-9647,9693,9699,9721,9814,9825,9857,9879,9881,9939,10002,10029,10038-10041,10070,10086,10093,10345,10347,10388,10407,10481,10549,10560-10562,10565,10568,10571,10577,10932,11025,11035,11360-11612,11798-11799,12189,12322,12355,12401
/branches/nagvis-iframe:9764-9786
/branches/opsview2runtime:10960-11258
/branches/opsview2runtime_xs:11279-11303
/branches/us168:8759,8762-8763,8766-8768,8770,8774-8777,8794,8798-8799,8801-8803,8821-8822,8834,8837-8838,8932,8937,8947,8969,8977,8981,9004,9007,9009-9010,9012,9024,9049
/commercial/branches/BRAN-4.2:10944,11017
/commercial/branches/US306-slaves:9804-9823
/commercial/branches/US307-network-map:9685-9837
+ /branches/DEV-capside/release-3.9.0:6365-6370
/branches/DEV-extra-notification-data:6734-6746
/branches/DEV-odw-calculations:9016-9160
/branches/DEV-restapi-monitoringservers:9778
/branches/DEV-snmp-multi:7324-7376
/branches/US187:9403-9479
/branches/US198b:8875-8994
/branches/US310:9851-9873
/branches/US539:12178-12182
/branches/enterprise/BRAN-3.14:6874,6882,6956
/branches/enterprise/DEV-professional:6494-8475,8477-8478,8486,8490,8492,8494,8499-8500,8515,8518-8519,8524,8527-8529,8531-8532,8536,8538,8540-8544,8547-8552,8554,8557,8600-8601,8637,8749,8772,8897,8917,8944-8945,8947,8950-8952,8967,8969,8979,8982,8987,8998,9006,9008,9011,9013,9026,9033-9036,9038,9040,9042,9044,9048,9050-9053,9062,9064-9065,9069,9078,9081,9088,9096,9099-9101,9103,9105,9115,9118,9347,9353-9354,9411,9432,9445,9486,9538-9550,9569-9571,9620,9635,9637-9638,9645-9647,9693,9699,9721,9814,9825,9857,9879,9881,9939,10002,10029,10038-10041,10070,10086,10093,10345,10347,10388,10407,10481,10549,10560-10562,10565,10568,10571,10577,10932,11025,11035,11360-11612,11798-11799,12189,12322,12355,12401-12406
/branches/nagvis-iframe:9764-9786
/branches/opsview2runtime:10960-11258
/branches/opsview2runtime_xs:11279-11303
/branches/us168:8759,8762-8763,8766-8768,8770,8774-8777,8794,8798-8799,8801-8803,8821-8822,8834,8837-8838,8932,8937,8947,8969,8977,8981,9004,9007,9009-9010,9012,9024,9049
/commercial/branches/BRAN-4.2:10944,11017
/commercial/branches/US306-slaves:9804-9823
/commercial/branches/US307-network-map:9685-9837
Modified: trunk/opsview-core/bin/opsviewd
===================================================================
--- trunk/opsview-core/bin/opsviewd 2013-06-03 09:59:25 UTC (rev 12411)
+++ trunk/opsview-core/bin/opsviewd 2013-06-03 10:53:57 UTC (rev 12412)
@@ -248,6 +248,12 @@
kill 'TERM', $tunnels{$bad_slave}->pid;
}
}
+ elsif ( $command eq "exec" ) {
+ my @args = split( /\s+/, $line );
+ shift @args; # skip exec
+ $logger->info( "Executing command: @args" );
+ exec(@args);
+ }
else {
$logger->warn(
"Unknown command: $command ",
@@ -255,7 +261,7 @@
);
}
- exit; # end of forked process:
+ exit; # end of forked process:
}
END_COMMAND:
Modified: trunk/opsview-core/bin/send_opsview_cmd
===================================================================
--- trunk/opsview-core/bin/send_opsview_cmd 2013-06-03 09:59:25 UTC (rev 12411)
+++ trunk/opsview-core/bin/send_opsview_cmd 2013-06-03 10:53:57 UTC (rev 12412)
@@ -29,33 +29,20 @@
use strict;
use lib "/usr/local/nagios/perl/lib";
-use IO::Socket;
+use Opsview::DaemonClient;
$| = 1;
-my $file = "/usr/local/nagios/var/rw/opsviewd.cmd";
-
my $cmd = shift @ARGV || "Testing";
-if ( !-e $file ) {
- die "opsviewd not running\n";
-}
+my $client = Opsview::DaemonClient->new();
+$client->check_daemon;
+
if ( $cmd eq "daemoncheck" ) {
print "opsviewd running\n";
exit 0;
}
-my $server = IO::Socket::UNIX->new(
- Peer => $file,
- Type => SOCK_STREAM,
- Timeout => 10
-) or die "Bad: $!";
+$client->send( $cmd, @ARGV );
-print $server "$cmd @ARGV", $/;
-
-if ( $cmd eq "promote_mib" ) {
- print $_ while (<$server>);
-}
-
-close($server);
Modified: trunk/opsview-core/filelist
===================================================================
--- trunk/opsview-core/filelist 2013-06-03 09:59:25 UTC (rev 12411)
+++ trunk/opsview-core/filelist 2013-06-03 10:53:57 UTC (rev 12412)
@@ -295,6 +295,7 @@
f nagios:nagios 0644 /usr/local/nagios/lib/Opsview/Connections.pm lib/Opsview/Connections.pm
f nagios:nagios 0644 /usr/local/nagios/lib/Opsview/Contact.pm lib/Opsview/Contact.pm
f nagios:nagios 0644 /usr/local/nagios/lib/Opsview/Common.pm lib/Opsview/Common.pm
+f nagios:nagios 0644 /usr/local/nagios/lib/Opsview/DaemonClient.pm lib/Opsview/DaemonClient.pm
d nagios:nagios 0755 /usr/local/nagios/lib/Opsview/DBIx
f nagios:nagios 0644 /usr/local/nagios/lib/Opsview/DBIx/Class.pm lib/Opsview/DBIx/Class.pm
d nagios:nagios 0755 /usr/local/nagios/lib/Opsview/DBIx/Class
Copied: trunk/opsview-core/lib/Opsview/DaemonClient.pm (from rev 12406, branches/enterprise/DEV-professional/opsview-core/lib/Opsview/DaemonClient.pm)
===================================================================
--- trunk/opsview-core/lib/Opsview/DaemonClient.pm (rev 0)
+++ trunk/opsview-core/lib/Opsview/DaemonClient.pm 2013-06-03 10:53:57 UTC (rev 12412)
@@ -0,0 +1,49 @@
+
+package Opsview::DaemonClient;
+
+use strict;
+use warnings;
+
+use IO::Socket::UNIX;
+
+sub SERVER_SOCKET() {'/usr/local/nagios/var/rw/opsviewd.cmd'}
+
+sub new {
+ my $class = shift;
+
+ my $self = bless {@_}, $class;
+ return $self;
+}
+
+sub check_daemon {
+ if ( !-e SERVER_SOCKET() ) {
+ die "opsviewd not running\n";
+ }
+ return 1;
+}
+
+my %CMDS_WITH_RESPONSE = (
+ "promote_mib" => 1,
+ "web_reload_sync" => 1,
+);
+
+sub send {
+ my ( $proto, $cmd, @msg ) = @_;
+
+ my $sock = IO::Socket::UNIX->new(
+ Peer => SERVER_SOCKET(),
+ Type => SOCK_STREAM,
+ Timeout => 10,
+ ) or die "opsviewd not running: $!\n";
+
+ $sock->print( "$cmd @msg\n" );
+
+ if ( exists $CMDS_WITH_RESPONSE{$cmd} ) {
+ while ( my $line = $sock->getline ) {
+ print $line;
+ }
+ }
+ $sock->close();
+}
+
+1;