X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=contrib%2Fcussh.pl;h=ee4c89396b98d0ecaa9ae2e1769b26876a4cc787;hb=6597f3a6584704f92f824f3cf7bac3369102e8a0;hp=2ec6308bd90ae130be1de8907cb163139c55de67;hpb=430b0b4d0275f7fea64376fc166e81fc0bcc36bf;p=collectd.git diff --git a/contrib/cussh.pl b/contrib/cussh.pl index 2ec6308b..ee4c8939 100755 --- a/contrib/cussh.pl +++ b/contrib/cussh.pl @@ -62,6 +62,7 @@ use Collectd::Unixsock(); GETVAL => \&getval, FLUSH => \&flush, LISTVAL => \&listval, + PUTNOTIF => \&putnotif, }; if (! $sock) { @@ -163,6 +164,7 @@ Available commands: GETVAL FLUSH LISTVAL + PUTNOTIF See the embedded Perldoc documentation for details. To do that, run: perldoc $0 @@ -290,6 +292,29 @@ sub listval { return 1; } +=item B [[B=I<$severity>] [B=I<$message>] [ ...]] + +=cut + +sub putnotif { + my $sock = shift || return; + my $line = shift || return; + + my (%values) = (); + foreach my $i (split m/ /, $line) { + my($key,$val) = split m/=/, $i, 2; + if ($key && $val) { + $values{$key} = $val; + } + else { + $values{'message'} .= ' '.$key; + } + } + $values{'time'} ||= time(); + my(@tmp) = %values; + return $sock->putnotif(%values); +} + =back These commands follow the exact same syntax as described in