pandorafms/pandora_doc/en/man/pandora

353 lines
18 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

.TH PandoraFMS
.SH NAME
pandorafms - Pandora Free Monitoring System User Guide
.SH AVAILABILITY
Linux, AIX, Solaris, Windows...
.SH DESCRIPTION
This is the user guide for Pandora FMS. This is not the full version, full version contains images, you will be able to find at www.pandorafms.net
.SH NOTES
This is the main Pandora User Guide. If you have this man page also, you are supposed to have also pandora_agent, pandora_network, pandora_server and pandora_console man pages.
.SH SYPNOSYS
Pandora FMS is a monitoring application to watch systems and applications. Pandora allows to know the
status of any element of your bussiness systems. Pandora watch for your hardware, your software, your
multilayer system and of course your Operating System. Pandora could detect a network interface down
and the movement of any value of the NASDAQ new technology market. If you want, Pandora could sent
a SMS message when your systems fails... or when Google value low below US$ 330.
Pandora FMS will adjust, like an octopus, to your systems and requirements, because it has been
designed to be open, modular, multiplattform and easy to customize.
.B Pandora architecture:
.I Web Console
.br
Pandoras user interface. The user controls and operates the system with it. Several Web
consoles can be implemented in a single system. The Web console is written in PHP, and it is over a
database and a Web server. It is compatible with any platform - GNU/Linux, Solaris, Win2000, AIX,
etc.T official supported platform is GNU/Linux, though
The console permits the user to control the status of the agents, view statistical information, generate
graphs and data tables, keep a system incident control,moreover it is able to generate reports and
change the alerts, agents, and user profile settings.
.I Server
.br
In Pandora 1.2 there are three different servers:
The core server is the receptor of the data packages and generates the alerts - it is the brain of the
system. Several servers can work alongside for larger systems. The core server accesses Pandora
database, which is shared with the Web server, and stores the processed data packages. Server executes
as daemon, and processes the packages stored in its file system. Data is generated by the system
agents. Despite the servers low system resources comsumption and simple installation and operation,
the core server is the most critical element of the system. The core server receives and processes the
produced data, and fires the alerts and the events.
The Network Servers monitorize remote systems using network resources like ICMP, TCP, UDP or
SNMP Queries. Network Servers are acting itself like "Network Agents". This server fires the alerts
and the events for this modules.
The SNMP Server receives and processes the snmp traps, and fires the alerts associated to it.
.I Central Database
.br
At the moment the system only supports MySQL. The central database keeps all
the information Pandora needs to work - agent data, settings, user information, incidents, system
settings, etc. The system can use a MySQL cluster to store the information, or a High Availability
(HA) solution for larger sytems.
This database can work with any of the platform officially supported by MySQL. Pandora can be
implemented with MySQL versions from 3.0 to 5.0, although the latest is recommended.
.I Pandora Agents
.br
They collect all the systems data. They are executed in each local system, although
they can also collect remote information by intalling monitoring sytems for the agent in several
different machines - called satellite agents.
They have been developed to work under a specific platform, making use of the specific tools of the
used language: ShellScripting for Unix - which includes GNU/Linux, Solaris, AIX, HP-UX and BSD,
as well as the Nokias IPSO. Pandora agents can be developed in virtually any language, given its
simple API and being open source. Windows agent are developed in a free development environment
for C++ and uses the same interface and modularity than Unix agents.
The old agent for Windows plattforms was developed on VBS Scripting language, and is deprecated
with the new Pandora 1.2 windows agent.
.B What kind of systems/ services can be monitored?
At present, with Pandora any process or system that through a command returns a value can be
monitored, as well as any value in any Operating System log file or similar. Some examples of already
existing implementations below:
Number of connections (sessions) of Checkpoint FW-1
Number of NAT sessions of Checkpoint FW-1
Number of connections of Linux NetFilter / IPTables firewall
Number of FW-1 logged packets
Number of FW-1 dropped packets
Number of FW-1 accepted packets
State of High Availability in FW1 NG
Last policy installed in a Firewall-1 module
Synchronization state of the modules in FW1 NG
CPU of the system: idle, user and system
Number of processes of the system
Temperature of the CPU of a system
Value of a MS Windows registry entry
Queued jobs in a generic dispatcher
Memory of the system: free, swap, kernel Fw-1, cache
Percentage of free space on disc (for different partitions)
Messages processed by a mail gateway
Existence of a string in a text file
IP traffic (filtering based on the connections of the firewall)
Hits of pages in HTTP Servers (Apache, iPlanet, IIS, Netscape)
Percentage of erroneous packets in a Gateway
Connections established in a Remote Access Server (RAS)
Size of a file
Open sessions by a VPN server
MySQL Performance: Threads, queries, sessions...
Snort system state
Reported events by IDS (Snort) up to six levels of priority
Network load
Number of local Connections (TCP, UDP, Unix sockets)
Detected viruses by a Web Antivirus Gateway
ICMP latency time towards a host
Rate of average transference in a file transfer tool
Number of DNS requests attended by a server (including types)
Number of FTP sessions attended by a FTP server
(Generic) State of any active process / service in the system
(Generic) State of any countable parameter of the system
.B Information gathering with Pandora agents
.br
Pandora agents are based on native languages in every platform: scripts that can be written in any
language. Its possible to reproduce any agent in any programming language and can be extended
without difficulty the existing ones in order to cover aspects not taken into account up to the moment.
These scripts are formed by modules that each one gathers a "chunk" of information. Thus, every agent
gathers several "chunks" of information; this one is organized in a data set and stored in a single file,
called data file.
The process of transferring the data file from the agent to the server is made regularly at a defined time
interval in the agent configuration file, pandora_agent.conf. Its possible to modify that parameter in
order to do not fill the database with non-relevant information, either load the network or affect the
system performance. The default interval is 300 (seconds), which is equivalent to five minutes. Minor
values of 100 (seconds) are not recommended since host performance could be affected, besides loading
excessively Database and the Operating System of Pandora Server. Pandora is not a real time system; its
an applications and systems general monitoring system in environments that are not critical at real time.
Packets transfers are made via SSH, with DSA authentication (although also RSA can be used). The
process is completely safe since neither any password nor unencrypted confidential information is sent.
Confidentiality, integrity and authentication of the connections between the agent and the server are
ensured. In the Agents and Server Installation and Configuration guides, the process of generation of
keys to do the automatic SCP transfer is detailed.
Also the transfer via FTP or any other file transfer system could be made, although SSH has been chosen
for security and compatibility with most of the systems in the market.
Pandora Agents are thought to be executed from the agent from which they gather information, although
the agents can gather information of accessible machines from the host where they are installed. In this
case those agents are called "Satellite Agents". These Satellite Agents can use Telnet, SNMP or any
other commands to get the information.
We can also have a host with several agents: Some that gather information from the accessible machines
(acting as "satellite agents") and the Standard Agent that monitors the host where its running.
.B XML Data fiFiles
.br
The data file has the following syntax:
hostname.serialnumber.data
This is an XML file, and its name is the combination of the hostname where the agent runs, a different
serial number for every data package and the extension .data that indicates that its a data fifile.
We also have a control fifile for every data fifile:
.I hostname.serialnumber.checksum
This file has .checksum extension and contains a MD5 hash of the data file. This allows checking that the
information has not been changed before being processed.
The XML data file generated by every agent is the core of Pandora. This file has the information gathered
by the Agent. Its easy structure allows that any user could create its own developments to be processed in
Pandora, or use the included ones. An example of the information included into the data file below:
.I "<agent data os_name="SunOS" os_version="5.8" timestamp="300"
.br
.I agent_name="pdges01" version="1.0">
.br
.I <module>
.br
.I <name>SSH Daemon</name> .br
.br
.I <type>generic_proc</type>
.br
.I <data>1</data>
.br
.I </module>
.br
.I <module>
.br
.I <name>FTP Daemon</name>
.br
.I <type>generic_proc</type>
.br
.I <data>0</data>
.br
.I </module>
.br
.I <module>
.br
.I <name>DiskFree</name>
.br
.I <type>generic_data</type>
.br
.I <data>5200000</data>
.br
.I </module>
.br
.I <module>
.br
.I <name>UsersConnected</name>
.br
.I <type>generic_data_inc</type>
.br
.I <data>119</data>
.br
.I <min>1</min>
.br
.I <max>250</max>
.br
.I <description>Users currently connected</description>
.br
.I </module>
.br
.I <module>
.br
.I <name>LastLogin</name>
.br
.I <type>generic_data_string</type>"
.br
.I <data>slerena</data>
.br
.I </module>
.br
.I </agent_data>
.B Pandora Servers
.br
With Pandora 1.2 version, you have three different types of servers:
.I "Pandora Data Server"
.br
This is a PERL application that that processes the information sent by the
agents. The agents send the XML data file via SSH and the server periodically verifies if it has new
data files waiting to be processed. You can setup different data servers in different systems or in the
same host (that will be different virtual servers).
.I "Pandora Network Server"
.br
This is a PERL application that execute network tasks like sending pings,
TCP requests, SNMP requests and UDP request. When you assign an agent to a server, you are
assigning to a network server, not a data server, so, this is very important that machines running
network servers have "network visibility" to hosts assigned in network modules.
For example, if you create a module to make a ping check to 192.168.1.1 and assign this agent/module
to a server in a 192.168.2.0/24 network without access to 192.168.1.0/24 module will always report
DOWN.
.I "Pandora SNMP Server"
.br
This is a PERL application that parse output from standard snmptradp (we
provide one binary for snmptrapd, but it is possible that you need to replace it with a binary that runs
better in your system). This daemon receives SNMP traps, and Pandora SNMP Server stores in
database and fire alerts assigned in Pandora SNMP Console.
Data are extracted from the data file, identifying origin, type and category. Once its classified, the data
are inserted into the Database by the same Perl script.
Pandora Server can work in High Availability and/or Load Balancing. In a very big architecture, several
Pandora Servers can be arranged simultaneously in order to be able to manage big volumes of
information distributed by geographical or functional zones.
Pandora Server is always running (as a daemon) and permanently verifies if some element causes to fire
an alarm. If so, it executes the action defined in the alarm, as to send a SMS, an email, even activates the
execution of a SCRIPT or to send an HTTP form.
We could have several simultaneous servers, one of them is the Main Server or "Master Server " and the
rest of servers are "Slave Servers". The Master Server is the only one that verifies the alarms if any agent
goes down. The server which receives the data file from the agent always fires the rest of alarms, defined
in the agents modules. This is also important if this server changes (due to configurations of high
availability, load balancing or clustering).
.B Pandora console
.br
The Web Console is a web application that allows to see graphical reports, state of every agent, also to
access to the information sent by the agent, to see every monitored parameter and to see its evolution
throughout the time, to form the different nodes, groups and users of the system. It is the part that
interacts with the final user, and that will allows you to administer the system.
The Web Console is written in PHP and no plug-in, Flash, Java or ActiveX is needed to access the
console, only a browser that supports HTML and CSS (IE5+ or Mozilla 4+). Pandora Web Console can
run in several servers, the only thing you need is to be allow to access Pandora Database, where Pandora
stores all the information.
.B Pandora database
.br
Pandora uses a SQL Database to store all the information. Pandora maintains an asynchronous database
with all the received data, making a temporary cohesion of everything it is receives and normalizing all
the information from the different sources. Every Agent data module generates an entry of information
for every data bundle, which implies that a real production system can have of the order of ten million of
data, or information atoms.
This information is managed automatically from Pandora, carrying out a periodic and automatic
maintenance of the database. This means that there is no operator either manager required to run tasks as
database administration ones. This is possible thanks to a periodic purge of the past information over a
date (by default 90 days), as well as a data which is older, by default, 30 days.
.B Compacting data
.br
Data stored by Pandora are useful to see evolutions through the time, in order to: make statistics,
generate reports and to do capacity planning, as well as other statisticals tasks. To do that it isnt
necessary to have all the data, but its enough to have a representative sample, of smaller resolution,
enough to carry out the task that is needed.
With that philosophy the compaction system has been constructed. For instance, If we have a sample of
9.000 elements, distributed during 90 days, Pandora will take the data of last month, which would be
3.000 elements and will compress it in 300. In the graphs they will practically be equal, and it will be
usful for the reports, statistics and other tasks. This is made thanks to a interpolation in temporary strips,
in a totally automatic and periodic way, there is no user or the administrator needed to do this.
.HISTORY
.B Pandora 1.2 new features
.br
Alert system. Now it is possible to define a "minimun" and "maximum" limit to fire an alert, just to delete
"noisy" data that fires false positives.
Network Subsystem. Now it is possible to monitor and analyze data using remote network tools, without
using agents, from the new Pandora Network Server component. All management are made from
Pandora Console, and now you will be able to make ICMP checks (Ping), size network latency, get all
types of SNMP values (including scanning MIB), and makes TCP/UDP connections to check ports, and
test text applications, sending texts and waiting for a specific response.
Module groups.Modules now could be grouped using a new "module groups".
Network data refresh on demand. Could be for each module or using a "global group refresh", forcing
Pandora Network Servers to refresh all network modules inside a group.
Online contextual help, for Pandora WEB Console.
New Pandora server infraestructure.
New SNMP trap console to receive SNMP traps and assigning alerts.
Internal messaging system, to notify events to Pandora users.
Agent detail view autorefresh
New main agent group view
Improved database management system, that allows to manage much more data.
Pandora is a project initiated and mainly developed by Sancho Lerena, at present other people is working
on it: Raul Mateos, David Villanueva, Esteban Sanchez, Jose Navarro, Jonathan Barajas and Manuel Arostegui We want to
thank many other people who help us with translation, graphic design, bugs reporting and interesting
ideas.
.br
Pandora is Free Software, and is published under GPL Licence. In order to know the last features, go to
the official web site of the project in http://pandora.sourceforge.net.
.SH AUTHOR
Pandora Free Monitoring System is made and copyrighted by Sancho Lerena <sancho.lerena@artica.es>
Pandora is a project initiated and mainly developed by Sancho Lerena, at present other people is working
on it: Raul Mateos, David Villanueva, Esteban Sanchez, Jose Navarro, Jonathan Barajas and Manuel Arostegui We want to
thank many other people who help us with translation, graphic design, bugs reporting and interesting
ideas.
.br
.SH SEE ALSO
.B pandora
.br
.B pandora_server
.br
.B pandora_agents
.br
.B pandora_console