IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

Zenoss (o millor dit Zenoss Core) és una aplicació Open Source de gestió/monitorizació d'aplicacions, servidors i xarxa basada en Zope. Té una llicència GNU General Public License (GPL) versió 2.

Zenoss Core proporciona una interfície web que permet als administradors monitoritzar la disponibilitat de dispositius, inventariar-los/configurar-los, gestionar el rendiments i els esdeveniments.

Zenoss, Inc. és la companyia que patrocina Zenoss Core (la versió community) però també ven una versió enterprise basada en la versió core.

Requeriments

Zennoss combina l'ús de codi propi amb l'ús de projectes Open source per tal d'integrar la monitorizació en una interfície web.


Utilitza les següents tecnologies Open Source

  • Zope Application server: Un servidor web orientat a objectes desenvolupat en Python.
  • Python: Un llenguatge de programació extensible.
  • Net-SNMP
  • RRDtool
  • MySQL:
  • Twisted: TODO An event-driven networking engine written in Python.

Característiques

  • Monitoritzar la disponibilitat de dispositius de xarxa utilitzant SNMP, SSH i WMI
  • Monitorització de serveis de xarxa: HTTP, POP3, NNTP, SNMP, FTP...
  • Monitorizació de recursos de màquines (( procesador. ús del disc, etc.) de la majoria de sistemes operatius en xarxa.
  • Eines de gestió d'esdeveniments per tal d'anotar les alertes del sistema
  • Descobirment automatitzat de recursos de xarxa i de canvis en la configuració de la xarda.
  • El sistema d'aletes proveïx de notificacions basades en conjunts de normes i on-call calendars
  • Suporta un plugín de Nagios
  • TODO
  • Time-series performance monitoring of devices
  • Extended Microsoft Windows monitoring via Windows Management Instrumentation using SAMBA and Zenoss open source extensions

A tenir en compte

Zenoss té dos versions:

  • Zenoss Core: és la versió community, és Open Source i gratuita
  • Zenoss Enterprise: versió amb millores de Zenoss Core que és de pagament.

La pàgina de descàrregues la trobareu a:

http://community.zenoss.org/docs/DOC-3240?noregister

Arquitectura

ZenossArcuitecture.png
  • User Layer: Es gestiona amb una aplicació web Zope. Zenoss no és arquitectura LAMP i es basa en Zope com a servidor d'aplicacions web i Python com a llenguatge de programació. Utilitza múltiples llibreries JavaScript com Mochi Kit, YUI o extJS per tal de crear una aplicació web rica. Aquesta capa interactua amb la capa de dades i tradueix la informació de la capa de dades per tal de mostrar-la a l'usuari per la interfície gràfica.
  • Data Layer: Les dades a Zenoss es guarden a tres bases de dades diferents:
  • ZenRRD: S'utilitza l'eina RRDtool per emmagatzemar series de dades.
  • ZenModel: És el nucli principal de configuració de la capa de model. Guarda informació sobre els dispositius, els seus components, els grups de dispositiusm les localitzacions, etc. Les dades es guarden al ZEO back-end object database.
  • ZenEvents: emmagatzema els esdeveniments a una base de dades MySQL.
  • Process Layer: Gestiona les comunicacions entre la capa de dades i la capa collection. També executa processos en segon de forma periòdica i també processos iniciats per l'usuari (ZenActions i ZenJobs). Aquesta capa utilitza Twisted PB (un sistema RPC bidireccional)
  • Collection Layer: Són serveis que recullen informació i alimentes les capes de de la capa de dades. Aquest servei és proveït per múltiples dimonis.

El modeling system utilitza SNMP, SSH i WMI (sistemes Windows) per tal de recollir informació sobre màquines remotes.

La informació en cru es guarda a uns plugins (plugin system) anomenats modeling plugins.

Monitoring daemons track the availability and performance of the IT infrastructure. Using multiple protocols, they store performance information locally in RRD files, thus allowing the collectors to be spread out among many collector machines. Status and availability information, such as ping failures and threshold breaches, are returned through ZenHub to the event system.

Llista de dimonis disponible a:

 Advanced > Daemons

Instal·lació

Documentació oficial: http://heanet.dl.sourceforge.net/project/zenoss/Documentation/zenoss-3.0.x-docs/zendocs-3.0.3/Zenoss_Core_Installation_04-102010-3.0-v05.pdf

Hi ha múltiples formes d'instal·lar Zenoss en un Linux,teniu les següents possibilitats:

  • Stack Installers: Son executables que estan disponibles per a diverses distribucions (http://community.zenoss.org/docs/DOC-3240?noregister). Els executables mostren un assistent d'instal·lació
  • Virtual Appliances: Màquines virtuals de VMWare, llestes per a ser utilitzades
  • Native Packages: Només disponibles per a Centos/Red Hat.
  • Native Stacks (Debian/Ubuntu): Són paquets per a Ubuntu/Debian. CAl tenir en compte però que no segueixen l'estàndard FHS i que a més no tenen dependències i contenen tot el necessari per funcionar (per exemple Python, MySQL, etc.)

NOTA: Cal tenir en compte que tot i que s'instal·li Zenoss com a paquet és una aplicació que no segueix l'estàndard FHS i que acabarà estan instal·lada a la carpeta /usr/local/zenoss

IMPORTANT: Les versions com la stack són versions tot en un, és a dir, no es reutilitzen les aplicacions del sistema. A mode de exemple, dins de la carpeta /usr/local/zenoss trobareu els binaris de Python, el servidors de base de dades Mysql, etc...

Molt possiblement Zenoss és una eina candidata de ser instal·lada en una màquina virtual...

Ubuntu

Zenoss no està disponible als repositoris oficials. Per a instal·lar-lo cal anar a les descàrregues de Zenoss:

http://community.zenoss.org/community/download

No cal que us registreu si no voleu. Feu clic a:

Skip registration, go straight to download >>

Us sortirà una pàgina on podreu escollir la distribució Linux. Escolliu la versió d'Ubuntu i 32 o 64 bits segons el que tingueu. En el meu cas 64 bits. Anem a instal·lar el paquet stack per a Debian/Ubuntu (http://downloads.sourceforge.net/zenoss/zenoss-stack_3.2.1_x64.deb). El millor que podeu fer és no instal·lar-lo manualment i configurar els repositoris de Zenoss:

$ sudo joe /etc/apt/sources.list

I afegiu la línia:

deb http://dev.zenoss.org/deb main stable

Ara feu un update:

$ sudo apt-get update

I ja podem instal·lar zenoss amb:

$ sudo apt-get install zenoss-stack

NOTA: Durant la instal·lació s'hem va quedar aturat. Vaig abortar tancant la finestra, vaig tornara instal·lar i tot correcte...

Assistent web inicial de configuració

TODO: Captures de pantalla

Configuració

Configuració del servidor de correu electrònic

Advanced > Settings

Configuració de l'API de Google Maps

Advanced > Settings

NOTA: Cal tenir el Zenoss en un domini real

Usuaris

Els usuaris i els grups es poden gestionar a:

Advanced > Users

Rols:

  • Manager
  • ZenManager
  • ZenUser

Zenoss collectors

Zenoss permet crear un sistema distribuït de monitorització creant Zenoss collectors. Els collectors es poden definir a:

Advanced > Collectors

TODO

Gestió de les bases de dades MIBs

Aquest apartat permet gestionar les MIBs de Zenoss. Per exemple es pot utilitzar per afegir els MIBs de Mikrotik o els MIBs de Ubiquiti.

Consulteu també MIB i OID, Mikrotik i Ubiquiti.

Còpies de seguretat

A:

Advanced > backups

Podeu gestionar les còpies de seguretat del zenoss.

Tunning

TODO:

After installing Zenoss, you can optimize its performance by: • Packing the ZEO database • Tuning MySQL • Tuning Zope Note Performance tuning procedures assume an RPM installation. If you are using an alternate installation method, details (such as path information) likely will differ. 9.1. Packing the ZEO Database The ZEO database keeps records of all transactions performed. As these records accumulate, the database file grows over time. To keep the database running efficiently, Zenoss recommends that you regularly remove old transactions. As the zenoss user, use cron to run the following job:

  1. Pack database every Monday morning at 2am

0 2 * * 1 bash -lc "$ZENHOME/bin/zeopack.py -h localhost -p 8100 >> /tmp/logfile.log 2>&1" 9.2. Tuning MySQL Zenoss performance is directly impacted by the performance of the MySQL database that supports the event sys- tem. The default MySQL configuration (located in /etc/my.cnf for a standard MySQL installation) is a "starter" con- figuration, and is not intended for Zenoss production use. Optimal tuning of the MySQL instance should be done by a DBA familiar with MySQL; however, the following minimal configuration settings can be used in most circumstances to yield acceptable performance. 1. Edit the my.cnf file. 2. Add innodb_buffer_pool_size and innodb_additional_mem_pool_size lines to the file, as follows: [mysqld] user=mysql old_passwords=1 innodb_buffer_pool_size = Value innodb_additional_mem_pool_size = 32M 3. Set the value of innodb_buffer_pool_size according to the following guidelines: Deployment Size Value of innodb_buffer_pool_size 1 to 250 devices 512M 250 to 500 devices 768M 500 to 1000 devices 1024M 1000 to 2000 devices 2048M Table 9.1. Buffer Pool Size 28 Performance Tuning Note These are the minimum suggested settings for this value. MySQL (and Zenoss) performance will benefit from larger buffer pools if you have sufficient system memory. However, do not make the pool so large that swapping occurs. 4. Restart MySQL as the root user: mysqld restart 9.3. Tuning Zope The Zope application server runs the Zenoss user interface. Zope performance is tied closely to the performance settings in the $ZENHOME/etc/zope.conf file. Zenoss recommends that you set several values in your zope.conf file to match your deployment. The value of cache-size (as specified in zodb_db main) should exceed the number of objects in the global catalog. The following steps will help you determine this value. You should check this value periodically and adjust it as necessary. 1. Edit the zope.conf file. 2. Add these lines to the file: Figure 9.1. zope.cnf File 3. Calculate and set <zodb_db main> cache-size value: a. In zendmd, execute the following command: len(zport.global_catalog) b. Round up the returned value to the next highest multiple over the catalog size. For example, round up a catalog value of 149,000 to 200,000. If this number exceeds 1 million, contact Zenoss Professional Services. c. Enter the rounded-up value for cache-size (in <zodb_db main>). 4. Calculate and set the python-check-interval setting: a. As the zenoss user, run the following script: import math; from test import pystone; int(math.ceil(sum(s[1] for s \ in (pystone.pystones() for i in range(3)))/150.0)) b. Enter the returned value for python-check-interval. 5. Calculate and set the <zeoclient> cache-size setting: a. Pack the database. (See the section titled "Packing the ZEO Database.") b. Set the value of cache-size to roughly two times the size of the $ZENHOME/var/Data.fs file. 6. Set the value of zserver-threads according to the following guidelines: 29 Performance Tuning Number of Concurrent Users Value of zserver-threads 1 to 50 users 4 50+ users 10 Table 9.2. zserver-threads Values 7. Set the value of pool-size according to the following guidelines: Number of Concurrent Users Value of pool-size 1 to 50 users Remove the pool-size line. 50+ users 50 Table 9.3. pool-size Values 8. Restart Zenoss to acknowledge the new settings.

Plugins i extres

Ubiquiti

Mikrotik

Troubleshooting. Resol·lució de problemes

Com saber la versió de Zenoss que estem utilitzant?

Aneu a:

Advanced > Versions

Aquí podeu veure la versió de Zenoss i de les eines de les que depèn. Enrecordeu-vos que si heu instal·lat una versió stack, les eines que veieu no són les que teniu al vostre sistema si no les que té integrades Zenoss. Un exemple:

Zenoss 	Zenoss 3.2.1
OS 	Linux (x86_64) 3.0.0 (Linux sergiBSF 3.0.0-14-generic #23-Ubuntu SMP Mon Nov 21 20:28:43 UTC 2011 x86_64)
Zope 	Zope 2.12.1
Python 	Python 2.6.2
Database 	MySQL 5.0.45 (Ver 5.0.45)
RRD 	RRDtool 1.3.9
Twisted 	Twisted 8.1.0
NetSnmp 	NetSnmp 5.4.1
PyNetSnmp 	PyNetSnmp 0.29.13
WMI 	Wmi 1.3.13

Vegeu també

Enllaços externs