2010-05-12 Sergio Martin <sergio.martin@artica.es>

* pandora_server_installer
	  man/man1/tentacle_server.1.gz: Improved the
	  manpages installation splitting tentacle man
	  page

	* man/man1/tentacle_server.1
	 man/man3: Old man pages removed



git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2708 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
This commit is contained in:
zarzuelo 2010-05-12 14:52:58 +00:00
parent 98e462f274
commit 55e1e8cf28
6 changed files with 14 additions and 802 deletions

View File

@ -1,3 +1,14 @@
2010-05-12 Sergio Martin <sergio.martin@artica.es>
* pandora_server_installer
man/man1/tentacle_server.1.gz: Improved the
manpages installation splitting tentacle man
page
* man/man1/tentacle_server.1
man/man3: Old man pages removed
2010-05-12 Sergio Martin <sergio.martin@artica.es>
* lib/PandoraFMS/Core.pm: Fixed unknown monitors

View File

@ -1,219 +0,0 @@
.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.05)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.ie \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. nr % 0
. rr F
.\}
.el \{\
. de IX
..
.\}
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
. \" fudge factors for nroff and troff
.if n \{\
. ds #H 0
. ds #V .8m
. ds #F .3m
. ds #[ \f1
. ds #] \fP
.\}
.if t \{\
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. ds #V .6m
. ds #F 0
. ds #[ \&
. ds #] \&
.\}
. \" simple accents for nroff and troff
.if n \{\
. ds ' \&
. ds ` \&
. ds ^ \&
. ds , \&
. ds ~ ~
. ds /
.\}
.if t \{\
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
. \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
. \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
. \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
. ds : e
. ds 8 ss
. ds o a
. ds d- d\h'-1'\(ga
. ds D- D\h'-1'\(hy
. ds th \o'bp'
. ds Th \o'LP'
. ds ae ae
. ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "TENTACLE_SERVER 1"
.TH TENTACLE_SERVER 1 "2010-02-15" "perl v5.10.0" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
tentacle_server \- Tentacle Server
.SH "VERSION"
.IX Header "VERSION"
Version 0.2.1
.SH "USAGE"
.IX Header "USAGE"
tentacle_server \fB\-s \f(BIstorage_directory\fB\fR [\fIoptions\fR]
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
\&\fB\f(BItentacle_server\fB\|(1)\fR is a server for \fBtentacle\fR, a \fBclient/server\fR file transfer protocol that aims to be:
.IP "\(bu" 4
Secure by design.
.IP "\(bu" 4
Easy to use.
.IP "\(bu" 4
Versatile and cross-platform.
.PP
Tentacle was created to replace more complex tools like \s-1SCP\s0 and \s-1FTP\s0 for simple file transfer/retrieval, and switch from authentication mechanisms like .netrc, interactive logins and \s-1SSH\s0 keys to X.509 certificates. Simple password authentication over a \s-1SSL\s0 secured connection is supported too.
.PP
The client and server (\fB\s-1TCP\s0 port 41121\fR) are designed to be run from the command line or called from a shell script, and \fBno configuration files are needed\fR.
.SH "REQUIRED ARGUMENTES"
.IX Header "REQUIRED ARGUMENTES"
.IP "\fB\-s \f(BIstorage_directory\fB\fR Root directory to store the files received by the server" 4
.IX Item "-s storage_directory Root directory to store the files received by the server"
.SH "OPTIONS"
.IX Header "OPTIONS"
.PD 0
.IP "\fI\-a ip_address\fR Address to \fBlisten\fR on (default \fI0.0.0.0\fR)." 4
.IX Item "-a ip_address Address to listen on (default 0.0.0.0)."
.IP "\fI\-c number\fR \fBMaximum\fR number of simultaneous \fBconnections\fR (default \fI10\fR)." 4
.IX Item "-c number Maximum number of simultaneous connections (default 10)."
.IP "\fI\-d\fR Run as \fBdaemon\fR." 4
.IX Item "-d Run as daemon."
.IP "\fI\-e cert\fR \fBOpenSSL certificate\fR file. Enables \s-1SSL\s0." 4
.IX Item "-e cert OpenSSL certificate file. Enables SSL."
.IP "\fI\-f ca_cert\fR Verify that the peer certificate is signed by a \fB\s-1CA\s0\fR." 4
.IX Item "-f ca_cert Verify that the peer certificate is signed by a CA."
.IP "\fI\-h\fR Show \fBhelp\fR." 4
.IX Item "-h Show help."
.IP "\fI\-i\fR \fBFilters\fR." 4
.IX Item "-i Filters."
.IP "\fI\-k key\fR \fBOpenSSL private key\fR file." 4
.IX Item "-k key OpenSSL private key file."
.IP "\fI\-m size\fR \fBMaximum file size\fR in bytes (default \fI2000000b\fR)." 4
.IX Item "-m size Maximum file size in bytes (default 2000000b)."
.IP "\fI\-o\fR Enable file \fBoverwrite\fR." 4
.IX Item "-o Enable file overwrite."
.IP "\fI\-p port\fR \fBPort to listen\fR on (default \fI41121\fR)." 4
.IX Item "-p port Port to listen on (default 41121)."
.IP "\fI\-q\fR \fBQuiet\fR. Do now print error messages." 4
.IX Item "-q Quiet. Do now print error messages."
.IP "\fI\-r number\fR \fBNumber of retries\fR for network opertions (default \fI3\fR)." 4
.IX Item "-r number Number of retries for network opertions (default 3)."
.IP "\fI\-t time\fR \fBTime-out\fR for network operations in \fBseconds\fR (default \fI1s\fR)." 4
.IX Item "-t time Time-out for network operations in seconds (default 1s)."
.IP "\fI\-v\fR Be \fBverbose\fR." 4
.IX Item "-v Be verbose."
.IP "\fI\-w\fR Prompt for \fBOpenSSL private key password\fR." 4
.IX Item "-w Prompt for OpenSSL private key password."
.IP "\fI\-x\fR pwd \fBServer password\fR." 4
.IX Item "-x pwd Server password."
.PD
.SH "EXIT STATUS"
.IX Header "EXIT STATUS"
.IP "0 on Success" 4
.IX Item "0 on Success"
.PD 0
.IP "1 on Error" 4
.IX Item "1 on Error"
.PD
.SH "CONFIGURATION"
.IX Header "CONFIGURATION"
Tentacle doesn't use any configurationf files, all the configuration is done by the options passed when it's started.
.SH "DEPENDENCIES"
.IX Header "DEPENDENCIES"
Getopt::Std, IO::Select, IO::Socket::INET, Thread::Semaphore, \s-1POSIX\s0
.SH "LICENSE"
.IX Header "LICENSE"
This is released under the \s-1GNU\s0 Lesser General Public License.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
Getopt::Std, IO::Select, IO::Socket::INET, Thread::Semaphore, \s-1POSIX\s0
.PP
Protocol description and more info at: <http://openideas.info/wiki/index.php?title=Tentacle>
.SH "COPYRIGHT"
.IX Header "COPYRIGHT"
Copyright (c) 2005\-2010 Artica Soluciones Tecnologicas S.L

Binary file not shown.

View File

@ -1,361 +0,0 @@
.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.05)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.ie \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. nr % 0
. rr F
.\}
.el \{\
. de IX
..
.\}
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
. \" fudge factors for nroff and troff
.if n \{\
. ds #H 0
. ds #V .8m
. ds #F .3m
. ds #[ \f1
. ds #] \fP
.\}
.if t \{\
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. ds #V .6m
. ds #F 0
. ds #[ \&
. ds #] \&
.\}
. \" simple accents for nroff and troff
.if n \{\
. ds ' \&
. ds ` \&
. ds ^ \&
. ds , \&
. ds ~ ~
. ds /
.\}
.if t \{\
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
. \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
. \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
. \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
. ds : e
. ds 8 ss
. ds o a
. ds d- d\h'-1'\(ga
. ds D- D\h'-1'\(hy
. ds th \o'bp'
. ds Th \o'LP'
. ds ae ae
. ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "PandoraFMS::Core 3"
.TH PandoraFMS::Core 3 "2010-02-25" "perl v5.10.0" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
PandoraFMS::Core \- Core functions of Pandora FMS
.SH "VERSION"
.IX Header "VERSION"
Version 3.1
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 1
\& use PandoraFMS::Core;
.Ve
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
This module contains all the base functions of \fBPandora \s-1FMS\s0\fR, the most basic operations of the system are done here.
.SS "Interface Exported Functions:"
.IX Subsection "Interface Exported Functions:"
.IP "\(bu" 4
\&\f(CW\*(C`pandora_audit\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`pandora_create_agent\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`pandora_create_incident\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`pandora_create_module\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`pandora_evaluate_alert\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`pandora_evaluate_compound_alert\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`pandora_evaluate_snmp_alerts\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`pandora_event\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`pandora_execute_alert\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`pandora_execute_action\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`pandora_exec_forced_alerts\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`pandora_generate_alerts\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`pandora_generate_compound_alerts\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`pandora_module_keep_alive\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`pandora_module_keep_alive_nd\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`pandora_ping\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`pandora_ping_latency\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`pandora_planned_downtime\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`pandora_process_alert\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`pandora_process_module\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`pandora_reset_server\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`pandora_server_keep_alive\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`pandora_update_agent\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`pandora_update_module_on_error\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`pandora_update_server\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`pandora_group_statistics\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`pandora_server_statistics\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`pandora_self_monitoring\*(C'\fR
.SH "METHODS"
.IX Header "METHODS"
.ie n .SS """pandora_generate_alerts (\fI$pa_config\fP \fI$data\fP \fI$status\fP \fI$agent\fP \fI$module\fP \fI$utimestamp\fP \fI$dbh\fP)"""
.el .SS "\f(CWpandora_generate_alerts (\fP\f(CI$pa_config\fP\f(CW \fP\f(CI$data\fP\f(CW \fP\f(CI$status\fP\f(CW \fP\f(CI$agent\fP\f(CW \fP\f(CI$module\fP\f(CW \fP\f(CI$utimestamp\fP\f(CW \fP\f(CI$dbh\fP\f(CW)\fP"
.IX Subsection "pandora_generate_alerts ($pa_config $data $status $agent $module $utimestamp $dbh)"
Generate alerts for a given \fI\f(CI$module\fI\fR.
.ie n .SS """pandora_evaluate_alert (\fI$pa_config\fP, \fI$agent\fP, \fI$data\fP, \fI$last_status\fP, \fI$alert\fP, \fI$utimestamp\fP, \fI$dbh\fP)"""
.el .SS "\f(CWpandora_evaluate_alert (\fP\f(CI$pa_config\fP\f(CW, \fP\f(CI$agent\fP\f(CW, \fP\f(CI$data\fP\f(CW, \fP\f(CI$last_status\fP\f(CW, \fP\f(CI$alert\fP\f(CW, \fP\f(CI$utimestamp\fP\f(CW, \fP\f(CI$dbh\fP\f(CW)\fP"
.IX Subsection "pandora_evaluate_alert ($pa_config, $agent, $data, $last_status, $alert, $utimestamp, $dbh)"
Evaluate trigger conditions for a given alert.
.PP
\&\fBReturns\fR:
0 Execute the alert.
1 Do not execute the alert.
2 Do not execute the alert, but increment its internal counter.
3 Cease the alert.
4 Recover the alert.
5 Reset internal counter (alert not fired, interval elapsed).
.ie n .SS """pandora_process_alert (\fI$pa_config\fP, \fI$data\fP, \fI$agent\fP, \fI$module\fP, \fI$alert\fP, \fI$rc\fP, \fI$dbh\fP)"""
.el .SS "\f(CWpandora_process_alert (\fP\f(CI$pa_config\fP\f(CW, \fP\f(CI$data\fP\f(CW, \fP\f(CI$agent\fP\f(CW, \fP\f(CI$module\fP\f(CW, \fP\f(CI$alert\fP\f(CW, \fP\f(CI$rc\fP\f(CW, \fP\f(CI$dbh\fP\f(CW)\fP"
.IX Subsection "pandora_process_alert ($pa_config, $data, $agent, $module, $alert, $rc, $dbh)"
Process an alert given the status returned by pandora_evaluate_alert.
.ie n .SS """pandora_evaluate_compound_alert (\fI$pa_config\fP, \fI$id\fP, \fI$name\fP, \fI$dbh\fP)"""
.el .SS "\f(CWpandora_evaluate_compound_alert (\fP\f(CI$pa_config\fP\f(CW, \fP\f(CI$id\fP\f(CW, \fP\f(CI$name\fP\f(CW, \fP\f(CI$dbh\fP\f(CW)\fP"
.IX Subsection "pandora_evaluate_compound_alert ($pa_config, $id, $name, $dbh)"
Evaluate the given compound alert. Returns 1 if the alert should be
fired, 0 if not.
.ie n .SS """pandora_generate_compound_alerts (\fI$pa_config\fP, \fI$data\fP, \fI$status\fP, \fI$agent\fP, \fI$module\fP, \fI$alert\fP, \fI$utimestamp\fP, \fI$dbh\fP)"""
.el .SS "\f(CWpandora_generate_compound_alerts (\fP\f(CI$pa_config\fP\f(CW, \fP\f(CI$data\fP\f(CW, \fP\f(CI$status\fP\f(CW, \fP\f(CI$agent\fP\f(CW, \fP\f(CI$module\fP\f(CW, \fP\f(CI$alert\fP\f(CW, \fP\f(CI$utimestamp\fP\f(CW, \fP\f(CI$dbh\fP\f(CW)\fP"
.IX Subsection "pandora_generate_compound_alerts ($pa_config, $data, $status, $agent, $module, $alert, $utimestamp, $dbh)"
Generate compound alerts that depend on a given alert.
.ie n .SS """pandora_execute_alert (\fI$pa_config\fP, \fI$data\fP, \fI$agent\fP, \fI$module\fP, \fI$alert\fP, \fI$alert_mode\fP, \fI$dbh\fP)"""
.el .SS "\f(CWpandora_execute_alert (\fP\f(CI$pa_config\fP\f(CW, \fP\f(CI$data\fP\f(CW, \fP\f(CI$agent\fP\f(CW, \fP\f(CI$module\fP\f(CW, \fP\f(CI$alert\fP\f(CW, \fP\f(CI$alert_mode\fP\f(CW, \fP\f(CI$dbh\fP\f(CW)\fP"
.IX Subsection "pandora_execute_alert ($pa_config, $data, $agent, $module, $alert, $alert_mode, $dbh)"
Execute the given alert.
.ie n .SS """pandora_execute_action (\fI$pa_config\fP, \fI$data\fP, \fI$agent\fP, \fI$alert\fP, \fI$alert_mode\fP, \fI$action\fP, \fI$module\fP, \fI$dbh\fP)"""
.el .SS "\f(CWpandora_execute_action (\fP\f(CI$pa_config\fP\f(CW, \fP\f(CI$data\fP\f(CW, \fP\f(CI$agent\fP\f(CW, \fP\f(CI$alert\fP\f(CW, \fP\f(CI$alert_mode\fP\f(CW, \fP\f(CI$action\fP\f(CW, \fP\f(CI$module\fP\f(CW, \fP\f(CI$dbh\fP\f(CW)\fP"
.IX Subsection "pandora_execute_action ($pa_config, $data, $agent, $alert, $alert_mode, $action, $module, $dbh)"
Execute the given action.
.ie n .SS """pandora_access_update (\fI$pa_config\fP, \fI$agent_id\fP, \fI$dbh\fP)"""
.el .SS "\f(CWpandora_access_update (\fP\f(CI$pa_config\fP\f(CW, \fP\f(CI$agent_id\fP\f(CW, \fP\f(CI$dbh\fP\f(CW)\fP"
.IX Subsection "pandora_access_update ($pa_config, $agent_id, $dbh)"
Update agent access table.
.ie n .SS """pandora_process_module (\fI$pa_config\fP, \fI$data\fP, \fI$agent\fP, \fI$module\fP, \fI$module_type\fP, \fI$timestamp\fP, \fI$utimestamp\fP, \fI$server_id\fP, \fI$dbh\fP)"""
.el .SS "\f(CWpandora_process_module (\fP\f(CI$pa_config\fP\f(CW, \fP\f(CI$data\fP\f(CW, \fP\f(CI$agent\fP\f(CW, \fP\f(CI$module\fP\f(CW, \fP\f(CI$module_type\fP\f(CW, \fP\f(CI$timestamp\fP\f(CW, \fP\f(CI$utimestamp\fP\f(CW, \fP\f(CI$server_id\fP\f(CW, \fP\f(CI$dbh\fP\f(CW)\fP"
.IX Subsection "pandora_process_module ($pa_config, $data, $agent, $module, $module_type, $timestamp, $utimestamp, $server_id, $dbh)"
Process Pandora module.
.ie n .SS """pandora_planned_downtime (\fI$pa_config\fP, \fI$dbh\fP)"""
.el .SS "\f(CWpandora_planned_downtime (\fP\f(CI$pa_config\fP\f(CW, \fP\f(CI$dbh\fP\f(CW)\fP"
.IX Subsection "pandora_planned_downtime ($pa_config, $dbh)"
Update planned downtimes.
.ie n .SS """pandora_reset_server (\fI$pa_config\fP, \fI$dbh\fP)"""
.el .SS "\f(CWpandora_reset_server (\fP\f(CI$pa_config\fP\f(CW, \fP\f(CI$dbh\fP\f(CW)\fP"
.IX Subsection "pandora_reset_server ($pa_config, $dbh)"
Reset the status of all server types for the current server.
.ie n .SS """pandora_update_server (\fI$pa_config\fP, \fI$dbh\fP, \fI$server_name\fP, \fI$status\fP, \fI$server_type\fP, \fI$num_threads\fP, \fI$queue_size\fP)"""
.el .SS "\f(CWpandora_update_server (\fP\f(CI$pa_config\fP\f(CW, \fP\f(CI$dbh\fP\f(CW, \fP\f(CI$server_name\fP\f(CW, \fP\f(CI$status\fP\f(CW, \fP\f(CI$server_type\fP\f(CW, \fP\f(CI$num_threads\fP\f(CW, \fP\f(CI$queue_size\fP\f(CW)\fP"
.IX Subsection "pandora_update_server ($pa_config, $dbh, $server_name, $status, $server_type, $num_threads, $queue_size)"
Update server status:
0 dataserver
1 network server
2 snmp console,
3 recon
4 plugin
5 prediction
6 wmi.
.ie n .SS """pandora_update_agent (\fI$pa_config\fP, \fI$agent_timestamp\fP, \fI$agent_id\fP, \fI$os_version\fP, \fI$agent_version\fP, \fI$agent_interval\fP, \fI$dbh\fP, [\fI$timezone_offset\fP], [\fI$longitude\fP], [\fI$latitude\fP], [\fI$altitude\fP], [\fI$position_description\fP]) [\fI$parent_agent_name\fP])"""
.el .SS "\f(CWpandora_update_agent (\fP\f(CI$pa_config\fP\f(CW, \fP\f(CI$agent_timestamp\fP\f(CW, \fP\f(CI$agent_id\fP\f(CW, \fP\f(CI$os_version\fP\f(CW, \fP\f(CI$agent_version\fP\f(CW, \fP\f(CI$agent_interval\fP\f(CW, \fP\f(CI$dbh\fP\f(CW, [\fP\f(CI$timezone_offset\fP\f(CW], [\fP\f(CI$longitude\fP\f(CW], [\fP\f(CI$latitude\fP\f(CW], [\fP\f(CI$altitude\fP\f(CW], [\fP\f(CI$position_description\fP\f(CW]) [\fP\f(CI$parent_agent_name\fP\f(CW])\fP"
.IX Subsection "pandora_update_agent ($pa_config, $agent_timestamp, $agent_id, $os_version, $agent_version, $agent_interval, $dbh, [$timezone_offset], [$longitude], [$latitude], [$altitude], [$position_description]) [$parent_agent_name])"
Update last contact, timezone fields in \fBtagente\fR and current position (this
can affect \fBtgis_data_status\fR and \fBtgis_data_history\fR). If the \fI\f(CI$parent_agent_id\fI\fR is
defined also the parent is updated.
.ie n .SS """pandora_module_keep_alive (\fI$pa_config\fP, \fI$id_agent\fP, \fI$agent_name\fP, \fI$server_id\fP, \fI$dbh\fP)"""
.el .SS "\f(CWpandora_module_keep_alive (\fP\f(CI$pa_config\fP\f(CW, \fP\f(CI$id_agent\fP\f(CW, \fP\f(CI$agent_name\fP\f(CW, \fP\f(CI$server_id\fP\f(CW, \fP\f(CI$dbh\fP\f(CW)\fP"
.IX Subsection "pandora_module_keep_alive ($pa_config, $id_agent, $agent_name, $server_id, $dbh)"
Updates the keep_alive module for the given agent.
.ie n .SS """pandora_create_incident (\fI$pa_config\fP, \fI$dbh\fP, \fI$title\fP, \fI$text\fP, \fI$priority\fP, \fI$status\fP, \fI$origin\fP, \fI$id_group\fP)"""
.el .SS "\f(CWpandora_create_incident (\fP\f(CI$pa_config\fP\f(CW, \fP\f(CI$dbh\fP\f(CW, \fP\f(CI$title\fP\f(CW, \fP\f(CI$text\fP\f(CW, \fP\f(CI$priority\fP\f(CW, \fP\f(CI$status\fP\f(CW, \fP\f(CI$origin\fP\f(CW, \fP\f(CI$id_group\fP\f(CW)\fP"
.IX Subsection "pandora_create_incident ($pa_config, $dbh, $title, $text, $priority, $status, $origin, $id_group)"
Create an internal Pandora incident.
.ie n .SS """pandora_audit (\fI$pa_config\fP, \fI$description\fP, \fI$name\fP, \fI$action\fP, \fI$dbh\fP)"""
.el .SS "\f(CWpandora_audit (\fP\f(CI$pa_config\fP\f(CW, \fP\f(CI$description\fP\f(CW, \fP\f(CI$name\fP\f(CW, \fP\f(CI$action\fP\f(CW, \fP\f(CI$dbh\fP\f(CW)\fP"
.IX Subsection "pandora_audit ($pa_config, $description, $name, $action, $dbh)"
Create an internal audit entry.
.ie n .SS """pandora_create_module (\fI$pa_config\fP, \fI$agent_id\fP, \fI$module_type_id\fP, \fI$module_name\fP, \fI$max\fP, \fI$min\fP, \fI$post_process\fP, \fI$description\fP, \fI$interval\fP, \fI$dbh\fP)"""
.el .SS "\f(CWpandora_create_module (\fP\f(CI$pa_config\fP\f(CW, \fP\f(CI$agent_id\fP\f(CW, \fP\f(CI$module_type_id\fP\f(CW, \fP\f(CI$module_name\fP\f(CW, \fP\f(CI$max\fP\f(CW, \fP\f(CI$min\fP\f(CW, \fP\f(CI$post_process\fP\f(CW, \fP\f(CI$description\fP\f(CW, \fP\f(CI$interval\fP\f(CW, \fP\f(CI$dbh\fP\f(CW)\fP"
.IX Subsection "pandora_create_module ($pa_config, $agent_id, $module_type_id, $module_name, $max, $min, $post_process, $description, $interval, $dbh)"
Create a new entry in tagente_modulo and the corresponding entry in \fBtagente_estado\fR.
.ie n .SS """pandora_create_agent (\fI$pa_config\fP, \fI$server_name\fP, \fI$agent_name\fP, \fI$address\fP, \fI$address_id\fP, \fI$group_id\fP, \fI$parent_id\fP, \fI$os_id\fP, \fI$description\fP, \fI$interval\fP, \fI$dbh\fP, [\fI$timezone_offset\fP], [\fI$longitude\fP], [\fI$latitude\fP], [\fI$altitude\fP], [\fI$position_description\fP])"""
.el .SS "\f(CWpandora_create_agent (\fP\f(CI$pa_config\fP\f(CW, \fP\f(CI$server_name\fP\f(CW, \fP\f(CI$agent_name\fP\f(CW, \fP\f(CI$address\fP\f(CW, \fP\f(CI$address_id\fP\f(CW, \fP\f(CI$group_id\fP\f(CW, \fP\f(CI$parent_id\fP\f(CW, \fP\f(CI$os_id\fP\f(CW, \fP\f(CI$description\fP\f(CW, \fP\f(CI$interval\fP\f(CW, \fP\f(CI$dbh\fP\f(CW, [\fP\f(CI$timezone_offset\fP\f(CW], [\fP\f(CI$longitude\fP\f(CW], [\fP\f(CI$latitude\fP\f(CW], [\fP\f(CI$altitude\fP\f(CW], [\fP\f(CI$position_description\fP\f(CW])\fP"
.IX Subsection "pandora_create_agent ($pa_config, $server_name, $agent_name, $address, $address_id, $group_id, $parent_id, $os_id, $description, $interval, $dbh, [$timezone_offset], [$longitude], [$latitude], [$altitude], [$position_description])"
Create a new entry in \fBtagente\fR optionaly with position information
.ie n .SS """pandora_event (\fI$pa_config\fP, \fI$evento\fP, \fI$id_grupo\fP, \fI$id_agente\fP, \fI$severity\fP, \fI$id_alert_am\fP, \fI$id_agentmodule\fP, \fI$event_type\fP, \fI$event_status\fP, \fI$dbh\fP)"""
.el .SS "\f(CWpandora_event (\fP\f(CI$pa_config\fP\f(CW, \fP\f(CI$evento\fP\f(CW, \fP\f(CI$id_grupo\fP\f(CW, \fP\f(CI$id_agente\fP\f(CW, \fP\f(CI$severity\fP\f(CW, \fP\f(CI$id_alert_am\fP\f(CW, \fP\f(CI$id_agentmodule\fP\f(CW, \fP\f(CI$event_type\fP\f(CW, \fP\f(CI$event_status\fP\f(CW, \fP\f(CI$dbh\fP\f(CW)\fP"
.IX Subsection "pandora_event ($pa_config, $evento, $id_grupo, $id_agente, $severity, $id_alert_am, $id_agentmodule, $event_type, $event_status, $dbh)"
Generate an event.
.ie n .SS """pandora_update_module_on_error (\fI$pa_config\fP, \fI$id_agent_module\fP, \fI$dbh\fP)"""
.el .SS "\f(CWpandora_update_module_on_error (\fP\f(CI$pa_config\fP\f(CW, \fP\f(CI$id_agent_module\fP\f(CW, \fP\f(CI$dbh\fP\f(CW)\fP"
.IX Subsection "pandora_update_module_on_error ($pa_config, $id_agent_module, $dbh)"
Update module status on error.
.ie n .SS """pandora_exec_forced_alerts (\fI$pa_config\fP, \fI$dbh\fP)"""
.el .SS "\f(CWpandora_exec_forced_alerts (\fP\f(CI$pa_config\fP\f(CW, \fP\f(CI$dbh\fP\f(CW)\fP"
.IX Subsection "pandora_exec_forced_alerts ($pa_config, $dbh)"
Execute forced alerts.
.ie n .SS """pandora_module_keep_alive_nd (\fI$pa_config\fP, \fI$dbh\fP)"""
.el .SS "\f(CWpandora_module_keep_alive_nd (\fP\f(CI$pa_config\fP\f(CW, \fP\f(CI$dbh\fP\f(CW)\fP"
.IX Subsection "pandora_module_keep_alive_nd ($pa_config, $dbh)"
Update keep_alive modules for agents without data.
.ie n .SS """pandora_evaluate_snmp_alerts (\fI$pa_config\fP, \fI$trap_id\fP, \fI$trap_agent\fP, \fI$trap_oid\fP, \fI$trap_oid_text\fP, \fI$trap_custom_oid\fP, \fI$trap_custom_value\fP, \fI$dbh\fP)"""
.el .SS "\f(CWpandora_evaluate_snmp_alerts (\fP\f(CI$pa_config\fP\f(CW, \fP\f(CI$trap_id\fP\f(CW, \fP\f(CI$trap_agent\fP\f(CW, \fP\f(CI$trap_oid\fP\f(CW, \fP\f(CI$trap_oid_text\fP\f(CW, \fP\f(CI$trap_custom_oid\fP\f(CW, \fP\f(CI$trap_custom_value\fP\f(CW, \fP\f(CI$dbh\fP\f(CW)\fP"
.IX Subsection "pandora_evaluate_snmp_alerts ($pa_config, $trap_id, $trap_agent, $trap_oid, $trap_oid_text, $trap_custom_oid, $trap_custom_value, $dbh)"
Execute alerts that apply to the given \s-1SNMP\s0 trap.
.ie n .SS """pandora_ping (\fI$pa_config\fP, \fI$host\fP)"""
.el .SS "\f(CWpandora_ping (\fP\f(CI$pa_config\fP\f(CW, \fP\f(CI$host\fP\f(CW)\fP"
.IX Subsection "pandora_ping ($pa_config, $host)"
Ping the given host.
Returns:
1 if the host is alive
0 otherwise.
.ie n .SS """pandora_ping_latency (\fI$pa_config\fP, \fI$host\fP)"""
.el .SS "\f(CWpandora_ping_latency (\fP\f(CI$pa_config\fP\f(CW, \fP\f(CI$host\fP\f(CW)\fP"
.IX Subsection "pandora_ping_latency ($pa_config, $host)"
Ping the given host. Returns the average round-trip time.
.ie n .SS """save_agent_position (\fI$pa_config\fP, \fI$current_longitude\fP, \fI$current_latitude\fP, \fI$current_altitude\fP, \fI$agent_id\fP, \fI$dbh\fP, [\fI$start_timestamp\fP], [\fI$description\fP])"""
.el .SS "\f(CWsave_agent_position (\fP\f(CI$pa_config\fP\f(CW, \fP\f(CI$current_longitude\fP\f(CW, \fP\f(CI$current_latitude\fP\f(CW, \fP\f(CI$current_altitude\fP\f(CW, \fP\f(CI$agent_id\fP\f(CW, \fP\f(CI$dbh\fP\f(CW, [\fP\f(CI$start_timestamp\fP\f(CW], [\fP\f(CI$description\fP\f(CW])\fP"
.IX Subsection "save_agent_position ($pa_config, $current_longitude, $current_latitude, $current_altitude, $agent_id, $dbh, [$start_timestamp], [$description])"
Saves a new agent \s-1GIS\s0 information record in \fBtgis_data_status\fR table.
.ie n .SS """update_agent_position (\fI$pa_config\fP, \fI$current_longitude\fP, \fI$current_latitude\fP, \fI$current_altitude\fP, \fI$agent_id\fP, \fI$dbh\fP, [\fI$stored_longitude\fP], [\fI$stored_latitude\fP], [\fI$stored_altitude\fP], [\fI$start_timestamp\fP], [\fI$description\fP])"""
.el .SS "\f(CWupdate_agent_position (\fP\f(CI$pa_config\fP\f(CW, \fP\f(CI$current_longitude\fP\f(CW, \fP\f(CI$current_latitude\fP\f(CW, \fP\f(CI$current_altitude\fP\f(CW, \fP\f(CI$agent_id\fP\f(CW, \fP\f(CI$dbh\fP\f(CW, [\fP\f(CI$stored_longitude\fP\f(CW], [\fP\f(CI$stored_latitude\fP\f(CW], [\fP\f(CI$stored_altitude\fP\f(CW], [\fP\f(CI$start_timestamp\fP\f(CW], [\fP\f(CI$description\fP\f(CW])\fP"
.IX Subsection "update_agent_position ($pa_config, $current_longitude, $current_latitude, $current_altitude, $agent_id, $dbh, [$stored_longitude], [$stored_latitude], [$stored_altitude], [$start_timestamp], [$description])"
Updates agent \s-1GIS\s0 information in \fBtgis_data_status\fR table.
.ie n .SS """archive_agent_position (\fI$pa_config\fP, \fI$start_timestamp\fP, \fI$end_timestamp\fP, \fI$longitude\fP, \fI$latitude\fP, \fI$altitude\fP, \fI$description\fP, \fI$number_packages\fP, \fI$agent_id\fP, \fI$dbh\fP)"""
.el .SS "\f(CWarchive_agent_position (\fP\f(CI$pa_config\fP\f(CW, \fP\f(CI$start_timestamp\fP\f(CW, \fP\f(CI$end_timestamp\fP\f(CW, \fP\f(CI$longitude\fP\f(CW, \fP\f(CI$latitude\fP\f(CW, \fP\f(CI$altitude\fP\f(CW, \fP\f(CI$description\fP\f(CW, \fP\f(CI$number_packages\fP\f(CW, \fP\f(CI$agent_id\fP\f(CW, \fP\f(CI$dbh\fP\f(CW)\fP"
.IX Subsection "archive_agent_position ($pa_config, $start_timestamp, $end_timestamp, $longitude, $latitude, $altitude, $description, $number_packages, $agent_id, $dbh)"
Archives the last position of an agent in the \fBtgis_data_history\fR table
.ie n .SS """pandora_server_statistics (\fI$pa_config\fP, \fI$dbh\fP)"""
.el .SS "\f(CWpandora_server_statistics (\fP\f(CI$pa_config\fP\f(CW, \fP\f(CI$dbh\fP\f(CW)\fP"
.IX Subsection "pandora_server_statistics ($pa_config, $dbh)"
Process server statistics for statistics table
.ie n .SS """pandora_group_statistics (\fI$pa_config\fP, \fI$dbh\fP)"""
.el .SS "\f(CWpandora_group_statistics (\fP\f(CI$pa_config\fP\f(CW, \fP\f(CI$dbh\fP\f(CW)\fP"
.IX Subsection "pandora_group_statistics ($pa_config, $dbh)"
Process groups statistics for statistics table
.ie n .SS """pandora_self_monitoring (\fI$pa_config\fP, \fI$dbh\fP)"""
.el .SS "\f(CWpandora_self_monitoring (\fP\f(CI$pa_config\fP\f(CW, \fP\f(CI$dbh\fP\f(CW)\fP"
.IX Subsection "pandora_self_monitoring ($pa_config, $dbh)"
Pandora self monitoring process
.SH "DEPENDENCIES"
.IX Header "DEPENDENCIES"
\&\s-1DBI\s0, XML::Simple, HTML::Entities, Time::Local, \s-1POSIX\s0, PandoraFMS::DB, PandoraFMS::Config, PandoraFMS::Tools, PandoraFMS::GIS
.SH "LICENSE"
.IX Header "LICENSE"
This is released under the \s-1GNU\s0 Lesser General Public License.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
\&\s-1DBI\s0, XML::Simple, HTML::Entities, Time::Local, \s-1POSIX\s0, PandoraFMS::DB, PandoraFMS::Config, PandoraFMS::Tools, PandoraFMS::GIS
.SH "COPYRIGHT"
.IX Header "COPYRIGHT"
Copyright (c) 2005\-2010 Artica Soluciones Tecnologicas S.L

View File

@ -1,220 +0,0 @@
.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.05)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.ie \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. nr % 0
. rr F
.\}
.el \{\
. de IX
..
.\}
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
. \" fudge factors for nroff and troff
.if n \{\
. ds #H 0
. ds #V .8m
. ds #F .3m
. ds #[ \f1
. ds #] \fP
.\}
.if t \{\
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. ds #V .6m
. ds #F 0
. ds #[ \&
. ds #] \&
.\}
. \" simple accents for nroff and troff
.if n \{\
. ds ' \&
. ds ` \&
. ds ^ \&
. ds , \&
. ds ~ ~
. ds /
.\}
.if t \{\
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
. \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
. \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
. \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
. ds : e
. ds 8 ss
. ds o a
. ds d- d\h'-1'\(ga
. ds D- D\h'-1'\(hy
. ds th \o'bp'
. ds Th \o'LP'
. ds ae ae
. ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "PandoraFMS::GIS 3"
.TH PandoraFMS::GIS 3 "2010-02-15" "perl v5.10.0" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
PandoraFMS::GIS \- Geographic Information System functions of Pandora FMS
.SH "VERSION"
.IX Header "VERSION"
Version 3.1
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 1
\& use PandoraFMS::GIS;
.Ve
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
This module contains the \fB\s-1GIS\s0\fR (Geographic Information System) related functions of \fBPandora \s-1FMS\s0\fR
.SS "Interface Exported Functions:"
.IX Subsection "Interface Exported Functions:"
.IP "\(bu" 4
\&\f(CW\*(C`distance_moved\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`get_reverse_geoip_sql\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`get_reverse_geoip_file\*(C'\fR
.IP "\(bu" 4
\&\f(CW\*(C`get_random_close_point\*(C'\fR
.SH "METHODS"
.IX Header "METHODS"
.ie n .SS """distance_moved (\fI$pa_config\fP, \fI$last_longitude\fP, \fI$last_latitude\fP, \fI$last_altitude\fP, \fI$longitude\fP, \fI$latitude\fP, \fI$altitude\fP)"""
.el .SS "\f(CWdistance_moved (\fP\f(CI$pa_config\fP\f(CW, \fP\f(CI$last_longitude\fP\f(CW, \fP\f(CI$last_latitude\fP\f(CW, \fP\f(CI$last_altitude\fP\f(CW, \fP\f(CI$longitude\fP\f(CW, \fP\f(CI$latitude\fP\f(CW, \fP\f(CI$altitude\fP\f(CW)\fP"
.IX Subsection "distance_moved ($pa_config, $last_longitude, $last_latitude, $last_altitude, $longitude, $latitude, $altitude)"
Measures the distance between the last position and the previous one taking in acount the earth curvature
The distance is based on Havesine formula and so far doesn't take on account the altitude
.PP
\&\fBRefferences (\f(BITheory\fB):\fR
* <http://franchu.net/2007/11/16/gis\-calculo\-de\-distancias\-sobre\-la\-tierra/>
* <http://en.wikipedia.org/wiki/Haversine_formula>
.PP
\&\fBReferences (\f(BIC implementation\fB):\fR
* <http://blog.julien.cayzac.name/2008/10/arc\-and\-distance\-between\-two\-points\-on.html>
.ie n .SS """get_revesrse_geoip_sql (\fI$pa_config\fP, \fI$ip_addr\fP, \fI$dbh\fP)"""
.el .SS "\f(CWget_revesrse_geoip_sql (\fP\f(CI$pa_config\fP\f(CW, \fP\f(CI$ip_addr\fP\f(CW, \fP\f(CI$dbh\fP\f(CW)\fP"
.IX Subsection "get_revesrse_geoip_sql ($pa_config, $ip_addr, $dbh)"
Gets the \s-1GIS\s0 information obtained from the \fB\s-1SQL\s0\fR Database:
.PP
\&\fBReturns\fR: \fIundef\fR if there is not information available or a \fBhash\fR with:
* \fIcountry_code\fR
* \fIcountry_code3\fR
* \fIcountry_name\fR
* \fIregion\fR
* \fIcity\fR
* \fIpostal_code\fR
* \fIlongitude\fR
* \fIlatitude\fR
* \fImetro_code\fR
* \fIarea_code\fR
.ie n .SS """get_reverse_geoip_file (\fI$pa_config\fP, \fI$ip_addr\fP)"""
.el .SS "\f(CWget_reverse_geoip_file (\fP\f(CI$pa_config\fP\f(CW, \fP\f(CI$ip_addr\fP\f(CW)\fP"
.IX Subsection "get_reverse_geoip_file ($pa_config, $ip_addr)"
Gets \s-1GIS\s0 information from the MaxMind GeooIP database on file using the
\&\s-1GPL\s0 perl \s-1API\s0 from MaxMindGeoIP
.PP
\&\fBReturns\fR: \fIundef\fR if there is not information available or a \fBhash\fR with:
* \fIcountry_code\fR
* \fIcountry_code3\fR
* \fIcountry_name\fR
* \fIregion\fR
* \fIcity\fR
* \fIpostal_code\fR
* \fIlongitude\fR
* \fIlatitude\fR
* \fImetro_code\fR
* \fIarea_code\fR
.ie n .SS """get_random_close_point(\fI$pa_config\fP, \fI$center_longitude\fP, \fI$center_latitude\fP)"""
.el .SS "\f(CWget_random_close_point(\fP\f(CI$pa_config\fP\f(CW, \fP\f(CI$center_longitude\fP\f(CW, \fP\f(CI$center_latitude\fP\f(CW)\fP"
.IX Subsection "get_random_close_point($pa_config, $center_longitude, $center_latitude)"
Gets the \fBLongitude\fR and the \fBLaitiutde\fR of a random point in the surroundings of the
coordintaes received (\fI\f(CI$center_longitude\fI\fR, \fI\f(CI$center_latitude\fI\fR).
.PP
Returns \f(CW\*(C`(\f(CI$longitude\f(CW, \f(CI$laitiutde\f(CW)\*(C'\fR
.SH "DEPENDENCIES"
.IX Header "DEPENDENCIES"
PandoraFMS::DB, PandoraFMS::Tools (Optional Geo::IP::PurePerl to use file reverse geolocation database that is faster than the \s-1SQL\s0)
.SH "LICENSE"
.IX Header "LICENSE"
This is released under the \s-1GNU\s0 Lesser General Public License.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
PandoraFMS::DB, PandoraFMS::Tools
.SH "COPYRIGHT"
.IX Header "COPYRIGHT"
Copyright (c) 2005\-2010 Artica Soluciones Tecnologicas S.L

View File

@ -249,8 +249,6 @@ perl-TimeDate perl-XML-Simple perl-libwww-perl mysql-client"
cp bin/tentacle_server /usr/bin
cp util/tentacle_serverd $TENTACLE_SERVER
update-rc.d tentacle_serverd defaults
echo "Installing tentacle manual"
cp man/man1/tentacle.1.gz /usr/share/man/man1
else
if [ "$DISTRO" == "SUSE" ]
then
@ -266,6 +264,9 @@ perl-TimeDate perl-XML-Simple perl-libwww-perl mysql-client"
ln -s $TENTACLE_SERVER /etc/rc.d/rc$INITLV.d/S80tentacle_serverd
fi
fi
echo "Installing Tentacle Server manual"
cp man/man1/tentacle_server.1.gz /usr/share/man/man1
fi
fi