2013-05-14 Ramon Novoa <rnovoa@artica.es>
* lib/PandoraFMS/NetworkServer.pm: Added the Pandora FMS's console MIB to snmp* calls. * pandora_server_installer, pandora_server.spec, lib/PandoraFMS/Tools.pm, lib/PandoraFMS/Config.pm, Makefile.PL, pandora_server.redhat.spec, DEBIAN/control: Removed PERL's SNMP lib from the deps. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@8131 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
This commit is contained in:
parent
5b7779a81f
commit
5a6db8188b
|
@ -1,3 +1,16 @@
|
|||
2013-05-14 Ramon Novoa <rnovoa@artica.es>
|
||||
|
||||
* lib/PandoraFMS/NetworkServer.pm: Added the Pandora FMS's console MIB
|
||||
to snmp* calls.
|
||||
|
||||
* pandora_server_installer,
|
||||
pandora_server.spec,
|
||||
lib/PandoraFMS/Tools.pm,
|
||||
lib/PandoraFMS/Config.pm,
|
||||
Makefile.PL,
|
||||
pandora_server.redhat.spec,
|
||||
DEBIAN/control: Removed PERL's SNMP lib from the deps.
|
||||
|
||||
2013-05-13 Ramon Novoa <rnovoa@artica.es>
|
||||
|
||||
* lib/PandoraFMS/Tools.pm: Merged from 4.0 branch. Directly call
|
||||
|
|
|
@ -6,5 +6,5 @@ Section: admin
|
|||
Installed-Size: 640
|
||||
Maintainer: Miguel de Dios <miguel.dedios@artica.es>
|
||||
Homepage: http://pandorafms.org/
|
||||
Depends: perl (>= 5.8), libdbi-perl, libdbd-mysql-perl, libtime-format-perl, libnetaddr-ip-perl, libtime-format-perl, libxml-simple-perl, libxml-twig-perl, libhtml-parser-perl, snmp, snmpd, traceroute, xprobe2, nmap, sudo, libwww-perl, libsocket6-perl, libio-socket-inet6-perl, libsnmp-perl, snmp-mibs-downloader, libjson-perl
|
||||
Depends: perl (>= 5.8), libdbi-perl, libdbd-mysql-perl, libtime-format-perl, libnetaddr-ip-perl, libtime-format-perl, libxml-simple-perl, libxml-twig-perl, libhtml-parser-perl, snmp, snmpd, traceroute, xprobe2, nmap, sudo, libwww-perl, libsocket6-perl, libio-socket-inet6-perl, snmp-mibs-downloader, libjson-perl
|
||||
Description: Pandora FMS is a monitoring system for big IT environments. It uses remote tests, or local agents to grab information. Pandora supports all standard OS (Linux, AIX, HP-UX, Solaris and Windows XP,2000/2003), and support multiple setups in HA enviroments. This is the server package. Server makes the remote checks and process information transfer by Pandora FMS agents to the server.
|
||||
|
|
|
@ -17,7 +17,6 @@ WriteMakefile(
|
|||
PREREQ_PM => {
|
||||
NetAddr::IP => 0,
|
||||
DBI => 0,
|
||||
SNMP => 0,
|
||||
threads::shared => 0,
|
||||
IO::Socket => 0,
|
||||
Socket6 => 0,
|
||||
|
|
|
@ -152,6 +152,9 @@ sub pandora_get_sharedconfig ($$) {
|
|||
# Log module configuration
|
||||
$pa_config->{"log_dir"} = pandora_get_tconfig_token ($dbh, 'log_dir', '/var/spool/pandora/data_in/log');
|
||||
$pa_config->{"log_interval"} = pandora_get_tconfig_token ($dbh, 'log_interval', 3600);
|
||||
|
||||
# Pandora FMS Console's attachment directory
|
||||
$pa_config->{"attachment_dir"} = pandora_get_tconfig_token ($dbh, 'attachment_store', '/var/www/pandora_console/attachment');
|
||||
}
|
||||
|
||||
##########################################################################
|
||||
|
|
|
@ -27,7 +27,6 @@ use Thread::Semaphore;
|
|||
use IO::Socket::INET6;
|
||||
use HTML::Entities;
|
||||
use POSIX qw(strftime);
|
||||
use SNMP;
|
||||
|
||||
# Default lib dir for RPM and DEB packages
|
||||
use lib '/usr/lib/perl5';
|
||||
|
@ -285,6 +284,9 @@ sub pandora_snmp_get_command ($$$$$$$$$$$) {
|
|||
$snmp_target = $snmp_target.":".$snmp_port;
|
||||
}
|
||||
|
||||
# Pandora FMS's console MIB directory
|
||||
my $mib_dir = $pa_config->{'attachment_dir'} . '/mibs';
|
||||
|
||||
# On windows, we need the snmpget command from net-snmp, already present on win agent
|
||||
# the call is the same than in linux
|
||||
if (($OSNAME eq "MSWin32") || ($OSNAME eq "MSWin32-x64") || ($OSNAME eq "cygwin")){
|
||||
|
@ -298,9 +300,9 @@ sub pandora_snmp_get_command ($$$$$$$$$$$) {
|
|||
# by default LINUX/FreeBSD/Solaris calls
|
||||
else {
|
||||
if ($snmp_version ne "3"){
|
||||
$output = `$snmpget_cmd -v $snmp_version -r $snmp_retries -t $snmp_timeout -OUevqt -c '$snmp_community' $snmp_target $snmp_oid 2>/dev/null`;
|
||||
$output = `$snmpget_cmd -M+"$mib_dir" -v $snmp_version -r $snmp_retries -t $snmp_timeout -OUevqt -c '$snmp_community' $snmp_target $snmp_oid 2>/dev/null`;
|
||||
} else {
|
||||
$output = `$snmpget_cmd -v $snmp_version -r $snmp_retries -t $snmp_timeout -OUevqt -l $snmp3_security_level $snmp3_extra $snmp_target $snmp_oid 2>/dev/null`;
|
||||
$output = `$snmpget_cmd -M+"$mib_dir" -v $snmp_version -r $snmp_retries -t $snmp_timeout -OUevqt -l $snmp3_security_level $snmp3_extra $snmp_target $snmp_oid 2>/dev/null`;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -345,7 +347,7 @@ sub pandora_query_snmp ($$$) {
|
|||
|
||||
return (undef, 0) unless ($snmp_oid ne '');
|
||||
if ($snmp_oid =~ m/[a-zA-Z]/) {
|
||||
$snmp_oid = translate_obj ($dbh, $snmp_oid, );
|
||||
$snmp_oid = translate_obj ($pa_config, $dbh, $snmp_oid, );
|
||||
|
||||
# Could not translate OID, disable the module
|
||||
if (! defined ($snmp_oid) || $snmp_oid eq '') {
|
||||
|
|
|
@ -981,11 +981,15 @@ sub month_have_days($$) {
|
|||
###############################################################################
|
||||
# Convert a text obj tag to an OID and update the module configuration.
|
||||
###############################################################################
|
||||
sub translate_obj ($$) {
|
||||
my ($dbh, $obj) = @_;
|
||||
sub translate_obj ($$$) {
|
||||
my ($pa_config, $dbh, $obj) = @_;
|
||||
|
||||
# Pandora FMS's console MIB directory
|
||||
my $mib_dir = $pa_config->{'attachment_dir'} . '/mibs';
|
||||
|
||||
# Translate!
|
||||
my $oid = `snmptranslate -On -mALL $obj 2>/dev/null`;
|
||||
my $oid = `snmptranslate -On -mALL -M+"$mib_dir" $obj 2>/dev/null`;
|
||||
|
||||
if ($? != 0) {
|
||||
return undef;
|
||||
}
|
||||
|
|
|
@ -27,7 +27,7 @@ Requires: perl-DBI perl-DBD-mysql perl-libwww-perl
|
|||
Requires: perl-XML-Simple perl-XML-Twig net-snmp-utils
|
||||
Requires: perl-NetAddr-IP net-snmp net-tools
|
||||
Requires: perl-IO-Socket-INET6 perl-Socket6
|
||||
Requires: nmap wmic sudo net-snmp-perl perl-JSON
|
||||
Requires: nmap wmic sudo perl-JSON
|
||||
|
||||
%description
|
||||
Pandora FMS is a monitoring system for big IT environments. It uses remote tests, or local agents to grab information. Pandora supports all standard OS (Linux, AIX, HP-UX, Solaris and Windows XP,2000/2003), and support multiple setups in HA enviroments.
|
||||
|
|
|
@ -25,7 +25,7 @@ Provides: %{name}-%{version}
|
|||
Requires: perl-DBI perl-DBD-mysql perl-libwww-perl
|
||||
Requires: perl-NetAddr-IP net-snmp net-tools perl-XML-Twig
|
||||
Requires: nmap wmic sudo perl-HTML-Tree perl-XML-Simple
|
||||
Requires: perl-IO-Socket-INET6 perl-Socket6 perl-SNMP snmp-mibs perl-JSON
|
||||
Requires: perl-IO-Socket-INET6 perl-Socket6 snmp-mibs perl-JSON
|
||||
|
||||
%description
|
||||
|
||||
|
|
|
@ -109,17 +109,17 @@ install () {
|
|||
echo "The complete installation guide is at: http://openideas.info/wiki/index.php?title=Pandora"
|
||||
echo " "
|
||||
echo "Debian-based distribution do:"
|
||||
echo " # apt-get install snmp snmpd libjson-perllibio-socket-inet6-perl libsocket6-perl libxml-simple-perl libxml-twig-perl libnetaddr-ip-perl libdbi-perl libsnmp-perl libnetaddr-ip-perl libhtml-parser-perl wmi-client xprobe2 snmp-mibs-downloader"
|
||||
echo " # apt-get install snmp snmpd libjson-perllibio-socket-inet6-perl libsocket6-perl libxml-simple-perl libxml-twig-perl libnetaddr-ip-perl libdbi-perl libnetaddr-ip-perl libhtml-parser-perl wmi-client xprobe2 snmp-mibs-downloader"
|
||||
echo " "
|
||||
echo "For CentOS / RHEL do: "
|
||||
echo " "
|
||||
echo " # yum install perl-XML-Simple* perl-XML-Twig perl-JSON perl-IO-Socket* perl-Socket6 perl-Time-modules* perl-NetAddr-IP* perl-DateTime* perl-ExtUtils perl-DBI perl-SNMP nmap "
|
||||
echo " # yum install perl-XML-Simple* perl-XML-Twig perl-JSON perl-IO-Socket* perl-Socket6 perl-Time-modules* perl-NetAddr-IP* perl-DateTime* perl-ExtUtils perl-DBI nmap "
|
||||
echo " "
|
||||
echo "For OpenSUSE / SLES do : "
|
||||
echo " "
|
||||
echo " # zypper install nmap perl-DBD-mysql perl-DBI perl-HTML-Parser perl-JSON
|
||||
perl-HTML-Encoding perl-HTML-Tree perl-NetAddr-IP perl-IO-Socket-INET6 perl-Socket6
|
||||
perl-TimeDate perl-XML-Simple perl-XML-Twig perl-libwww-perl mysql-client perl-SNMP"
|
||||
perl-TimeDate perl-XML-Simple perl-XML-Twig perl-libwww-perl mysql-client"
|
||||
echo " "
|
||||
echo " You also will need to install (optionally) xprobe2 and wmiclient from rpm (download from our website)"
|
||||
echo " "
|
||||
|
@ -134,12 +134,12 @@ perl-TimeDate perl-XML-Simple perl-XML-Twig perl-libwww-perl mysql-client perl-S
|
|||
echo " # make install"
|
||||
echo " "
|
||||
echo " Install following tools from ports. Don't use packages."
|
||||
echo " Recommended: p5-DBI p5-NetAddr-IP p5-XML-Simple p5-XML-Twig p5-HTML-Parser p5-Net-SNMP p5-SNMP p5-DBD-mysql p5-Socket6 p5-IO-Socket-INET6"
|
||||
echo " Recommended: p5-DBI p5-NetAddr-IP p5-XML-Simple p5-XML-Twig p5-HTML-Parser p5-DBD-mysql p5-Socket6 p5-IO-Socket-INET6"
|
||||
echo " Optional: nmap xprobe"
|
||||
echo " "
|
||||
echo "To get it from source through CPAN do"
|
||||
echo " "
|
||||
echo " $ cpan Time::Local DBI SNMP Socket6 XML::Simple XML::Twig IO::Socket Time::HiRes NetAddr::IP HTML::Entities IO::Socket::INET6 JSON"
|
||||
echo " $ cpan Time::Local DBI Socket6 XML::Simple XML::Twig IO::Socket Time::HiRes NetAddr::IP HTML::Entities IO::Socket::INET6 JSON"
|
||||
echo " "
|
||||
rm output
|
||||
else
|
||||
|
|
Loading…
Reference in New Issue