2006-09-28 Sancho Lerena <slerena@artica.es>
* en/images/access_graph_*.jpg: Added. * en/images/access_graph_*.jpg: Added. * en/images/Pandora_*_Diagram.png: Added * en/pandora_advanced.xml: Added to repository. Talks about advanced issues with pandora. * en/pandora_userguide.xml: Fixed bad path for Pandora Logo shown in cover page. * en/pandora_introduction.xml: New section (new feautes), and added some text and corrections. * en/pandora.xml: Added advanced section as included file. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@191 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
After Width: | Height: | Size: 58 KiB |
After Width: | Height: | Size: 53 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 9.9 KiB |
After Width: | Height: | Size: 8.6 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 7.7 KiB |
After Width: | Height: | Size: 31 KiB |
After Width: | Height: | Size: 21 KiB |
|
@ -5,6 +5,7 @@
|
|||
<!ENTITY pandora "<emphasis>Pandora</emphasis>">
|
||||
<!ENTITY include_pandora_introduction SYSTEM "pandora_introduction.xml">
|
||||
<!ENTITY include_pandora_install SYSTEM "pandora_install.xml">
|
||||
<!ENTITY include_pandora_advanced SYSTEM "pandora_advanced.xml">
|
||||
<!ENTITY include_fdl SYSTEM "fdl.xml">
|
||||
<!ENTITY include_gpl SYSTEM "gpl.xml">
|
||||
]>
|
||||
|
@ -55,6 +56,7 @@
|
|||
|
||||
&include_pandora_introduction;
|
||||
&include_pandora_install;
|
||||
&include_pandora_advanced;
|
||||
&include_fdl;
|
||||
&include_gpl;
|
||||
|
||||
|
|
|
@ -0,0 +1,168 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<chapter>
|
||||
<title>Pandora. Advanced section</title>
|
||||
<sect1><title>Pandora High availabilty features</title>
|
||||
<para>
|
||||
You may setup Pandora for use HA in several scenarios:
|
||||
<itemizedlist mark='bullet'>
|
||||
<listitem>
|
||||
<para>
|
||||
<emphasis>Database Clustering for HA</emphasis>. You need to
|
||||
setup a MySQL5 Cluster. In support forums / wiki are
|
||||
information to make this, you only need to convert DB schama
|
||||
in a MySQL Cluster compatible tables. This scenario has been
|
||||
tested and works fine, but you need some advanced knowledgue
|
||||
for MySQL Clustering administration.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<emphasis>Multiple Pandora Console</emphasis>. It's easy,
|
||||
you only need to setup another one. No locking problems or
|
||||
incompatibility has been detected in several Pandora
|
||||
deployments.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<emphasis>Multiple Pandora Data Servers for HA
|
||||
</emphasis>. This is the more complex scenario, because you
|
||||
dont need to know nothing special about Pandora Server
|
||||
setup, and you need to use of another tool to implement
|
||||
Network HA, like VRRP or Keepalive. For Pandora Data server
|
||||
you need to setup two identical machines, with the same
|
||||
public keys for all agents connecting to server (and
|
||||
duplicate server SSH host key). And setup Network HA to
|
||||
point one of them. If one fails, VRRP or Keepalive "promote"
|
||||
the other server up, and Pandora Agents, will connect it for
|
||||
the next data packets. There is no need to change anything
|
||||
in each of Pandora Data server, only need to be sure that
|
||||
Pandora Server name is the same on both machines (in pandora
|
||||
server setup, not in the system hostname).
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<emphasis>Multiple Pandora Network Servers for HA
|
||||
</emphasis>. This is more easy. You need to setup multiple
|
||||
network servers in several machines across your network (or
|
||||
all of them in the same segment), and assign modules to the
|
||||
same server. If this servers fails, and there ara other
|
||||
Network Servers active, marked as "primary" server,
|
||||
automatically, the first network server available marked as
|
||||
"Primary" launch the network module query. If you have many
|
||||
servers marked as "primary", any of them could launch query.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<emphasis>Multiple Pandora Network Servers for load
|
||||
balancing. </emphasis>. You need to setup multiple network
|
||||
servers in several machines across your network (or all of
|
||||
them in the same segment), and assign agent/modules to
|
||||
different servers, balancing yourself load between all
|
||||
servers available.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
</sect1>
|
||||
<sect1><title>Pandora virtual servers</title>
|
||||
<para>
|
||||
An special case for implement more processing power in servers
|
||||
could be to implement "virtual" servers. Using virtual servers
|
||||
(another instance of the same server in the same machine) is used
|
||||
when Pandora Server cannot process all information without delay
|
||||
too much. Pandora 1.2 it's using a limited number of threads to
|
||||
process information (this will change in future versions), so you
|
||||
can install another instance of Pandora Network or Pandora Data
|
||||
server (with another data_in directory!), to be able to process
|
||||
more information with the same machine.
|
||||
</para>
|
||||
</sect1>
|
||||
|
||||
<sect1><title>Pandora Database design (and redesign from 1.1)</title>
|
||||
<para>
|
||||
First Pandora versions, from 0.83 until 1.1 was based on a simple
|
||||
idea: ona data, one database insertion. This was very easy to
|
||||
develop and allow to program easily searches, insertions and other
|
||||
operations.
|
||||
</para>
|
||||
<para>
|
||||
This had many advantages and a great problem: the
|
||||
scalability. This system has a limit defined in maximum number of
|
||||
modules that could support in a "easy" way, from that number of
|
||||
modules the management was too slow.
|
||||
</para>
|
||||
<para>
|
||||
Solutions based on MySQL cluster was difficult and comes with some
|
||||
problems and they did not offer either a solution in the long
|
||||
term.
|
||||
</para>
|
||||
<para>
|
||||
Data compression based on interpolation and data purge, makes a
|
||||
smaller database, but this was not enought. Production systems has
|
||||
a limit based on 100 agents, with about ten modules each one. This
|
||||
was not a high limit for huge enviroments.
|
||||
</para>
|
||||
<para>
|
||||
This problem was very important for Pandora future, so we are
|
||||
changed the way Pandora store its pada. New data management system
|
||||
store only "new" data. If a duplicate value enter the system, it
|
||||
doesnt be stored in database. It's very useful to keep database
|
||||
small. This works for all pandora data modules: numerical,
|
||||
incremental, boolean and string.
|
||||
</para>
|
||||
<para>
|
||||
This solves part of scalability problem reducing considerably
|
||||
database usage, in about 40%-70%. We also have another solution
|
||||
for scalability problems: total segregation of components in
|
||||
Pandora and a built-in method to implement High Availability
|
||||
solutions on Pandora components. You may have many Pandora
|
||||
servers (network, data or SNMP), Pandora Consoles, and Pandora
|
||||
Database (in a MySQL5 Cluster setup).
|
||||
</para>
|
||||
<para>
|
||||
Changes come with some different ways to reading data. With new
|
||||
version, if an agent cannot communicate with Pandora, and Pandora
|
||||
Server doesnt receive data from agent, this "no data" cannot have
|
||||
a graphical representation, for module graph there will be no
|
||||
changes. You will have a graph with a perfect horizontal
|
||||
line. Pandora, if doesnt receive new values, thinks that is no new
|
||||
values, and everything seems to be equal that in the last
|
||||
notification.
|
||||
</para>
|
||||
<para>
|
||||
This graph, for example, show changes for each data, received each
|
||||
180 seconds.
|
||||
|
||||
<graphic fileref="images/module_graph_full.jpg" scale="60" align="center"/>
|
||||
|
||||
This would be the equivalent graph for the same data, excepting a
|
||||
conexión failure, from 05:55 to 15:29 aproximately.
|
||||
|
||||
<graphic fileref="images/module_graph_peak.jpg" scale="60" align="center"/>
|
||||
</para>
|
||||
<para>
|
||||
In Pandora 1.2 we introduce a new general agent graph for show
|
||||
connectivity. It reflects access from modules to this agent. This
|
||||
graph complements all other graphs showing when agent has activity
|
||||
and it's receiving data. This is an example of an agent connecting
|
||||
regulary to server:
|
||||
<graphic fileref="images/access_graph_full.jpg" scale="65" align="center"/>
|
||||
If you have low leaks in this graph, you could have experiencing
|
||||
some problems or slow connections in Pandora Agent connectivity
|
||||
with Pandora Server. This graph with previous example could have
|
||||
an aspect similar to this:
|
||||
<graphic fileref="images/access_graph_peak.jpg" scale="65" align="center"/>
|
||||
</para>
|
||||
</sect1>
|
||||
<sect1><title>Programmers guide to Pandora architecture</title>
|
||||
<para>
|
||||
<graphic fileref="images/Pandora_NetworkServer_Diagram.png" scale="65" align="center"/>
|
||||
<graphic fileref="images/Pandora_DataServer_Diagram.png" scale="65" align="center"/>
|
||||
<graphic fileref="images/Pandora_SNMP_Diagram.png" scale="55" align="center"/>
|
||||
|
||||
</para>
|
||||
</sect1>
|
||||
</chapter>
|
|
@ -150,7 +150,7 @@
|
|||
<listitem>
|
||||
<para>
|
||||
- <emphasis>Normal mode:</emphasis> The modules in this mode
|
||||
must be configured manually. The self definition of the
|
||||
must be configured manually. The self definition of the
|
||||
modules is not allowed in this mode.
|
||||
</para>
|
||||
</listitem>
|
||||
|
@ -842,4 +842,4 @@
|
|||
<para></para>
|
||||
</sect2>
|
||||
</sect1>
|
||||
</chapter>
|
||||
</chapter>
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
</para>
|
||||
</sect1>
|
||||
<sect1>
|
||||
<title>Pandora detailed introduction.</title>
|
||||
<title>Introducing Pandora.</title>
|
||||
<para>
|
||||
&pandora; is a monitoring tool that allows a system
|
||||
administrator to visually analise the status and efficiency of
|
||||
|
@ -300,10 +300,48 @@
|
|||
</sect2>
|
||||
<sect2><title>Pandora servers</title>
|
||||
<para>
|
||||
Pandora Server is a Perl script 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.
|
||||
With Pandora 1.2 version, you have three different types of servers:
|
||||
<itemizedlist mark='bullet'>
|
||||
<listitem>
|
||||
<para>
|
||||
<emphasis>Pandora Data Server</emphasis>. 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).
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<emphasis>Pandora Network Server</emphasis>. 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.
|
||||
</para>
|
||||
<para>
|
||||
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 always report DOWN.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<emphasis>Pandora SNMP Server</emphasis>. This is a PERL
|
||||
application that parse output from standard snmptradp (we
|
||||
provide one binary for snmptrapd, but its possible 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.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
<para>
|
||||
Data are extracted from the data file, identifying origin, type
|
||||
|
@ -397,14 +435,66 @@
|
|||
</sect3>
|
||||
</sect2>
|
||||
</sect1>
|
||||
<sect1>
|
||||
<title>Pandora 1.2 new features</title>
|
||||
<para>
|
||||
<emphasis>Alert system</emphasis>. Now its possible to define a
|
||||
"minimun" and "maximum" limit to fire an alert, just to delete
|
||||
"noisy" data that fires false positives.
|
||||
</para>
|
||||
<para>
|
||||
<emphasis>Network Subsystem</emphasis>. Now its 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.
|
||||
</para>
|
||||
<para>
|
||||
<emphasis>Module groups.</emphasis>Modules now could be grouped
|
||||
using a new "module groups".
|
||||
</para>
|
||||
<para>
|
||||
<emphasis>Network data refresh on demand.</emphasis> Could
|
||||
be for each module or using a "global group refresh", forcing
|
||||
Pandora Network Servers to refresh all network modules inside a
|
||||
group.
|
||||
</para>
|
||||
<para>
|
||||
<emphasis>Online contextual help</emphasis>, for Pandora WEB Console.
|
||||
</para>
|
||||
<para>
|
||||
<emphasis>New Pandora server infraestructure.</emphasis>
|
||||
</para>
|
||||
<para>
|
||||
<emphasis>New SNMP trap console</emphasis> to receive SNMP traps
|
||||
and assigning alerts.
|
||||
</para>
|
||||
<para>
|
||||
<emphasis>Internal messaging system</emphasis>, to notify events
|
||||
to Pandora users.
|
||||
</para>
|
||||
<para>
|
||||
<emphasis>Agent detail view autorefresh</emphasis>
|
||||
</para>
|
||||
<para>
|
||||
<emphasis>New main agent group view</emphasis>
|
||||
</para>
|
||||
<para>
|
||||
<emphasis>Improved database management system</emphasis>, that
|
||||
allows to manage much more data.
|
||||
</para>
|
||||
</sect1>
|
||||
|
||||
<sect1>
|
||||
<title>About Pandora
|
||||
</title>
|
||||
<para>
|
||||
Pandora is a project initiated and mainly developed by Sancho
|
||||
Lerena, at present other people is working on it: Raúl Mateos,
|
||||
David Villanueva, Esteban Sánchez, Jose Navarro and Jonathan
|
||||
Lerena, at present other people is working on it: Raul Mateos,
|
||||
David Villanueva, Esteban Sanchez, Jose Navarro and Jonathan
|
||||
Barajas. We want to give thanks for many other people who help us
|
||||
with translation, graphic design, bugs reporting and interesting
|
||||
ideas.
|
||||
|
|
|
@ -19,11 +19,11 @@
|
|||
<book lang="en">
|
||||
<bookinfo>
|
||||
<title>&pandora; &pandora_version;</title>
|
||||
<graphic fileref="./img/pandora_logo.jpg" valign="bottom" align="center"/>
|
||||
<graphic fileref="./images/pandora_logo.jpg" valign="bottom" align="center"/>
|
||||
<copyright>
|
||||
<year>2006</year>
|
||||
<holder>
|
||||
Ártica Soluciones Tecnológicas S.L, Sancho Lerena, Esteban Sánchez y otros.
|
||||
Artica Soluciones Tecnologicas S.L, Sancho Lerena, Esteban Sanchez y otros.
|
||||
</holder>
|
||||
</copyright>
|
||||
<date>11/09/2006</date>
|
||||
|
@ -70,4 +70,4 @@
|
|||
&include_fdl;
|
||||
&include_gpl;
|
||||
|
||||
</book>
|
||||
</book>
|
||||
|
|