Pandora:FAQ

From Pandora FMS Wiki

Jump to: navigation, search

Many of following questions has been asked in our public forums [1] or in our development mail list [2], if you don't find here an answer for your problem, try to check out there.


Contents

Frequently Asked Questions (FAQs)

How can I install?

How can I upgrade from version 3.x.y to 3.x.z ? (Same major version upgrade)

If you already have the "official" released version of Pandora FMS installed, and you know there are updates in your same major version, they will be always updated on the Subversion Pandora code repository. To update your version, just install a Subversion client, and execute following command:

svn co https://pandora.svn.sourceforge.net/svnroot/pandora/trunk

That will download the latest development version (Trunk), which as of now is 3.1 (soon to be be 3.2), if you want to download the latest updates for a specific stable version, for example 3.0, execute:

svn co https://pandora.svn.sourceforge.net/svnroot/pandora/branches/pandora_3.0

To update, just follow the procedure described in the documentation, to upgrade within the same version, make sure to look at what's written on http://openideas.info/wiki/index.php?title=Pandora_3.0:Documentation_en:Anexo_Upgrade

You can find more information about development versions and upgrades from the code repository on http://pandorafms.org/index.php?sec=community&sec2=development&lng=en

My old AIX (4.3, 5.1) doesn't have Perl 5.8, I cannot run agents

A: You can install part of the IBM toolbox, containing Perl 5.8 packages. Download them from ftp://ftp.software.ibm.com/aix/freeSoftware/aixtoolbox/RPMS/ppc/perl/

Note that some AIX versions are previously bundled with Perl v5.6: This version is able to run Pandora FMS agents, so you won't need to install Perl 5.8.

My old HP-UX (11.0, 11.11) doesn't have Perl 5.8, I cannot run agents

A: You can install the official CPAN packages for Perl 5.8 in HPUX. Download them from the following URL: http://mirrors.develooper.com/hpux/downloads.html

How can I install Jpgraph?

A: You should unzip the downloaded Jpgraph files in the ./reporting/jgraph directory on the Web console

How can I install the GD libraries on Windows?

A: PHP for Windows includes a GD library by default, but maybe they are not activated. Edit your php.ini file (usually in c:\winnt\php.ini or c:\windows\php.ini) and add the following line to the file:

extension=php_gd2.dll

Restart your server to make the changes take effect.

How can I install PEAR on Windows?

A: The PHP version for Windows already comes with PEAR. All you need to make it work is to uncomment the line that has "include_path" in it, deleting the «;» character

     ;include_path = ".;c:\php\includes"

in your php.ini file and adding the path to PEAR, which is at the PHP directory. When finished, you should have something like:

     include_path = ".;c:\php\includes;C:\php\PEAR"

Remember to restart Apache.

For GNU/Linux you should install the php-pear packages, php-image-canvas and php-image-graph. You can find more information for systems based on Debian GNU/Linux in the Openideas.info.

I cannot access the Pandora Console installation web page in CentOS.

A: It's possible that, even having the pandora_console folder properly located (/var/www/html/pandora_console) and with the proper rights, (usr: apache - grp: apache - mod: 644) we cannot access the Pandora FMS Console installation web page. This could be a problem related to having SELinux active with a strict policy, which prevents us from executing the Pandora's PHP code.

In order to confirm it, we can check the apache error log and search for lines regarding the application of a SELinux policy in apache.

In this case, a workaround is to deactivate SELinux. This is done by editing the file /etc/selinux/config, changing SELINUX=enforcing by disabled:

# cat /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#       enforcing - SELinux security policy is enforced.
#       permissive - SELinux prints warnings instead of enforcing.
#       disabled - SELinux is fully disabled.
SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
#       targeted - Only targeted network daemons are protected.
#       strict - Full SELinux protection.
SELINUXTYPE=targeted

# SETLOCALDEFS= Check local definition changes
SETLOCALDEFS=0

As is marked in the comments, after editing the file, it's needed to restart and deactivate SELinux or you can also use setenforce:

# setenforce 0

Remember to restart the Apache service.

perl-SNMP dependency on RHEL / CentOS / Fedora cannot be found.

A: For versions prior to RHEL6 or its equivalents, perl-SNMP doesn't exist, so the dependency net-snmp-perl would need to be installed.

Once this is done, please start your Pandora Server if you had forced the installation before, or install it and force the installation if it keeps asking for perl-SNMP.

For the CENTOS distribution: how can I see the flash charts in Firefox?

In addition to installing the rpm from the Adobe site, install the package repositories for the flash-plugin to work on firefox graphs: "yum install flash-plugin".

Nmap doesn't work properly on Windows ( Satellite Server o Pandora Server )

For the proper operation of the binary nmap.exe on Windows installations the MSVCP100.DLL. library is necessary

The definitive solution to this problem is to download the msvcp100.dll library from the Microsoft official website. Installed with "Microsoft Visual C++ 2010 SP1 Redistributable Package".

x86: http://www.microsoft.com/download/en/details.aspx?id=8328

x64: http://www.microsoft.com/download/en/details.aspx?id=13523

How Can I...?

How can I configure the email server for email alert types?

This is configured in the server,specifically on the file pandora_server.conf, you should restart the server after modifying the file so the changes are applied.

How can I use PERL 5.8 in my old Solaris 8 ?

The best way to manage this is to install the BlashWave packages. There are many OpenSource packages in Lastware's latest package system that work for example:

apt-get / yum / zypper system, records the data repository and installs them on demand and solving dependencies. See more info at: http://www.blastwave.org/howto.html

How can I improve a fixed version with updates?

For the last fixed version (2.x) the code is public and is available at the following directory of our code repository: 'branches/pandora_2.x' . You can download it through the Subversion client using the following command:

svn co https://pandora.svn.sourceforge.net/svnroot/pandora/branches/pandora_2.x

You will only need to copy the new files onto the old ones. PLEASE MAKE SURE to create a backup of everything (including the database), just to be sure.

While you're at it, consider the convenience of using the Pandora Enterprise version [3] to update your system automatically.

How can I Start/Close a Windows service upon request from Linux (to execute with an alert from Pandora FMS)?

You need an updated version of Samba (3.x) and admin credentials in order to access a Windows server remotely (RPC call). In this example we will use '192.168.50.121' as a target server with "Administrator" as the user and "pepe" as the password. We want to work with a service called "PandoraFMSAgent" and see the complete list of services:

Obtaining a process list:


net rpc service list -U administrador%pepe -I 192.168.50.121 
.
. full list


To see the status of a single process:

 net rpc service status  PandoraFMSAgent -U administrador%pepe -I 192.168.50.121 

 PandoraFMSAgent service is running.
 Configuration details:

	Controls Accepted    = 0x5
	Service Type         = 0x10
	Start Type           = 0x2
	Error Control        = 0x1
	Tag ID               = 0x0
	Executable Path      = C:\Archivos de programa\pandora_agent\PandoraAgent.exe
	Load Order Group     = 
	Dependencies         = /
	Start Name           = LocalSystem
	Display Name         = Pandora FMS agent

To stop a process:

net rpc service stop  PandoraFMSAgent -U administrador%pepe -I 192.168.50.121 .
PandoraFMSAgent service is stopped.

To start a process:

net rpc service start  PandoraFMSAgent -U administrador%pepe -I 192.168.50.121 
Successfully started service: PandoraFMSAgent

I want to change the Ip of several modules at the same time, How can I do it?

I have a switch with 240 checks and my IP has changed. How can I change the IP of all the remote checks in a simultaneous way, without having to do it one by one?.

Use the Pandora SQL manager, introducing the sentence similar to SQL (change the IPs 10.0.0.2 is the old one and the 10.0.0.1 is the new one):

UPDATE tagente_modulo SET ip_target = "10.0.0.1" WHERE id_target = "10.0.0.2";

How can I add MIBS to Pandora FMS ?

Question: Does anyone knows how to load MIBS in pandora for the SNMP Walk feature? Answer: Pandora FMS does not manage SNMP directly. It is based on GNU/Linux Net-SNMP libraries that are managed by systems,so edit /etc/snmp/snmp.conf to define MIB loading.You should configure the Linux system which runs PandoraFMS and add the MIBS file to the /etc/snmp/snmp.conf file(and restart apache) These are the directives /etc/snmp/snmp.conf for the MIB management:

mibdirs DIRLIST

This command specifies a list of directories to search for MIB files. This operates in the same way as the -M option - see snmpcmd(1) for further details. Note that this value can be overridden by the MIBDIRS environment variable, and the -M option.

mibs MIBLIST

specifies a list of MIB modules (not files) that should be loaded. This operates in the same way as the -m option - see snmpcmd(1) for details. Note that this list can be overridden by the MIBS environment variable, and the -m option.

mibfile FILE

specifies a (single) MIB file to load, in addition to the list read from the MIBS token (or equivalent configuration). Note that this value can be overridden by the MIBFILES environment variable.

How can I add sources to use them in the graphs and reports?

To add sources to Pandora it's enough with copying them into the folder include/fonts.

More information available at: http://www.openideas.info/wiki/index.php?title=Pandora_3.0:Documentation_es:Presentacion_datos#Typograf.C3.ADa_e_idiomas

How to run the PandoraFMS agent in the Start system

Q: I have installed the pandora_agent in my Linux system and I want it to run every time that I start the system. How can I do it automatically? A: The first thing you should do is to copy the pandora_agent_daemon at/etc/init.d

After, if you want that the pandora_agent_daemon to start when running your system, you'll only need this:

ln -s /etc/init.d/pandora_agent_daemon /etc/rcX.d/S99pandora_agent_daemon

Where 'X' is the run level that you are starting at

After, be sure that your pandora_agent_daemon is correctly off when you switch off.

ln -s /etc/init.d/pandora_agent_daemon /etc/rc0.d/K99pandora_agent_daemon
ln -s /etc/init.d/pandora_agent_daemon /etc/rc6.d/K99pandora_agent_daemon

How delete all traps from the trap console

Q: I want to delete all the traps from my traps console without going sheet by sheet.Is it possible to do it also from a specific date?. A: To delete all traps that are in the traps console, you should execute, from the DB Interface extension, the following SQL sentence

DELETE FROM ttrap;

To delete all the traps previous to July 10 2010 that are in the traps console, you should execute, from the DB Interface extension, the following SQL sentence:

DELETE FROM ttrap WHERE timestamp < '2010-07-10 00:00:00';


How can I recover access to the console if I forgot the password for my admin user?

You will need to create another admin user to change the password for other users. In order to do that, open a shell in your Pandora FMS server and execute following command:

/usr/share/pandora_server/util/pandora_manage.pl /etc/pandora/pandora_server.conf --create_user admin2 none 1

This will create a new administrator user called "admin2" with password "none"


How can I execute powershell scripts as a module

If you have your powershell located at C:\RutaDeScript\Script\script.ps1 you first need to call to your powershell interpreter like this:

module_exec C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe -Command "C:\RutaDeScript\Script\script.ps1"

My /var/spool/pandora/data_in directory have million of .data files, how can I delete it?

Deleting millions of files in a directory is not possible with the 'rm' command, and find . -delete or find . | xargs rm can be slow. The best way to do it is with this command:

perl -e 'for(<*>){((stat)[9]<(unlink))}'

Compatibility with Standards

Does Pandora FMS fulfills PCI/DSS ?

The PCI DSS rule implies several requirements:

1. Safe traffic through coding and certificates. 2. Double access authentication systems 3. Security policies applied to user management. 4. Possibility of audits in all fields and actions made on the monitored elements 5. Audit data transfer to external log managers.

1. Pandora FMS, at all levels (user operation, communication between components) supports SSL encode and certificates on both ends:

2. Double authentication. It's possible to deploy a double authentication system. The first one, at an access level (HTTP) integrated with any OpenSource or commercial token system. The second authentication, at an application level is managed by Pandora, it can be authenticated against LDAP or AD in the same way, or you may do it locally.

3. User management is limited by policies both at the user profile level and the operation visibility profile level defined as the Extended ACL system in the Enterprise version.

4. Pandora FMS, in its Enterprise version audits all of the user's actions, including the information about changed or deleted fields. It also includes a validation system with a signature on these registries.

5. These audit logs are available for their exportation through SQL and they allow integration from a third source for higher security, in almost real time.

Terminology

What's a Timestamp?

A timestamp is a character sequence that informs about the date and hour at which a specific event took place, for example when data is retrieved from an agent.

What does SVN mean?

It means Subversion, which is the system version control software that is used in Pandora FMS's development.SVN is the name of the command line tool.

Global changes / Administration

I Want to change the IP of a lot of modules at once, how can I do this?

You have a switch with 230 checks and for some reason you change the switch IP, and thus you need to change the IP in the Main Agent view. It's very likely you are going to want to change the IP on all the remote checks.

Change the IP address of the agent manually and alter the module configuration at once using the SQL Manager and the following SQL sentence:

UPDATE tagente_modulo SET ip_target = "10.0.0.1" WHERE id_target = "10.0.0.2";

Database

I get the following error: "Can't connect to local MySQL server through socket '/tmp/mysql.sock'"

Check that you have a /tmp/mysql.sock file, you may have the sock file in another place, like /var/lib/mysql/mysql.sock if that's the case, link to the requested file:

ln -s /var/lib/mysql/mysql.sock  /tmp/mysql.sock

I lost my Mysql root password, how can I recover it ?

Do like so:

service mysql stop

wait until MySQL shuts down. Then run

mysqld_safe --skip-grant-tables &

after that you will be able to login as root without a password.

mysql -uroot mysql

In the MySQL command line prompt issue the following command:

UPDATE user SET password=PASSWORD("none") WHERE user="root"; FLUSH PRIVILEGES;

Stop the running MySQL instance

       kill `ps aux | grep -e "--skip-grant" | grep -v grep  | awk '{ print $2 }'`

Restart the MySQL service normally

       service mysql start

At this time your root password is reset to "none" and MySQL will now know the privileges and you'll be able to login with your new password:

mysql -uroot -pnone mysql


Using the 'mysql' and 'mysqldump' commands correctly from the command line

Q: I attempted to use several references from the documentation, but there is an error in the documents. In several locations you indicate a "root" username, but the default SQL user name in your configuration files is "pandora".

A: Always check your current credentials in /etc/pandora/pandora_server.conf. In some environments credentials could have changed. You should always be able to access MySQL Pandora FMS databases with your Pandora user.

By default, the database should be called "pandora", and the user should be "pandora", the password will be a random string. This means that commands should look like this:

In the MySQL console:

mysql -u pandora -D pandora -p
<enter pass in console>

and to perform a SQL dump (for backups):

mysqldump -u pandora -p pandora > file
<enter pass in console>

Repeated data is not inserted into the database

I am having some issues with Pandora's data server. I get data that has similar value as previous data, my XML data got ingested by the data server, but not inserted into the DB. I wonder if this is a normal behavior in Pandora's Data Server. How can I change that? Is there any config file to configure that ?.

This is indeed Pandora FMS's "normal" behaviour. Check for more details in the chapter called "Pandora Engineering" from the documentation, about how Pandora FMS collects information and stores it in the database. You can "avoid" the automatic compression using ASYNC modules (but only from Pandora FMS version 3.2 or higher, previous versions do the same for async and for standard modules).

How delete all traps in the traps console

Q: I want delete all traps in the traps console. Is possible to do it from a specific date onward?.

A: To delete all traps in the traps console, you must run, on the DB interface extension, the following SQL sentence:

DELETE FROM ttrap;

To delete all traps prior to July 10, 2010 in the traps console, you must run, in the DB interface extension the following, the following sql sentence:

DELETE FROM ttrap WHERE timestamp < '2010-07-10 00:00:00';

Broken table

This error displays some SQL error messages such as: Table './pandora/tserver' is marked as crashed and should be repaired, for example:

SQL error:  Table './pandora/tserver' is marked as crashed and should be repaired  ('SELECT COUNT(id_server) FROM tserver WHERE 1 = 1 LIMIT 1') in /srv/www/htdocs/pandora_console/include/db/mysql.php on line 81

SQL error: Table './pandora/tserver' is marked as  crashed and should be repaired ('SELECT COUNT(id_server) FROM tserver  WHERE status = 1 AND keepalive > NOW() - INTERVAL 15 MINUTE') in /srv/www/htdocs/pandora_console/include/db/mysql.php on line 81

This problem occurs when the MySQL server is not switched off properly.

To solve it enter the MySQL prompt and type:

repair table tserver

The Pandora Console installation has MySQL errors such as "BLOB/TEXT column '<column>' can't have a default value

From version 5.6 of MySQL onward we have configured by default "STRICT_TRANS_TABLES" and this MySQL configuration token created these kinds of problems.

To avoid this problem you must follow these steps:

  • edit the my.cnf file (configuration mysql file), it is in /etc/my.cnf or /usr/my.cnf or /usr/local/mysql/my.cnf
  • set the token
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
as
sql_mode=NO_ENGINE_SUBSTITUTION
  • restart the mysql server
/etc/init.d/mysql restart


Database error when starting the service pandora_server

It is possible that when attempting to start the service pandora_server will find this error in the log

With verbosity 10 you can get this:

DBI connect('pandora:localhost:3306','pandora',...) failed: Can't
connect to local MySQL server through socket '/tmp/mysql.sock' (2) at
/</usr/local/bin/pandora_server>PandoraFMS/DB.pm line 108.

With verbosity 1 or 0 you get this other error:

DBI connect('pandora:localhost:3306','pandora',...) failed: Access denied 
for user 'pandora'@'localhost' (using password: YES) at 
/</usr/bin/pandora_server>PandoraFMS/DB.pm line 113.

In both cases you first need to check if the password is correct. If that is correct it should work. If not, check the mysql .sock that exists on this path ( /tmp/mysql.sock ). If that succeeds, link the current MySQL .sock to /tmp/mysql.sock, using:

ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

Try again. Also, it can help to change in pandora_server.conf the dbhost parameter using the ip 127.0.0.1 instead of localhost. If the path is correct, we must review the login credentials again and see if the MySQL service is running.

Networking

Recon doesnt detect my network topology correctly

If you're executing Pandora FMS under a virtual enviroment and you're using a "shared network" (some times called NAT or Host network), the network is not "real" and therefore cannot be calculated. This is easily tested by doing a simple traceroute from the command line, for example:

traceroute -n google.com

You should see 7-15 steps until it reaches the final endpoint. In a shared network you will only see one step.

If you execute Pandora FMS in "network bridge" mode or on a real host, this will function correctly.

Problems with SNMP and Debian / Ubuntu

In recent Debian / Ubuntu versions (this is written as of April 2011) the SNMP agent comes with a non-enabled MIB tree, that means, SNMP agents will not translate or understand any "word" of the MIB address,they will only understand numeric OIDs, thats a problem for most SNMP software, so you will need to re-configure it. This can be done in two steps:

  1. Install package mibs-downloader
  2. Edit /etc/snmp/snmp.conf

afterwards remove all the uncommented lines (or comment them).

SNMP Trap console doesnt work and log says: "couldn't open udp:162"

This happens because the system 'SNMPtrapd' daemon has booted before the Pandora FMS 'SNMPtrapd' daemon, and has the port blocked (in use). This fix is intended for OpenSUSE systems

Stop the system daemon:

/etc/init.d/snmpd stop

(This could yield different results in systems that are not on OpenSUSE).

Restart the PandoraFMS server

/etc/init.d/pandora_server restart

This is very useful to delay the system's SNMP startup after the Pandora FMS server has started in order to avoid this conflict in the future.

Kernel message "possible SYN flooding on port 41121. Sending cookies"

This problem is related with having a lot of TIME_WAIT connections (netstat -an | grep TIME_WAIT | wc -l > 20000)

A solution is to tune your kernel up inputting the following parameters

echo 32000 > /proc/sys/net/ipv4/tcp_max_syn_backlog
echo 30 >  /proc/sys/net/ipv4/tcp_fin_timeout

This is not meant to be used with load balancing/clustering environments:

echo 1 > /proc/sys/net/ipv4/tcp_tw_recycle

Boolean ICMP Network module shows critical status although connectivity with the agent is correct

This problem appears when the first package from the ping execution doesn't reach the recipient.

If the icmp_checks parameter is set as 1 inside the Server Configuration File (Default path: /etc/pandora/pandora_server.conf) it will show critical value because it only considers the first try at sending the ping command. Module status would be also critical if the icmp_checks value is higher than 1,the reason for this is that this parameter only executes "independent" pings so check results would always be wrong.

A solution would be to use a script which executes a ping sending as many packages as we want upon its execution. So that, if a machine doesn't answer to the first package we could fix it by modifying the script with a number of packages higher than 1, that way the result will be successful.


Using the pingcheck.sh script would provide us with a simple solution. It would deliver 1 if the machine answers or 0 if it doesn't.

Script code:


#!/bin/bash

if [ -z "$1" ]
then
echo "Syntax:"
echo " "
echo "pingcheck.sh <count> <timeout> ip_address"
echo " "
exit
fi

COUNT=$1
TIMEOUT=$2
IP=$3

ping -c $COUNT -W $TIMEOUT $IP 2> /dev/null > /dev/null
if [ $? == 0 ]
then
echo 1
else
echo 0
fi

Script execution must have the following format:

pingcheck.sh <count> <timeout> ip_address

In order to use this script we should take these tips into account:

-Create a file using the script code on this path:

/usr/share/pandora_server/util/plugin/pingcheck.sh

-Allow it to execute:

# chmod +x /usr/share/pandora_server/util/plugin/pingcheck.sh

-Then, we build a new module plugin from the menu: Manage servers > Manage plug-ins inside Pandora Web Console.

Pingcheck.png

Name: PingCheck
Command: /usr/share/pandora_server/util/plugin/pingcheck.sh

-Finally, we enter the module configuration inside the agent where the issue is taking place, and we add a new Plugin Server Module. After this, we choose the plugin and we set these parameters for the check in the Plug-in Parameters field:

2 5 ip_address

Latency modules don't work with the ICMP Enterprise server Enabled

Sometimes we may find that while having an ICMP Enterprise Server enabled, latency checks do not work properly. To fix this, we must check if NMap correctly retrieves the SRTT by executing this command:

nmap -nsP -PE -oX - www.pandorafms.com | grep srtt

The output should indicate something like this:

<times srtt="181998" rttvar="181998" to="909990" />

Web Server with SSL modules won't support multi-threads in specific versions

If you have enabled a web server with more than one thread and are monitoring several sites with SSL support, it's likely that pandora_server can go down with a memory problem because the Net::SSLeay library that is used for monitoring SSL doesn't support multi-threads under version 1.42.

So, in case we are monitoring SSL sites with an earlier version, always provide the parameter

web_threads 1

Configuring net-snmp agents in Linux for SNMP V3

On the remote server to be monitored, a user ID must be generated with parameters for authentication (access control) and encryption (privacy), specifying the encryption algorithm and the encryption password that will be used. See the manual (man) entry on snmpd.conf for more information.

For the net-snmp agent shipped with most versions of Linux, create /etc/snmp/snmpd.conf with entries like:

# For SNMP V3
# Uncomment next 5 lines
com2sec snmpv3test localhost    dummycontext
com2sec snmpv3test pan51        dummycontext
group snmpv3group       usm     snmpv3test
access snmpv3group        ""      usm       priv    exact  all     all   all
rwuser paco

Create SNMPv3 User

Now, use the net-snmp-config utility to create the SNMP v3 user ('paco' in this case). You need to specify a password for authentication (-A) and a password for encryption (-X), along with the algorithms to be used for authentication and encryption. Please note that on CentOS/RHEL, net-snmp-devel must be installed to provide net-snmp-config.

To do this, first stop snmpd:

# /etc/init.d/snmpd stop

Then run the following command:

# net-snmp-config --create-snmpv3-user -A authsample -X encsample -x DES -a MD5 paco

/var/lib/net-snmp/snmpd.conf is modified with (hidden) encryption key and rwuser 'paco' is added to this file (/etc/snmp/snmpd.conf).

Testing

Test your SNMPv3 configuration as follows:

$ snmpwalk -v 3 -a MD5 -A authsample -l authNoPriv -u paco sample_target system
$ snmpwalk -v 3 -a MD5 -A authsample -X encsample -l authPriv -u paco sample_target system

The tests shown above are to a target called 'sample_target' for the MIB-2 system tree.

Note: Different implementations of net-snmp on different Operating Systems may work slightly different. For example, OpenSUSE does not need the net-snmp-devel package and the rwuser is created in a separate snmpd.conf under /usr/share/snmp (which is created automatically if it doesn't exist).

Agents

There's a memory leak in Pandora FMS Agent 4.x process under RHEL/CentOS/Fedora

If you are using a RHEL/CentOS 5.x/Fedora platform, you might notice a memory leak in the Pandora Agent process for versions 4.x.

The problem resides in a bug inside the Perl Threads library in those versions packaged by default (5.8.8 i.e) which affects these distros and has not been definitely fixed until versions 5.13.9 or newer.

There are multiple choices to solve this problem:

a) Either upgrade your OS/Perl version...

b) Or comment the following lines inside /usr/bin/pandora_agent:

eval {
       local $SIG{__DIE__};
       require threads;
       require threads::shared;
       require Thread::Semaphore;
};
if (!$@) {
       $Sem = Thread::Semaphore->new;
       threads::shared::share (\$Xml);
       threads::shared::share (\$Sem);
}

This would let us execute Pandora Agent without agent threading support, thus avoiding the memory leak inside the Threads library.

In the last case, please don't forget to disable the agent_threads parameter token inside /etc/pandora/pandora_agent.conf.

File collections don't work

If you are using a UNIX/Linux platform, first of all check that you have an unzip command installed because it's necessary to use file collection. Furthermore, the user that executes Pandora FMS agent must execute the unzip command from its path.

After installing the unzip package you must check the content of the collections folder. The collection folder is located under the following pathway:

<pandora_agent_path>/collections

The default path is:

/etc/pandora/collections

You must delete each *.md5 file that doesn't have a folder with the same name in the collection folder. The agent will download the collections upon its next execution cycle.

If you are using Pandora FMS agent on Windows platforms first of all check that you can execute the unzip command from the path. Unzip command is installed with the Pandora FMS agent so you won't need to install it.

After that, you must check the collection folder to ensure that it's always right. The path to the collection folder is:

<pandora_agent_path>\collections

The default path is:

C:\Archivos de Programas\pandora_agent\collections.

You must delete each *.md5 file that doesn't have a folder with the same name in the collection folder. The agent will download the collections upon its next execution cycle.

Windows Service PandoraFMSAgent cannot be initialized

1. Check if you have installed the Pandora FMS Agent with Administrator rights and if its service has got SYSTEM rights. Otherwise, this service won't work.

2. Make sure there's no PandoraAgent.exe file located on the same path where the Pandora FMS Agent installer is located. Otherwise, the service will point to that binary file instead of the one installed by default in the pandora_agent folder, and an error which doesn't allow the Agent to initialize will be generated, since that .exe isn't on the same path with the rest of the necessary Pandora FMS Agent files.

Recommendations for use of characters in agents names

For proper operation of all functions performed by PandoraFMS with their agents/modules, it is recommended not to use characters such as /,\,|,%,#,&,$. When dealing with these agents, they can create confusion with the use of system paths or when running other commands, causing errors on the server.

Spaces in Agents / Brokers names on Windows

For a Windows agent to be generated on Pandora FMS with a full name, if it contains any spaces, the agent's name configuration must be enclosed in quotes. For example: agent_name "Windows 2003"

Alerting system

I try to configure an alert but I get "N/A" value on macro _data_

This is because you're forcing the alerts manually. Try to wait and get real data. Any forced alert will mark "N/A" as the data value.

Module / Plugin execution

(Windows) How can I execute commands with a different user than SYSTEM?

You need an external way to execute commands using privileges from another user. Windows command 'RunAS' will allow that, BUT, you'll need to input the password for that user "interactively", so this not useful for automating anything. Therefore, you'll need to use another tool able to execute something passing as user and password parameters in the command line. CPAU, a freeware tool, does exactly that. You can get it from here:

http://www.joeware.net/freetools/tools/cpau/index.htm

Basic use:

CPAU -u user [-p password] -ex "WhatToRun" [switches]
  user       User to log on as. Ex: user or domain\user
  password   User's password
  WhatToRun  What to execute

There's another tool with more options to encrypt the password, and with more security options, for people who may be very worried about putting a password on the .conf file. This tool is called RunAsSSPC, and you can get it from here:

http://robotronic.de/runasspcEn.html

Using 'module_interval' with plugins

When we decide to use 'module_interval' with plugins, we should configure the plugin to create the XML files with the same 'module_interval' set in the agent configuration. This way, we'll avoid the Pandora console generating false Unknown statuses in the plugin modules.

Error: "A problem occurred when adding the module. Processing error"

This processing error could appear when creating a module, but in this case it's possible that it will also appear trying to perform some other actions, such as editing local components. We might find this error message as well: could not be created, processing error. This is due to a MySQL configuration parameter, sql_mode. It has to be set in non strict mode, by adding to the my.cnf file:

  [mysqld]
  sql_mode=""

Now, restart the MySQL service, /etc/init.d/mysql restart, and verify that the mode has been properly set:

  mysql -u root -p
  select @@GLOBAL.sql_mode;

This should have solved any previous issues, and the parameter will remain properly configured in order to avoid future problems.

Upgrade & migration problems

After the update to 5.1 from 5.0, the "update manager" fails

Please delete the file <pandora_console>/extensions/update_manager.php and the directory <pandora_console>/extensiones/update_manager/.

After a server upgrade / migration all network modules are unknown

That could be because of a server name change, and because the old server is not present on the server table. You need to manually "setup" your agents in order to use the new server. To avoid editing them one by one, you can use the SQL manager to configure all the agents with a quick SQL command. For example, if your new server is called "linux-ppby" the SQL sentence will be:

update tagente set server_name = "linux-ppby" 

You won't need to restart the server, just wait a few seconds and all modules will be processed again.

Another choice is to change the "Server" parameter in the 'massive agent edition' option of the Massive Operation section, by selecting all migrated agents.

After upgrading to Pandora FMS 4.0 the Pandora Server cannot start

After performing a migration to Pandora FMS 4.0, the following event could take place:

DBD::mysql::db do failed: Failed to read auto-increment value from storage engine at /usr/lib/perl5/PandoraFMS/DB.pm line 556.

Should you encounter this error after starting your Pandora Server, the following line should be inserted into your Pandora DB:

ALTER TABLE tsesion AUTO_INCREMENT = 1;

Error while executing the migration script from version 3.2 to 4.0

It could occur that we encounter the following error while executing the migration script on the open source version:

Error 1089 at line 184: incorrect sub part key; the used key part isn´t a string, the used length is longer then the ky part, or the storage engine doesn´t support unique subkeys

This line matches inside the script with:

ALTER TABLE 'tagente_modulo' ADD INDEX nombre ('nombre' (255));

It could happen that while migrating a database which has been migrated more times from older versions, some columns aren't the expected type for the current migration process, resulting in an error.

In this case, we can check for this with:

describe tagente_modulo;

If the column we're trying to change has the right type, the response should be:

text NOT NULL DEFAULT 

Otherwise, if the column has a 'varchar(100)' type and the 'varchar' limit is lower than the index limit (255), it generates a MySQL error.

The solution for this event is to insert the following line into the database:

ALTER TABLE 'tagente_modulo' MODIFY 'nombre' text NOT NULL DEFAULT ;

Once done, keep executing the script from the line you had the error in.

If the following line (185) drops a SQL syntax error:

CREATE INDEX `module_group` on tagente_modulo (`id_module_group`) using btree;

This could happen due to your MySQL version, since in other machines with newer versions, this syntax is accepted.

However, the solution is as simple as changing the line to:

CREATE INDEX `module_group` using btree on tagente_modulo (`id_module_group`);

And once done, execute the script from this line.

Anyway, this line has already been modified and in future versions or fixes, this syntax will appear corrected already.

Will be the Database affected in future versions?

Yes, but it will keep compatibility in an order in which the older agents will continue working without problems. It won't be necessary to reinstall the agents again when updating the server or the database. All database changes are managed using the provided migration scripts. See more about this in the chapter about 'upgrades' found in our documentation.

Problems with upgrading to the 5.0 version running the migration script

It is possible that after running the migration script from 4.1 to 5 an error occurs regarding a table 'treport_content'

ERROR 1452 (23000) at line 266: Cannot add or update a child row: a foreign key constraint fails (`pandora`.<result 2 when explaining filename '#sql-867_1ba'>, CONSTRAINT `?sql?867_1ba_ibfk_1` FOREIGN KEY (`id_report_content`) REFERENCES `treport_content` (`id_rc`) ON DELETE CASCADE ON UPD) 

If this occurs, you will have to execute this query in MySQL:

DELETE from treport_content_item WHERE id_report_content NOT IN (select id_rc from treport_content);

After this you have two options: to comment all lines to 265 and re-run the migration script, or to restore the database using the backup that we should have done before, run the previous query and then execute the full migration script again.

Migrate from 4.1 to 5.0 pandora_server not start

In some cases there may be a problem when migrating from 4.1 to version 5 and the server won't start due to this error:

DBD::mysql::db do failed: Unknown column 'last_error' in 'field list' at /usr/lib/perl5/PandoraFMS/DB.pm line 811.

The solution is to manually add this query onto Pandora's database.

ALTER TABLE `tagente_estado` ADD COLUMN `last_error` tinyint(4) NOT NULL DEFAULT 0;

After migrating to version 5.0 the Update Manager download updates from 4.1

It is possible that after upgrading to version 5.0 from an earlier version, the Update Manager configuration points to URL version 4, instead of version 5.

To solve this problem you need to configure Administration > Extensions > Update Manager Settings > Update server path

/pandoraupdate5/server.php

Problems with VMware images

Problems with the VMWare Image, eth0 doesn't work

Q: The problem is, the 'eth0' interface cannot be found. So, when I try to change the ip address it just doesn't work (sending me 'eth0: error while getting interface flags: no such device').

A: Cleaning the cache will fix the 'eth0' issue. It is caused by MAC cacheing, when you copy a VMWare image.

  rm /etc/udev/rules.d/*.*

I've downloaded a corrupted/invalid version of the VMWare/ISO image

Sometimes Sourceforge.net mirrors fail, try with a different download location link (Mirror) on sourceforge.net. All files have been tested and work fine. Several thousands of people already have it running.

Failure in runnning VMware virtual machine

There is an error detected with Pandora FMS' VMware image on VMware 4.1 systems. The error detected is the following:

Module DevicePowerOn power on failed. Unable to create virtual SCSI device for scsi0:0, '/vmfs/volumes/5113db7a-9a00a928-45ad-001a646a1c38/Pandora 4.0.3/Pandora_4.0.3_OpenSource_Appliance.i686-0.0.22.vmdk' Failed to open disk scsi0:0: Unsupported or invalid disk type 7. Make sure that the disk has been imported.

To solve this error just change the virtual disk format. To do this clone the disk using the following command

vmkfstools -d thin -i "Pandora_4.0.3_OpenSource_Appliance.i686-0.0.22-s001.vmdk" "Pandora_4.0.3_new.vmdk"

Now you can assign this new one called Pandora_4.0.3_new.vmdk to the virtual machine and it should start without problems.

Passwords on the CentOS VMWare Virtual Image

User: root

Password: pandora


Console User: admin

Password: pandora


Mysql User:root

Password: pandora

Not Classified

problems with stability

If the Pandora FMS installation falls from time to time, or some remote checks (network, plugins, WMI, Web monitors) sometimes return incorrect values ​​(for example, an ICMP check should give 1 and returns 0) or you obtain a remote check that inexplicably remains in unknown mode, it may be due to the following causes:

1. Insufficient memory. To use Pandora FMS on a production system, it should have at least 2GB. It can be used on systems with less memory, but you have to "tune" all the components finely, and even so, you'll be limited to a very small environment, with very few threads / sub networks and a MySQL that consumes very little memory.

2. Virtual environments. In some misconfigured virtual environments there exist instability problems that occur when a there's a lot of load on the real physical system. This can be seen on the system log (dmesg) as 'pandora_server coredumps' or through MySQL.

Problems with virtualization (Virtuozzo)

Some agent drops that occur without any apparent reason, can be explained because something is happening in the way Pandora works, specifically at /etc/init.d/pandora_agent_daemon.

In this case, the problem has been detected in systems with a virtualization infrastructure based on Virtuozzo, where both the hardware nodes and the virtual machines that run above are monitored. As Virtuozzo does Software virtualization,the processes than run on virtual machines could perfectly be seen doing one 'ps' on the hardware node.

[root@xxxxxxx ~]# ps -Af | grep pandora_agent
root     20643 17147  0 Aug25 ?        00:00:08 /usr/bin/perl /usr/bin/pandora_agent /etc/pandora
root     22665 20918  0 Aug25 ?        00:00:08 /usr/bin/perl /usr/bin/pandora_agent /etc/pandora
root     22862 21033  0 13:13 pts/5    00:00:00 grep pandora_agent
root     23518     1  0 Aug25 ?        00:00:12 /usr/bin/perl /usr/bin/pandora_agent /etc/pandora
root     24839 31440  0 Aug25 ?        00:00:08 /usr/bin/perl /usr/bin/pandora_agent /etc/pandora
root     26703 24727  0 Aug25 ?        00:00:07 /usr/bin/perl /usr/bin/pandora_agent /etc/pandora
root     28677 16959  0 Aug25 ?        00:00:08 /usr/bin/perl /usr/bin/pandora_agent /etc/pandora
root     29524   301  0 Aug25 ?        00:00:08 /usr/bin/perl /usr/bin/pandora_agent /etc/pandora


When extracting the 'pid' of the /etc/init.d/pandora_agent_daemon. hrough one 'ps' for executing a kill -for example- what happens is that we obtain the identifier from the first agent listed between all those that are running. In statistics it's hardly ever the one that we want-the one corresponding to the hardware node

When executing stops or restarts on agents in the hardware nodes, in fact, we've been applying this order to an unspecified agent on one of the virtual machines that runs above. When the 'command stop' is fired on one machine, there is no problems, because the 'ps' can only see their own processes.


The solution is simply to rename the directory /etc/pandora for /etc/pandora_virt and to edit the file /etc/init.d/pandora_agent_daemon and replace the following line:


PANDORA_PATH=/etc/pandora

with

PANDORA_PATH=/etc/pandora_virt

With this, when you start and stop the process on the "real" machine, this will not affect the virtual machine

How can I auto-refresh any section of the console ?

Just add

&refr=60

To the URL, and it will autorefresh the page each 60 seconds.

I want to generate my own XML, simulating data from an agent, why doesnt my XML work?

The best option here, is just looking at a real XML and trying to imitate it. The most basic items are showed here:

A basic XML could be, for example something like this:

<agent_data agent_name="testxml" timestamp="2010-09-06 22:10:00" version="1.0" os="Other" 
os_version="1.0" interval="300">
<module>
<name>5min</name>
<type>generic_data</type>
<data>73.3</data>
</module>
</agent_data>

A more advanced XML, with multi-data series, should look like this one:

<agent_data agent_name="testxml" timestamp="2010-09-06 21:10:00" version="1.0" os="Other" 
os_version="1.0" interval="300">
<module>
<name>Multi Data Sample</name>
<type>generic_data</type>
<datalist>
<data>
<value>73.3</value>
<timestamp>2010-09-06 21:00:00</timestamp>
</data>
<data>
<value>13.3</value>
<timestamp>2010-09-06 21:05:00</timestamp>
</data>
</datalist>
</module>
</agent_data>

Just put a file called xxxxxxx.data in Pandora FMS's incoming section directly and it will be processed by the data server.

I get the following error: "Fatal error: Call to undefined function imagerotate()"

This is a problem with PHP-GD implementation in Ubuntu/Debian systems, you need to recompile the PHP files yourself and fix the patches applied by Ubuntu/Debian to the original PHP-GD package. All steps are described here:

http://wiki.slicehost.com/doku.php?id=php5_with_bundled_gd

Linux agent inventory doesnt get hardware (CPU, RAM, etc) information

You need to have the lshw command installed. You can obtain this on RPM from:

http://rpm.pbone.net/index.php3?stat=3&search=lshw&srodzaj=3

On a Debian/Ubuntu system, just install it with:

apt-get install lshw

Forcing timezone on the console

By default, if it's not reconfigured, Pandora FMS console uses the default timezone on PHP, if that is not set-up (not default), it's forced to be in the European Time zone. To change this, edit the file include/config_process.php, and input your own timezone, for this example Mexico City:

if (ini_get('date.timezone') == ""){
        date_default_timezone_set("America/Mexico_City");
#       date_default_timezone_set("Europe/Berlin");
}

Timezone issues

This is usually a problem with the system's timezone configuration, but we have summarized a test group that allows to see which point of the entire Pandora system could have the time difference. To solve it, you need to execute it while being able to view the results that it shows:

- for the system (in the terminal)

date +"%z"
date

- For database (in mysql)

select now();
mysql> SELECT @@global.time_zone, @@session.time_zone;

- For perl

perl -e 'my $t = localtime(); print "$t";'

- For PHP, create a new file called test_timezone.php at the 'WWW' Apache directory (usually /var/www or /srv/www/htdocs/) that will include:

 <?php
     echo date("Y/m/d H:i:s O e");
 ?>

Now open a browser pointing to your test file, like http://your_ip_server_address/test_timezone.php

At this point we should have detected which component is at a disagreement. We need to "force" that component to use a specific timezone, or if you're not sure, you can also force all components to respond to the same timezone.


- For the system (in debian) :

dpkg-reconfigure tzdata

- For DB (mysql), open the file /etc/mysql/my.cnf and add the following line after the section "[mysqld_safe]"

timezone = <time_zone>

- For PHP:

- For all the system, at the file /etc/php5/apache2/php.ini (or equivalent in your distro) and change/add the line:

date.timezone = <time_zone>

- Only for pandora_console, edit in file <pandora_console>/include/config.php. Add the line:

putenv("TZ=<time_zone>");

My pandora_db script programmed in /etc/cron.daily never executes, why?

If you're running a Debian or Ubuntu server, there is a problem reported with the '/etc/cron.daily/apt' script which stops the 'runparts' execution and avoids the execution of other scripts on /etc/cron.daily.

One solution is to delete that script at /etc/cron.daily/apt, and another solution is to set the execution of pandora_db.pl directly in /etc/crontab.

Does Pandora FMS support SNMP timeticks ?

Yes, a SNMP timetick is 0.001 seconds, or 100 timeticks = 1 second. So to get this data in days, for example, you need to use the post-process module feature, and multiply the values obtained by 0,000000116. This is the result of the value obtained divided by 8640000. Remember that postprocessing only allows you to specify values to multiply not to divide, so 0,000000116 = 1 / 8640000. You can use the same method to get the value in hours, for example, this will be 100x60x60 = 360000, and 1/360000 = 0,000002778.

I don't receive an email when an alert is triggered

This is an example SMTP setup on the /etc/pandora/pandora_server.conf file:

mta_adress smtp.domain.com
mta_port 25
mta_user myloginuser@domain.com
mta_pass 123456
mta_from pandora@domain.com

Be careful with the mta_auth configuration token, it's meant to set the "type" of authentication mechanism, not a password ('mta_pass' is for that). If you have a special MTA mechanism, use for example:

mta_auth LOGIN

Also make sure you have a proper DNS configuration on your system, that allows you to send mails outside your desired domains.

Before trying anything check this:

ping destinationmail.domain.com

You should receive a response before trying to configure the Pandora Server.

Sending an alert when an agent doesn't send any information

Q: How can I send a alert to an email address when a windows agent doesn't send any information? In the console there will be an "Out of Limits" sign and the last contact will be in red. How to activate an alert when this happens?

A: You need to use the "keepalive" module, check the docs for further information. Basically it's a special module that changes its status when you don't receive information from the agent (remote or by software agent) in a 2 second interval.

I get the error "Lock wait timeout exceeded"

This is a problem with your MySQL Server, it gets stuck and therefore cannot process operations. It's usually because of a problem due to an incomplete "frozen" transaction. Connect to your MySQL server and execute:

show innodb status \G

Search for something similar to:

------------
TRANSACTIONS
------------
Trx id counter 0 2005868535
Purge done for trx's n:o < 0 2005868523 undo n:o < 0 0
History list length 4
Total number of lock structs in row lock hash table 12990
LIST OF TRANSACTIONS FOR EACH SESSION:
---TRANSACTION 0 2005868508, not started, process no 6801, OS thread id 1150482768
MySQL thread id 67, query id 5223 localhost root
show innodb status
---TRANSACTION 0 2005868518, ACTIVE 833 sec, process no 6801, OS thread id 1150617936 rollback
mysql tables in use 2, locked 2
ROLLING BACK 12992 lock struct(s), heap size 1685488, undo log entries 1557131
MySQL thread id 70, query id 5111 localhost pandora end
DELETE FROM tagente_datos WHERE id_agente_modulo IN (SELECT id_agente_modulo FROM tagente_modulo WHERE  
delete_pending = 1)

Another easy way to list current operations is the command:

SHOW FULL PROCESSLIST

In this example, transaction ID 70 , has been active for 833, and seems to be DEAD that's why it's blocking the access to some data, and probably it's the explanation for those "lock wait" errors.

Kill the transaction with:

KILL 70;

Sometimes a KILL could take some time, so be patient. Killing (kill -9) a MySQL daemon IS NOT A GOOD IDEA, and you will get a corrupted database with a 99% chance, so you'll need to wait to finish.

I have a problem only with M-W-D-H graphs, I can't see them

This could be due to the variable that defines the use of '$config_fontpath' true type fonts, in the file including:

/config.php

is not correct.

For example, in Gentoo Linux, arial.ttf is found at:

'/usr/share/fonts/corefonts/arial.ttf'. 

In the compressed console file the reporting/FreeSans.ttf true type font is given.

Pandora FMS Server goes down

The first thing you should do to find the cause is to examine the file /var/log/pandora/pandora_server.error and according to the following possible error messages, there are the following solutions:

Starting Pandora FMS Server. Error logging activated.
DBD::mysql::st execute failed: Table 'pandora.tagent_module_inventory' doesn't exist at /usr/local/share/perl/5.10.0/PandoraFMS/DB.pm line 199.

In this case it's because in previous installations you left Pandora Server Enterprise installation files behind. Specifically, it should be the file /usr/local/share/perl/5.10.0/PandoraFMS/Enterprise.pm. If you delete it, the Pandora Server won't be down.

I can't see any errors on the PHP error log file

The PHP error log configuration file is located, same as the rest of the configuration files, in the php.ini file. From version 1.2 onward we've added an option to the the Web Console file ./include/config.php in order to avoid it showing any errors. This doesn't have consequences on the rest of the already installed applications, that will continue using the php.ini guidelines. It only affects the Pandora Web Console. It's possible to change this performance modifying the ./include/config.php line from

     error_reporting(0);

to something like

     error_reporting(E_ALL);

It is recommended to check the PHP documentation to know other possible values applicable to this function.

To view errors always check the file at /var/log/apache/error.log or a similar file.

I have problems running the agent on Windows 2008 x64 editions

The agent itself has been tested in 64bit environments and it works. Problems could be arising for two reasons:

1. Running exec agents, because binary utilities provided by the Pandora FMS agent are compiled for 32bits and sometimes have trouble running under a 64bit service. Check if under a shell command all utilities your may be using (gawk, cut, grep) are working fine. If not, try to replace the failed ones with another executable or use another way to get around the problem.

2. Problems in 'logevent' parsing/monitoring. This is due to a missing DLL (PDH.dll), this library must be in "C:\windows\system32", if it's not present, try to copy it from another 64-Bit Machine. This is not uncommon, looking at google hits, we've seen that it's often removed by some uninstallers.

I have issues creating tables (errno: 150) in MySQL while trying to migrate to 3.0

You probably get an error similar to:

ERROR 1005 (HY000) at line 101: Can't create table './pandora/talert_template_modules.frm' (errno: 150)

This is due to a problem in MySQL because some fields aren't the expected type. id_agente_modulo field in 2.1 should have bigint(10) type. If you have migrated from version 1.x before you will encounter this issue. Before running the migration tool on 3.0, enter this command in the MySQL console:

ALTER TABLE tagente_modulo MODIFY id_agente_modulo bigint(10) unsigned NOT NULL auto_increment;

And try to run the migration tool again. Please remember that 2.x and 3.x versions needs to have InnoDB support enabled in your MySQL database server

Another possible explanation is that your MySQL is too old and doesn't support some foreign key syntaxes. Be sure you are running at least MySQL version 5.1.

Pandora FMS Server debian (.deb) package fails to install

This error is shown when trying to start Pandora FMS server:

# /etc/init.d/pandora_server start
Pandora FMS Server is not running, cannot stop it.
Can't locate PandoraFMS/DB.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 
/usr/share /perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at /usr/bin/pandora_server line 28.
BEGIN failed--compilation aborted at /usr/bin/pandora_server line 28.
Cannot start Pandora FMS Server. Aborted.
Check Pandora FMS log files at '/var/log/pandora/pandora_server.error & pandora_server.log'

Just copy the installed PandoraFMS PERL library to another directory:

cp /usr/local/share/perl/5.10.0 /usr/local/share/perl/5.10.1 -R

Pandora FMS crashes and the log message says "DBD::mysql::db do failed: Duplicate entry '1808516' for key 'PRIMARY'"

Your MySQL database has been corrupted and the auto-incremental field has been desynchronized. To solve this, just update the last value of the auto-incremental field that the table has problems with:

alter table xxxxx Auto_increment = 1234;

Where "1234" is a highest value possible + 2. You can get this value for example with:

select MAX(primary_key_field) FROM xxxxx;

In Pandora FMS most table corruption should happen in tagente_datos, tagent_access, tagente_datos_string or tevento. This could be an example on how to fix the problem in the tagente_datos_string

mysql> select max(id_tagente_datos_string) from tagente_datos_string;
+------------------------------+
| max(id_tagente_datos_string) |
+------------------------------+
|                      1900270 |
+------------------------------+
alter table tagente_datos_string Auto_increment = 1900272;

In the MySQL Cluster problems are related with a bad sync between nodes: [4] (ndb_autoincrement_prefetch_sz parameter)

If this doesn't fix the problem, try to use these settings on the SQL Node, editing your my.cnf file:

ndb-autoincrement-prefetch-sz=1
auto_increment_increment=5
auto_increment_offset=5

This also can happen because a table has a primary key with auto increment and has a very small top limit:

For example: tsesion is defined by default with int(4) this could be too low for huge systems, to fix this, just alter table to set more allocatable PK:

alter table tsesion modify ID_sesion bigint(20) unsigned;

I have a 3Com Switch and I want to monitor it using SNMP, how can I start ?

1. Try to locate the MIB for your device, for example, 3COM OfficeConnect switch available on Google shows you this.

http://www.mirrorservice.org/sites/ftp.3com.com/pub/mibs/open-view/3com-products.mib

This could be a good starting point, a device could have different MIB files. MIB files are text files (.txt or .mib), readable from a simple text editor.

2. Download a MIB browser, there are a lot of free tools, for example:

http://www.ireasoning.com/mibbrowser.shtml

You can choose others, of course. Just take a look at different google searches.

3. Load the MIB into your MIB browser. Each program does this differently.

4. "Browse" your device with your MIB browser, you will need an IP address which is accessible from your host, and of course the SNMP community (a kind of password) that allows you to "read" data remotely.

5. Locate some "items" that are useful for you, and write it down in a numerical format, like 1.3.4.2.5.6.3.23 Those "weird numbers" are called "OID", and thats what Pandora FMS needs to collect data from your device.

6. Create a SNMP network module (probably incremental data (or generic_data_inc) type) and use your device's IP address, the OID you've collected, and the SNMP community.

7. If everything's OK, the first piece of data you will collect is a 0, wait to collect a second piece data. The data collected will be classified into "items per second". Most SNMP information is given as incremental data (a delta) and you need to retrieve at least 2 data entries to calculate the difference.

8. You can also obtain status information (port status) from SNMP devices, as well as text information (like IOS version from a Cisco Router) for example. There are types that aren't supported at this time (timeticks) but will probably be supported in the future.

SNMP monitoring is hard at the beginning, but once you get it, all SNMP monitoring is almost the same, so don't give up! ;-)

I get alerts every 5 min until the problem is fixed, how can I adjust to notify only once until the problem is fixed?

Set the alert threshold to 1 day (or more), set minimum alerts to 0, and max to 1. This way Pandora FMS just executes an alert per day while the problem can continue to be unsolved.

On an OpenSUSE sysem I have my /tmp filled with temp files, how can I automatically manage this?

Just edit /etc/sysconf/cron and define your policy on "temp" directory deletion there. This could be also used to purge old pandora data stored in /var/spool/pandora/data_in (Old _BADXML_ files, for example). OpenSUSE >11.x has a powerful script to manage temporal directories/data.

Pandora FMS shuts down and I get errors with "MySQL has gone away" in my logs

Edit your my.cnf (Main config file of MySQL) and alter the following parameters:

wait_timeout = 40000
connect_timeout = 40000
interactive_timeout = 40000
max_allowed_packet=32M

If you're using PHP 4.3 or higher (or you're not sure), with the console, edit 'config_process.php', and alter the 'mysql_pconnect()' line statement to 'mysql_connect()'. For some reason PHP 5.3 DOES NOT LIKE persistent connections and this makes MySQL act very silly when it comes to timeouts, resulting in errors with "has gone away".

In some systems with several physical servers or a lot of threads the tserver table could generate some lockdowns. To avoid that, just alter the type of table, using this SQL syntax:

UPDATE tserver engine = MyISAM;

Pandora FMS won't send my emails properly

First, check your 'pandora_server.conf' properties and make sure that your 'mta_*' parameters are ok and your MTA (Mail Server) can forward your messages. If you're using MTA authentication make sure that 'Sendmail.pm' (Usually found in /usr/share/perl5/Mail/Sendmail.pm) is version 0.79_16 or above, version 0.79 doesn't support AUTH methods. If your version is too old, just replace it for 0.79_16, which you can find here: [5].

Another option is to install from CPAN. Old versions works perfectly for MTA without authentication.

Enable WMI Service in Windows XP

Problems are caused by:

1. lack of connection to WMI because of Windows Firewall. 2. Remote DCOM is not enabled. Follow the steps found in the Microsoft help document KB875605 [6] 3. Other problems can occur (WMI Corruption, or ACL disabled), to find out more check this URL [7]

After installing a Windows agent on my Windows 2003 server and it doesn't work, nothing has been copied to the server

In some systems, adding paths to SYSTEM is not something with immmediate results and requires a reboot to recognize the new path (pandora_agent/util) inserted in global %PATH% variable. Another way, is to copy the contents from pandora_agent/util onto a directory which is currently on the Path, like c:\windows. If you're using Tentacle (default) to copy XML data files, it is mandatory to copy at least tentacle_client.exe to somewhere inside the current path.

Of course, if you reboot your server, it will transfer the new Pandora FMS utility directory into the path and everything will be OK.

How can I use PERL 5.8 in my old Solaris 8 ?

The best way is to install BlashWave packages. There are a lot of OpenSource packages on the Lastware package system, that work like the 'apt-get / yum /' zypper system, grabbing the repository data, and installing it on demand, solving dependency issues. Search for more information on http://www.blastwave.org/howto.html

Whatever action I take, I get prompted again for login credentials.

Is PHP CGI runing under different user than the one that had permissions in /var/lib/php/session?

I have all my Pandora SNMP Console setup correctly, but I don't receive any traps

Check the contents of your pandora_snmptrap.log. They should look something like:

tail -f /var/log/pandora/pandora_snmptrap.log

If you have "No access configuration - dropping trap." lines it's because you haven't configured the snmptrapd daemon access. Use these commands to solve the problem:

echo "authCommunity log public" >> /etc/snmp/snmptrapd.conf

/etc/init.d/pandora_server restart

This should be a functional fix for this issue.

I had recurrent problems with some servers generating a lot of BADXML files

The solution for common problems (FAQ) helped by changing the type of encoding, but there are other solutions:

1. Check if the modules in /etc/pandora_agent.conf have *at least* these lines for each module:

module_begin
module_name
module_type
module_exec
module_end

You should keep the lines in this order to avoid BADXML.

2. Check if you have a return data value equal to "0.00". Because of a possible bug all agents that have this return value generate BADXML. So, you can simply change this to "0" and the XML should work perfectly.

Ubuntu 9.04, Fedora XX, Redhat XX or OpenSUSE XX don't have wmi-client packages, what I can do to use WMI ?

Just download the WMI client provided for "generic linux" in our 'downloads' section (32bit) it works perfectly on Ubuntu 9.04, Fedora and other Linux distros because it's a static compiled binary.

 http://sourceforge.net/project/downloading.php?group_id=155200&filename=wmi_client_linux.tar.gz&a=54919695

If you have problems running it or want to compile it yourself, you need to obtain sources from the latest version of Samba 4.x (3.x versions don't have WMI or WinExe support). After compiling and linking you will get the 'WMic' tool. Do this ONLY if the provided binaries (see above) don't work for you.

How can I upgrade to a stable version through updates ?

For the latest stable version (3.x) the code is public and is available in the 'branches/pandora_3.x' directory in our code repository, you can retrieve it through the Subversion client using this command:

svn co https://pandora.svn.sourceforge.net/svnroot/pandora/branches/pandora_3.x

Just copy new the files over the old ones BUT be sure to backup everything (including your database), just to be safe.

Also, consider using Pandora FMS Enterprise version [8] to keep your system up-to-date automatically.

How can I Start/Stop a Windows service on demand from Linux (To exec in an alert from Pandora FMS)

You need an updated version of Samba (3.x) and administrative credentials to access a Windows server remotely (RPC call). In this example we will use '192.168.50.121' as a target server, "Administrador" as the user and "pepe" as the password. We want to work with a service called "PandoraFMSAgent" and also see the full list of services:

To obtain a list of processes:

net rpc service list -U administrador%pepe -I 192.168.50.121 
.
. full list

To show the status of a process:

 net rpc service status  PandoraFMSAgent -U administrador%pepe -I 192.168.50.121 

 PandoraFMSAgent service is running.
 Configuration details:

	Controls Accepted    = 0x5
	Service Type         = 0x10
	Start Type           = 0x2
	Error Control        = 0x1
	Tag ID               = 0x0
	Executable Path      = C:\Archivos de programa\pandora_agent\PandoraAgent.exe
	Load Order Group     = 
	Dependencies         = /
	Start Name           = LocalSystem
	Display Name         = Pandora FMS agent

To stop a process:

net rpc service stop  PandoraFMSAgent -U administrador%pepe -I 192.168.50.121 .
PandoraFMSAgent service is stopped.

To start a process:

net rpc service start  PandoraFMSAgent -U administrador%pepe -I 192.168.50.121 
Successfully started service: PandoraFMSAgent

Pandora server is receiving data from an agent, and showing the latest data correctly, but the graphs won't show anything. The agent is working and the latest data is correct. The raw data table is also empty

Probably your agent's date is not synched with Pandora FMS's date. Check date in the remote system and compare it with the local date. Check the timezones on both systems. You can setup agents (on version 3.0) to "not use" the local time, and in version 3.1 you can even define a different timezone to make the calculations and add or subtract time depending on the agent's timezone.

How can I make a backup of database?

A simple 'mysqldump' command execution will dump your database contents. A blank database with the same name (without data), should be enough to receive the dump generated by the 'mysqldump' command.

First you should create the backup

mysqldump -u root -p pandora > /backup/pandoradb_backup.sql

Restore the backup (from scratch)

mysql -u root -p
create database pandora;
use pandora;
source /backup/pandoradb_backup.sql

Probably you also need to give access to your pandora console user:

grant all privileges on pandora.* to pandora@localhost identified by 'mypassword';

I have an alert set up for a module, but when a bad "peak" reaches my system, it doesn't fire the alert, if it is a proc module, it is reflected on event log, but the alert still won't fire

Check that your alert has a "min alerts" value of 0. If it has a value of 1, for example, it means that needs at least one "bad" value before the alert activates. In this case, with a "min alerts" value of 1, you need at least two "bad" values (during the same period and defined by the time threshold parameter) to fire an alert.

When I start the network server, I get a message reading 'segmentation fault' and the server seems to stop running

Check your /etc/pandora/pandora_server.conf file and look at how many network_threads you're using. If you're using more than 40-50 threads in a PIV with less than 1GB, probably your machine is not able to manage so many threads. Try reducing them. A single network thread is enough to manage about 100/200 modules, probably more, depending on your setup and network latency needs.

I'd just installed pandora server on a solaris 10 machine. Is there a way to skip the error "This isn't GNU/Linux" ?

Pandora hasn't been properly tested on Solaris systems, but you could try to use it on Solaris, at your own risk. Just edit the 'Config.pm' file and search:

die "[ERROR] This isn't GNU/Linux.

Comment this line and Pandora FMS should start without warning about that the OS isn't Linux.

Adding MIBs to Pandora FMS

Q: does anyone know how to load HP and/or Compaq MIBs onto pandora for the SNMP Walk functionality?

A: Pandora FMS do not manage SNMP directly, it relies on GNU/Linux Net-SNMP libraries that are managed by the system so, by editing '/etc/snmp/snmp.conf' you can define MIB loading. You should configure your Linux system that runs the Pandora FMS Console and add MIB files to the '/etc/snmp/snmp.conf' file (and restart apache). These are /etc/snmp/snmp.conf directives for MIB management:

mibdirs DIRLIST

specifies a list of directories to search for MIB files. This functions in the same manner as the '-M' option - see snmpcmd(1) for further details. Note that this value can be overridden by the MIBDIRS environment variable, and the '-M' option.

mibs MIBLIST

specifies a list of MIB modules (not files) that should be loaded. This operates pretty much in the same way as the '-m' option - see snmpcmd(1) for details. Note that this list can be overridden by the MIBS environment variable, and the '-m' option.

mibfile FILE

specifies a (single) MIB file to load, in addition to reading the list from the MIBs token (or any equivalent configuration). Note that this value can be overridden by the MIBFILES environment variable.

Keepalive module doesn't work for me

Q: According to the last FMS 1.3 beta, I cannot make the visual console show in red when the computer or server is not on or not alive. Setting in map_builder: Single graph zixzax / agent_keepalive server 320 70 0 0. It'll show the picture somehow, but it's supposed to show in red instead of green since I had set the zixzax down/off.

A: Keepalive can only be set to "down" where there is NO CONTACT, it's a very special module (that currently generates about 10% of support questions).

If you have five modules for an agent, for example:

1. ICMP check 2. Four Agent modules 3. Keepalive module (by default)

and your agent is down (because machine is dead, for example), the ICMP module is still "working", and reporting that the machine is down. So, if you have an ICMP check the Keepalive module never goes "DEAD" because there should be at least one module working, so you'll need to use ICMP check to draw agent info on your map.

There's a lot of configuration required, prior to installing Pandora FMS, that isn't covered in the quick installation guide

Q: I'm not too experienced with Apache, Perl or even Linux. I work mostly with network design and support so I wanted to implement some sort of monitoring, and Pandora seemed like an OK choice. Then I realized that I used to think I could follow a manual word for word, until now that is... There's a lot of required configuration that isn't covered in the quick installation guide. For example: does it require arbitrary configuration in Apache, or anything of the sort? .

A: If you're working with Ubuntu, you won't need to "adjust" or configure neither Apache or PHP, simply install all of the dependencies:

apt-get install apache2 libapache2-mod-php5 php5-mysql mysql-server php-pear php5-gd php5-snmp snmp snmptrapd snmpd

This should install all server and console dependencies into your system on an Ubuntu server. Instructions on Perl dependencies are detailed in the Quick Install Guide

I would like to know how to install more than one pandora agent on the same machine

If you take a look at the pandora_agent_daemon, the first 20 lines of that script give you lots of variables that need to be rewritten:

PANDORA_PATH=/etc/pandora
DAEMON=/usr/bin/pandora_agent
PIDFILE=/var/run/pandora_agent.pid
LOGFILE=/var/log/pandora_agent.log

Just create a directory named '/etc/pandora2'

And copy your /etc/init.d/pandora_agent_daemon to /etc/init.d/pandora_agent2_daemon with lines shown before, but modified to not interfere with the first agent, something like:

PANDORA_PATH=/etc/pandora2
DAEMON=/usr/bin/pandora_agent
PIDFILE=/var/run/pandora_agent2.pid
LOGFILE=/var/log/pandora_agent2.log

Copy your pandora_agent.conf config to /etc/pandora2 and if you want to use a pandora_user.conf also copy it to this location.

My Pandora FMS Agents won't connect with the Pandora FMS server, or my Pandora FMS Agents ask me for a SSH password when I try to connect. -Implementing SSH authentication-

I'm asked for a password when making connections to copy XML data. I tried connecting through SSH but it still didn't work.

A: Before trying to start a remote pandora agent you must be sure that the SSH Key authentication is working, to check this, execute the following command on a host with a Pandora agent installed: ssh pandora@pandora_server.

Pandora_server is the hostname where the Pandora server is installed. If you can connect directly, then the automated SSH authentication key is working properly and the Pandora agent should be able to connect to the Pandora Server.

Please refer to the Pandora FMS Server Install documentation on how to install automated Pandora SSH key authentication You need to execute the following steps in order:

1. Create a "pandora" user in your Pandora FMS data server system. Be sure to give "pandora" user privileges to write on incoming directories for data files (/opt/pandora_server/data_in for 1.2 version or /var/spool/pandora/data_in for 1.3 version).

2. Create a SSH key for root (or the specific user using running Pandora FMS agent) using each of Pandora FMS's Agent Systems, with the command:

ssh-keygen -t dsa

This should generate a file called /root/.ssh/id_dsa.pub

Copy the contents from that file over the following file (create it if it doesn't exist) /home/pandora/.ssh/authorized_keys and give permissions to read/write only for the "pandora" user on the Pandora FMS Data server system.

3. From the root user in the Pandora FMS agent system, test the connection with the following command:

 ssh pandora@pandorafms_data_server

If it's the first connection, it should ask you about the authenticity of the host's fingerprint. Say "yes", and you should enter the system with no trouble. If not, it means that the SSH authentication is not correct, and therefore you need to review previous steps carefully.

4. Run the agent, it should copy datafiles over to Pandora FMS's data server incoming data directory.

My agents on FC4 machines cannot send data to the Pandora Server (SSH Transfer mode)

I have agents installed on FC4 machines and my pandora server on FC5. Furthermore, I also have an agent on the FC5 machine running the Pandora server. The agents on the FC4 machines cannot send data to the Pandora server, but the agent on the machine running the Pandora server(fc5) works fine.I also have an issue with generating public keys.

A: Before trying to start a remote pandora agent, you must be sure that SSH Key authentication is working, to check this, execute the following command on a host with a Pandora agent installed: ssh pandora@pandora_server.

Pandora_server is the hostname wherever Pandora server is installed. If you can connect directly, the automated SSH Authentication key its working correctly, and so is Pandora agent must be able to connect Pandora Server. Please refer to the Pandora Agent documentation on how to install automated Pandora SSH key authentication.

When I try to look at any graph, I can't see any image, and if I try to inspect the broken icon, the page displays the following error message: Fatal error: Call to undefined function: imagetypes()

A: imagetypes() is a GD function, check if you have the GD library installed. Also, take a look at your php.ini file, to see if you're loading the gd.so library. To do this, add the next line to the file:

extension=gd.so.

Pandora Web Console doesn't run and I get some MySQL errors

A: If you have created a Pandora DataBase and added the Pandora user into the database, check your include/config.php file to replace the database host user and password with your own data. Also check your connectivity with the MySQL Server by connecting manually.

I get a Mysql error that states: "client does not support authentication protocol"

I use MySQL 4.1 or MySQL 5.0, and when I try to authenticate my user, I get the following error: Warning: mysql_connect() [function.mysql-connect]: client does not support authentication protocol requested by server; consider upgrading

A: In MySQL 4.1 there's a new type of authentication different from the one used in 4.0 or 3.23, and PHP isn't compiled for this version, so it can't connect. There are a few different solutions, the first would be to compile PHP against the MySQL 4.1 client library. If that doesn't work or you're not allowed to do that, then you can read this text on how to fix it. Basically, you need to save the pandora user password with an old hashing algorithm:

mysql> set password for 'pandora'@'localhost' = old_password('pandora');

I get a Pandora FMS Console error that says: You don't have access to this page

Q: I've installed the Pandora Web Console, and when I try to login as admin and try to access any of the links, I get this error: You don't have access to this page

A: You don't need this change in Pandora 1.2 or newer. This happens because the session isn't open. Check if you have the next line included on your php.ini file:

session.auto_start = 1

Also take a look at the session.save_path parameter on the same file, to ensure you have access to this directory (usually /tmp).

How can I run a Pandora agent in IPSO / FreeBSD?

A: Due to a unknown bug in IPSO, sometimes it detects a different number of Pandora processes running and detects an extra Pandora agent running. If this happens, try to launch Pandora agent using:

$ nohup ./pandora_agent.sh &

Can I run any Pandora agent on Cisco?

A: No, you can't. But you can run a satellite agent that's already running on a nearby host (a host that has access to Cisco SNMP interface). Then run a SNMP remote agent on a Pandora-compatible system. With Pandora 1.2 you could run a remote network agent to monitor ICMP, TCP, UDP, and SNMP parameters on Cisco equipment. You also could set up a custom Pandora FMS agent that uses expectancy to retrieve data and report to the Pandora FMS Data server in the provided XML interface.

What is the load capacity on Pandora FMS?

It depends on your architecture. If you have a single-server (MySQL, Pandora Server and Pandora Console) machine, about 1000 agents (in v3.0), with a total of 25-30 individual data items (modules) per agent. The hardware needed for that would be a "cheap" Server, with just a dual core CPU (at a minimum of 2.4Ghz frequency), 4GB of RAM and a 7500rpm Harddisk.

For more powerful setups (1000+ agents), could I use multiple servers, using a high availability solution?

Yes. There is a HA solution and multiple high-load solutions. Please read the entire documentation in depth, all the information is given there.

Could I use Crystal Reports with Pandora?

A: Yes, you could, since the database scheme is open. Check our documentation for an explanation about database scheme or directly, read the code in our development repository.

After a problem with the MySQL Server (shutdown or restart) my Pandora Server stops. Is there any data loss?

A: Pandora Server automatically shuts down if it can't connect with the MySQL Server. If the Pandora Server isn't running, data packages are being stored in the Pandora Server's incoming directory. When the Pandora Server restarts again, it will process those packages and no data will be lost.

Where can I download the srvany.exe and instsrv.exe files?

A: Microsoft has released these files into the Resource Kit for Windows 2000, Windows XP and Windows 2003. You can download it freely from Microsoft, but Only for XP and 2003. This file was used for older versions of Pandora FMS (1.1) but it could be used to program a Perl Unix agent running on windows with the Active State Perl as a service. That's a nice hack :-)

How do I convert the Pandora Windows agent 1.1 keys into Pandora Windows agent 1.2 keys?

A: Disclaimer: Your old keys must be in DSA format. If they're not in this format, or you aren't sure, generate a new pair of SSH keys.

In order to convert your ppk keys into OpenSSH DSA format (id_dsa and id_dsa.pub files) you will need Puttygen utility.

Open Puttygen, go to the "File" menu and click "Load", then open your PPK private key. Open the "Conversions" menu and select "Export OpenSSH key". Save it as "id_dsa".

To export the public key, in the main window of Puttygen you can see a textbox on top whose title is "Public key for pasting into OpenSSH authorized_keys file". Select the entire text from the box and copy it onto the clipboard. Create a text file with the notepad and paste the text onto the file. Save the file and close the notepad. Rename this file to "id_dsa.pub" and that should fix the issue.

How to generate a pair of SSH keys for Pandora Windows agent? (SSH Transfer only)

A: Open Puttygen and select SSH2-DSA at the bottom of the main window. Then click "Generate". The program will ask you to move the mouse over the blank area to generate randomness. Once the key has been generated, export it by opening the "Conversions" menu and selecting "Export OpenSSH key". Don't use any passphrase when exporting it, so click "No" if a warning dialog appears. This will export the private key, which you must save as "id_dsa".

To export the public key, on the main window of Puttygen you can see a textbox on the top titled "Public key for pasting into OpenSSH authorized_keys file". Select all the text in the box and copy it onto the clipboard. Create a text file with the notepad and paste the text onto the file. Save the file and close notepad. Rename this file to "id_dsa.pub" and that should solve the problem.

How to configure the Pandora server to accept the keys from a Pandora FMS Windows agent (SSH Transfer)?

A: Connect to your server and go to '/home/pandora/.ssh' . If this directory doesn't exist you must create it. Open the "authorized_keys" file using your favorite editor (you must create it also if it doesn't exist) and paste the public key on a new line of the file. This should work now, so run a Pandora Windows agent SSH test again with:

c:\path\to\pandora> PandoraAgent --test-ssh

I have Net::SNMP installed but Pandora still asks me for SNMP.pm

A: net-snmp-perl and Net::SNMP are two different things.

net-snmp-perl is the perl bindings for the snmp library at http://net-snmp.sourceforge.net/, which provides an SNMP.pm without the Net:: prefix.

Net::SNMP is a perl module from http://search.cpan.org/dist/Net-SNMP/ which provides Net::SNMP (i.e. it would be /usr/lib/perl5/vendor_perl/5.8.5/Net/SNMP.pm). You can find RPMs for this package in Dag's repo: http://dag.wieers.com/packages/perl-Net-SNMP/

UPDATE: With Pandora FMS 3.0 this library is not needed anymore.

Error: Call to undefined function imageantialias() in the Pandora Console

A: The problem resides in the jpgraph.php file: Line 5791 and 5792.

  If you take a look on that lines you'll find this:
   $this->use_anti_aliasing = $aFlg;
  imageantialias($this->img,$aFlg); 

To solve the bug just change those lines to these:

    $this->use_anti_aliasing = false;
   //imageantialias($this->img,$aFlg);  

Problem starting the first time Pandora Agent for Unix (SSH Transfer mode)

Q: When I enter

[root@localhost root]# /opt/pandora_agent/pandora_agent_daemon start
Pandora Agent is now running with PID 14786

Then it will display

[root@localhost root]# The authenticity of host '192.168.182.157 (192.168.182.157)' can't be established.
RSA key fingerprint is 9c:11:1b:ac:44:2e:10:98:16:75:00:58:34:18:5b:2d.
Are you sure you want to continue connecting (yes/no)?

when I press yes it still shows those messages. What's the problem?

A: It's a normal issue. Stop the agent. Make the first connection to the server manually. This means 'ssh pandora@pandora_server_ip', then press yes. That will also make you sure that you set up the SSH public key configuration successfully. After doing this, launch the agent again and everything should work out OK for you.

How to run PandoraFMS agent with the system startup

Q: I've installed the pandora_agent on my Linux system and I want it to run every time the computer starts up, how can I automate the process?

A: First of all, copy pandora_agent_daemon to /etc/init.d

Then if you want pandora_agent_daemon to start with your system boot, just execute:

ln -s /etc/init.d/pandora_agent_daemon /etc/rcX.d/S99pandora_agent_daemon

Where the X is the run level you're booting into.

Then, to make sure your pandora_agent_daemon is being correctly switched off when you make a shutdown, or power off...

ln -s /etc/init.d/pandora_agent_daemon /etc/rc0.d/K99pandora_agent_daemon
ln -s /etc/init.d/pandora_agent_daemon /etc/rc6.d/K99pandora_agent_daemon

Problems with PHP-PEAR RPM

Q: I installed the php-pear rpm package but the graphics don't work

A: By default, php-pear is installed in /usr/share/pear

To solve that just execute:

 cp /usr/share/pear/PEAR.php /var/www/html/pandora_console/reporting/

(Check out your pandora_console PATH) Then, just make Apache able to read that file with the following command line:

 chown apache PEAR.php

(Check out which user is running the Apache server, could be either apache or www-data)

Problems with "Unknown agent" in the WebConsole"

Q: I created an agent in the webconsole but it has no data. Looking at the logs I found this error:

  2007/07/11 14:13:45 ulises_Data [V1] ERROR: Received data from an unknown agent

But the agent is created in the webconsole

A: You need to install: libxml-simple-perl

  apt-get install libxml-simple-perl

I need more decimals in the definitions of SLA's, how can I get it ?

A: Altering the database with following SQL sentence (MySQL):

ALTER TABLE treport_content_sla_combined MODIFY `sla_limit` double(18,3) default NULL;
ALTER TABLE treport_content_sla_combined MODIFY `sla_min` double(18,3) default NULL;
ALTER TABLE treport_content_sla_combined MODIFY `sla_max` double(18,3) default NULL;

This will give you three decimals, if you need more, just alter the table again. This is for SLA's only.

I need more precision for the post-processing field

A: Altering database with the following SQL sentence (MySQL) should provide a fix:

ALTER TABLE tagente_modulo MODIFY `post_process` double(18,13) default NULL;

Can't locate PandoraFMS/DB.pm on Debian after installing Pandora FMS 3.0

A: There seems to be a problem detecting the PERL version. To solve this just copy, for example:

# cp /usr/local/share/perl/5.10.0 /usr/local/share/perl/5.10.1 -R

PDF Reports without graphs

On a report with graphs, it'll show the graphs in the html view, but when the same report is made in PDF format the graphs won't show. This bug is caused by the PHP configuration (normally this file is found in /etc/php5/apache2/php.ini), with this configuration you have to disable the flag to make the session pass by as a parameter. Well, for setting it on the flag, you can change the line "session.use_only_cookies = 0". The goal is to create the PDF, making the server auto-fetch the image graph and use the user session as a parameter.

PDF Reports don't show graphs and / or are slow to process

One relatively common issue with the PDF reports is when the external URL monitoring cannot be resolved from Pandora FMS Console. We must verify that the URL to customer access, can be solved and accessed from the server where Pandora is installed, for example:

 https://monitoring.mydomain.com/pandora

It could be that the server is behind a NAT address and the address which resolves the domain from the local machine is not accessible from the console. To access it you would have to edit the /etc/hosts file as follows:

 127.0.0.1 monitoring.mydomain.com

A Map's background is black

On the Dashboard, when creating a visual map Widget, if the map's background is completely black, it is due to the Apache configuration. If the Pandora console is installed in the default Apache location (/var/www en Ubuntu) this problem won't happen, but if we've installed the Pandora console in another location, for example at /home/Usuario/public_html, then, it'll be possible that you encounter issues finding the map's background image.

Massive SNMP operations doesn't work

When you do a SNMP Walk in the massive operations section, a form should appear after a few seconds with the detected interfaces. If you select an interface, the possible values detected will be shown. If you don't get anything back, that means your system has problems translating OID.

Please refer to "SNMP OID read problems"

SNMP OID Read problems

OID's are usually translated using a "dictionary" or MIBs, that should be properly installed. In the latest versions of Ubuntu/Debian those MIBs aren't pre-installed on the system, and you need to install/download them explicitly.

To do this, you can download a package called snmp-mibs-downloader and install it. After installation, just by editing the file /etc/snmp/snmp.conf and commenting the "mibs:" line, it should work.

After that, restart your Apache server. For example on Ubuntu:

sudo /etc/init.d/apache2 restart

I have upgraded to version 3.2 and policy modules are marked as unlinked

Starting on version 3.2, policy modules can be unlinked from a policy to allow customization, but existing policy modules are not marked as linked during the upgrade. This can be fixed with the following SQL query:

UPDATE pandora.tagente_modulo SET policy_linked=1 WHERE id_policy_module!=0;

How can I add fonts in order to use them in the graphs and reports?

To add fonts to Pandora, you only need to copy them in the include/fonts file.

More info at: http://www.openideas.info/wiki/index.php?title=Pandora_3.0:Documentation_es:Presentacion_datos#Typograf.C3.ADa_e_idiomas

Problems with SNMP v1 and Pandora web console

The error can be checked. When you execute a function which performs a SNMP Walk using SNMP v1 the following string will appear on your web server log file:

snmprealwalk(): This name does not exist:

This is a PHP bug, you can obtain more information at:

https://bugs.php.net/bug.php?id=51336&edit=1

To fix it you must upgrade your PHP installation to a higher version.

SSLeay thread safe error

If you see your Pandora FMS server is down, and when you check the log file '/var/log/pandora/pandora_server.error' you find an error like this:

/lib64/libc.so.6[0x399ea748f4]
/lib64/libc.so.6(realloc+0x102)[0x399ea753e2]
/lib64/libcrypto.so.6(CRYPTO_realloc+0x60)[0x39a22dae50]
/lib64/libcrypto.so.6(lh_insert+0xf9)[0x39a227e9f9]
/lib64/libcrypto.so.6(OBJ_NAME_add+0x6d)[0x39a225c72d]
/lib64/libcrypto.so.6(OpenSSL_add_all_ciphers+0x38f)[0x39a228532f]
/lib64/libcrypto.so.6(OPENSSL_add_all_algorithms_noconf+0xe)[0x39a2284f8e]
/usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/auto/Crypt/SSLeay/SSLeay.so(XS_Crypt__SSLeay__CTX_new+0x291)[0x2aaaaaee3be1]
/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/libperl.so(Perl_pp_entersub+0x3f6)[0x39a1290aa6]
/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/libperl.so(Perl_runops_standard+0xe)[0x39a128a34e]
/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/libperl.so(Perl_call_sv+0x650)[0x39a12376f0]
/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/auto/threads/threads.so(Perl_ithread_run+0x155)[0x2af9342782f5]
/lib64/libpthread.so.0[0x399f20673d]
/lib64/libc.so.6(clone+0x6d)[0x399ead44bd]
...

The problem is that your version of perl-Net-SSLeay library is earlier than 1.42 and is not thread-safe. You can look for more information at: http://search.cpan.org/~mikem/Net-SSLeay-1.45/lib/Net/SSLeay.pod#Using_Net::SSLeay_in_multi-threaded_applications

To solve the problem you must decrease the number of threads for web server to 1 with the following configuration:

web_threads 1

If your Pandora FMS web server must withstand a high load then, you must update the package to a newer version.

Using Incremental Type Modules

Incremental modules get "Rate" values, that is, items per second (Bytes per sec) in case of traffic.

This kind of module is created this way because in SNMP all counters are useful to measure a value rate per second. To do this with absolute values will be tricky, because the intervals, if they aren't exactly the same, will give values that shouldn't be comparative.This way peaks would be shown on the graph, which would be incorrect because the average interval would be slightly higher to the previous ones making all of them false. But one rate (X/sec) could be perfectly comparable to another rate (X/items/sec).

Table data overflows

If you are trying to store numbers bigger than what tagente_datos.datos can hold, you can increase its precision by connecting to Pandora FMS's database and issuing the following command:

ALTER TABLE tagente_datos MODIFY datos double(precision, 2) default NULL;

For example, if you need to store 128bit integers (which go up to 3.4e38) you need 39 digits for the integer part. Since Pandora FMS uses 2 digits for the fractional part, the resulting command would be:

ALTER TABLE tagente_datos MODIFY datos double(41, 2) default NULL;

Problems receiving SNMP alarm traps with string in parentheses

If you have configured an SNMP alert, which is set to an alert that uses _data_ macro upon execution, receiving an SNMP trap can fail when it receives a string SNMP trap containing parentheses.

Example: .1.3.6.1.4.1.4174.0.4.7 = STRING: "SQL Server 2012 (Monitoring)"

To solve this problem, you must call:

macro _data_ in single quotes: '_data_'.

Pandora FMS's database is too big and pandora_db.pl freezes

If pandora_db.pl is having trouble cleaning up Pandora FMS's database edit it, increase $BIG_OPERATION_STEP (to 1000-10000, for example) and decrease $SMALL_OPERATION_STEP (to 100-200).

$BIG_OPERATION_STEP is the number of blocks that a time interval is split into. A bigger value means bigger blocks, which is faster but heavier on the database.

$SMALL_OPERATION_STEP is the number of rows that are processed in a single query. A smaller value means lighter queries.

Delete agents to solve problems with agent excess on the Enterprise version

The Enterprise version is limited by a number of agents. In case the number of licensed agents is exceeded, an error message will appear.

To delete remaining agents, the only thing to do is to disable the Enterprise version and delete the leftover agents using Open version. We can do this by renaming the folder to 'Enterprise', in case it's a Centos Appliance we would execute:

mv /var/www/html/pandora_console/enterprise /var/www/html/pandora_console/enterprise.bk

Required agents nomenclature - agents on version 5

Starting from Pandora v.5 we must keep in mind when creating fictional Agents, that the nomenclature has to follow the .data files that arrive at the Tentacle directory. They should follow this pattern:

Example. pandora_agent.3123278534.data

Any other format that follows can suppose that the data_server doesn't capture the information and could leave XMLs stored in the directory.

Alerts and events are not launched

Points to consider for the alerts and events from one module to work correctly:

- Having Event storm protection disabled.
- Check for any settings that have the agent in quiet or silent mode.
- Check for any settings that have the module in quiet or silent mode.
- Check for any settings that have the group disabled.

Issue with name resolution when sending emails

It may happen that sending emails with Cron Jobs isn't running properly and an error like this will appear on the console log:

PHP Warning: fsockopen(): php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution in /var/www/html/pandora_console/include/swiftmailer/classes/Swift/Transport/StreamBuffer.php on line 233 

It seems to be a PHP error. The solution is to stop the Apache service for a few minutes to completely remove all Apache threads and restart Apache ( /etc/init.d/httpd stop ---- /etc/init.d/httpd start )

I have enabled the double authentication and I've lost the code generator

You should contact with the Pandora FMS administrator to disable this feature for you. This can be done through: like this.

I receive invalid results introducing valid codes for double authentication

This feature is highly related with time, especifically the time difference between the server's time and the code generator app's time, which may be affecting the validation.

Segmentation failure when running tentacle_server with SSL

Executing tentacle_server with SSL may lead to this error:

tentacle_server: segfault at [...] error 4 in libperl.so  

This happens due to perl versions 5.10.1 and 5.11.0, so to solve it's necessary to update PERL. All stable releases between and including 5.6.2 and 5.10.0 x86_64, and 5.12 and above should run the code without crashing. Also, we have a compiled tentacle_server that fits this feature, the binary files can be found here: http://sourceforge.net/projects/pandora/files/Pandora%20FMS%205.1/SP2Final/Linux/

The Pandora agent crashes when configuring multi threads on agent_threads

The pandora agent crashes when configuring several execution threads with the parameter "agent_threads" on the pandora_agent.conf. We have a binary version of the agent that fixes this issue, they can be downloaded here: http://sourceforge.net/projects/pandora/files/Pandora%20FMS%205.1/SP2Final/Linux/