Search Exchange

Search All Sites

Nagios Live Webinars

Let our experts show you how Nagios can help your organization.

Contact Us

Phone: 1-888-NAGIOS-1
Email: sales@nagios.com

Login

Remember Me

check_dcm

Rating
2 votes
Favoured:
0
Hits
95326
Files:
FileDescription
check_dcmcheck_dcm
Network Monitoring Software - Download Nagios XI
Log Management Software - Nagios Log Server - Download
Netflow Analysis Software - Nagios Network Analyzer - Download
check_dcm is a DICOM plug in that monitors SCP Providers in a PACS environmnet. It sends out ECHO requests to PACS devices and lights up Nagios on exception.
This is a nagios plugin for DICOM services. The script is a wrapper for
dcmtk's (http://dicom.offis.de/dcmtk.php.en) echoscu to monitor
STORE SCP. It will have to be installed (or
the binary built) on the nagios system.
Make sure the DCMDICTPATH environment variable is set.

Compliments the white paper for monitor PACS with Nagios:

http://www.clubpacswestmi.net/EnterprisePACSMonitoringwithNagiosSmokepingandCacti.pdf
Reviews (2)
#!/usr/bin/perl -w
# check_dcm.pl

#define command{
# command_name check_dcm
# command_line /usr/lib/nagios/plugins/check_dcm -a $HOSTADDRESS$ -n $ARG1$ -p $ARG2$
# }

use Getopt::Std;
use strict;
use lib "/usr/lib/nagios/plugins"; ## directory where I can find "utils.pm"
use utils qw{%ERRORS};

my $echoscu = "/usr/bin/echoscu";

my ($USAGE) = ult =~ /Association Rejected/) {
print "CRITICAL: $result\n";
exit($ERRORS{'CRITICAL'});
}

}

print "CRITICAL: Indeterminate Error.\n";
exit($ERRORS{'CRITICAL'});
byretsil42, March 12, 2013
This script doesn't follow Nagios guidelines
http://nagiosplug.sourceforge.net/developer-guidelines.html#AEN76

Here is a patch to repair it

1c1
#! /usr/bin/perl -w
26,27c26,27
use lib "/usr/lib/nagios/plugins"; ## directory where I can find "utils.pm"
35c35,36
my ($echoscu);
> $echoscu = "/usr/local/dcmtk/bin/echoscu";
69c70,86
if (! $options{p}) {
> print "No port specified\n";
> exit($ERRORS{'CRITICAL'});
> }
>
> if (! $options{n}) {
> print "No IP address specified\n";
> exit($ERRORS{'CRITICAL'});
> }
>
> if (! $options{a}) {
> print "No AE title specified\n";
> exit($ERRORS{'CRITICAL'});
> }
>
> my($thing);
> $thing = `$echoscu -v -aet $options{a} $options{n} $options{p} 2>&1`;
70a88
> my(@response);
72a91,92
> my ($result);
>
74,75c94,95
print "$result\n";
79,87c99,102
exit($ERRORS{'CRITICAL'});