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
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