pandorafms/pandora_server
slerena 0d0d5a1c59 2007-08-28 Sancho Lerena <slerena@gmail.com>
* util/pandora_db.pl: Added some fixes and new checks for database
        consistency. Also purge non-init modules (needed to avoid unused modules
        that take too much time on network servers!).



git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@627 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2007-08-28 15:09:04 +00:00
..
bin 2007-08-27 Sancho Lerena <slerena@gmail.com> 2007-08-27 15:06:17 +00:00
conf 2007-08-21 Sancho Lerena <slerena@gmail.com> 2007-08-21 18:14:40 +00:00
lib/PandoraFMS 2007-08-27 Sancho Lerena <slerena@gmail.com> 2007-08-27 15:06:17 +00:00
specs 2007-06-25 Manuel Arostegui <marostegui@artica.es> 2007-06-25 07:51:39 +00:00
util 2007-08-28 Sancho Lerena <slerena@gmail.com> 2007-08-28 15:09:04 +00:00
AUTHORS * Preparing the package for release Beta2 officially. 2006-07-03 17:18:19 +00:00
COPYING * Preparing the package for release Beta2 officially. 2006-07-03 17:18:19 +00:00
ChangeLog 2007-08-28 Sancho Lerena <slerena@gmail.com> 2007-08-28 15:09:04 +00:00
Makefile.PL 2007-08-02 Sancho Lerena <slerena@gmail.com> 2007-08-02 18:30:10 +00:00
README 2007-08-23 Sancho Lerena <slerena@gmail.com> 2007-08-23 15:51:49 +00:00
pandora_network 2007-08-23 Sancho Lerena <slerena@gmail.com> 2007-08-23 16:54:41 +00:00
pandora_recon 2007-08-23 Sancho Lerena <slerena@gmail.com> 2007-08-23 16:54:41 +00:00
pandora_server 2007-08-23 Sancho Lerena <slerena@gmail.com> 2007-08-23 16:54:41 +00:00
pandora_snmpconsole 2007-08-23 Sancho Lerena <slerena@gmail.com> 2007-08-23 16:54:41 +00:00

README

Pandora FMS : The Free Monitoring System (v1.3)
===============================================

http://pandora.sourceforge.net

What is Pandora FMS
-------------------

Pandora watches your systems and applications, and allows you to know the status of any element 
of those systems. Pandora could detect a network interface down, a defacement in your website, 
a memory leak in one of your server app, or the movement of any value of the NASDAQ new 
technology market. If you want, Pandora could send out SMS message when your systems fails... 
or when Google's value drop below US$ 33.

Pandora will adjust, like an octopus, to your systems and requirements, because has been 
designed to be open, modular, multiplattform and easy to customize and use, all integrated into 
a scalable and distributed architecture.

Pandora runs on any operating system, with specific agents for each platform gathering data and 
sending it to a server, it has specific agents for GNU/Linux, AIX, Solaris, HP-UX, BSD/IPSO, 
and Windows 2000, XP and 2003.

Pandora can also monitor any kind of TCP/IP service, without the need to install agents, and 
monitor network systems such as load balancers, routers, switches, operating systems, 
applications, or simply printers if you need. Pandora also supports SNMP for collecting data 
and for receiving traps.

A few examples of common resources monitored by Pandora could be processor load, disk and 
memory usage, running processes, log files, environmental factors such as temperature, or 
application values like strings contained in web pages or any possible way to collect data in 
an automatic way.

Pandora FMS Features
--------------------

    * Lightweigth agents. No need to install adicional software.
    * Also could use network to collect data on remote systems.
    * High availability for each component.
    * Escalable architecture: no liminitation on number of servers you can setup for the same enviroment.
    * Internal detection on Network Servers in case of failure, automatic takeover of secondary servers.
    * Stores all data for many weeks or months
    * Support for implementing redundant and distributed monitoring servers.
    * Data is stored in a relational database (MySQL).
    * Automatic database optimization for size, using interpolation and compression algorithms.
    * Integrated alert systems: send mails, execute scripts, send SMS, or simply write to syslog are a few examples.
    * Integrated graphical reporting system for any kind of collected data.
    * SNMP Trap reception with Realtime Console.
    * Granularity of accesses and user profiles for each group and each user.
    * Integrated internal auditing for any operation.
    * Alert filtering to avoid false positives.
    * Event system with user validation for operation in teams.
    * Integrated incident system with flows and different profiles.
    * Any collected value can be displayed as graph or data table.
    * Alerts can be triggered any kind of event, in many ways.
    * WebConsole on line HTML contextual help.
    * Integrated DB management: purge and DB compaction.
    * Mass configuration/alert manager to copy and distribute agent-module and/or agents/alerts setup to other agents.
    * Profiles could be personalized using up to eight security attributes without limitation on groups or profiles.
    * Filters for collected data to avoid bad data.

QUICK INSTALL GUIDE - Pandora FMS Server 1.3
---------------------------------------------

Installing from sources (SVN)

This QIG is made using code from sources (valid also using tarball with latest code, 
like 1.3beta2). It was made using Ubuntu 7.04 server, but using similar commands for 
RPM systems, like Fedora or SuSe, should be very similar (using YUM instead APT, or 
resolving dependencies manually installing RPM or using CPAN for PERL dependencies).

Install your subversion client:

	apt-get install subversion

Checkout Pandora FMS repository

	cd $HOME
	svn co https://pandora.svn.sourceforge.net/svnroot/pandora/trunk
	.
	.
	[MANY FILES]
	.
	.
	A    trunk/pandora_server/util/pandora_dbstress.README
	A    trunk/pandora_server/util/PandoraFMS
	A    trunk/pandora_server/util/pandora_DBI_test.pl
	A    trunk/pandora_server/util/pandora_snmp.README
	Checked out revision 584.

Now your "SOURCES" directory are under $HOME/trunk

	root@gdrone:~# cd trunk/
	root@gdrone:~/trunk# cd pandora_server/
	root@gdrone:~/trunk/pandora_server# ls
	AUTHORS  ChangeLog  COPYING  Makefile.PL      pandora_recon   pandora_snmpconsole  util
	bin      conf       lib      pandora_network  pandora_server  specs
	root@gdrone:~/trunk/pandora_server# perl Makefile.PL
	Warning: prerequisite DBI 0 not found.
	Warning: prerequisite SNMP 0 not found.
	Warning: prerequisite XML::Simple 0 not found.
	Writing Makefile for PandoraFMS

Resolve dependencies installing missing packages, if your Debian/Ubuntu system needs 
more packages, install using a similar command. Please refer documentation about 
prerequisites to know what packages you need).

	apt-get install libdate-manip-perl snmp snmpd libsnmp-perl libtime-format-perl \
	libxml-simple-perl libnetaddr-ip-perl libdbi-perl libxml-simple-perl libnetaddr-ip-perl

If you have not installed developer tools, install with metapackage:

	apt-get install build-essential

Run make

	# make
	cp lib/PandoraFMS/Tools.pm blib/lib/PandoraFMS/Tools.pm
	cp lib/PandoraFMS/Config.pm blib/lib/PandoraFMS/Config.pm
	cp lib/PandoraFMS/DB.pm blib/lib/PandoraFMS/DB.pm
	cp bin/pandora_server.pl blib/script/pandora_server.pl
	/usr/bin/perl "-MExtUtils::MY" -e "MY->fixin(shift)" blib/script/pandora_server.pl
	cp bin/pandora_network.pl blib/script/pandora_network.pl
	/usr/bin/perl "-MExtUtils::MY" -e "MY->fixin(shift)" blib/script/pandora_network.pl
	cp bin/pandora_snmpconsole.pl blib/script/pandora_snmpconsole.pl
	/usr/bin/perl "-MExtUtils::MY" -e "MY->fixin(shift)" blib/script/pandora_snmpconsole.pl
	cp bin/pandora_recon.pl blib/script/pandora_recon.pl
	/usr/bin/perl "-MExtUtils::MY" -e "MY->fixin(shift)" blib/script/pandora_recon.pl

	# make install
	Installing /usr/local/share/perl/5.8.7/PandoraFMS/Tools.pm
	Installing /usr/local/share/perl/5.8.7/PandoraFMS/Config.pm
	Installing /usr/local/share/perl/5.8.7/PandoraFMS/DB.pm
	Writing /usr/local/lib/perl/5.8.7/auto/PandoraFMS/.packlist
	Appending installation info to  /usr/local/lib/perl/5.8.7/perllocal.pod

Test Pandora FMS data server

	# pandora_server --help

	Pandora FMS Data Server 1.3-dev Build PS070731 Copyright (c) 2004-2007 ArticaST
	This program is Free Software, licensed under the terms of GPL License v2.
	You can download latest versions and documentation at http://pandora.sourceforge.net.

 	I Need at least one parameter: Complete path to Pandora FMS Config file

	Syntax:
	  pandora_server <fullpathname to pandora config file> [ options ]

	Following options are optional :
    	        -v  :  Verbose mode activated, give more information in logfile
    	        -d  :  Debug mode activated, give extensive information in logfile
    	        -D  :  Daemon mode (runs in backgroup)
    	        -h  :  This screen, show a little help screen

Configure Pandora FMS from sources

Create directories:

	mkdir /var/spool/pandora
	mkdir /var/spool/pandora/data_in

Create user pandora

	useradd pandora

Create homedir for user pandora and .ssh subdir

	mkdir /home/pandora
	mkdir /home/pandora/.ssh
	chown -R slerena /home/pandora

Create PID directory

	mkdir /var/run/pandora

Create Logfile directory

	mkdir /var/log/pandora

Make Pandora incoming dir writable for user "pandora"

	chown pandora:root /var/spool/pandora/data_in
	chmod 770 /var/spool/pandora/data_in

(OPTIONAL) Use scponly to secure pandora user

Install scponly:

	apt-get install scponly

Replace pandora user shell for scponly

	usermod -s /usr/bin/scponly pandora

Create /etc/pandora

	mkdir /etc/pandora

Copy default config to /etc/pandora directory

	cp $HOME/trunk/pandora_server/conf/pandora_server.conf /etc/pandora/

Edit /etc/pandora/pandora_server.conf file

Copy startup daemons to /etc/init.d

	cp $HOME/trunk/pandora_server/pandora_* /etc/init.d/

(OPTIONAL) Create links to appropiate runlevel to be sure that Pandora FMS starts when system bootup

	ln -s /etc/init.d/pandora_server /etc/rc2.d/S90pandora_server
	ln -s /etc/init.d/pandora_recon /etc/rc2.d/S90pandora_recon
	ln -s /etc/init.d/pandora_network /etc/rc2.d/S90pandora_network
	ln -s /etc/init.d/pandora_snmpconsole /etc/rc2.d/S90pandora_snmpconsole

(OPTIONAL) If you're making Pandora FMS server from sources (using PERL makefile), probably you need to link executables placed on /usr/local/bin to /usr/bin because launcher scripts look for Pandora FMS executables at /usr/bin:

	ln -s /usr/local/bin/pandora_server /usr/bin/pandora_server
	ln -s /usr/local/bin/pandora_snmpconsole /usr/bin/pandora_snmpconsole
	ln -s /usr/local/bin/pandora_recon /usr/bin/pandora_recon
	ln -s /usr/local/bin/pandora_network /usr/bin/pandora_network

Create shared resources directory for Pandora FMS

	mkdir /usr/share/pandora

Copy util directory to /usr/share/pandora

	cp -R $HOME/trunk/pandora_server/util /usr/share/pandora

Copy doc directory to /usr/share/pandora

	cp -R $HOME/trunk/pandora_server/doc /usr/share/pandora

Final disposition of files for production usage

Installated automatically with perl makefile at build process

Main executables

    * /usr/bin/pandora_network - Pandora FMS Network server
    * /usr/bin/pandora_server - Pandora FMS Dataserver
    * /usr/bin/pandora_recon - Pandora FMS Recon server
    * /usr/bin/pandora_snmptraps - Pandora FMS SNMP Console for traps 

Pandora FMS Perl (.pm) libraries

(depends of your Linux distro and version) in my setup (Ubuntu 6.06 server):

    * /usr/local/share/perl/5.8.7/PandoraFMS/Config.pm
    * /usr/local/share/perl/5.8.7/PandoraFMS/DB.pm
    * /usr/local/share/perl/5.8.7/PandoraFMS/Tools.pm 

Manual install / Package install

Startup scripts

    * /etc/init.d/pandora_network
    * /etc/init.d/pandora_server
    * /etc/init.d/pandora_snmpconsole
    * /etc/init.d/pandora_recon 

Configuration files

    * /etc/pandora/pandora_server.conf 

Utilities

    * /usr/share/pandora/util 

Documentation and examples

    * /usr/share/pandora/doc 

Setting up Pandora FMS server

You need to edit /etc/pandora/pandora_server.conf and setup some paths and 
user/password items. If you dont remember passwords/users, let's take a look to your 
Pandora FMS console setup at /var/www/pandora_console/include/config.php.

License
-------

The project is distributed under the GPL License v2 or later.

Copyright (C) 2004-2007 Pandora FMS development team