Вы находитесь на странице: 1из 1015

PandoraFMS4.1ManualdeUsuario OpenOffice/PDFVersion 1Edicin(Espaa),2julio2013. Aportacionesdediferentesautores.Msinformacionenlapginawebhttp://pandorafms.

com

ndice
1 Introduccin .............................................................................................................................. 28 1.1. Qu es exactamente Pandora FMS? ....................................................................................29 1.2. Acerca de la documentacin .................................................................................................29 1.3. La evolucin del proyecto Pandora FMS ............................................................................. 30 1.4. Un vistazo a las funcionalidades de Pandora FMS ...............................................................31 2 Introduccin a la monitorizacin .............................................................................................. 32 2.1. Tipos de monitorizacin ....................................................................................................... 33 2.2. Monitorizacin remota ..........................................................................................................33 2.3. Monitorizacin local (con agentes) .......................................................................................35 2.4. Procedimientos en la monitorizacin ....................................................................................36 2.5. Procedimientos de actuacin ................................................................................................ 37 2.6. Modelos de supervisin ........................................................................................................ 38 2.7. Y ahora qu ? ..................................................................................................................... 39 3 Arquitectura de Pandora FMS .................................................................................................. 40 3.1. Servidores de Pandora FMS ................................................................................................. 41 3.1.1. Servidor de datos............................................................................................................42 3.1.2. Servidor de red...............................................................................................................42 3.1.3. Servidor de SNMP (tambin conocida como Consola de Traps SNMP)...................... 43 3.1.4. Servidor de WMI........................................................................................................... 43 3.1.5. Servidor de reconocimiento........................................................................................... 43 3.1.6. Servidor de complementos (Plugins)............................................................................. 43 3.1.7. Servidor de prediccin................................................................................................... 44 3.1.8. Servidor de pruebas WEB (Goliat)................................................................................ 44 3.1.9. Servidor de exportacin................................................................................................. 44 3.1.10. Servidor de inventario..................................................................................................44 3.1.11. Servidor de red enterprise SNMP e ICMP...................................................................44 3.2. Consola web de Pandora FMS ..............................................................................................44 3.3. Base de datos de Pandora FMS .............................................................................................45 3.4. Agentes Software de Pandora FMS ......................................................................................46 3.4.1. Agente ........................................................................................................................... 46 3.4.2. Agente Software ............................................................................................................46 3.4.3. Fichero de datos XML .................................................................................................. 48 3.4.4. Agente fsico ................................................................................................................. 50 3.5. Topologas, esquemas y modelos de monitorizacin ........................................................... 50 3.5.1. Redes accesibles ............................................................................................................50 3.5.2. Redes con dificultad de acceso ..................................................................................... 50 3.5.3. Caractersticas especiales organizativas ........................................................................52 3.5.4. Grandes entornos ...........................................................................................................52 4 Glosario de trminos de Pandora FMS ..................................................................................... 54 4.1. Agente ...................................................................................................................................55 4.2. Agente software .................................................................................................................... 55 4.3. Mdulo ..................................................................................................................................55 4.4. Servidor remoto .................................................................................................................... 55 4.5. Servidor .................................................................................................................................55 4.6. Consola ................................................................................................................................. 56 4.7. Grupo .................................................................................................................................... 56
3

4.8. Perfil ......................................................................................................................................56 4.9. ACL ...................................................................................................................................... 56 4.10. Monitor ............................................................................................................................... 56 4.11. Ficheros de datos / XML de datos ...................................................................................... 56 4.12. Alerta .................................................................................................................................. 57 4.13. Plantilla de alerta ................................................................................................................ 57 4.14. Accin .................................................................................................................................57 4.15. Comando .............................................................................................................................57 4.16. Shell o lnea de comando ....................................................................................................57 4.17. Paquete ................................................................................................................................57 4.18. Tarball .................................................................................................................................57 4.19. SVN / Subversion / Repositorio de cdigo .........................................................................58 4.20. Base de datos ...................................................................................................................... 58 4.21. Esquema de base de datos ...................................................................................................58 4.22. Tentacle ...............................................................................................................................58 4.23. Estado ..................................................................................................................................58 4.24. Estado CRITICAL, WARNING .........................................................................................58 4.25. Estado desconocido .............................................................................................................59 4.26. Umbral de alerta (Alert threshold) ......................................................................................59 4.27. Falso positivo/negativo .......................................................................................................59 4.28. Proteccin Flip/Flop ........................................................................................................... 59 4.29. Monitorizacin sncrona ..................................................................................................... 59 4.30. Monitorizacin asncrona ................................................................................................... 59 5 Instalacin de Pandora FMS ...................................................................................................... 60 5.1. Requisitos mnimos hardware................................................................................................61 5.1.1. Requisitos para la consola y el servidor ........................................................................61 5.2. Requisitos minimos de software ...........................................................................................61 5.2.1. Requisitos de Base de datos ..........................................................................................62 5.2.2. Requisitos para el agente ...............................................................................................62 5.2.3. Requisitos para el servidor ............................................................................................63 5.2.4. Requisitos para la consola .............................................................................................63 5.2.5. Requisitos para administrar la herramienta via WEB ...................................................64 5.2.6. Dependencias de paquetes ............................................................................................ 64 5.3. Cuestiones previas a la instalacin ....................................................................................... 64 5.3.1. MySQL ..........................................................................................................................64 5.3.2. Orden de instalacin de Pandora FMS ..........................................................................64 5.3.3. Instalacin de la versin Enterprise de Pandora FMS .................................................. 65 5.3.3.1. Requisitos especficos de la version Enterprise .................................................... 65 5.4. Instalacin en SUSE (OpenSUSE, SLES) ............................................................................65 5.4.1. Instalacin automtica con repo externo .......................................................................65 5.4.2. Instalacin manual por medio de RPM's .......................................................................66 5.4.2.1. Configuracin de repositorios de Software ...........................................................66 5.4.2.2. Instalacin previa de dependencias ....................................................................... 66 5.4.2.3. Instalacion del agente ............................................................................................ 68 5.4.2.4. Instalacion del servidor ......................................................................................... 68 5.4.2.5. Instalacin de la consola ........................................................................................68 5.4.2.6. Instalacion de la versin Enterprise .......................................................................68 5.4.3. Desinstalacion de Pandora FMS ................................................................................... 69 5.5. Instalacin en Red Hat Enterprise Linux / CentOS / Fedora ................................................69 5.5.1. Instalacin mediante el repositorio oficial de Pandora FMS ........................................ 69
4

5.5.2. Instalacin manual, mediante paquetes RPM ............................................................... 70 5.6. Instalacin en Debian/Ubuntu .............................................................................................. 71 5.6.1. Instalacin usando los repositorios privados de Artica .................................................72 5.6.2. Instalacin manual ........................................................................................................ 73 5.6.2.1. Instalacion previa de dependencias ....................................................................... 73 5.6.2.2. Instalacion de Pandora FMS con los paquetes .DEB ............................................ 74 5.6.3. Actualizacin de Pandora FMS .....................................................................................74 5.6.4. Desinstalacin de Pandora FMS ................................................................................... 74 5.7. Instalacin en FreeBSD......................................................................................................... 74 5.7.1. Perl con instalacin ithread ...........................................................................................74 5.7.2. Instalacin de dependencias previas.............................................................................. 75 5.7.3. Instalacin de la Consola............................................................................................... 75 5.7.4. Instalacin del Servidor................................................................................................. 76 5.7.5. Instalacin del agente.....................................................................................................77 5.8. Instalacin manual desde las fuentes en Linux/Unix.............................................................77 5.8.1. Instalacion previa de software necesario .......................................................................78 5.8.2. Descarga de las fuentes .................................................................................................78 5.8.3. Instalacin del agente ....................................................................................................78 5.8.3.1. Instalacin personalizada ...................................................................................... 79 5.8.4. Instalacin de la consola ............................................................................................... 79 5.8.4.1. Versin enterprise ..................................................................................................79 5.8.5. Instalacin del servidor ................................................................................................. 80 5.8.5.1. Versin enterprise ..................................................................................................80 5.8.5.2. Desinstalacin / Limpia manual del servidor ........................................................81 5.8.6. Instalacin manual (desde cdigo fuente) del servidor .................................................82 5.9. Instalacin del Agente de Windows ..................................................................................... 83 5.9.1. Instalacin desatendida del agente Windows ................................................................88 5.9.2. Desinstalacin desatendida ........................................................................................... 88 5.9.3. Instalacion manual del agente de Windows ..................................................................89 5.9.3.1. Utilizando PandoraAgent.exe desde la lnea de comandos ...................................89 5.9.3.2. Agente windows de PandoraFMS como proceso ..................................................90 5.9.4. Pandora FMS para Windows NT4 ................................................................................90 5.9.4.1. Instalacin del agente ............................................................................................ 90 5.9.4.2. Iniciar el funcionamiento del agente ..................................................................... 91 5.9.4.3. Instalacin como servicio ......................................................................................91 5.10. Agente embebido ................................................................................................................ 91 5.10.1. Instalacin bsica ........................................................................................................ 91 5.10.2. Nombres en la instalacin ...........................................................................................92 5.10.3. Funcionalidades del agente embebido ........................................................................ 92 6 Configuracion inicial despus de la instalacion ....................................................................... 93 6.1. Configuracion inicial de la Consola ......................................................................................94 6.1.1. Aplicacin de la licencia ...............................................................................................99 6.1.1.1. Licencia en versiones anteriores a la 4.0.2 ............................................................99 6.1.1.2. Licencia en versiones 4.0.2 y superiores .............................................................100 6.2. Configuracion inicial bsica del Servidor............................................................................102 6.3. Configuracion inicial bsica del Agente .............................................................................102 7 Actualizar desde una version anterior ..................................................................................... 103 7.1. Actualizar una versin menor .............................................................................................104 7.1.1.1. Instalando componentes de red y locales adicionales ......................................... 104 7.1.2. Desde paquetes RPM .................................................................................................. 105
5

7.1.3. Desde paquetes DEB ...................................................................................................106 7.1.3.1. Agente Unix de Pandora ......................................................................................106 7.1.4. Desde Tarball / Fuentes ...............................................................................................106 7.1.4.1. Consola WEB ......................................................................................................106 7.1.4.2. Servidor ............................................................................................................... 107 7.1.4.3. Agente ................................................................................................................. 108 7.2. Actualizar una versin mayor .............................................................................................108 7.2.1. Actualizacin de la base de datos (Versiones "mayores") ..........................................108 7.2.2. Esquema de la base de datos Enterprise DB ............................................................... 109 7.2.3. Actualizacin desde la versin 3.2.1 a la 4.0 .............................................................. 110 7.3. Problemas al actualizar desde una versin anterior (Libreras PERL) ............................... 110 7.4. Problemas al actualizar desde una versin anterior (Database) ..........................................111 8 Actualizaciones de seguridad / Parches .................................................................................. 112 8.1. Desde los paquetes de distribucin......................................................................................113 8.2. Desde tarball o SVN ........................................................................................................... 113 8.2.1. Ejemplo de una actualizacin manual de la Consola ..................................................113 8.2.2. Ejemplo de una actualizacin manual del Servidor .................................................... 114 9 Actualizaciones de la consola con Update Manager .............................................................. 115 9.1. Actualizaciones openSource ...............................................................................................116 9.1.1. Proceso a seguir para actualizar su consola ................................................................ 116 9.2. Actualizaciones Enterprise ................................................................................................. 118 9.2.1. Actualizaciones "offline" ............................................................................................ 119 9.3. Configuracin adicional del motor PHP para la operacin de Update Manager ................120 10 Interfaz de Pandora FMS ....................................................................................................... 121 10.1. Introduccin ......................................................................................................................122 10.2. Pantalla de inicio de sesin de Pandora FMS ...................................................................122 10.3. Pgina principal de Pandora FMS .................................................................................... 122 10.3.1. Pgina de inicio personalizada ..................................................................................123 10.3.2. El men Operacin ....................................................................................................124 10.3.3. El men Administracin ........................................................................................... 125 10.3.4. El men Enlaces ........................................................................................................126 10.3.5. La Cabecera ...............................................................................................................126 10.4. Iconos en la interfaz de Pandora FMS ..............................................................................129 10.4.1. Icono de ayuda en lnea .............................................................................................129 10.4.2. Icono de sugerencia o consejo .................................................................................. 130 10.4.3. Icono de gestin ........................................................................................................ 130 10.4.4. Icono de pantalla completa ....................................................................................... 130 10.4.5. Icono de varita mgica (Wizard) ...............................................................................130 10.4.6. Icono de edicin de la configuracin remota ............................................................ 131 10.4.7. Icono de actualizacin (forzada) ............................................................................... 131 10.4.8. Icono de refresco (tras accin de actualizacin forzada)........................................... 131 10.4.9. Textos alternativos en los iconos/imgenes al posar el ratn ................................... 132 10.5. Imgenes en Pandora FMS ............................................................................................... 132 10.6. Falta de datos para las listas de datos del agente .............................................................. 133 10.7. Estados y posibles valores de los agentes, mdulos y grupos .......................................... 133 10.8. Caja de agente de autocompletado ....................................................................................135 11 Configuracin de Pandora FMS ........................................................................................... 136 11.1. Servidor .............................................................................................................................137 11.1.1. Elementos del fichero de configuracin ....................................................................137 11.1.1.1. servername .........................................................................................................137
6

11.1.1.2. incomingdir ....................................................................................................... 137 11.1.1.3. log_file ...............................................................................................................137 11.1.1.4. snmp_logfile.......................................................................................................137 11.1.1.5. errorlog_file .......................................................................................................137 11.1.1.6. dbname .............................................................................................................. 138 11.1.1.7. dbengine ............................................................................................................ 138 11.1.1.8. dbuser ................................................................................................................ 138 11.1.1.9. dbpass................................................................................................................. 138 11.1.1.10. dbhost............................................................................................................... 138 11.1.1.11. dbport ...............................................................................................................138 11.1.1.12. daemon ............................................................................................................ 138 11.1.1.13. verbosity .......................................................................................................... 138 11.1.1.14. master............................................................................................................... 138 11.1.1.15. snmpconsole..................................................................................................... 138 11.1.1.16. networkserver................................................................................................... 138 11.1.1.17. dataserver..........................................................................................................139 11.1.1.18. reconserver ...................................................................................................... 139 11.1.1.19. pluginserver .....................................................................................................139 11.1.1.20. predictionserver ...............................................................................................139 11.1.1.21. wmiserver ........................................................................................................ 139 11.1.1.22. inventoryserver ................................................................................................139 11.1.1.23. exportserver .....................................................................................................139 11.1.1.24. webserver .........................................................................................................139 11.1.1.25. eventserver .......................................................................................................139 11.1.1.26. icmpserver ....................................................................................................... 139 11.1.1.27. snmpserver .......................................................................................................140 11.1.1.28. network_timeout...............................................................................................140 11.1.1.29. server_keepalive...............................................................................................140 11.1.1.30. server_threshold............................................................................................... 140 11.1.1.31. network_threads............................................................................................... 140 11.1.1.32. icmp_checks .................................................................................................... 140 11.1.1.33. tcp_checks ....................................................................................................... 141 11.1.1.34. tcp_timeout ......................................................................................................141 11.1.1.35. snmp_checks ................................................................................................... 141 11.1.1.36. snmp_timeout .................................................................................................. 141 11.1.1.37. snmp_proc_deadresponse ................................................................................141 11.1.1.38. plugin_threads ................................................................................................. 141 11.1.1.39. plugin_timeout .................................................................................................141 11.1.1.40. wmi_timeout ....................................................................................................141 11.1.1.41. wmi_threads..................................................................................................... 141 11.1.1.42. prediction_threads............................................................................................ 141 11.1.1.43. recon_threads....................................................................................................141 11.1.1.44. dataserver_threads............................................................................................142 11.1.1.45. inventory_threads............................................................................................. 142 11.1.1.46. export_threads.................................................................................................. 142 11.1.1.47. web_threads......................................................................................................142 11.1.1.48. mta_address......................................................................................................142 11.1.1.49. mta_port............................................................................................................142 11.1.1.50. mta_user........................................................................................................... 142 11.1.1.51. mta_pass........................................................................................................... 142
7

11.1.1.52. mta_auth........................................................................................................... 142 11.1.1.53. mta_from.......................................................................................................... 142 11.1.1.54. mail_in_separate ..............................................................................................142 11.1.1.55. xprobe2.............................................................................................................143 11.1.1.56. snmpget............................................................................................................ 143 11.1.1.57. nmap................................................................................................................. 143 11.1.1.58. plugin_exec...................................................................................................... 143 11.1.1.59. autocreate_group.............................................................................................. 143 11.1.1.60. autocreate..........................................................................................................143 11.1.1.61. max_log_size....................................................................................................143 11.1.1.62. max_queue_files...............................................................................................143 11.1.1.63. use_xml_timestamp..........................................................................................143 11.1.1.64. auto_restart....................................................................................................... 144 11.1.1.65. restart................................................................................................................144 11.1.1.66. self_monitoring................................................................................................ 144 11.1.1.67. update_parent................................................................................................... 144 11.1.1.68. restart_delay..................................................................................................... 144 11.1.1.69. icmp_threads.................................................................................................... 144 11.1.1.70. snmp_threads....................................................................................................144 11.1.1.71. block_size.........................................................................................................144 11.1.1.72. braa................................................................................................................... 145 11.1.1.73. braa_retries....................................................................................................... 145 11.1.1.74. event_window.................................................................................................. 145 11.1.1.75. wmi_client .......................................................................................................145 11.1.1.76. activate_gis ......................................................................................................145 11.1.1.77. location_error .................................................................................................. 145 11.1.1.78. recon_reverse_geolocation_mode ...................................................................145 11.1.1.79. recon_reverse_geolocation_file .......................................................................145 11.1.1.80. recon_location_scatter_radius .........................................................................145 11.1.1.81. google_maps_description ................................................................................145 11.1.1.82. openstreetmaps_description ............................................................................ 146 11.1.2. Configuracin de SNMPTRAPD ..............................................................................146 11.1.3. Configuracin de Tentacle ........................................................................................146 11.2. Consola WEB ................................................................................................................... 148 11.2.1. Fichero de configuracin config.php ........................................................................ 148 11.2.1.1. Redireccin hacia /pandora_console desde / .....................................................149 11.3. Agentes software de Pandora FMS ...................................................................................149 11.3.1. Qu es un agente ....................................................................................................... 149 11.3.1.1. Rol genrico de los Agentes Software .............................................................. 149 11.3.2. Introduccin a la configuracin del agente ............................................................... 150 11.3.3. Parmetros generales del agente ............................................................................... 150 11.3.3.1. server_ip............................................................................................................. 150 11.3.3.2. server_path......................................................................................................... 150 11.3.3.3. temporal..............................................................................................................151 11.3.3.4. description.......................................................................................................... 151 11.3.3.5. group...................................................................................................................151 11.3.3.6. temporal_min_size............................................................................................. 151 11.3.3.7. logfile..................................................................................................................151 11.3.3.8. interval................................................................................................................151 11.3.3.9. debug.................................................................................................................. 151
8

11.3.3.10. agent_name.......................................................................................................152 11.3.3.11. address..............................................................................................................152 11.3.3.12. encoding........................................................................................................... 152 11.3.3.13. server_port........................................................................................................152 11.3.3.14. transfer_mode...................................................................................................152 11.3.3.15. server_pwd....................................................................................................... 152 11.3.3.16. server_ssl..........................................................................................................152 11.3.3.17. server_opts........................................................................................................152 11.3.3.18. delayed_startup.................................................................................................153 11.3.3.19. pandora_nice.................................................................................................... 153 11.3.3.20. autotime............................................................................................................153 11.3.3.21. cron_mode........................................................................................................153 11.3.3.22. remote_config...................................................................................................153 11.3.3.23. xml_buffer........................................................................................................153 11.3.3.24. timezone_offset................................................................................................ 154 11.3.3.25. parent_agent_name...........................................................................................154 11.3.3.26. agent_threads....................................................................................................154 11.3.3.27. include <fichero>............................................................................................. 155 11.3.3.28. broker_agent <nombre>................................................................................... 155 11.3.3.29. pandora_user <usuario>................................................................................... 155 11.3.4. Servidor Secundario ..................................................................................................155 11.3.5. Servidor UDP ............................................................................................................155 11.3.6. Definicin de los mdulos ........................................................................................ 156 11.3.6.1. Elementos comunes de todos los mdulos ........................................................157 11.3.6.2. Directivas especficas para obtener informacin ...............................................162 11.3.7. Ejemplos ....................................................................................................................177 11.3.8. Configuracin especfica por tecnologas ................................................................. 178 11.3.8.1. Agentes Unix/Linux .......................................................................................... 178 11.3.8.2. Agentes Windows de Pandora FMS ..................................................................182 11.3.8.3. Auto-actualizacin de los agentes software ...................................................... 187 11.3.8.4. Procedimiento para auto-actualizar agentes de versiones anteriores a la version 3.2 ......................................................................................................................................188 11.3.9. Pandora FMS Drone Agents ..................................................................................... 189 11.3.9.1. Qu son los Agentes Drone ...............................................................................189 11.3.10. Autocreacin de agentes y modulos desde XML / Modo aprendizaje ....................192 11.3.10.1. Datos que se incorporan en la creacion del agente ..........................................193 11.3.10.2. Datos que se modifican del agente al recibir un XML (modo aprendizaje activado) ............................................................................................................................ 193 11.3.10.3. Datos que se incorporan en la creacion de un mdulo ....................................194 11.3.10.4. Datos que se incorporan en la actualizacin de un mdulo ya existente ........194 11.3.11. Informacin extendida del mdulo ......................................................................... 194 12 Introduccin a la monitorizacin ........................................................................................... 195 12.1. Monitorizacin con Pandora FMS ....................................................................................196 12.1.1. Monitorizacin basada en agentes software vs. monitorizacin remota ...................196 12.1.2. Agentes en Pandora FMS ..........................................................................................196 12.1.3. Monitorizacin de estados ........................................................................................ 197 12.1.4. Otros parmetros de Monitorizacin comunes ......................................................... 198 12.1.4.1. Histrico ............................................................................................................ 198 12.1.4.2. FF Threshold ..................................................................................................... 199 13 Monitorizacin con agentes software ................................................................................... 200
9

13.1. Configuracin de agentes ..................................................................................................201 13.1.1. Configuracin remota ............................................................................................... 201 13.2. Parmetros de configuracin comunes ............................................................................. 201 13.3. Custom fields..................................................................................................................... 202 13.4. Monitorizacin con agente software .................................................................................204 13.4.1. Tipos de mdulos ......................................................................................................206 13.4.2. Interfaz de creacin de mdulos ............................................................................... 207 13.4.3. Monitorizacin condicionada ....................................................................................209 13.4.3.1. Postcondiciones .................................................................................................209 13.4.3.2. Precondiciones ...................................................................................................210 13.4.4. Monitorizacin programada ......................................................................................211 13.4.5. Monitorizacin especfica para Windows .................................................................212 13.4.5.1. Monitorizacin de procesos y watchdog de procesos ....................................... 212 13.4.5.2. Monitorizacin de servicios y watchdog de servicios .......................................213 13.4.5.3. Monitorizacin de recursos bsicos .................................................................. 214 13.4.5.4. Consultas WMI ..................................................................................................215 13.4.6. Chequeos remotos con el agente software ................................................................ 215 13.4.6.1. Chequeos ICMP ................................................................................................ 216 13.4.6.2. Chequeos TCP ...................................................................................................216 13.4.6.3. Chequeos SNMP ............................................................................................... 217 13.4.7. Modo Proxy ...............................................................................................................218 13.4.8. Modo Broker .............................................................................................................219 13.4.8.1. Ejemplos de uso .................................................................................................220 13.4.9. Inventario con agente software ................................................................................. 225 13.4.10. Cmo solicitar informacin al agente bajo demanda ..............................................225 13.4.11. Usar plugins en agentes software ............................................................................228 13.4.11.1. En sistemas Windows ......................................................................................228 13.4.11.2. En sistemas Unix .............................................................................................229 13.4.11.3. Ejemplos de uso de plugins .............................................................................229 13.4.12. Cmo crear plugins de agente propios ....................................................................230 13.4.13. Utilizando plugins de Nagios desde el agente ........................................................ 231 13.4.13.1. Ejemplo ........................................................................................................... 231 13.4.14. Monitorizacin con KeepAlive ...............................................................................232 13.4.15. Monitorizacin de capturas de comandos (Command snapshots) .......................... 234 14 Monitorizacin remota ......................................................................................................... 236 14.1. Introduccin.......................................................................................................................237 14.2. Mdulos remotos de red ................................................................................................... 237 14.3. Configuracin genrica de un mdulo para monitorizacin de red ..................................238 14.4. Monitorizacin ICMP .......................................................................................................240 14.5. Monitorizacin TCP ......................................................................................................... 240 14.6. Monitorizacin SNMP ......................................................................................................242 14.6.1. Introduccin a la monitorizacin SNMP .................................................................. 242 14.6.2. Monitorizando SNMP desde los agentes .................................................................. 243 14.6.3. Monitorizando con mdulos de red tipo SNMP ....................................................... 244 14.6.4. Navegador MIB SNMP de Pandora FMS .................................................................247 14.6.4.1. Gestor de MIBS .................................................................................................248 14.6.4.2. Uso del explorador SNMP en el gestor de mdulos de Pandora .......................249 14.6.5. Estudio de MIB con herramientas externas e integracin en Pandora FMS .............250 14.7. Propiedades avanzadas comunes de los mdulos de red .................................................. 251 14.8. Monitorizacin de Windows remotos con WMI .............................................................. 252
10

14.9. Monitorizacin con Plugins (Complementos) hasta la versin 4.0.x ............................... 258 14.9.1. Ejemplo #1: Mdulo de complemento para MySQL ................................................263 14.9.2. Ejemplo #2: Mdulo de complemento para servidor SMTP .................................... 265 14.9.3. Ejemplo #3: Mdulo de complemento para servidor DNS .......................................265 14.9.4. Ejemplo #4: Mdulo de complemento para puerto UDP ..........................................266 14.9.5. Ejemplo #1: Mdulo de complemento para MySQL ................................................266 14.9.6. Ejemplo #2: Mdulo de complemento para servidor SMTP .................................... 269 14.9.7. Ejemplo #3: Mdulo de complemento para servidor DNS .......................................270 14.9.8. Ejemplo #4: Mdulo de complemento para puerto UDP ..........................................271 15 Monitorizacion de entornos virtuales ................................................................................... 272 15.1. Monitorizacin de entornos Amazon EC2 ........................................................................273 15.1.1. Instalacin ................................................................................................................. 274 15.1.2. Configuracin.............................................................................................................274 15.1.3. Utilizacin de Contraseas AWS ..............................................................................274 15.1.4. Utilizacin de certificados X.509 ..............................................................................274 15.1.5. Instalacin de las propiedades de JVM .....................................................................274 15.1.6. Puesta en marcha........................................................................................................275 15.2. Monitorizacin de entornos VMware ...............................................................................275 15.2.1. Arquitectura VMware a monitorizar .........................................................................275 15.2.2. Monitorizacin con VMware Monitoring Plugin ..................................................... 275 15.2.2.1. Funcionamiento interno del plugin ....................................................................276 15.2.3. Requisitos del plugin .................................................................................................276 15.2.4. Configuracin del vCenter para la monitorizacin ................................................... 276 15.2.5. Instalacin de VMware vSphere SDK para Perl .......................................................277 15.2.5.1. Instalacin SDK Linux ......................................................................................278 15.2.5.2. Instalacin SDK sobre Windows ...................................................................... 279 15.2.6. Instalacin y puesta en marcha del plugin de agente ................................................ 279 15.2.6.1. Registro del Recon Script ..................................................................................280 15.2.6.2. Creacin de Recon Task ....................................................................................281 15.2.7. Monitorizacin de la arquitectura virtual VMware ...................................................283 15.2.7.1. Monitorizacin por defecto para Datacenter .....................................................285 15.2.7.2. Monitorizacin por defecto para Datastore .......................................................285 15.2.7.3. Monitorizacin por defecto defecto para ESXi .................................................285 15.2.7.4. Monitorizacin por defecto para mquinas virtuales ........................................ 286 15.2.8. Mdulos de agentes de la arquitectura virtual VMware ........................................... 286 15.2.8.1. Mdulos para agentes del tipo Datacenter ........................................................ 286 15.2.8.2. Mdulos para agentes del tipo Datastore .......................................................... 286 15.2.8.3. Mdulos para agentes del tipo host ESXi ......................................................... 287 15.2.8.4. Mdulos para agentes del tipo mquina virtual .................................................288 15.2.9. Monitorizacin de eventos VMware .........................................................................290 15.2.10. Gestin y visualizacin de la arquitectura virtual VMware ....................................291 15.2.10.1. Instalacin de extensiones VMware Manager y VMware View .....................291 15.2.10.2. Usando la extensin VMware View ................................................................291 15.2.10.3. Usando la extensin VMware Manager .......................................................... 293 15.2.11. Configuracin del plugin ........................................................................................ 294 15.2.11.1. Archivo de configuracin ................................................................................294 15.2.11.2. Monitorizacin de varios Datacenter con un mismo agente ........................... 301 15.2.11.3. Dividir la carga de la monitorizacin entre varios servidores de Pandora ......302 15.2.11.4. Ejemplos archivo configuracin ......................................................................304 15.2.11.5. Tabla de correspondencia de nombres cortos ..................................................305
11

15.2.11.6. Tabla de eventos ..............................................................................................307 15.3. Monitorizacin de entornos RHEV .................................................................................. 332 15.3.1. Arquitectura a monitorizar ........................................................................................332 15.3.2. Monitorizacin con RHEV Monitoring Plugin .........................................................332 15.3.2.1. Funcionamiento interno del plugin ....................................................................333 15.3.3. Requisitos previos a la instalacin ............................................................................333 15.3.3.1. Red Hat ..............................................................................................................334 15.3.3.2. SLES ..................................................................................................................334 15.3.3.3. Debian/Ubuntu .................................................................................................. 334 15.3.3.4. Instalacin del agente software de Pandora FMS ............................................. 334 15.3.4. Descarga del certificado de RHEV ........................................................................... 334 15.3.5. Consideraciones previas sobre la configuracin de RHEV ...................................... 335 15.3.6. Instalacin del plugin de agente ................................................................................335 15.3.7. Monitorizando la arquitectura virtual RHEV ............................................................335 15.3.7.1. Monitorizando el estado de las entidades ..........................................................339 15.3.8. Mdulos de agente de la arquitectura virtual RHEV ................................................ 340 15.3.8.1. Data Center ........................................................................................................340 15.3.8.2. Storage Domain .................................................................................................340 15.3.8.3. Network .............................................................................................................340 15.3.8.4. Cluster ............................................................................................................... 340 15.3.8.5. Host ................................................................................................................... 340 15.3.8.6. Virtual Machine .................................................................................................341 15.3.8.7. Eventos .............................................................................................................. 341 15.3.9. Gestin y visualizacin de la arquitectura RHEV .................................................... 341 15.3.9.1. Instalacin de la recon task ............................................................................... 342 15.3.9.2. Instalacin de extensiones RHEV View y RHEV Manager ............................. 345 15.3.9.3. Usado la extensin RHEV View .......................................................................345 15.3.9.4. Usado la extensin RHEV Manager ................................................................. 346 15.3.10. Configuracin del plugin de agente ........................................................................ 348 15.3.10.1. Archivo de configuracin ................................................................................348 15.3.10.2. Dividir la carga de la monitorizacin entre varios Agentes Software .............351 15.3.10.3. Ejemplos de archivos de configuracin ...........................................................353 15.3.10.4. Tabla correspondencia nombres de mdulos .................................................. 355 16 Monitorizacin de experiencia de usuario Web ................................................................... 357 16.1. Introduccin.......................................................................................................................358 16.2. Creacin de mdulos web..................................................................................................358 16.3. Comprobacin de cadena en una pgina web ...................................................................360 16.4. Comprobar tiempo de carga de una web .......................................................................... 361 16.5. Chequeos a travs de un Proxy .........................................................................................362 16.6. Obteniendo el valor en bolsa de Google ...........................................................................363 16.7. Comprobacin de formulario en una pgina web .............................................................364 16.8. Utilizando autenticacin HTTP Simple ............................................................................367 16.9. Monitorizacion de webservices ........................................................................................ 367 16.10. Monitorizacin https .......................................................................................................368 16.11. Soporte IPv6 ................................................................................................................... 368 16.12. Opciones avanzadas ........................................................................................................368 16.12.1. Modificando cabeceras HTTP(Disponible en la siguiente version 4.0.2)...............368 16.12.2. Depurando chequeos web(Disponible en la siguiente version 4.0.2) ..................... 369 17 Monitorizacin transaccional distribuida con Selenium ...................................................... 370 18 Monitorizacin de Servicios ................................................................................................. 372
12

18.1. Introduccin ......................................................................................................................373 18.1.1. El concepto de monitorizacin de servicio ............................................................... 373 18.2. Servicios en Pandora FMS ................................................................................................377 18.2.1. Como funcionan los servicios en Pandora FMS ....................................................... 377 18.2.2. Creando un nuevo servicio ........................................................................................379 18.2.2.1. En Pandora versin 4 e inferiores ......................................................................379 18.2.3. Agrupaciones de servicios ........................................................................................ 385 18.2.3.1. Varios servicios en una misma compaia ......................................................... 385 18.2.3.2. Distintos servicios en varias sedes .................................................................... 386 19 Operacin con traps SNMP .................................................................................................. 388 19.1. Introduccin ......................................................................................................................389 19.2. Acceso a la consola de recepcin de traps ........................................................................389 19.2.1. Filtrar traps ................................................................................................................390 19.2.2. Validar traps...............................................................................................................390 19.2.3. Borrar traps ............................................................................................................... 391 19.3. Alertas de Traps SNMP..................................................................................................... 391 19.4. Personalizar Traps SNMP .................................................................................................391 19.4.1. Renombrar / Personalizar traps .................................................................................391 19.4.2. Subir las MIBs del fabricante.....................................................................................393 19.5. Alertas con traps SNMP complejos...................................................................................393 19.5.1. Ejemplo adicional ..................................................................................................... 396 19.6. Asociar un trap al resto de alertas de Pandora / SNMP Agent trap forwarding ...............397 19.7. Filtrado de traps en el servidor ......................................................................................... 399 19.8. Gestor de TRAPS externo .................................................................................................400 19.8.1. Ejemplo prctico: Monitorizacin ESX utilizando traps .......................................... 402 19.8.1.1. Paso 1:Trap handler: esx_trap_manager.pl ....................................................... 403 19.8.1.2. Paso 2: Crear el comando de alerta.................................................................... 404 19.8.1.3. Paso 3: Crear la accin de la alerta ....................................................................404 19.8.1.4. Paso 4: Crear la alerta SNMP.............................................................................405 19.8.1.5. Visualizacin de Datos ......................................................................................406 20 Otro tipo de monitorizacin ................................................................................................... 407 20.1. Introduccin.......................................................................................................................408 20.2. Monitorizacin con mdulos sintticos............................................................................. 408 20.3. Monitorizacin predictiva..................................................................................................410 20.3.1. Monitorizacin Netflow ............................................................................................414 21 Parmetros comunes de los mdulos ..................................................................................... 416 21.1. Tags....................................................................................................................................417 22 Descubrimiento de red automtico con Recon Server .......................................................... 418 22.1. Introduccin.......................................................................................................................419 22.2. Tareas de reconocimiento.................................................................................................. 419 22.2.1. Topologa de red........................................................................................................ 423 22.2.2. Ejemplo de uso...........................................................................................................424 22.3. Recon Scripts..................................................................................................................... 425 22.3.1. Introduccin............................................................................................................... 425 22.3.2. Ejemplos de utilizacin..............................................................................................425 22.3.2.1. Utilizacin desde la shell....................................................................................425 22.3.2.2. Utilizacin desde la consola de Pandora FMS................................................... 426 23 Gua rpida de configuracin de alertas para Pandora FMS ................................................ 428 23.1. Introduccin.......................................................................................................................429 23.2. Introduccin al sistema de alertas actual .......................................................................... 429
13

23.2.1. Estructura de una alerta .............................................................................................430 23.2.2. Flujo de informacin en el sistema de alertas ........................................................... 430 23.3. Plantilla de alerta............................................................................................................... 432 23.3.1. Creacin de una Plantilla........................................................................................... 432 23.3.2. Macros sustituibles en los campos Field1, Field2 y Field3 ...................................... 437 23.3.2.1. Orden de la sustitucin de las macros y los campos _field*_ ...........................438 23.4. Definiendo una Alerta........................................................................................................438 23.5. Configurando la accin .....................................................................................................439 23.6. Configurando la plantilla (Alert template) ........................................................................440 23.7. Asociando la alerta al mdulo .......................................................................................... 443 23.8. Escalado de alertas ............................................................................................................444 23.9. Alertas en Standby ............................................................................................................445 23.10. Utilizando comandos de alertas distintos del email ........................................................445 23.10.1. Ejemplo completo de alerta con macros de sustitucin .......................................... 447 23.11. Proteccin en cascada ..................................................................................................... 448 23.11.1. Ejemplos ..................................................................................................................450 24 Eventos ................................................................................................................................. 451 24.1. Introduccin ......................................................................................................................452 24.2. Creacin de filtros de evento ............................................................................................ 453 24.3. Datos de un evento ............................................................................................................454 24.4. Filtrar eventos ................................................................................................................... 455 24.5. Crear un incidente desde un evento .................................................................................. 457 24.6. Validacin y estados de un evento. Auto validacin. .......................................................457 24.7. Asignacin de eventos ...................................................................................................... 458 24.8. Agrupacin de eventos ......................................................................................................459 24.9. Borrar Eventos .................................................................................................................. 460 24.10. Otras formas de ver eventos ............................................................................................460 24.10.1. Eventos en RSS .......................................................................................................460 24.10.2. Eventos en Marquee ................................................................................................461 24.10.3. Eventos sonoros ...................................................................................................... 461 24.10.3.1. Configuracin ..................................................................................................462 24.10.3.2. Configuracin avanzada ..................................................................................462 24.10.3.3. Uso ...................................................................................................................462 24.10.4. Exportar Eventos a un CSV .................................................................................... 464 24.10.5. Estadsticas de Eventos ........................................................................................... 464 24.11. Alertas de eventos. Correlacin de eventos ....................................................................465 25 Plantillas y componentes ....................................................................................................... 468 25.1. Introduccin.......................................................................................................................469 25.1.1. Qu es un componente ? .........................................................................................470 25.1.2. Qu es una plantilla de componentes ? .................................................................. 470 25.2. Componentes de red ..........................................................................................................470 25.2.1. Crear componentes de red nuevos ............................................................................ 471 25.3. Componentes locales......................................................................................................... 474 25.3.1. Crear componentes locales nuevos............................................................................ 475 25.4. Plantillas de mdulos.........................................................................................................476 25.4.1. Crear plantillas de mdulos nuevas........................................................................... 479 25.4.2. Aplicar una plantilla de mdulos a un agente............................................................ 480 25.5. Grupos de componentes.....................................................................................................481 26 Inventario .............................................................................................................................. 483 26.1. Introduccin ......................................................................................................................484
14

26.2. Recogida de datos para el inventario ................................................................................ 484 26.2.1. Mdulos de inventario .............................................................................................. 484 26.2.2. Inventario remoto ......................................................................................................484 26.2.2.1. Creacin de mdulos remotos ........................................................................... 484 26.2.2.2. Edicin de mdulos remotos ............................................................................. 487 26.2.2.3. Eliminacin de mdulos remotos ......................................................................488 26.2.2.4. Asignar mdulos remotos ..................................................................................488 26.2.2.5. Edicin de un mdulo de inventario asignado .................................................. 490 26.2.2.6. Eliminacin de un mdulo de inventario asignado ........................................... 490 26.2.2.7. Ejemplo completo del proceso de creacion de un modulo remoto de inventario ............................................................................................................................................490 26.2.3. Inventario local, a travs de los agentes software .....................................................494 26.2.3.1. Creacin de mdulos locales .............................................................................494 26.2.3.2. Ejemplo completo del proceso de creacion de un modulo local de inventario . 496 26.2.3.3. Mdulo de Inventario en sistemas Windows mediante agente software. ..........496 26.2.3.4. Mdulo de Inventario en sistemas Unix mediante agente software. .................498 26.2.3.5. Asignar mdulos locales ................................................................................... 500 26.2.3.6. Creacin de modulos de inventario locales (que se ejecutan en el agente) .......501 26.3. Visualizacin de datos para el inventario ......................................................................... 502 26.3.1. Ver datos de Inventario en el agente .........................................................................502 26.3.2. Ver datos de Inventario en el men de Inventario..................................................... 504 26.3.3. Exportar los datos de inventario a CSV.....................................................................505 27 Presentacin de los datos: Grficas, informes, mapas visuales y listado de mdulos ........... 506 27.1. Introduccin.......................................................................................................................507 27.2. Tipografa e idiomas ......................................................................................................... 507 27.3. Grficas..............................................................................................................................507 27.3.1. Grficas del agente.....................................................................................................507 27.3.2. Grficas Combinadas................................................................................................. 511 27.3.2.1. Crear Grficas combinadas................................................................................ 511 27.3.2.2. Ver grficas combinadas guardadas...................................................................514 27.3.2.3. Borrar grficas combinadas que se han guardado..............................................516 27.4. Consola Network Enteprise .............................................................................................. 517 27.4.1.1. Minimapa ...........................................................................................................519 27.4.1.2. Panel de control .................................................................................................520 27.4.1.3. Ventana vista detalle ......................................................................................... 521 27.4.2. Creacin de un mapa de red ......................................................................................523 27.4.3. Edicin de un mapa de red ........................................................................................524 27.4.4. Duplicado de un mapa de red ....................................................................................525 27.4.5. Interaccin con el mapa de red ................................................................................. 525 27.4.5.1. Acciones sobre el mapa .....................................................................................526 27.5. Mapa de red (Versin Open) ............................................................................................ 534 27.5.1. Mapa topolgico ....................................................................................................... 536 27.5.2. Mapa de grupo .......................................................................................................... 537 27.5.3. Mapa de polticas ...................................................................................................... 537 27.5.4. Modo pantalla completa ............................................................................................537 27.6. Informes.............................................................................................................................537 27.6.1. Creacin de un informe .............................................................................................537 27.6.2. Edicin de un informe................................................................................................538 27.6.3. Borrado de un informe .............................................................................................. 539 27.6.4. Pestaas .....................................................................................................................540
15

27.6.4.1. Pestaa Main ..................................................................................................... 540 27.6.4.2. Pestaa List Items ..............................................................................................540 27.6.4.3. Pestaa Item editor ............................................................................................ 541 27.6.4.4. Pestaa Wizard ..................................................................................................568 27.6.4.5. Pestaa Wizard SLA ......................................................................................... 569 27.6.4.6. Pestaa Global ...................................................................................................570 27.6.4.7. Pestaa Advance options ...................................................................................570 27.6.4.8. Pestaa Preview .................................................................................................572 27.6.5. Visualizacin de un informe...................................................................................... 572 27.6.6. Envo automtico de un informe por correo electrnico............................................573 27.6.6.1. Configuracin.....................................................................................................574 27.7. Mapas visuales...................................................................................................................575 27.7.1. Crear un mapa visual .................................................................................................575 27.7.2. Ver un mapa visual.................................................................................................... 576 27.7.3. Borrar un mapa visual................................................................................................577 27.7.4. Pestaas del editor de mapas .....................................................................................578 27.7.4.1. Pestaa Data....................................................................................................... 578 27.7.4.2. Pestaa Preview..................................................................................................578 27.7.4.3. Pestaa Wizard...................................................................................................579 27.7.4.4. Pestaa lista de elementos.................................................................................. 580 27.7.4.5. Pestaa Editor.....................................................................................................581 27.7.5. Paleta de opciones......................................................................................................583 27.7.5.1. Label...................................................................................................................583 27.7.5.2. Agent.................................................................................................................. 583 27.7.5.3. Module................................................................................................................584 27.7.6. Elementos que puede contener un mapa ................................................................... 584 27.7.6.1. Imagen esttica...................................................................................................584 27.7.6.2. Icono...................................................................................................................586 27.7.6.3. Item percentil......................................................................................................587 27.7.6.4. Grfica de un mdulo.........................................................................................588 27.7.6.5. Valor simple....................................................................................................... 590 27.7.6.6. Etiqueta...............................................................................................................590 27.7.7. Compartir una consola visual ....................................................................................591 27.8. Vista de agente / modulo .................................................................................................. 591 27.9. Vista de grupos de mdulos ..............................................................................................592 27.10. Vista de rbol ..................................................................................................................593 27.11. Consola en el Telfono Mvil......................................................................................... 594 28 Pandora GIS .......................................................................................................................... 602 28.1. Instalacin..........................................................................................................................603 28.1.1. Configuracin del Agente ......................................................................................... 603 28.1.2. Configuracin del Servidor .......................................................................................603 28.1.3. Configuracin de la Consola......................................................................................604 28.1.3.1. Conexiones GIS .................................................................................................605 28.1.3.2. GIS Map builder ................................................................................................608 28.2. Operacin ..........................................................................................................................609 28.2.1. Mapas GIS .................................................................................................................610 28.2.1.1. Desplazarse por el mapa ....................................................................................610 28.2.1.2. Las Capas Ocultar/Mostrar/ Seleccionar............................................................610 28.2.1.3. Filtros .................................................................................................................610 28.2.1.4. Refrescar el Mapa...............................................................................................610
16

28.2.1.5. Edicin del mapa y Pantalla completa .............................................................. 610 28.2.2. Vista de Agente .........................................................................................................611 28.2.2.1. Vista Histrica GIS ........................................................................................... 611 28.2.3. Configuracin del Agent GIS ................................................................................... 613 28.2.3.1. Ignorar datos GIS .............................................................................................. 613 28.2.3.2. Posicin manual del agente................................................................................ 614 28.3. Enlaces tiles .................................................................................................................... 614 28.3.1. OpenLayers ............................................................................................................... 614 28.3.2. Mapnik ...................................................................................................................... 614 28.3.3. OpenStreetMap ......................................................................................................... 614 28.3.4. OS Geo ......................................................................................................................614 28.3.5. Geo Server .................................................................................................................614 28.3.6. PostgreSQL ............................................................................................................... 615 28.3.7. Blogs ......................................................................................................................... 615 29 Gestin de Pandora FMS ...................................................................................................... 616 29.1. Introduccin ......................................................................................................................617 29.2. Perfiles, usuarios, grupos y ACL ......................................................................................617 29.2.1. Perfiles en Pandora FMS ...........................................................................................617 29.2.1.1. Aadir un perfil ................................................................................................. 619 29.2.1.2. Modificar un perfil ............................................................................................ 619 29.2.1.3. Borrar un perfil ..................................................................................................620 29.2.2. Grupos en Pandora FMS ...........................................................................................620 29.2.2.1. Aadir un Grupo ................................................................................................621 29.2.2.2. Editar un Grupo .................................................................................................622 29.2.2.3. Borrar un Grupo ................................................................................................ 622 29.2.3. Usuarios en Pandora FMS .........................................................................................622 29.2.3.1. Aadir un Usuario ............................................................................................. 623 29.2.3.2. Ver un Usuario .................................................................................................. 626 29.2.3.3. Edicin de un Usuario por el propio usuario .....................................................626 29.2.3.4. Edicin de un usuario por el administrador .......................................................627 29.2.3.5. Borrar un Usuario ..............................................................................................628 29.3. El Grupo "All" (Todos/Cualquiera)...................................................................................628 29.4. Sistema ACL Enterprise.................................................................................................... 629 29.4.1. Asistente.....................................................................................................................630 29.4.2. Edicion personalizada................................................................................................ 631 29.4.3. Seguridad................................................................................................................... 631 29.5. Workspace ........................................................................................................................ 632 29.5.1. Chat ........................................................................................................................... 632 29.5.2. Usuarios conectados ..................................................................................................632 29.5.3. Mensajes ....................................................................................................................632 29.5.3.1. Ver mensajes ..................................................................................................... 632 29.6. Incidencias ........................................................................................................................ 634 29.6.1. Ver todos los incidentes ............................................................................................ 635 29.6.2. Seguimiento de un incidente .....................................................................................636 29.6.3. Buscar incidentes ...................................................................................................... 638 29.6.4. Abrir un incidente nuevo ...........................................................................................639 29.6.5. Cambiar el propietario de un incidente .....................................................................639 29.6.6. Borrar un incidente ....................................................................................................640 29.6.7. Estadsticas de incidentes ..........................................................................................640 29.6.8. Incidentes autogenerados (servidor recon) ............................................................... 640
17

29.7. Gestin de incidentes (Integracin entre Pandora FMS e Integria) ..................................640 29.8. Servidores ......................................................................................................................... 643 29.9. Backup .............................................................................................................................. 644 29.10. Cron Job ..........................................................................................................................645 29.11. Paradas de servicio planificadas ..................................................................................... 646 29.11.1. Alternativas a la gestion de parada de servicio en la consola ................................. 649 29.12. Log de auditora ..............................................................................................................649 29.12.1. Ver los logs de Sistema ...........................................................................................650 29.12.2. Filtrar los logs de Sistema .......................................................................................650 29.13. Gestin de la Base de Datos desde la consola ................................................................ 651 29.13.1. Obtener informacin de la Base de Datos ...............................................................652 29.13.1.1. Obtener informacin general ...........................................................................652 29.13.1.2. Obtener informacin de Agentes y mdulos ...................................................653 29.13.1.3. Obtener informacin de los datos por fecha ....................................................654 29.13.1.4. Obtener datos de los registros de Auditora .................................................... 655 29.13.1.5. Obtener datos de los eventos ...........................................................................656 29.13.2. Purgar la Base de Datos .......................................................................................... 656 29.13.2.1. Purga de datos de agentes por fecha ................................................................656 29.13.2.2. Purga de datos especficos de un mdulo ........................................................657 29.13.2.3. Purga de datos de auditora ............................................................................. 657 29.13.2.4. Purga de datos de eventos ............................................................................... 657 29.13.3. Mantenimiento de la BBDD.................................................................................... 658 29.13.3.1. Limpieza ..........................................................................................................658 29.13.3.2. Purgado de mdulos no inicializados ..............................................................659 29.13.4. DB Interface ............................................................................................................659 29.14. Registro de plugins ......................................................................................................... 660 29.15. Insert data ........................................................................................................................660 29.16. Importar agentes desde CSV ...........................................................................................661 29.17. Resource registration ...................................................................................................... 661 29.17.1. Formato del fichero.prt............................................................................................ 662 29.18. Traductor de cadenas de texto......................................................................................... 663 30 Configuracin de la consola de Pandora FMS ...................................................................... 664 30.1. Introduccin.......................................................................................................................665 30.2. Setup.................................................................................................................................. 665 30.2.1. Opciones Enterprise .................................................................................................. 669 30.3. Autentificacin...................................................................................................................670 30.3.1. Active directory .........................................................................................................671 30.3.2. LDAP ........................................................................................................................ 672 30.3.3. Local Pandora FMS .................................................................................................. 674 30.3.4. Remote Babel Enterprise .......................................................................................... 674 30.3.5. Remote Integria .........................................................................................................675 30.3.6. Remote Pandora FMS ............................................................................................... 677 30.4. Rendimiento ......................................................................................................................678 30.5. Estilos de visualizacin......................................................................................................681 30.6. File Manager......................................................................................................................684 30.6.1. Crear directorio ......................................................................................................... 685 30.6.2. Crear archivo de texto ...............................................................................................686 30.6.3. Subir archivo(s) .........................................................................................................686 30.7. Conexin de mapa GIS .....................................................................................................686 30.8. Links.................................................................................................................................. 686
18

30.9. Site news............................................................................................................................688 30.10. Edit OS.............................................................................................................................688 30.11. History database...............................................................................................................689 30.12. Enterprise ACL Setup......................................................................................................690 30.13. Metaconsole.....................................................................................................................690 30.14. Skins.................................................................................................................................691 30.15. Pandora FMS Diagnostic tool..........................................................................................692 30.16. Update manager settings..................................................................................................693 30.17. System info...................................................................................................................... 693 30.18. Translate string................................................................................................................ 693 31 Actualizacin de idiomas ..................................................................................................... 694 32 Gestin remota de equipos con Pandora FMS ..................................................................... 696 32.1. Introduccin ......................................................................................................................697 32.2. Usando VNC integrado en Pandora FMS .........................................................................699 32.3. Usando TeamViewer con Pandora FMS .......................................................................... 701 32.3.1. Detalles tcnicos de Teamviewer ..............................................................................702 32.4. Conectndose a sistemas remotos usando SSH y/o Telnet con Pandora FMS .................702 32.4.1. Instalacin y configuracin .......................................................................................704 33 Operaciones masivas ............................................................................................................ 706 33.1. Introduccin.......................................................................................................................707 33.2. Operaciones masivas: Agentes ......................................................................................... 707 33.3. Operaciones masivas: Mdulos ........................................................................................ 709 33.4. Operaciones masivas: Usuarios ........................................................................................ 711 33.5. Operaciones masivas: Alertas ...........................................................................................712 33.6. Operaciones masivas: Polticas .........................................................................................715 34 Polticas ................................................................................................................................. 717 34.1. Introduccin.......................................................................................................................718 34.2. Aadir una poltica.............................................................................................................718 34.3. Eliminar una poltica..........................................................................................................719 34.4. Duplicar una poltica..........................................................................................................719 34.5. Configurar una poltica...................................................................................................... 719 34.5.1. Propagacin de polticas............................................................................................ 720 34.5.2. Gestin de la cola de polticas....................................................................................720 34.5.3. Agentes.......................................................................................................................722 34.5.3.1. Acciones masivas............................................................................................... 722 34.5.3.2. Acciones unitarias.............................................................................................. 723 34.5.4. Mdulos..................................................................................................................... 723 34.5.4.1. Crear un mdulo del data server.........................................................................724 34.5.4.2. Crear un mdulo del Servidor de Red................................................................725 34.5.4.3. Crear un mdulo del Servidor de Complementos.............................................. 727 34.5.4.4. Crear un mdulo del Servidor de WMI..............................................................728 34.5.4.5. Crear un mdulo del Servidor de Prediccin..................................................... 729 34.5.4.6. Crear un mdulo del servidor Web.................................................................... 730 34.5.4.7. Modificar un mdulo ya creado......................................................................... 731 34.5.4.8. Borrar un mdulo ya creado...............................................................................732 34.5.4.9. Usando plugins dentro de las polticas ..............................................................732 34.5.5. Mdulos de inventario............................................................................................... 733 34.5.6. Alertas........................................................................................................................ 734 34.5.6.1. Aadir alertas..................................................................................................... 734 34.5.6.2. Modificacin de Alertas..................................................................................... 735
19

34.5.6.3. Borrado de Alertas..............................................................................................735 34.5.7. Alertas Externas ........................................................................................................ 735 34.5.7.1. Aadir Alertas Externas .................................................................................... 735 34.5.7.2. Modificacin de Alertas Externas...................................................................... 735 34.5.7.3. Borrado de Alertas Externas...............................................................................735 34.5.8. Tipos de mdulos.......................................................................................................736 34.5.8.1. Mdulos adoptados.............................................................................................736 34.5.8.2. Mdulos enlazados.............................................................................................736 34.5.8.3. Mdulos no enlazados........................................................................................737 34.5.9. Colecciones de ficheros............................................................................................. 737 34.5.9.1. Colecciones de ficheros y polticas ................................................................... 740 34.5.9.2. Ubicacin de las colecciones de ficheros en el agente ......................................741 34.6. Acceso extra a polticas..................................................................................................... 741 35 Export Server ........................................................................................................................ 743 35.1. Introduccin ......................................................................................................................744 35.2. Aadir un servidor de destino ...........................................................................................745 35.3. Editando un servidor de destino ........................................................................................748 35.4. Borrando un servidor de destino........................................................................................748 35.5. Asociando un servidor de destino a un mdulo. ...............................................................748 36 Metaconsola .......................................................................................................................... 751 36.1. Introduccin ......................................................................................................................752 36.2. Configuracin ................................................................................................................... 753 36.2.1. Uso de la autenticacin delegada .............................................................................. 755 36.3. Visualizacin .................................................................................................................... 755 36.4. Gestin simultnea de mltiples sistemas ........................................................................ 757 36.4.1. Gestin de Usuarios .................................................................................................. 758 36.4.2. Gestin de Alertas .....................................................................................................758 36.4.3. Gestin de Polticas ...................................................................................................759 36.4.4. Gestin de Componentes .......................................................................................... 759 36.4.5. Gestin de Agentes ................................................................................................... 760 37 Alta disponibilidad ............................................................................................................... 762 37.1. Introduccin ......................................................................................................................763 37.1.1. Balanceo y HA del Servidor de Datos ...................................................................... 764 37.1.1.1. Balanceo en los agentes software ......................................................................765 37.1.2. Balanceo y HA de los servidores de Red, WMI,. plugin, web y prediction .............766 37.1.2.1. Configuracin en los servidores ........................................................................768 37.1.3. Balanceo de Carga en la BBDD ................................................................................768 37.1.4. Balanceo y HA de los servidores de reconocimiento ................................................769 37.1.5. Balanceo y HA de la consola de Pandora FMS ........................................................ 769 37.2. Anexo 1: Implementacin de HA y balanceo de carga con LVS y Keepalived ...............769 37.2.1. Actuacin ante la cada de un nodo .......................................................................... 770 37.3. Anexo 2. Configuracin del balanceador LVS .................................................................770 37.4. Anexo 3. Configuracin de KeepAlived ...........................................................................771 38 Mantenimiento de los servidores de Pandora FMS .............................................................. 773 38.1. Gestin de la base de datos ...............................................................................................774 38.2. Ejecucin manual de la herramienta de mantenimiento ................................................... 775 38.3. Respaldo (Backup) de la base de datos .............................................................................776 38.4. Respaldo y recuperacin completa de Pandora FMS ....................................................... 777 38.4.1. Ejemplos de uso ........................................................................................................ 778 38.5. Arranque/parada manual de los servidores de Pandora FMS ...........................................779
20

38.6. Watchdog para los servidores de Pandora FMS ............................................................... 779 38.6.1. pandora_watchdog.sh ................................................................................................779 38.6.2. /usr/bin/pandora_alert ............................................................................................... 781 38.6.3. Arranque del watchdog ............................................................................................. 782 38.6.4. Consideraciones ........................................................................................................ 782 38.7. Base de datos de histrico .................................................................................................782 38.7.1. Configurando una base de datos de histrico ............................................................782 38.7.2. Configurando la gestion del purgado y compactacin de la base de datos de histrico .................................................................................................................................................783 39 Optimizacin y solucin de problemas de Pandora FMS .................................................... 785 39.1. Introduccin.......................................................................................................................786 39.2. Optimizando Pandora FMS .............................................................................................. 786 39.2.1. Optimizacin MySQL para enterprise grade systems ...............................................786 39.2.1.1. Consejos generales ............................................................................................ 786 39.2.1.2. Herrramientas automticas de configuracin ....................................................787 39.2.1.3. Desactivar replicacion binaria ...........................................................................787 39.2.1.4. Evitando el Flush de disco en cada transaccion ................................................ 787 39.2.1.5. Mayor tamao del KeyBuffer ............................................................................788 39.2.1.6. Otros buffers importantes ..................................................................................788 39.2.1.7. Mejorando la concurrencia de innodb ...............................................................788 39.2.1.8. Usar un espacio de tablas para cada tabla ......................................................... 788 39.2.1.9. Fragmentacin MySQL .....................................................................................789 39.2.1.10. Particionado de tablas MySQL ........................................................................790 39.2.1.11. Reconstruccion de la BBDD ........................................................................... 791 39.2.1.12. Indices opcionales ........................................................................................... 792 39.2.1.13. Queries lentas .................................................................................................. 793 39.2.1.14. Optimizacin de tablas especficas ..................................................................793 39.2.1.15. Tokens especiales de MySQL ......................................................................... 794 39.2.1.16. Ejemplo N 1 de Configuracin....................................................................... 794 39.2.1.17. Referencias ...................................................................................................... 796 39.2.2. MySQL Percona XTraDB .........................................................................................796 39.2.3. Dimensionamiento Pandora FMS para alta capacidad.............................................. 797 39.2.4. Uso de discos RAM (tmpfs) para directorio incoming .............................................797 39.2.5. Mltiples instancias en el mismo sistema .................................................................798 39.2.6. Ejemplo de configuracion de servidores de alta capacidad ...................................... 798 39.2.6.1. my.cnf ................................................................................................................798 39.2.6.2. pandora_server.conf .......................................................................................... 799 39.2.7. Herramientas de anlisis de capacidad (Capacity) ....................................................799 39.2.7.1. Pandora FMS XML Stress ................................................................................ 799 39.2.7.2. Como medir la capacidad de proceso del dataserver ........................................ 804 39.2.7.3. Pandora FMS DB Stress ....................................................................................804 39.3. Solucin de problemas y herramientas de Diagnstico en Pandora FMS......................... 805 39.3.1. pandora_diag.php.......................................................................................................805 39.3.2. pandora_diagnostic.sh................................................................................................806 40 Detalles sobre la ingeniera de Pandora FMS ....................................................................... 809 40.1. Diseo de la base de datos de Pandora FMS .................................................................... 810 40.1.1. Mejoras en los ndices y otros aspectos tcnicos de BB.DD. ................................... 811 40.1.2. Tablas principales de la base de datos ...................................................................... 812 40.1.3. Compresin de datos en tiempo real .........................................................................817 40.1.4. Compactacin de datos ............................................................................................. 818
21

40.1.5. Base de datos histrica ..............................................................................................819 40.2. Estados de los mdulos en Pandora FMS .........................................................................820 40.2.1. Cundo se establece cada estado? ........................................................................... 820 40.2.2. Propagacin y prioridad ............................................................................................821 40.2.2.1. Qu estado tendr un agente? .......................................................................... 821 40.2.2.2. Cul es la prioridad de los estados? .................................................................821 40.2.3. Cdigo de colores ......................................................................................................821 41 Appliance CD ....................................................................................................................... 823 41.1. Requisitos Mnimos........................................................................................................... 824 41.2. Grabando la imagen a disco ..............................................................................................824 41.3. Instalacin .........................................................................................................................825 41.3.1. Instalacin grfica .....................................................................................................826 41.3.2. Instalacin desde el LiveCD ..................................................................................... 832 41.3.3. Instalacin en modo texto ......................................................................................... 832 41.4. Primer arranque .................................................................................................................836 41.4.1. Reconfiguracin del servidor ....................................................................................839 41.4.2. Gestin de paquetes con YUM ................................................................................. 840 41.4.3. Notas tcnicas sobre el Appliance ............................................................................ 841 42 Configuracin SSH para recibir datos en Pandora FMS ...................................................... 842 42.1. Securizacin del servidor SSH ......................................................................................... 844 42.1.1. Qu es scponly? .......................................................................................................844 43 Configuracin para recibir datos en el servidor mediante FTP ............................................ 846 43.1. Securizacin del servidor FTP (proftpd) .......................................................................... 847 43.2. Securizacin de vsftpd ......................................................................................................848 44 Integracin de Pandora FMS con HP Network Node Manager (SNMP) ............................. 849 44.1. Configurar eventos NNM ................................................................................................. 850 44.2. Crear alertas especficas de Pandora FMS ........................................................................850 44.3. Script de generacion de traps SNMP ................................................................................ 851 44.4. Uso de la alerta sobre un mdulo ......................................................................................854 44.5. Visualizacin de los datos en NNM ................................................................................. 855 45 Configuracin de hardware para el envo de SMS con Pandora FMS .................................. 856 45.1. Acerca del dispositivo GSM .............................................................................................857 45.2. Instalacin del Dispositivo.................................................................................................857 45.3. Configurar SMSTools para Utilizar el Nuevo Dispositivo................................................859 45.3.1. Debian / Ubuntu ........................................................................................................859 45.3.2. Sistema basado en RPM (SUSE, Redhat) .................................................................860 45.3.3. Configurar SMStools ................................................................................................ 860 45.4. Configurar la Alerta de Pandora FMS............................................................................... 862 45.5. Gateway de envo de SMS con Gnokii .............................................................................863 45.5.1. Implementacin del gateway con Gnokii ..................................................................864 45.5.1.1. sms .....................................................................................................................864 45.5.1.2. sms_gateway ..................................................................................................... 864 45.5.1.3. sms_gateway_launcher ......................................................................................865 45.5.1.4. copy_sms ...........................................................................................................866 46 HA en Pandora FMS con DRBD .......................................................................................... 867 46.1. Introduccin a DRDB ....................................................................................................... 868 46.2. Entorno Inicial................................................................................................................... 868 46.3. Instalar paquetes ............................................................................................................... 869 46.4. DRDB setup ......................................................................................................................869 46.4.1. Configuracin inicial de DRDB ................................................................................869
22

46.4.2. Configurar nodos DRDB .......................................................................................... 870 46.4.3. Disco inicial (Nodo principal) ...................................................................................870 46.4.4. Crear la particin en el nodo principal.......................................................................871 46.4.5. Obtener informacin sobre el estado del sistema.......................................................871 46.4.6. Configurando el mysql en el disco DRDB ................................................................872 46.4.7. Cree la base de datos de Pandora FMS .....................................................................872 46.4.8. Recuperacin manual de split brain ..........................................................................873 46.4.9. Switchover Manual ................................................................................................... 874 46.5. Configuracin de Hearbeat ............................................................................................... 874 46.5.1. Configuracin de Heartbeat ...................................................................................... 874 46.5.2. Fichero principal Heartbeat file: /etc/ha.d/ha.cf ........................................................875 46.5.3. Fichero de recursos HA..............................................................................................875 46.5.4. Configurando la autenticacin................................................................................... 876 46.5.5. Primer arranque de heartbeat .................................................................................... 876 46.6. Probando el HA: Prueba de fallo total...............................................................................876 47 HA en Pandora FMS con MySQL Cluster ........................................................................... 878 47.1. Introduccin.......................................................................................................................879 47.1.1. Glosario de trminos del cluster usado para Pandora FMS ...................................... 879 47.1.2. Arquitectura del cluster usado con Pandora FMS .....................................................879 47.2. Instalacin y configuracin. ..............................................................................................881 47.2.1. Configuracin de un Nodo SQL y de Datos ............................................................. 881 47.2.2. Configuracin del Manager ...................................................................................... 882 47.2.2.1. Parmetros de la configuracin comn de los nodos de gestin .......................883 47.2.2.2. Parmetros de configuracin individual de los 2 nodos de gestin ..................883 47.2.2.3. Parmetros de configuracin comunes a los nodos de almacenamiento ...........883 47.2.2.4. Parmetros de configuracin individual para cada nodo de datos ....................888 47.2.2.5. Parmetros de configuracin comn a los nodos API o SQL ........................... 888 47.2.2.6. Parmetros de configuracin individual para cada nodo API o SQL ................888 47.3. Inicio del Cluster ...............................................................................................................889 47.3.1. Inicio del Manager .................................................................................................... 889 47.3.2. Inicio de los Nodos de Datos del cluster (SOLO INSTALACIN) .........................889 47.3.3. Inicio de los Nodos SQL ...........................................................................................890 47.3.4. Ver el estado del Cluster ........................................................................................... 891 47.3.5. Inicio y parada de nodos desde el Manager. ............................................................. 891 47.4. Backups del Cluster .......................................................................................................... 892 47.4.1. Restaurado de copias de seguridad. .......................................................................... 892 47.4.1.1. Pasos previos ..................................................................................................... 892 47.4.1.2. Orden del proceso de restauracin .................................................................... 892 47.4.2. Proceso de restauracin .............................................................................................892 47.5. Logs del Cluster ................................................................................................................893 47.5.1. El log del cluster ....................................................................................................... 893 47.5.2. Logs de los Nodos .....................................................................................................894 47.5.2.1. ndb_X_out.log ...................................................................................................894 47.5.2.2. ndb_X_error.log ................................................................................................ 894 47.6. Procedimientos generales ................................................................................................. 895 47.6.1. Gestin del proceso Manager del cluster .................................................................. 895 47.6.2. Gestin de los Nodos desde el Manager ................................................................... 896 47.6.3. Gestin de los Nodos de datos con los scripts de arranque ...................................... 896 47.6.4. Gestin de los nodos SQL con scripts de arranque ...................................................896 47.6.5. Creacin de backups desde la linea de comandos .....................................................897
23

47.6.6. Restaurado de backups desde la linea de comandos ................................................. 897 47.6.7. Procedimiento de parada total del cluster ................................................................. 897 47.6.8. Procedimiento de arranque del cluster ......................................................................898 47.7. Apndice. Ejemplos de ficheros de configuracin ........................................................... 899 47.7.1. /etc/mysql/ndb_mgmd.cnf .........................................................................................899 47.7.2. /etc/mysql/my.cf ........................................................................................................911 47.7.3. /etc/cron.daily/backup_cluster .................................................................................. 914 47.7.4. /etc/init.d/cluster_mgmt ............................................................................................ 914 47.7.5. /etc/init.d/cluster_node ..............................................................................................917 48 Modelo de replicacion binario MySQL para HA ................................................................. 920 48.1. Introduccin.......................................................................................................................921 48.2. Comparacin con otros modelos de MySQL HA .............................................................921 48.3. Entorno Inicial................................................................................................................... 921 48.3.1. Configurando el Servidor de Mysql Server .............................................................. 922 48.3.1.1. Master node (Castor) .........................................................................................922 48.3.1.2. Slave node (Pollux) ........................................................................................... 922 48.3.1.3. Crear un Usuario para Replicacin ................................................................... 922 48.3.1.4. Instalacin de su BD de pandora .......................................................................922 48.3.1.5. Configuracin de la Replicacin con los datos existentes. ............................... 922 48.4. Configurando el servidor SQL para su uso en el servidor de Pandora .............................924 48.4.1. Iniciar el Servidor de Pandora ...................................................................................924 48.5. Switchover ........................................................................................................................ 925 48.6. Instalar el dispositivo balanceador de carga ..................................................................... 926 48.6.1. Castor / Master ..........................................................................................................926 48.6.2. Pollux / Slave ............................................................................................................ 926 48.6.2.1. Contenido de los scripts..................................................................................... 926 48.6.2.2. Algunos scripts que proponemos....................................................................... 927 49 Estudios volumtricos en Pandora FMS ............................................................................... 928 49.1. Introduccin ......................................................................................................................929 49.1.1. Almacenamiento de datos y compactacin ...............................................................929 49.1.2. Terminologa especfica ............................................................................................930 49.2. Ejemplo de estudio de capacidad ......................................................................................931 49.2.1. Definicin del alcance ...............................................................................................931 49.2.2. Medida de capacidad .................................................................................................932 49.3. Metodologa detallada .......................................................................................................933 49.3.1. Servidor de datos .......................................................................................................933 49.3.1.1. Evaluacin del impacto de alertas......................................................................936 49.3.1.2. Evaluacin del purgado / traslado de datos........................................................936 49.3.2. Servidor de ICMP (Enterprise) ................................................................................. 936 49.3.3. Servidor de SNMP (Enterprise) ................................................................................ 937 49.3.4. Servidor de Plugins, Red (open) y HTTP ................................................................. 938 49.3.5. Recepcin de traps .................................................................................................... 938 49.3.6. Eventos ......................................................................................................................939 49.3.7. Concurrencia de usuarios ..........................................................................................939 50 Consejos de uso BD Oracle .................................................................................................. 941 50.1. Consejos generales sobre el uso de Oracle ....................................................................... 942 51 Configuracin de sensor de temperatura HWg-STE ............................................................ 943 51.1. Introduccin ......................................................................................................................944 51.2. Instalacin y configuracin................................................................................................944 51.2.1. Paso 1. Instalacion del Pandora .................................................................................944
24

51.2.2. Paso 2. Instalacin del sensor ................................................................................... 944 51.2.3. Paso 3. Configuracion en Pandora del sensor ...........................................................946 51.2.4. Paso 4. Configurar una alerta ....................................................................................949 51.2.5. Paso 5. Creacin de un informe bsico......................................................................951 52 Eficiencia energtica con Pandora FMS ............................................................................... 953 52.1. Plugin IPMI para Pandora FMS ........................................................................................954 52.1.1. Funcionamiento del plugin IPMI .............................................................................. 954 52.1.2. Instalacin del plugin y recon task ............................................................................954 52.1.2.1. Requisitos previos ............................................................................................. 954 52.1.2.2. Registro del plugin IPMI ...................................................................................954 52.1.2.3. Registro de Recon Script ...................................................................................955 52.1.3. Monitorizando con el plugin IPMI ............................................................................956 52.1.4. Monitorizacin de valores OEM ...............................................................................957 53 Monitorizacin de red con IPTraf ........................................................................................ 958 53.1. Introduccin ......................................................................................................................959 53.2. Funcionamiento ................................................................................................................ 959 53.3. Configuracin ................................................................................................................... 960 53.4. Reglas de filtrado ..............................................................................................................960 53.4.1. Estructura del log de IPTraf ......................................................................................960 53.4.2. Reglas de filtrado del recolector ............................................................................... 960 53.4.2.1. Ejemplos ............................................................................................................961 53.5. Datos generados ................................................................................................................962 54 Desarrollando Pandora FMS ................................................................................................ 963 54.1. Arquitectura general del cdigo de Pandora FMS.............................................................964 54.1.1. Como hacer los links compatibles ............................................................................ 964 54.1.2. Puntos de entrada de ejecucin de Pandora Console................................................. 965 54.1.2.1. Instalacin.......................................................................................................... 965 54.1.2.2. Ejecucin Normal...............................................................................................965 54.1.2.3. Peticiones AJAX................................................................................................ 965 54.1.2.4. Consola movil.....................................................................................................966 54.1.2.5. API......................................................................................................................966 54.1.2.6. Casos especiales................................................................................................. 966 54.2. Funciones bsicas para obtener estado de agente, modulo y grupos ................................968 54.2.1. Criterio para Estados y codificacin en la base de datos .......................................... 968 54.2.2. Agentes ......................................................................................................................968 54.2.2.1. Funciones de Estado ..........................................................................................968 54.2.2.2. Funciones auxiliares ..........................................................................................969 54.2.3. Grupos .......................................................................................................................969 54.2.3.1. Funciones del servidor .......................................................................................969 54.2.3.2. Funciones de la consola .....................................................................................969 54.2.4. Mdulos .................................................................................................................... 970 54.2.5. Polticas .....................................................................................................................970 54.2.6. OS ..............................................................................................................................971 54.3. Desarrollo y ampliacin.....................................................................................................971 54.3.1. Colaborar con el proyecto Pandora FMS ..................................................................971 54.3.2. Subversion (SVN) .....................................................................................................971 54.3.3. Bugs / Fallos ..............................................................................................................971 54.3.4. Listas de correo ......................................................................................................... 972 54.4. Compilacin del agente de Windows desde el cdigo ..................................................... 972 54.4.1. Obtener la ltima versin del cdigo ........................................................................ 972
25

54.4.2. Compilacin desde Windows ....................................................................................972 54.4.3. Compilacin cruzada desde Linux ............................................................................972 54.4.3.1. Instale el compilador WinGW para Linux ........................................................ 972 54.4.3.2. Instalacin de las librerias e includes extras que necesita el agente .................972 54.4.3.3. Compilacin y linkado ...................................................................................... 973 54.5. API de Pandora FMS ........................................................................................................ 973 54.6. Formato de los ficheros de datos XML ............................................................................ 974 55 CLI de Pandora FMS ............................................................................................................ 976 55.1.1. Agentes.......................................................................................................................978 55.1.1.1. Create_agent.......................................................................................................978 55.1.1.2. Delete_agent.......................................................................................................979 55.1.1.3. Disable_group.................................................................................................... 979 55.1.1.4. Enable_group......................................................................................................979 55.1.1.5. Create_group...................................................................................................... 979 55.1.2. Modulos..................................................................................................................... 980 55.1.2.1. Create_data_module...........................................................................................980 55.1.2.2. Create_network_module.................................................................................... 980 55.1.2.3. Create_snmp_module.........................................................................................981 55.1.2.4. Create_plugin_module....................................................................................... 981 55.1.2.5. Delete_module....................................................................................................981 55.1.2.6. Data_module...................................................................................................... 982 55.1.2.7. Delete_data.........................................................................................................982 55.1.2.8. Update_module.................................................................................................. 982 55.1.3. Alertas........................................................................................................................ 983 55.1.3.1. Create_template_module....................................................................................983 55.1.3.2. Delete_template_module....................................................................................983 55.1.3.3. Create_template_action......................................................................................983 55.1.3.4. Delete_template_action......................................................................................984 55.1.3.5. Disable_alerts..................................................................................................... 984 55.1.3.6. Enable_alerts...................................................................................................... 984 55.1.3.7. Create_alert_template.........................................................................................984 55.1.4. Usuarios..................................................................................................................... 985 55.1.4.1. Create_user.........................................................................................................985 55.1.4.2. Delete_user.........................................................................................................986 55.1.4.3. Create_profile.....................................................................................................986 55.1.4.4. Delete_profile.....................................................................................................986 55.1.4.5. Disable_aecl....................................................................................................... 986 55.1.4.6. Enable_aecl........................................................................................................ 987 55.1.5. Events.........................................................................................................................987 55.1.5.1. Create_event.......................................................................................................987 55.1.5.2. Validate_event....................................................................................................987 55.1.6. Policies.......................................................................................................................988 55.1.6.1. Apply_policy......................................................................................................988 55.1.6.2. Delete_not_policy_modules...............................................................................988 55.1.6.3. Disable_policy_alerts......................................................................................... 988 55.2. Ayuda.................................................................................................................................989 56 Consideraciones en el desarrollo de plugins ......................................................................... 990 56.1. Introduccin.......................................................................................................................991 56.2. Diferencias en la implementacin y rendimiento ............................................................. 991 56.3. Tareas de reconocimiento ................................................................................................. 991
26

56.4. Plugin de servidor o plugin de agente? ........................................................................... 991 56.5. Estandarizacin en el desarrollo ....................................................................................... 992 56.5.1. Versionado de plugins y extensiones ........................................................................992 56.5.2. Usage y versin del plugin ........................................................................................992 57 Desarrollo de plugins del servidor ......................................................................................... 993 57.1. Caractersticas bsicas de plugin de servidor.................................................................... 994 57.2. Ejemplo desarrollo plugin de servidor...............................................................................994 57.3. Empaquetado en PSPZ ......................................................................................................996 57.3.1. El Plugin Zipfile (.pspz) del Servidor de Pandora .................................................... 996 57.3.2. Package File .............................................................................................................. 996 57.3.3. Estructura de plugin_definition.ini ........................................................................... 996 57.3.3.1. Cabecera/Definicin ..........................................................................................996 57.3.3.2. Definicin del Modulo / Componentes de Red .................................................997 57.3.4. Versin 2 ...................................................................................................................998 57.3.4.1. Ejemplo de definicin de un plugin v2 ............................................................. 998 58 Desarrollo de plugins de agente ............................................................................................ 999 58.1. Caractersticas bsicas de plugin de agente..................................................................... 1000 58.2. Ejemplo desarrollo plugin de agente............................................................................... 1000 58.3. Solucin de problemas.....................................................................................................1002 58.3.1. Revisa el documento pandora_agent.conf............................................................... 1002 58.3.2. Reinicia el pandora_agent_daemon......................................................................... 1002 58.3.3. Revisa los permisos del plugin.................................................................................1003 58.3.4. Valida la salida.........................................................................................................1003 58.3.5. Valida el XML resultante.........................................................................................1003 58.3.6. Modo Debug............................................................................................................ 1003 58.3.7. Foro.......................................................................................................................... 1004 59 Desarrollo de extensiones de la Consola ............................................................................. 1005 59.1. Tipos de Extensiones....................................................................................................... 1006 59.2. Directorio de Extensiones................................................................................................1006 59.3. Estructura de la extensin................................................................................................1006 59.4. API para Extensiones.......................................................................................................1007 59.4.1. extensions_add_operation_menu_option.................................................................1007 59.4.2. extensions_add_godmode_menu_option.................................................................1007 59.4.3. extensions_add_main_function................................................................................1007 59.4.4. extensions_add_godmode_function.........................................................................1007 59.4.5. extensions_add_login_function............................................................................... 1008 59.4.6. extensions_add_godmode_tab_agent.......................................................................1008 59.4.7. extensions_add_opemode_tab_agent.......................................................................1008 59.4.8. Father IDs en el men.............................................................................................. 1008 59.4.8.1. Operacin......................................................................................................... 1008 59.4.8.2. Administration..................................................................................................1008 59.5. Ejemplo............................................................................................................................1009 59.6. Cdigo fuente...................................................................................................................1010 59.7. Explicacin...................................................................................................................... 1012 59.7.1. Cdigo fuente de extensin......................................................................................1012 59.7.2. API calls functions...................................................................................................1013 59.7.3. Organizacin del Directorio.....................................................................................1014 59.7.4. Subdirectorio............................................................................................................1015

27

Introduccin

1INTRODUCCIN

28

QuesexactamentePandoraFMS?

1.1.QuesexactamentePandoraFMS?
Pandora FMS es un software de monitorizacin orientado a todo tipo de entornos. Generalizar "monitorizacin"esalgoarriesgado,yaqueexistencientosdeherramientas,cadaunaadaptadaa untipodeentorno:noeslomismomonitorizarimpresorasenunapeque aoficina,quemilesde interfacesdeswitchesytrficoderedenuncentrodedatosconmilesdeservidores. PandoraFMSest orientadoaservirentodotipoderolesyorganizaciones.Suobjetivo,esser suficientementeflexiblecomoparagestionarycontrolartodasuinfraestructura,yquenolehaga faltainvertirtiemponidineroenotrasherramientas. FMSsonacrnimosde"SistemadeMonitorizacinFlexible"(eningls).Supropsitoessercapaz demonitorizartantoherramientasysistemasde ltimageneracincomplejas,comoelementos antiguos,dedifcilaccesoypocacompatibilidad,enlamismaplataforma.

Pandora FMS dispone a da de hoy agentes para todos los sistemas operativos "modernos" del mercado,estosignifica:desdeWindowsNT4,aWindows2008.Pasandoporsupuestoportodoslos Unicesmodernos(AIX,Solaris,HPUX,BSD,Linux)entodotipodeversionesydistribuciones. Porsupuesto,PandoraFMSsepuedeemplearconxitonosloparamonitorizarsistemas,sinotodo tipodedispositivosdered,yaseausandoSNMP(versiones1,2,3),omediantesondasdeprotocolo TCP(snmp,ftp,dns,http,https,etc),ICMPoUDP.

1.2.Acercadeladocumentacin
Todaestapotenciayflexibilidad,tieneimplcitaciertadificultadinicial.Peseaquelamayoradela configuracinesgrfica,somosconscientesdequeaprenderamanejarPandoraFMSesaveces complicado. Por eso hemos distribuido el manual de forma que las m s de 800 pginas de documentacinestnrepartidasenvariosbloques: Primeraparte.EntendiendoPandoraFMS. Segundaparte.Instalacinyconfiguracin. Terceraparte.MonitorizacinconPandoraFMS. Cuartaparte.UsandoygestionandoPandoraFMS.
29

Acercadeladocumentacin

Quintaparte.Entornoscomplejosymximorendimiento. Sextaysptimaparte.Referenciasyapndicestcnicos. Ademsdeladocumentacinoficial,existeunforodeusuariosdondepuedespreguntar,eningls, espaolyjaponsaotrosusuarios.Sinecesitasformacinoficial,existeunprogramadeformacin oficialporpartedelaspersonasquedesarrollanPandoraFMS. ExistenunasguasrpidasparaayudaraconfigurarPandoraFMSeimplementarmonitorizaciones simplesconlaherramienta.Tambinexistenguasrpidasdelainstalacindeagentessoftware tantoparaLinuxcomoparaWindows. Existen vdeos sobre partes especficas de la configuracin y hay workshops peridicos programados.Puedesconsultartodaestainformacinennuestraweb,http://pandorafms.com

1.3.LaevolucindelproyectoPandoraFMS
PandoraFMSnacedeundesarrollopersonaldesuautororiginal,SanchoLerenaen2003.Desde entonceshaidoevolucionandosinparar,convirtindoseenunaherramientarobustaymaduraen losltimosaos. Aunqueinicialmenteera100%decdigoabierto,conlosaos,surgelanecesidaddeofreceruna versin orientada a grandes empresas: la versin Enterprise. Esta versin ofrece algunas caractersticasespecficasparaentornosquerequierenprocesargrandesvolmenesdeinformacin ypodertrabajarconmilesdedispositivos.LaempresaquefinanciaeldesarrollodePandoraFMS,y quecoordinatodoeltrabajodesoportees rticaSolucionesTecnolgicas,unaempresaespaola, fundada en 2005 por el creador de Pandora. La versin OpenSource, sin embargo, sigue evolucionandoysiendoplenamenteoperativayfuncionalparaelusoenproducci n,ydehecho,la mayoradelagentequenonecesitaunsoporteprofesionalodisponedepersonaldesobra,utiliza laversinOpenSource.

Adadehoy,PandoraFMS,sepuedeencontrarentrelosprimerospuestosdeSourceforge,tiene milesdedescargasyusuariossatisfechosentodoelmundo.Puedesencontrarmsinformacin
30

LaevolucindelproyectoPandoraFMS

sobrelaevolucinyelroadmapdelproyectoenhttp://pandorafms.com

1.4.UnvistazoalasfuncionalidadesdePandoraFMS

Auto descubrimiento. En local, los plugins "por defecto" de los agentes de Pandora permitendetectarlosdiscosduros,lasparticionesolasbasesdedatosenunservidorde basededatos,entreotrasmuchascosas. Autoexploracin.Enremoto,yusandolared,puededetectarsistemasactivos,catalogarlos segn su sistema operativo, y dado un perfil empezar a monitorizarlos. Incluso puede detectarlatopologadelaredy"pintar"unesquemaderedbasadoensuenrutamiento. Monitorizar.LosagentesdePandoraFMSsondelosmspoderososdelmercado.Pueden obtenerinformacindesdelaejecucindeuncomando,hastalallamadaamsbajonivelde laAPI deWindows:eventos,logs, datos numricos,estadosdeunproceso,consumode memoriaodeCPU.Pandoradisponedeunabibliotecademonitorespordefecto,perolo importantedePandoraFMSeslofcilqueesaadirycrearnuevosmonitores. Controlar. Los propios agentes pueden levantar servicios, borrar ficheros temporales o ejecutar procesos. Tambinpuede hacerlo dela consola, ejecutando remotamente tareas como parar o arrancar servicios. Incluso puede programar tareas para su ejecuci n peridica. Adems, puede usar Pandora FMS para acceder remotamente a mquinas windows (va VNC) o a sistemas de redo Unix mediante Telnet oSSH, todo desde un interfazweb. Alertarynotificar.Tanimportantecomodetectarunfalloesavisarde l.ConPandora, tieneunavariedadcasiinfinitadeformasyformatosdenotificaci n,incluyendo:escalados, correlacindealertasyproteccindecascadadeeventos. Visualizaryanalizar.Monitorizarnosloesrecibiruntrapovisualizarunservicioca do, espresentarinformesdetendencias,grficasresumendedatoscorreladosdurantemeses, generarportalesdeusuarios,delegarinformesatercerosodefinirsuspropiasgr ficasy tablas.PandoraincorporatodoellodesdelainterfazWEB. Inventariar.AlcontrarioqueotrassolucionesdondeelconceptodeCMDBeslabase,para Pandoraesopcional.Elinventarioesflexibleydinmico(sepuedeautodescubrir,hacer remotamente,etc).Puedenotificardecambios(p.e:softwaredesinstaladoenunequipo)o simplementeserusadoparaelaborarlistados.

31

UnvistazoalasfuncionalidadesdePandoraFMS

2INTRODUCCINALAMONITORIZACIN

32

Introduccinalamonitorizacin

Todoslosmanualestcnicosdesoftwareempiezanahablarrpidamentedeconfiguracin,ficheros detexto,basesdedatos,protocolos,etc.Muchasvecesaprendemosaconfigurarunaherramientaa bajosnivelesperonosomosconscientesdeparaqusirveesaherramienta,oqupuedehaceryen quecontextos.Elpropsitodeesteapartadoesexplicardeformabreveperosistem ticala"teora" quehaydetrsdelamonitorizacin,conunaaproximacinindependientedelsoftwarequesevaya ausarparamonitorizar.

2.1.Tiposdemonitorizacin
Cuandohablamosde"sabercomoest"undeterminadoelemento,seaesteunservidor,unabasede datos,unelementoderedounanevera,podemosplantearnosvariascuestiones. 1. Cmoobtenemoslainformacin?,tenemosalgoahqueseencargadeello,otenemosque "iryvenir"preguntando?. 2. Nosinteresaestarpreguntandoconstantementeoesperaraque"ocurraalgo"? 3. Qu tipo de informacin me da?. Es algo que pueda dibujar en una grfica y ver su progresin?. Estas preguntas responden a tres cuestiones clave que condicionan toda la forma de plantear nuestro"modelo"demonitorizacin. Laprimerapreguntarespondeasinosotrosvamosautilizarunamonitorizaci nbasadaenagentes, queseejecutandentrodeldispositivoquevamosacontrolaroporelcontrariotodosehacede formaexterna,utilizandounaconexindered.Existensistemasdemonitorizacinquefuncionan deunauotraforma,ydispositivosqueslosepuedenmonitorizardeunaformaynodelaotra. PandoraFMSsoportatodoslosmodelos. Lasegundapreguntarespondeasilamonitorizacinessncrona(cadaXsegundossepregunta, independientemente que la informacin haya cambiado o no) o bien asncrona (slo me llega informacincuandoalgorelevantehaocurrido).Siutilizomonitorizaci nsncronacon10millones deelementosycada5minutosrecojodatos,lacargaserconsiderable,sinembargosilohagocada 50minutos,ser masmanejable,perosiocurrealgopuedotardar50minutosenenterarme.Si utilizomonitorizacinasncrona(p.e:contrapsSNMPoconlogs),ahorromuchosrecursos,perono podr trazargrficasnihacerhistricos,salvodelossucesosocurridos.Muchasherramientasse basan slo en uno de los modelos, a veces se conocen como herramientas de "rendimiento" o "capacity",yherramientasbasadasenmodelodegestinde"eventos"ymuchasvecesnosirvenpara ambascosas.PandoraFMSsoportaambasaproximaciones. Latercerapregunta,hacereferenciaaqueavecesnosinteresaunacadenadetexto(unevento descriptivo),avecesunnmeroconcomaflotante(parapoderpintargr ficas),osimplementeun estado(cado,vivo).Podertrabajarcondiferentestiposdedatosaportam sflexibilidad.Pandora FMSsoportacualquiertipodedatos. Estos tres "paradigmas" condicionan mucho su entorno y la herramienta que debe elegir para monitorizarlo.Seaconscientedelainformacinquenecesitaypienseculeslamejorformade obtenerla.Planifiquequelementosdeinformacindisponeycomopretendemonitorizarlos.

2.2.Monitorizacinremota
Cuandohablamosdemonitorizacinremota,nosreferimosaqueelservidordePandoraFMSes quien sondea (hace "polling"), de forma regular (sncronamente) a los dispositivos que desea monitorizar.Cuandohablamosdeestemodelo,nohacemosreferenciaalamonitorizaci n"Local"o
33

Monitorizacinremota

basadaenagentesinstaladossobrelosdispositivosquedeseamosobservar.

Generalmente,cuandohacemosunamonitorizacinremotasehaceparadospropsitosdiferentes: Comprobarqueestnvivos(p.e:interfaz,osistemaactivo). Obtenerunvalornumrico(p.e:medireltrficoderedoelnmerodeconexionesactivas). Estamonitorizacincuandoessncrona,siempreserealizaenelmismosentido:desdeelservidor demonitorizacinhaciaelelementomonitorizado. Avecespuedeinteresarnoslocontrario,queeldispositivo"nosavise"cuandoalgoocurre.Estoes monitorizacinasncrona,yenelcasodemonitorizacinremotasehablageneralmentede"traps SNMP". LamonitorizacinsncronasesuelerealizarusandoelprotocoloSNMPqueeselm sextendidoen equipamientodered.NoobstantetambinsepuedehacermedianteWMI,unprotocolosimilar, peropropietariodeMicrosoft. Ambosprotocolosfuncionandeformaparecida,bsicamenteunservidor"pregunta"porlaredpara unelementoconcreto de configuracin del"agenteSNMP" o"ServicioWMI"queescuchaenel dispositivo.EseelementoconcretoenSNMPsellamaOID,yenWMIseidentificamedianteuna queryWQL.Puedeserlamemorialibredelsistema,elndeconexionesdelrouteroeltr ficoen unainterfazdeterminada. Sisumonitorizacinestorientadasobretodoaentornosdered, necesitaconocerSNMPendetalle yser lapartequemsleintereseusardesuherramientademonitorizaci n.Lamonitorizacin asncrona mediante traps SNMP tambin es vital. Necesitar adems de una herramienta de monitorizacin,unexplorador'externo'dedispositivosSNMP,accesoalascoleccionesdeMIBSde losfabricantesdesusdispositivosdered(quesoncomobibliotecasdeOID's)yporsupuesto,mucha pacienciaparainvestigar,yaquecadadispositivotienegeneralmentesupropiacolecci ndeOID'sy sloleinteresarnalgunoselementosdentrodelosmilesquedisponecadadispositivo. Sisumonitorizacinest orientadaaservidoreswindowsynoleinteresainstalaragentesenlas mquinas,lamonitorizacinremotaWMIestambinmuyapropiadaypotente.LainterfazWMIes an ms potente (y mejor organizada que la de SNMP), mediante WMI podr obtener prcticamentecualquierdato,estadooeventodesusservidoresWindows. LossistemasUnixyWindowstambinpuedensersondeadosmedianteSNMP,perolainformacin que devuelven es escasa, adems necesitar activar y configurar los agentes SNMP del sistema operativo, cosa a que veces es mucho ms complicado que simplemente instalar un agente de monitorizacindePandoraFMS.
34

Monitorizacinremota

FinalmentesiemprepodrmonitorizarelementosderedmedianteelusodepruebasTCPoICMP.El ICMPseusabsicamenteparadoscosas: Sabersiunsistemaresponde(ping). Sabereltiempodelatencia(respuesta)deesedispositivo(enmilisegundos). Mediante las pruebas TCP, se puede probar por ejemplo que un servidor WEB responde adecuadamente,oqueunservidordecorreo(SMTP)envabienloscorreos.Estetipodepruebasno busca simplemente que el servicio "abra el puerto" sino que responda como debe, es decir, el comandodeenviarcorreorecibaunOKolarespuestadelservidorWEBsea"200OK"(respuesta vlidaenprotocoloHTTP). Existeunaseriedeplugins"pordefecto"parachequeosTCP,peropuedeimplementarsef cilmente suspropioschequeos,adaptandosuspropiosscriptsodesarrollandonuevos.Laintegraci ncon PandoraFMSnorequiere"API",estructurascomplejasolibreraspropietarias. La monitorizacin transaccional web, aunque es monitorizacin remota, recibe un captulo especficoparaelloporsuimportancia.

2.3.Monitorizacinlocal(conagentes)
Cuandosehabladesistemasyaplicaciones,sindudalamejorformadeobtenerinformaci nes directamente,sobreelsistema.Estoes,ejecutandocomandos,o"preguntando"alasfuentesde datosdelsistema,desdelapropiamaquinaquesequieremonitorizar.Estosuponequehayque ejecutaralgntipodecomando, scriptohaceralguna forma de consulta sobreelsistemaola aplicacin.ParaellousamoselagentedemonitorizacindePandora,queesunsoftwareespecfico, parahaceresaspequeastareasdemonitorizacin. LosagentesslosepuedeninstalarsobresistemasoperativosUnixyWindows.Nosepuedeinstalar unagentesobreundispositivocisco,p.e.EnlanomenclaturaqueusaPandoraFMS,sehablade agente para referirse a la "entidad" contenedora de informacin, por ello hablamos de "agente software"comoalapiezadesoftwarequeseinstalaenunsistemaparaextraerinformaci ny reportarla al servidor de Pandora FMS. El agente software se ejecuta constantemente sobre el sistema(comoservicio)yreportainformacincadaXtiempo.

35

Monitorizacinlocal(conagentes)

Losagentes,ademsdeobtenerinformacinmediantecomandos,permitenhacermscosas,como porejemplo,obtenerinformacindeinventario.Tambinsepuedenconfigurarparaque"acten" encasodeproblemaofallo,interactuandoautomticamenteconelsistema,borrandoalgnfichero temporaloejecutandoalgncomando. Paraobtenerinformacin precisa y especfica deloquenosinteresamuchasvecestendremosque consultar la documentacin de la aplicacin que queremos monitorizar, ya que aunque dispongamosdemonitores"genricos",puedequeloquebuscamosnoseatantrivial. En Windows existe una variedad casi infinita de acceso a la informaci n: WMI, Perfcounters, Eventlog,logsdelsistema,registro,comandos,scriptsdepowershell,APIdeNT,etc.Dehechola arquitecturadeMicrosoftesdelasmsfciles,potentesymejordocumentadasalahoradeobtener informacindelsistema.EnsistemasUnix/Linuxlacapacidaddelagentesoftwareparaejecutar cualquiercomandonospermiteaprovechartodalapotenciadelashell.

2.4.Procedimientosenlamonitorizacin
Hapensadoparaquequiererealmentemonitorizar?,quierodecir,unavezquetengadatossobre susservidores:cundosecaenoquconsumotienen,hapensadoquhar?.Quizssiprimerose planteaqueslocrticoseahorreunmontndetiempo"cacharreando"einvestigandoencosasque luegonoserntilesensudaada.

Dediquecincominutosaresponderseaalgunapreguntas.Ensucaso,cu lcreequedescribemejor sunecesidaddemonitorizacin?. Sirveparaevitarprdidas>Disponibilidad. Analizardegradaciones>Rendimiento. Evaluarcrecimientos>Planificacindecapacidad. Encadaunodeloscasostendrqueenfocarseenunosaspectosconcretos. Disponibilidad, el primer caso. Le interesa sobre todo la monitorizaci n basada en eventos, y probablementeconmonitorizacinremotaleseasuficiente,esmsrpidadedesplegarypodr
36

Procedimientosenlamonitorizacin

tenerresultadosrelativamentebreves.LosinformesdeSLAsonlosquebusca. Rendimiento, el segundo caso. Lo suyo son las grficas y los nmeros, puede obtener esa informacin tanto con agentes como remotamente, pero probablemente necesite agentes para obtener informacin pormenorizada de sus sistemas. Los informes agrupados y las grficas combinadassonloquemsleinteresa. Planificacindecapacidad,eltercercaso.Muchomasespecializado,necesitaobtenerdatos,como enelsegundocaso,perojugarconellos,conmonitoresdetipopredictivoeinformesdeproyecci n, muyespecficos.Estableceralertastempranasleserdemuchaayuda,ynecesitarconocerbienlos conceptosdeestadosWARNINGyCRITICAL,adem sdeelaborarunaseriedepolticasdegestin deeventosquelepermitapreverelproblemaantesdequesuceda,sindudaelcasom scomplejoe interesante. Ahoraqueyasabequemodelovaaseguir,yasehaplanteadoqu harcuandoelsistemalediga queXserviciosehacado?,opeoran,qusucedercuandolacapacidaddesusservidoresllegue allmiteelprximoviernes?. Necesitapensarenprocedimientosdeactuacin.

2.5.Procedimientosdeactuacin
Llamamosprocedimientosdeactuacinaalgoquenopuedehacerconningunaherramienta(por ahora),queesbsicamentepensaryplanificarcmovaanotificarlascosasqueocurran.Paraello habrquetenerencuentavariosfactores: Criticidaddelsuceso:sercapazdediscriminaralgohabitual,dealgopocofrecuenteoalgo crtico. Formadenotificar:email,smsoporqu no,uncalambrazoaloperadorparaquenose duerma(nosotrosannolohemosimplementado,peronoseradifcil...). Escalado:consistebsicamenteenqueprimeronotificaaalguien,sinosearregla,notifica adems a otra persona, y si an no se ha solucionado, llama a un tercero, que probablementeseaalguienaquienlosanteriorestenganalgoderespeto. Loidealseraqueantesdeconfigurarnada,tuvieraenlacabezaestosconceptos.Mejoran,rmese depacienciayunaherramientadediseovisual(visio,opendraw...)ydibujesuselementoscrticos, ypinteconflechascomoseobtienelainformaci nyaquinsenotificar oquesehar conesa informacin.

37

Procedimientosdeactuacin

Siprimerosecentraenlomascrtico,yatieneelpuntodepartidasobre queslomsimportante parasuorganizacin.Unavezquesepaqueslomscrtico,yadescubrirel cmomonitorizarlo, ymientrastantopensar enelquineselresponsabledelosproblemasenesossistemasyc mo notificarlo.

2.6.Modelosdesupervisin
Por supervisin entendemos el hecho de que un sistema de monitorizaci n esta diseado para reportarinformacinaunsistemaautomtico,peroque,dehecho,esvigiladoporunserhumano deformadirectaoindirecta.Estapersona,amenudorecibeelnombrede"operador",queesla persona que "mira" la pantalla o recibe los eventos de cualquier otra manera, que puede ser: medianteundispositivo"smartphone"osimilar,omediantecorreosoregistroslogrecogidoscon otra herramienta. El sistema no importa, lo importante es el concepto de que hay alguien "Pendiente"delsistema.

Porotroladoexisteunaseriedepersonas,quegeneralmentepodemosdenominar"administradores de sistemas" o "personal de infraestructura" que son los que, cuando algo sucede, reciben una llamadadeloperador"oye,tenemosunproblema",odirectamenteunanotificaci nautomticapor partedelsistemaavisndolesdealgo,esdecir,unSMS,ouncorreo,enlamayoradeloscasos.

38

Modelosdesupervisin

Aquyavemosunagrandiferencia: El modelo de supervisin directa implica que hay una persona, o varias, mirando constantementeelsistema,ysisucedealgocrticolover enelacto.Probablementepuede verpequeoscambios,nocrticos,ytenermuchamsflexibilidad.Noesnecesariodefinir "notificaciones"(alertasenPandora) paracadacasoposible,bastaconmirarloseventos (unaespeciedevisordesucesos,sobrecambiosdeestado),parahacerseunaideade"qu se cuece"enelsistemaenesemomento.Sepuedendefinirmuchaspantallas,yadem sdefinir alertasparaapoyaresasupervisin.Engrandesentornosseusaestemodelo,yaquepor muchoquedefinamosunapolticadealertas,nosepuedenuncagarantizarunasupervisi n "autnomayperfecta". El modelodesupervisinindirecta,implicaquenohayunapersonapermanentemente mirando la pantalla, as pues es necesario definir de antemano que notificaciones automticas(alertas)vaatenerelsistema,yaqueloseventos,lasgr ficasylosmapasno losmirarnadie.Estesistemaestabiencuandotenemospocosdispositivos,otenemosmuy bienidentificadoloqueescrticoycomoabordarelproblema(solucinynotificacin). Paratrabajarenequipo,cuandointervienenoperadores,administradoresypersonaldetercernivel son muy tiles las herramientas de las que dispone Pandora FMS como: marcado de eventos, creacindeincidencias,escaladodenotificaciones,mensajerainterna,tablndeavisosychatentre usuariosdePandoraFMS.

2.7.Yahoraqu?
LossiguientescaptulosyasonparahablarexclusivamentedePandoraFMS.Hastaahorahemos habladodecosasgeneralesqueesimportantequesepaantesdeseguirexplorandoPandoraFMS. Probablementeyasepamuchascosas,yhayaprobadootrosprogramasdemonitorizaci n,quizs hayaodoquetalocualaplicacinsemonitorizadeunadeterminadamaneraentodaspartesyque suformaeslamejor. Puede,peroennuestraexperiencia,cadaclientehacelascosasdeunamanera,ypormuchoque sepamos de monitorizacin, no creemos que sepamos ms de como tiene montada su infraestructuraqueusted.Monitorizarcosassencillasesfcil,lodifcilesadaptarlamonitorizacin asunegociosinadaptarsunegocioalamonitorizaci n,esonoestrivial.Tienemsde800pginas pordelanteparadescubrirlamejormanerademonitorizarsuorganizaci nconPandoraFMS,todo unreto.

39

Yahoraqu?

3ARQUITECTURADEPANDORAFMS

40

ArquitecturadePandoraFMS

Estecaptulodescribedeformageneral,loscomponentesdePandora,surelacinentreellosycmo utilizarlaarquitecturadePandoraFMSparaabordardiferentesretosenfunciondelatopolog ade suinfraestructura. PandoraFMSesextremadamentemodularydescentralizado.Elcomponentem svitalydondese almacenatodoeslabasededatos(actualmenteslosesoportaensistemasproduccinMySQL, peroPostgreSQLyOracleestnsoportadostambin).TodosloscomponentesdePandoraFMSse puedenreplicaryfuncionarenunentornodeHApuro(Activo/Pasivo)oenunentornoclusterizado (Activo/Activoconbalanceodecarga).Tambi nsedescribenmtodosdedisponerdeunbackend SQLenaltadisponibilidad.

EsquemadelaarquitecturaglobaldePandoraFMS PandoraFMSconstadediversoselementos,entreellos,losqueseencarganderecolectaryprocesar losdatossonlosservidores.Losservidores,asuvez,introducenlosdatosrecolectadosyprocesados enlabasededatos.Laconsolaeslaparteencargadademostrarlosdatospresentesenlabasede datosydeinteractuarconelusuariofinal.LosAgentesSoftwaresonaplicacionesquecorrenenlos sistemasmonitorizados(servidoresgeneralmente),yrecolectanlainformaci nparaenvirselaalos servidoresdePandoraFMS.

3.1.ServidoresdePandoraFMS
Los servidores de Pandora FMS son los elementos encargados de realizar las comprobaciones existentes. Ellos las verifican y cambian el estado de las mismas en funci n de los resultados obtenidos.Tambinsonlosencargadosdedispararlasalertasqueseestablezcanparacontrolarel estadodelosdatos. ElservidordedatosdePandoraFMSpuedetrabajarconaltadisponibilidady/obalanceodecarga. Enunaarquitecturamuygrande,sepuedenusarvariosservidoresdePandoraFMSalavez,para podermanejargrandesvolmenesdeinformacindistribuidaporzonasgeogrficasofuncionales.

41

ServidoresdePandoraFMS

LosservidoresdePandoraFMSestnsiempreenfuncionamientoyverificanpermanentementesi algnelementotienealgnproblemaysiest definidocomoalerta.Siocurreesto, steejecutala accindefinidaenlaalarma,talcomoenviarunSMS,uncorreoelectr nico,oactivarlaejecucin deunscript. Pueden existir servidores simultneos, uno de ellos es el servidor principal y el resto de los servidoressonservidoresesclavos.Aunqueexistaunservidoresclavoyunomaestro,todostrabajan simultneamente.Ladiferenciaentreambosesquecuandounservidordelmismotiposecae(p.e. Unnetworkserver)elservidormaestroseencargadeprocesartodoslosdatosqueten aasociadoel servidorquesehacado. Elservidorquerecibeelficherodedatosdelagente,oqueprocesalainformaci n(siestaesdetipo remoto)eselquedisparalasalertasasociadasaesosdatosqueacabadeprocesar. Pandora FMS gestiona automticamente el estado de cada servidor, su nivel de carga y otros parmetros.Elusuariopuedemonitorizarelestadodecadaservidor,atravsdelaseccinde estadodeservidoresdelaconsolaweb. EnPandoraFMS existen untotalde once servidoresdiferentes,especializados,encargadosdelas tareasantesmencionadas.Losdiezservidoresestanintegradosenuna nicaaplicacin,llamadade formagenrica"PandoraServer",queesunaaplicacinmultihilo(multiproceso)queejecutaen subprocesos(hilos)diferentescadaunodelasinstanciasoservidoresespecializadosdePandora FMS.AcontinuacinsedescribecadaunodelosservidoresespecializadosdePandoraFMS:

3.1.1.Servidordedatos
ProcesalainformacinenviadaporlosagentesSoftware.LosagentesSoftwareenvanlosdatos XMLalservidorpormediodediferentesformasdeenvo(FTP,SSH, oTentacle) yel servidor verificaperidicamentesitienenuevosficherosdedatosesperandoaserprocesados.Esteproceso utilizaundirectoriodeldiscocomo"cola"deelementosaprocesar. Sepuedeninstalardiferentesservidoresdedatosendiferentessistemasoenelmismoanfitri n (queserndiferentesservidoresvirtuales).Variosservidorespuedentrabajarjuntosparaentornos muy extensos y que necesiten aprovechar mejor el hardware (p.e. en casos de entornos con multiplesCPU). ElservidordedatoscomoelrestodeservidoresaccedealabasededatosdePandoraFMS,quese comparteconelservidorWeb,yquealmacenalospaquetesdedatosprocesados.Elservidorse ejecutacomodemoniooservicio,yprocesalospaquetesalmacenadosensusistemadeficheros.A pesardesusencillezyescasautilizacinderecursos,elservidordedatosesunodeloselementos crticosdelsistema,yaqueprocesatodalainformacindelosagentesygeneraalertasyeventosdel sistemaconformeaesosdatos.Elservidordedatoss lotrabajaconlosdatosquelleganenXML desdelosagentessoftwareynorealizaningntipodecomprobacinremota.

3.1.2.Servidordered
Ejecuta tareas de monitorizacin remota a travs de la red: pruebas ICMP (Ping, tiempos de latencia),peticionesTCPypeticionesSNMP.Cuandoseasignaunagenteaunservidor,seest asignandoaunservidordered,noaunservidordedatos,as queesmuyimportantequelas mquinasqueejecutanlosservidoresderedtenganvisibilidadderedparapoderejecutarlas tareasdemonitorizacionderedasignadasalosmismos.Esdecir,quesivaahacerpingsasistemas deunareddeterminada,elservidorderedpuedallegaraesared: Porejemplo,sisecreaunmduloparahacerunacomprobacindepinga192.168.1.1yseasigna esteagente/mduloaunservidorenunared192.168.2.0/24sinaccesoalared192.168.1.0/24 siempredevolverDOWNyaquenopuedecontactarconella.
42

ServidoresdePandoraFMS

3.1.3.ServidordeSNMP(tambinconocidacomoConsoladeTrapsSNMP)
Este servidor utiliza el demonio standard del sistema de recoleccion de traps, snmptrapd. Este demoniorecibetrapsSNMPyelservidorSNMPdePandoraFMSlosprocesayalmacenaenlabase dedatos.Cuandolosprocesayanaliza,tambi npuedelanzarlasalertasasignadasenlaconsola SNMPdelaconsoladePandoraFMS.

3.1.4.ServidordeWMI
WMIesunstandarddeMicrosoftparaobtenerinformacindelsistemaoperativoyaplicacionesde entornos Microsoft Windows. Pandora FMS tiene un servidor dedicado para realizar llamadas nativasWMIdeformacentralizada.Con lsepuedenrecogerdatosdesistemasWindowsdeforma remota,sinagente.

3.1.5.Servidordereconocimiento
Utilizado para explorar regularmente la red y detectar nuevos sistemas en funcionamiento. El servidor recon tambin puede aplicar una plantilla de monitorizacin para aquellos sistemas detectados recientemente y aplicar automticamente los mdulos por defecto definidos en esa plantillaparaquesepuedanutilizarparamonitorizarinmediatamenteelnuevosistema.Utilizando lasaplicacionesdesistemanmap,xprobeytracerouteescapazadem sdeidentificarsistemaspor suSistemaOperativo,enfuncindelospuertosquetengaabiertosyestablecerlatopolog adered enfunciondelossistemasqueyaconoce.

3.1.6.Servidordecomplementos(Plugins)
Realizacomprobacionescomplejasdeusuariodesarrolladasencualquierlenguajeeintegradosenla interfazdePandoraFMSygestionadosdeformacentralizada.Estopermiteaunusuarioavanzado definirsuspropiaspruebascomplejas,desarrolladasporelmismo,eintegrarlasenlaaplicaci n paraquesepuedanusardeformacmodaycentralizadadesdePandoraFMS.

43

ServidoresdePandoraFMS

3.1.7.Servidordeprediccin
Es un pequeo componente de Inteligencia Artificial que implementa de forma estad stica una previsindedatosenbaseadatospasados conunaprofundidaddehasta30d asencuatro referenciastemporalesyquepermitepredecirlosvaloresdeundatoconunintervalode1015 minutos,yconocersiundatoenelmomentoactualesanmalorespectoasuhistorial.Bsicamente ustedtendrqueconstruirunabaselinedinmicaconunperfilsemanal.

3.1.8.ServidordepruebasWEB(Goliat)
(SloversinEnterprise) El servidor de pruebas WEB sirve para hacer pruebas de carga. Realiza comprobaciones WEB sintticas,estoes,comprobacioneswebcompletas,desdeelprocesodeidentificaci ndeunusuario, pasodeparmetrosporformulario,comprobacindecontenidos,navegacinpormens,etc.Se utilizaparapruebasdecomprobacin(funciona,nofunciona)yparaobtenertiemposdelatenciade experienciacompletadenavegacin(incluyendorecursosasociadosalapgina(imgenes,textos completos,etc).

3.1.9.Servidordeexportacin
(SloversinEnterprise) El servidor de exportacin de Pandora FMS permite exportar los datos de un dispositivo monitorizadodeunainstalacindePandoraFMSaotra,yas tenerreplicadoslosdatos.Estoes especialmentetilcuandosetieneunagrandespliegue,convariasinstalacionesdePandoraFMS,y sequieretenerciertainformacincrticacentralizadaenunosolo.

3.1.10.Servidordeinventario
(SloversinEnterprise) Elservidordeinventarioobtieneyvisualizainformacindeinventariodelossistemas:Software instalado,parchesinstalados,chipsdememoriaenelhardware,discosduros,servicioscorriendoen elsistema, etc. Puedeobtener esta informacintantodeformaremota comodeforma local,a travsdelosAgentesSoftware.

3.1.11.ServidorderedenterpriseSNMPeICMP
(SloversinEnterprise) Sondosservidoresadicionales,slodelaversinenterprisequeutilizanestrategiasavanzadaspara procesarpeticionesICMP(ping)ySNMP(polling)deformaqueproducenunrendimientomuy superioralaversionopensource,acambiodeunosrequisitosbastantedelicados(especialmente SNMP),yaquetrabajanconOID'spreviamentevalidadasporelservidoropen. UtilizanherramientasbinariasdebajonivelqueaccederalsistemaTCP/IPdelservidordeuna formamuchomseficiente,realizandosondeosenbloque.

3.2.ConsolawebdePandoraFMS
EslainterfazdeusuariodePandoraFMS.Estaconsoladeadministraci nyoperacinpermitea diferentesusuarios,condiferentesprivilegios,controlarelestadodelosagentes,verinformaci n estadstica, generar grficas y tablas de datos as como gestionar incidencias con su sistema integrado.Tambinescapazdegenerarinformesydefinirdeformacentralizadanuevosm dulos,
44

ConsolawebdePandoraFMS

agentes,alertasycrearotrosusuariosyperfiles. LaconsolawebestprogramadaenPHPynorequiereporpartedelusuariofinallainstalaci nde ningnsoftwareadicional:niJava,niActiveX.Noobstante,lasgr ficastambinestndisponibles enFLASHyparapoderverlasenesteformatoser necesarioelcomplementodeFLASHparasu navegador;puede accederse desdecualquier plataforma moderna quesoporte HTMLy CSS. Se recomiendaFirefox2.xoIE7.x.LaexperienciadeusuarioconnavegadorescomoIE6esmuypobre, ysepierdenlamayoradelasventajasimplementadasenlaConsolaWEBdePandoraFMS3.0 Laconsolawebasuvez,puedeejecutarseenmltiplesservidores,estoes,podemostenertantas consolaswebcomoqueramos,tantopararepartircargacomoparafacilitarelaccesoporproblemas logsticos (grandes redes, numerosos grupos de usuarios diferentes, diferencias geogr ficas, diferenciasadministrativas,etc.).Su nicorequisitoespoderaccederalcontenedordedatosdonde PandoraFMSalmacenatodo:labasededatosyenelcasodelaversi nEnterprise,accederal repositoriodeconfiguracionesdelosagentesdeformasincronizada(viaNFS).

3.3.BasededatosdePandoraFMS
PandoraFMSutilizaunabasededatosMySQL.PandoraFMSmantieneunabasededatosasncrona con todos los datos recibidos, realizando una cohesin temporal de todo lo que recibe y normalizandotodoslosdatosdelasdiversasfuentesorigen.Cadam dulodedatosdecadaagente generaunaentradadedatosparacadapaquete,loquesuponequeunsistemarealdeproducci n puedetenerdelordendediezmillonesdedatos,otomosdeinformacin.

LabasededatoseselncleodePandoraFMS EstosdatossegestionanautomticamentedesdePandoraFMS,llevandoacabounmantenimiento peridicoyautomticodelabasededatos,estopermitequePandoraFMSnorequieraning ntipo deadministracindebasededatosniprocesomanualasistidoporunoperadoroadministrador.


45

BasededatosdePandoraFMS

Estoserealizapormediodeunapurgaperidicadelosdatospasadaunafecha(90dasdeforma predeterminada), as como una compactacin de los datos que tienen ms de un nmero determinadoyconfigurablededasdeantigedad(30dasdeformapredeterminada).

3.4.AgentesSoftwaredePandoraFMS
Cuando nos referimos a un agente en Pandora FMS, podemos hacer referencia a tres piezas fundamentalesenlarecoleccindedatos: Agente AgenteSoftware(Aplicacinsoftware,PandoraFMSAgent,quecorreenunamquina). AgenteFsicos(hardware)

3.4.1.Agente
El agente de Pandora FMS, "a secas" es simplemente un elemento organizativo creado con la consolawebdePandoraFMSyqueestasociadoaungrupodemdulos(oelementosindividuales de monitorizacin). Adems, este agente puede tener (opcionalmente) asociadas una o m s direccinesIP. Elagentepuedetenerasociadosmdulosremotos,obtenidosatravsdeservidoresdeRed,WMI, Plugin,etc. Comprobacionesdesilamquinaestconectadaoenlnea(PING) Comprobacindesiunpuertocualquieraestabiertoocerrado Comprobacindesiunawebhospedadaenelequipo,enunpuertoespecfico,responde correctamente. Comprobacin de si una web hospedada en el equipo, en un puerto especfico, tiene el contenidodeseado. ComprobacioneshardwareatravsdeSNMP(conociendolasMIB). ComprobacindeltiempodelatenciaentreelequipoylosservidoresdePandoraFMS. Elagentetambinpuedetenerasociadosmdulosdetipo"local",quesonlosqueestndefinidosen laconfiguracindelagenteSoftwareyquetambinsedebendefinirenel"Agente"delaconsola WEB.Cuandounpaquetededatosllegaporprimeravezdesdeelagente,siesteest enmodo "autoaprendizaje"(vieneaspordefecto),secreanestosmodulos"locales"deformaautom ticaen laconsolaWEB. Portanto,unAgentepuedecontenermdulosdetiporemotoodetipolocal.Losm dulosdetipo remotosonejecutadosporaquellosservidoresqueobtieneninformaci ndeformaremota(incluido elprediction),ylosmdulosdetipolocalsonobtenidosporelservidordedatos(DataServer).

3.4.2.AgenteSoftware
Unagentesoftware,instaladoenunamquinaremota,diferenteporcompletoaladelservidorola consolaWEBdePandora.Elagentesoftwareobtieneinformaci n"local"delamquinadondese estejecutando,mediantecomandosqueobtieneninformacindelsistema. Los agentes software de Pandora FMS estn basados en lenguajes nativos de cada plataforma:ShellScriptingparaUnixqueincluyeGNU/Linux,Solaris,AIX,HPUXyBSD,as como IPSOdeNokia(sistemaoperativodeloscortafuegosCheckPoint). LosagentesdePandoraFMSsepuedendesarrollarprcticamenteencualquierlenguaje,siempre quecumplalaAPIdeintercambiodedatosconelservidordedatosPandoraFMS(definidoporun XMLdeintercambiodedatos).LosagentesWindowssedesarrollanenunentornolibreparaC++
46

AgentesSoftwaredePandoraFMS

(Mingw)yempleanlamismainterfazymodularidadquelosagentesUNIX,aunqueconbastantes particularidadespropias. Ilustracin:RecoleccindedatosenPandoraFMS

Estosscriptsestnconstruidosapartirdesubmdulosquerecolectanunaporcindeinformacin cadauno. Cadaagenterecolectavariasporcionesdeinformacin.staseorganizaenunnicopaqueteyse almacenaenunsoloficheroquellamaremospaquetededatos. El proceso de copia del paquete de datos del agente al servidor se realiza de forma regular (Sncrona),esdecir,cadaxtiempodefinidoenelagentequesepuedemodificarparanollenar labasededatosconinformacinsuperfluaoparanocargarlaredniresultarperjudicialparael rendimientodelsistema. El intervalo predeterminado es de 300 (segundos), lo que equivale a cinco minutos. Valores menoresde100(segundos)noserecomiendanyaquepuedeafectaralrendimientodelsistema anfitrinademsdecargarexcesivamentelabasededatosyelsistemadeprocesocentral. Hay que recordar que Pandora FMS no es un sistema de tiempo real , es un sistema de monitorizacingeneraldeaplicacionesysistemasenentornoscuyacriticidadnoseaeltiemporeal. NoobstantesisepuedeadaptarPandoraFMSparaqueopereenentornosdetiemposderespuesta entornoa35segundos.

47

AgentesSoftwaredePandoraFMS

Ilustracin:Esquemalgicodeunagente/agentefisico

LastransferenciasdepaquetessehacenatravsdelprotocoloTentacle,sibiensepuedentransferir usandoSSHoFTP. TantoconSSHcomoconTentaclesepuedehacerqueelprocesoseatotalmenteseguroyaqueno viajan contraseas por la red ni datos confidenciales sin cifrar, se asegura la confidencialidad, integridadyautenticacindelasconexionesentreelagenteyelservidor.Enladocumentacin sobrelainstalacinyconfiguracindelosAgentesyelServidorsedetallaelprocesodegeneracin declavesparapoderhacerlatransferenciaSCP(SSH)deformaautom ticaytambinmedianteel protocoloTentacle. TambinsepuederealizarlatransferenciamedianteFTPocualquierotrosistemadetransferencia deficheros,aunqueseeligiTentacleporlaseguridadqueofreceestesistema,porsufacilidadpara elusuarioyporsusmltiplesopciones. Consultarlosanexosaladocumentacinparaconfigurartransferenciasatravsdeotrosprotocolos. LosagentesdePandoraFMSestnpensadosparasuejecucinenelagentedesdeelcualrecolectan datos,aunquelosagentespuedenrecolectarinformacindemaquinasaccesiblesdesdeelanfitrin dondeestninstaladas,esloquesellamaAgenteSatlite Tambin se puede configurar una mquina para que tenga varios agentes Pandora FMS simultneamente.Esteesuncasopocohabitual.Ocurrecuandoporejemplo,tenemosunagente softwareyunagentesatlite.Elagentesoftwareestndar,monitorizalamquinadondeseejecuta, mientrasquelosagentessatlitesquetengainstalados(puedetenervarios),monitorizansistemas remotos,medianteTelnet,SNMPuotroscomandospropietarios.

3.4.3.FicherodedatosXML
Elficherodedatostienelasiguientesintaxis:
<nombredehost>.<n de serie>.data

48

AgentesSoftwaredePandoraFMS

EsteficherodedatosesunaestructuraXMLysunombreseformamediantelacombinaci ndel nombredelanfitrinohostdondeestaelagente,unnumerodeseriediferenteparacadapaquete dedatosylaextensin.dataqueindicaqueesunpaquetededatos. Ilustracin:Estructuralgicadelosmodulosdeunagentesoftware

<nombredehost>.<n de serie>.checksum

El fichero de datos es el fichero con extensin .data. El fichero de verificacin, con extensin .checksumcontieneunhashMD5delficherodedatos.Estopermitehaceruna ltimaverificacin paraasegurarsedequelosdatosnohansidoalteradosdeningunamaneraantesdeserprocesados. ElficherodedatosXMLquegeneraelagenteeselcorazndePandoraFMS.En lsecontieneun paquetededatosconlainformacinrecogidaporelAgente.Estepaquetededatostieneundise o compacto,flexibleyligeroquepermitequecualquierusuariopuedautilizarlosagentesdePandora FMSosuspropiosdesarrollosparagenerarinformacinyqueestaseaprocesadaenPandoraFMS. ElficherodedatosesunXMLsimilaralsiguiente:
<agent data os_name=SunOS os_version=5.8 timestamp=300 agent_name=pdges01 version=1.0> <module> <name>FTP Daemon</name> <type>generic_proc</type> <data>0</data> </module> <module> <name>DiskFree</name> <type>generic_data</type> <data>5200000</data> </module> <module> <name>UsersConnected</name> <type>generic_data_inc</type> <data>119</data> </module> <module> <name>LastLogin</name>

49

AgentesSoftwaredePandoraFMS

<type>generic_data_string</type> <data>slerena</data> </module> </agent_data>

3.4.4.Agentefsico
PandoraFMStieneunagentefsicomontadosobreunrouterAsusyunaut mataArduino.Este tndem juntoconlossensoresconectadosconsigue,porelmomento,monitorizarlassiguientes caractersticasambientales: Humedad Temperatura Luzambiental Presencia

Lossensoressonfcilmentecalibrablesalserelectrnicos,ysusvalorestambinsonfcilmente procesablesporPandoraFMS. El hecho de que el sensor sea un router con caractersticas inalmbricas abre un mundo de posibilidadesaestetipodesensores,yapresentesenalgunosCPDdeempresasespaolas.

3.5.Topologas,esquemasymodelosdemonitorizacin
Existen diferentes modelos a la hora de abordar la monitorizaci n, tanto remota como local. Enumeramoslossiguientescasoshabitualesdediferentestopolog asconelfindefamiliarizaral lectorconlasposiblesproblemticasylassolucionesofrecidasporPandora.Ensucesivoscap tulos sedescribeelfuncionamientodecadasolucin.

3.5.1.Redesaccesibles
Estosloeslohabitualenredessencillasydepequeotamaoomuycentralizadasyorganizadas. Eselmodelomsfcildeimplantacin. Red accesible para monitorizacin remota centralizada. Donde desde el servidor de Pandorapodemosaccederatodaslasmquinasparasondearremotamente. Redaccesibleparamonitorizacinbasadaenagentes .Dondedesdelosagentesinstalados dePandora,enlasmquinasmonitorizadas,podemosllegarsinproblemasalservidorde Pandora.

3.5.2.Redescondificultaddeacceso
RedremotanoalcanzableporloschequeosremotosdePandora .Paraelloutilizamosun agentesoftwarecomo"recolectorremoto",haciendopruebasaotrossistemas.Estemodolo llamamosagentesatlite(cuandotodosloschequeosvandentrodelmismoagente,oagente enmodobroker,cuando"simula"servariosagentes,perotodaslaspruebaslasrealizadesde lamismamquinafsica.

50

Topologas,esquemasymodelosdemonitorizacin

Modelodedespliegueenredesremotasnoaccesiblesenmodobroker

AgentessoftwarequenotienenaccesoalservidordePandora .Enestecaso,utilizaremos lacaractersticade"proxy"delosagentessoftware,quepermitequeunagentequenotiene acceso,utiliceunagentequesitieneaccesoalservidor,paraconectarseatravsdel.

Modelodedespliegueenredesremotasusandoelmodoproxydelagente

Necesidaddemonitorizarredesdiferentesparamonitorizacinremotaconelservidor . EnestecasomontamosvariosservidoresdiferentesdePandora,atacandolamismabasede datos, un servidor ejecutar un conjunto de chequeos, y otro servidor otro conjunto diferente.Ambosservidorestrabajanenelmismoentornoysegestionansimult neamente porlaconsola.

51

Topologas,esquemasymodelosdemonitorizacin

3.5.3.Caractersticasespecialesorganizativas
Necesidad de tener varias sedes monitorizadas, con equipos de monitorizacion y configuraciones diferentes. En este caso utilizaremos un servidor de exportaci n (Export Server), para duplicar parte de la monitorizacin en un entorno segregado de Pandora, independiente.

ModelodeexportacinjerrquicaconExportServer

Dualidaddereporting.Adicionalmente,podemosconfiguraragentesparaquereportena dosservidoresdePandoradiferentes,aunqueslopodrsergestionadoporunodeellos. Gestinfragmentada.Senecesita delegarlaadministracindepartedelosequipos a diferentepersonal,condiferentesaccesos.Estomsqueunproblemadearquitectura,esun problemadegestin.Sesolucionaconlospermisosasignadossobrepolticas.

3.5.4.Grandesentornos
Rednumerosa,conmilesdechequeosderedquedebemosdistribuirendiferentes"sondas demonitorizacionremota",yaqueporsuelevadonmero(msde50,000)nopodemos centralizarlastodasenun nicoservidor.Paraellousamosservidoresenmodobroker,que distribuyenlacargadechequeosremotos.

52

Topologas,esquemasymodelosdemonitorizacin

Modelodedistribucindechequeosremotosconagentesenmodobroker

NecesidaddemontarunservidorenHAporseguridad,porsifallaelhardwareprimario. Veremos como montar dos servidores, uno "pasivo", esperando a que el activo deje de responderparaentrarenfuncionamiento.Haydiferentesformasdehacerlo. Necesidad de monitorizar un volumen grande de sistemas y gestionarlas de forma centralizada (ms de 2500 agentes). Para ello se configuran diferentes servidores de Pandoracoordinadosporunmismosistema,llamadometaconsola.Deestaformasepuede escalarlinealmente

Modelodemetaconsola

53

Topologas,esquemasymodelosdemonitorizacin

4GLOSARIODETRMINOSDEPANDORA FMS

54

GlosariodetrminosdePandoraFMS

AmenudounadelascosasquemscuestaentendercuandosecomienzaconPandoraFMSsonlos trminosquesemanejan.Sisevienedeotrosistemademonitorizaci nosinoseconoceninguno anterior, resulta bastante confuso. El propsito de este glosario es unificar y definir de forma pormenorizadatodaslasdefinicionesdetrminoscomnmenteempleadosenPandoraFMS

4.1.Agente
UnagenteenPandoraFMSesunaentidadorganizativa,quegeneralmentesueleserunamaquina, sistemaohost(unordenador).Elagentecontieneinformaci n,yperteneceaungrupo(aun nico grupo).Unagentetambinpuedeserunaunidadorganizativa,diferentedeunordenador,puede ser un edificio, un vehculo o cualquier otra cosa que contiene informacin. El agente contiene informacinendiferentesmdulos.Elagentepuedeestarrelacionadoconotrosagentes,mediante unarelacindeparentesco(unagentepuedeserhijodeotroagente).Elagenteportantoesuna unidadorganizativadentrodePandoraFMS,unconceptodondesealmacenainformaci notras unidadesdeinformacinllamadasmdulos.

4.2.Agentesoftware
Aunquesellamaigualqueelconceptoanterior,elagentesoftwarehacereferenciaalprogramaque seinstalaenlosordenadorespararecogerinformacindeformaautomtica,eseprogramaesel llamado"AgentedePandoraFMS"queseinstalaentodotipodesistemas:Windows,UNIX,etc.El agente software es una aplicacin que genera un fichero de datos que se enva al servidor de PandoraFMSatravsdelared,generalmenteusandoelprotocoloTentacle.

4.3.Mdulo
Unmduloesunaentidadatmicadeinformacinquealmacenavalores(numricos,odedetipo alfanumrico/texto).Cadamdulosloalmacenauntipodedato,delmismotipo.Esdecir,un mduloquealmacenaelcaudaldetrficoenunrouter,soloalmacenaesevalor(nmerosquese vanincrementandoeneltiempo).Losmdulosestncontenidosdentrodelosagentes,ysiempre asociados a un nico agente. Un agente puede contener N mdulos. Los mdulos no estn relacionadosentres.

4.4.Servidorremoto
Servidorqueestenredynoeselservidorlocal.

4.5.Servidor
ElservidordePandoraFMSesquienprocesalainformacinrecolectadadediferentesmaneras, tambinsonlosqueejecutanalertasyenvanlosdatosalabasededatos.Haymuchossubtiposde servidoresdePandora,ycadaunorealizaunaoperacin.Losservidoresdetipored,porejemplo, realizan pruebas de monitorizacin remotas (a distancia, mientras que los servidores de datos, procesanXMLrecogidos).

55

Servidor

Avecessehablagenricamente"Servidor"cuandonosreferimosaunsistema,aunordenador.

4.6.Consola
Laconsola, oconsola WEBeslaaplicacinWEBquepermitegestionarPandora FMSmediante WEB.

4.7.Grupo
Ungrupoesunelementoorganizativo.Losgruposcontienenagentes,ylosgruposseusancomo referenciaparaestablecerquecosaspuedeveryquenopuedeverunusuario.Porejemplo,cuando sedefineuninformeyesteestrelacionadoconungrupo,sololosusuariosconaccesoaesegrupo puedenvereseinforme. Losgrupospuedencontenerotrosgrupos,peroesajerarquanoseve(almenosenlaversin3.1y anteriores)deningunaotramaneranisetieneencuentaenelsistemadepermisos.

4.8.Perfil
Esungrupode"permisos"sobrediferentesoperacionesposiblesenPandoraFMS:verunagente, modificarunagente,asignaralertas,definirinformes,gestionarlaBBDD,etc.

4.9.ACL
ACL es un acrnimo en ingles de Access Control List, o Listas de Control de Accesos (LCA en Espaol),queenPandoraFMSsedefinenasignandoaunusuariounperfilsobreungrupo.

4.10.Monitor
Esunmduloconunestadoasociado.EnversionesanterioresdePandoraFMS nicamentelos mdulos booleanos tenan estado (normal cuando estaban a 1 y crtico cuando estaban a 0). Actualmentetodoslosmdulospermitendefinirumbralesparatresestadosdiferentes.Cuandoun modulonotieneinformaciondeestadoasociado,nosabecuandoponersecr ticooenwarning,de formaqueessimplementeunmdulo.

4.11.Ficherosdedatos/XMLdedatos
UnXMLesunficherodedatosquegeneranlosagentessoftwaredePandoraFMS.Adem sdela informacin de los mdulos del agente contiene informacin sobre el propio agente (versin, sistemaoperativoetc.).ElformatoXMLesunstandardenlainform ticaysirvecomocontenedor de datos, para ms informacin sobre el formato XML, visitar http://es.wikipedia.org/wiki/Extensible_Markup_Language.

56

Alerta

4.12.Alerta
Esunainstanciadeunaplantilladealertaasociadaaunm duloconcreto.Puedellevarasociadas distintasaccionesytienedosestadosposibles,disparadaonodisparada.LaalertaenPandoraFMS, esloquehacequecuandoocurraalgoporejemplocuandosecaeunservidor,PandoraFMSlo interpreteyenveunemailounSMSaunapersonaindicandolelosucedido.

4.13.Plantilladealerta
Esuno de lostres componentes de las alertas. Define la configuraci n deuna alerta de forma general(llamaremosalertapropiamentedichaalainstanciadeunaplantilla).Permiteespecificarla condicindedisparo,quepuededependerdelvalorodelestadodeunm dulo,yotrosdetalles como el nmero mximo de veces que se disparar en un intervalo dado o las opciones de recuperacin.

4.14.Accin
Laaccinesunadelaspartesdelaalerta.Lasaccionessoninstancias(esdecir,laparticularizaci n) deuncomando.Estaparticularizacinhacequelasaccionesincluyanparmetrosespecficos.Por ejemplo, sobre el comando eMail podramos definir las acciones Enviar un correo al administradoryEnviaruncorreoalalistadedistribucindelproyecto ,definiendoalgunosde loscamposquetenaelcomando,especificandoelemaildeladministradoroeldelalistadecorreo dedistribucin,siguiendoelejemploanterior.

4.15.Comando
EsotrocomponentedelasalertasdePandoraFMS.ExceptuandoloscomandosinternosdePandora FMS, que permiten generar eventos, enviar emails etc. un comando representa un programa o utilidadexternaqueelservidorejecuta.

4.16.Shellolneadecomando
Interfazquepermitelaintroduccindecomandospormediodelteclado.

4.17.Paquete
Un paquete contiene un programa o conjunto de programas empaquetados en un determinado formatolistoparaserinstaladoenunsistemaoperativoyversi ndeterminados.Porejemplo,un paqueteRPMparaOpenSUSELinux.

4.18.Tarball
Aligualqueunpaquete,contieneunprogramaoconjuntodeprogramasempaquetadosenformato TAR,peroadiferenciade stenocontieneinformacinsobrecmoinstalarloyenprincipionoson
57

Tarball

especficosparaunsistemaoperativodeterminado(aunqueesposibleelprogramaquecontengas losea).

4.19.SVN/Subversion/Repositoriodecdigo
Esunsistemadecontroldeversionesqueguardaunrepositorioconlasdistintasversionesdelos archivosqueintegranunproyectoalolargodesuvida.Alconjuntodearchivosenuninstantedel tiempodadoseledenominarevisin,demodoquedospersonasquetenganlamismarevisi ndel proyectotendrndoscopiasidnticasdelosmismosarchivos.

4.20.Basededatos
Esunconjuntodedatospertenecientesaunmismocontextoyalmacenadossistem ticamentepara suposterioruso.PandoraFMSutilizabasesdedatosrelacionales,enlasqueellugarylaformaen que se almacenen los datos no tienen relevancia y se accede a ellos a trav s de un lenguaje estructuradodeconsultasestndar(SQL).

4.21.Esquemadebasededatos
Describelaestructuradeunabasededatosenunlenguajeformal.Enunabasededatosrelacional elesquemadefinelastablas,loscamposdecadatablaylasrelacionesentrecamposytablas.

4.22.Tentacle
Eselprotocolodetransferenciadedatosqueutilizanlosagentessoftwareparaenviardatosal servidordePandoraFMS.Tentacleesmultiplataformayestdiseadoparaserunprotocoloseguro yfcildeusar.Utilizapordefectoelpuerto41121(asignadoporIANA).

4.23.Estado
Normalmentenosreferimosalestadodeunmdulo.Nosdainformacinacercadelmduloenel momentoactual.Elestadodeunagentevienedadoporelpeordelosestadosdesusm dulosen conjunto(sitiene5modulosyunoest enCRITICAL,dosenWARNINGydosenNORMAL)el estadodelmduloseraCRITICAL.Lomismoseaplicaparaelestadodeungrupo.

4.24.EstadoCRITICAL,WARNING
NORMAL, WARNING y CRITICAL son los tres estados posibles de un m dulo. Los estados WARNING y CRITICAL suelen indicar condiciones de error de distinta gravedad. Pandora FMS permitedefinirdeformaindependientedistintosumbralesparalosestadosWARNINGyCRITICAL decadamdulo.

58

Estadodesconocido

4.25.Estadodesconocido
Decimosqueunmduloestenestadodesconocidosinorecibedatosdesdehacemsdeldoblede su intervalo. Esdecir, unmduloque enva datoscada5minutossemarca comodesconocido despus de 10 minutos sin recibir datos. Sin embargo el m dulo sigue conservando su estado NORMAL,WARNINGoCRITICALenfuncindelltimodatoquellegase.

4.26.Umbraldealerta(Alertthreshold)
Eselintervalodetiempoenelqueaplicanlasrestriccionesdefinidasalconfigurarlaplantilladela alerta.Porejemplo,unaplantilladealertasquedefinaunumbralde10minutosyunn mero mximodealertasde5,garantizaqueenunintervalode10minutoslaalertanosedisparar ms de5veces.Adems,salvoquelarecuperacinest configurada,laalertapermanecer disparada hastaquevenzaesteintervalodetiempo.

4.27.Falsopositivo/negativo
Cuando un chequeo devuelve un error y ste no se ha producido hablamos de falso positivo. Cuandonodevuelveningnerrory stesehaproducidohablamosdefalsonegativo.Porejemplo, tenemosunfalsopositivosiunmduloquedevuelve1cuandounservidorest disponibley0 cuandonoloestdevuelve1sinestarelservidordisponible.

4.28.ProteccinFlip/Flop
Laproteccinflipflopdeunmduloindicaelnmerodevecesquesedebedarlacondicinde cambiodeestadoparaqueseproduzcaelcambiodeestado.Estopermiteprotegeraunm dulode falsospositivos/negativos.Porejemplo,sisabemosqueunm dulodevuelvefalsospositivos,pero nuncamsdedosseguidos,podemosconfigurarlaproteccindeflipflopatresparaevitarquelos falsospositivosproduzcancambiosdeestado.

4.29.Monitorizacinsncrona
Decimosqueunmduloessncronocuandodevuelvedatosaintervalosregulares.Porejemplo,una medicindetemperaturacada5minutos.

4.30.Monitorizacinasncrona
Decimosqueunmduloesasncronocuandodevuelvedatosenfuncindesudisponibilidad.Por ejemplo, buscarunacadena enunficherodelog. Sino seencuentra lacadena, elm dulono devuelvedatos.OtroejemplomuyfrecuenteeseldelostrapsSNMP,ques losegenerancuando ocurreunerror(porejemplo,falloenunafuentedealimentacin).

59

Monitorizacinasncrona

5INSTALACINDEPANDORAFMS

60

Requisitosmnimoshardware

5.1.Requisitosmnimoshardware
5.1.1.Requisitosparalaconsolayelservidor
Hasta500agenteso5.000mdulos:3GBdeRAMyunaCPUdeunsloncleoa2GHzde reloj.Discodurorpido,7200rpmoequivalente.Sesuponequeel80% delosmodulos tienenhistricoyquelamediademuestreoesde5minutos. Hasta 2.000 agentes o 10.000 mdulos: 6GB de RAM y una CPU de doble ncleo a 2.5GHz de reloj y disco duro rpido (7.200 rpm o ms). Se supone que el 80% de los modulostienenhistricoyquelamediademuestreoesde5minutos.Deber configurar muybienMySQLparaqueaguantelacarga. Paramsde4.000agentes :12GBdeRAM,unaCPUconcuatroncleosa3GHZydisco duro muy rpido (15.000 rpm o ms). Ademas de los presupuestos anteriores, le recomendamos que instale MySQL en un servidor independiente y que instale Percona XTraDBenlugardelMySQLstandard.

No se recomienda utilizar Pandora FMS en entornos virtualizados, ya que tiene unos requisitos de acceso a disco muy estrictos. En el caso de hacerlo, es imprescindible asignar disco independiente, asi como RAM y CPU. Ms que recomendable usar discos SAN en estos entornos

Slo se debera usar una mquina virtual como entornos de prueba, certificacin o desarrollo, pero nunca se recomienda usarlos en sistemas de produccin

Serecomiendaunminimode15GBdedisco,recomendado25GB.

5.2.Requisitosminimosdesoftware
LaplataformaoficialdePandoraFMSesLinux,yoficialmentesesoportan,paraelservidoryla consola,lassiguientesversiones:

Componente

Sistema Operativo RedHat Enterprise (RHEL) 6.x CentOS 6.x SLES 11 SP1 o superior OpenSUSE 11.x o superior Debian 5.x o superior. Ubuntu 11 o superior.

Pandora FMS 4.0 o superior

OtrasplataformasdondePandoraFMSfunciona,aunquenodemossoporteoficialson:

61

Requisitosminimosdesoftware

Componente Pandora FMS 4.0 o superior

Sistema Operativo FreeBSD 9.1 Solaris 10 / OpenSolaris

LosagentesdePandoraFMSsepuedenejecutarencualquiersistemaoperativo,param sdetalles, consultelaseccinderequisitosparaelagente(msabajo).

5.2.1.RequisitosdeBasededatos
Antes de comenzar a instalar Pandora FMS, necesita tener un servidor de MySQL funcionando (OracleyPostgreSQLsesoportan,perotodaviadeformaexperimental).Estosignificaqueantesde instalarPandora,necesitatenercorriendo,bienconfiguradoyoperativo,elsoftwaredebasede datosMySQL,puedeestarenelmismoservidorfisicodondequiereejecutarPandoraFMS,oenun servidorindependiente,deformaquelaconsolayelservidor,accedana latravesdelared,via TCP/IP.Enresumen,necesitar: Direccin IP de su MySQL Server , o 'localhost' si se instala en el mismo servidor de Pandora. Usuarioconprivilegios para crearbases dedatosyusuarios(generalmente root).Este usuariodeberapoderseconectardesdelaIPdelservidordondeinstalemospandorafms. Passworddelusuarioconprivilegios

Necesitar tener todo esto ANTES de empezar a instalar Pandora FMS. Si no sabe como se instala un servidor MySQL, busque documentacin al respecto sobre el proceso completo. No podemos proporcionar toda esa documentacin ya que vara en cada sistema, distribucin y/o versin.

5.2.2.Requisitosparaelagente
Elagentepuedeejecutarseencualquierhardwarequepuedaejecutarelsistemaoperativom nimo requerido,siendo: AdemsdeenLinux,losagentesfuncionanenlossiguientessistemas

Componente

Sistema Operativo HPUX 11.x o superior, con Perl 5.8. AIX 4.3.3 o superior, con Perl 5.8. Sistemas BSD (NetBSD, OpenBSD, FreeBSD), con Perl 5.8. MacOSX. Solaris 8 o superior, con Perl 5.8. Windows NT4 (ver notas especiales de esta version). Windows XP Windows 2000
62

Pandora Agent 4.0 o superior

Requisitosminimosdesoftware

Pandora Android Agent 2.0 o superior Pandora Embedded Agent 4.0 o superior

Windows 2003 Windows 2008 Windows 7 Windows 8 Windows 2012

Android 2.2 o superior Dispositivos embebidos, requiere compilacin

Existe un agente especial para Windows NT, que es basicamente el agente de Unix compilado para Windows, aunque el rendimiento es muy inferior al de un agente nativo Windows y las funcionalidades de acceso a la API nativa no estn presentes

AdemsenentornosUNIXdebeestarinstalado: Perl5.8osuperior Opcionalmente el paquete unzip instalado correctamente y accesible en el path del usuarioquevaaejecutarelagente.(Slosisedeseanusarlascoleccionesdeficheros). Opcionalmente,sideseausarelinventariodehardwareenlosagentes,deber instalarla herramientalshwydejarlaaccesibleenelpathdelsistema.

5.2.3.Requisitosparaelservidor
Aunquepuedetrabajarsobrecualquiersistemaoperativo conPerl5.8 instaladoycon iThreads habilitados,serecomiendayestsoportado nicamentesobreLinuxyFreeBSD.Tambinfunciona sobresistemasSolaris. Hay que destacar que Pandora FMS necesita un servidor MySQL para almacenar toda la informacin. Este servidor puede instalarse en cualquier plataforma soportada por MySQL (Windows,Linux,Solaris,etc). SedebertenerinstaladoPerl5.8,almenos,paraqueelservidorfuncionecorrectamente.Adem s delospaquetesdeSNMPdelsistemaoperativo(netsnmp)parausarelservicioSNMPdePandora FMS.Tambinserequiereunabasededatos(MySQL).Tambinserequierenlospaquetesnmapy opcionalmenteelpaquetexprobe2parautilizarlascaracteristicasavanzadasdereconserver, as como las bibliotecas traceroute de Perl para poder hacer autodescubrimientos de red. Por ltimo,tambinesnecesario,elclientebinariodeWMIparahacerconsultasWMIcontrasistemas Windows.DichoclientebinarioespartedelproyectoSAMBA(v4)ypuedesercompiladonosin ciertadificultadencualquierentornoUnix.Laversionenterpriserequiereunbinarioquehayque compilar,yparaelcualexistenversionesdetodaslasplataformasoficialmentesoportadas.

5.2.4.Requisitosparalaconsola
Deigualmaneraqueelservidor,serecomiendasuoperacionsobresistemasLinux,perodadoquela interfazwebesunaaplicacionAMPpura(Apache,MySQLyPHP),podratrabajartericamente sobrecualquiersistemaquelosoporte:Windows,Unix,etc.

63

Requisitosminimosdesoftware

5.2.5.RequisitosparaadministrarlaherramientaviaWEB
Se deber disponer de un navegador web para instalar y comprobar el funcionamiento de la consola.EnprincipionoserequierequeelnavegadortengaelcomplementodeFLASHinstalado, aunqueserecomiendaparapoderhacerusodelasgrficasinteractivasenFlash.

5.2.6.Dependenciasdepaquetes
PandoraFMSdependeengranpartedelsistemaoperativoLinux,peroadem snecesitapaquetes adicionales quemuchasvecesnovienen instalados deforma predeterminada.En elprocesode instalacin se detallan de forma especfca esas dependencias para sistemas Debian/Ubuntu y OpenSUSE.

5.3.Cuestionespreviasalainstalacin
5.3.1.MySQL
Necesitar unservidorMySQLoperativoANTESdeinstalarPandora,yaqueelsiguientepasotras instalarlospaquetesdePandora,esconfigurarelaccesoalaBBDDdedatos.Siestainstalando Pandora FMSalavezqueelservidorMYSQL, recuerdequetienequearrancaryconfigurarel accesoalusuariorootdeMySQL.Estosehacemediantedoscomandos: 1.Arrancar:
/etc/init.d/mysql start

2.Configurarelpasswordderoot
mysqladmin password <password>

Donde'<password>'eselpasswordqueestableceparaelusuarioroot.Estepasswordselepedir enelprocesodeinstalacindePandoraFMS.

5.3.2.OrdendeinstalacindePandoraFMS
EsrecomendableseguirelsiguienteordenalinstalarPandoraFMS: 1. Instalarlaconsola 2. Instalarelservidor LaraznesquelabasededatosMySQLqueusaelservidorsecreaenelprocesodeconfiguraci n inicial de la consola, y por ello para asegurar el correcto funcionamiento del servidor es recomendablerealizarprimeroelprocesodeinstalacincompletodelaconsola. AdemsnoesnecesarioquelaconsolayelservidordePandoraFMSseencuentrenalojadosenla mismamquina,yaqueesposibleindicarlealservidordndeseencuentralabasededatosMySQL medianteelarchivodeconfiguracindelservidor. Lainstalacindelagentelapodemosrealizarsinningnproblemaantesodespusdeinstalarel servidor y la consola ya que es independiente de estos y puede estar instalado en cualquier mquina.

64

Cuestionespreviasalainstalacin

5.3.3.InstalacindelaversinEnterprisedePandoraFMS
A partir de la versin 4.0.2 el numero de licencia de Pandora FMS habilita el uso de las caractersticasEnterprise.Estosignificaquesitieneinstaladaunaversionenterprise4.0.2sinun nmerodelicenciavlido,nofuncionar.DebeinstalarprimerolaversionOpenSource,metereln delicenciayluegoinstalarlaversionenterpriseeneseorden.Comoresumen: InstalelaconsolaOpenSource. Accedaalaconsola,vayaalasecciondesetupeintroduzcasulicenciaah (verimagenms abajo) InstalelaconsoladelaversinEnterprise No obstante, si lo hace en otro orden, en la propia pantalla que le notificar el error podr introducirsulicencia.Lavalidacindelalicenciasoloserealizaenlaconsola.Noenelservidor. Introducirlalicencia,enlaopcionprincipaldeconfiguration(setup):

5.3.3.1.RequisitosespecficosdelaversionEnterprise
ParapoderusarelservidorICMPEnterprise,esnecesariounaversiondeNMAP5.51osuperior.

5.4.InstalacinenSUSE(OpenSUSE,SLES)
5.4.1.Instalacinautomticaconrepoexterno
Parapoderoptarporestemtodoelmsrpidoycmodo,tienequeteneraccesoainternetdesde elservidordondevaainstalarpandora.Todoslospasossedebenejecutarcomoroot(obajosudo). Paso1.Crearelrepo:
zypper ar -G http://artica.es/suse PandoraFMS_Official_Repo

Paso2.Actualizarinformacindelrepo:
zypper refresh

Paso3.InstalarPandoraFMS:

65

InstalacinenSUSE(OpenSUSE,SLES)

zypper install pandorafms_agent_unix pandorafms_console pandorafms_server mysqlcommunity-server apache2-mod_php5

EstoinstalarPandoraFMSytodassusdependencias.

5.4.2.InstalacinmanualpormediodeRPM's
5.4.2.1.ConfiguracinderepositoriosdeSoftware
Las instalacin de software sobre SLES / OpenSUSE se hace mediante paquetes .RPM. Dichos paquetesRPMpuedencontenersoftwareoficial,suministradoporelfabricanteNovell,pormedio del DVD de instalacin o repositorios HTTP/FTP en Internet, o tambi n pueden existir otros repositorios nooficiales, mantenidos por la comunidad de usuarios y desarrolladores de SUSE (OpenSUSE). Dichos repositorios slo pueden ser accesibles por Internet, pero los paquetes individuales,enformato.RPMpuedenserdescargados,copiadosalosservidoreseinstaladosde formamanualporlneadecomandos. SLESutilizaunainterfazdeadministracingeneralYAST paralagestindepaquetesyde repositoriosdesoftware.Estainterfaz,YAST,seutilizaparalaadministraci ndetodoelsistema SLES: particionar discos, instalar software, configurarlas tarjetas dered, etc. Sepuedeutilizar medianteinterfazgrfica(X)omediantecualquiersesiondeconsolaoremotamedianteSSH. Para esta documentacin haremos uso del sistema Zypper de Suse que permite resolver dependencias,ydescargarselospaquetesdirectamentedelosrepositorioseninternet.Sinodispone de Zypper, instlelo, es mucho mas cmodo y rpido. Si no puede, tendr que hacer toda la instalacionmanualdepaquetesmedianteYASTyelCDdeinstalaciondeSUSE.

5.4.2.2.Instalacinpreviadedependencias
Hayqueinstalarlassiguientesdependenciasdepaquetes,incluidasenelsistemaSUSE:
apache2 apache2-mod_php5 php5 php5-gd php5-gettext php5-json php5-mbstring php5-ldap php5-mysql \ php5-pear php5-snmp php5-zip nmap perl-DBD-mysql perl-DBI perl-Date-Calc perl-HTMLParser \ perl-HTML-Encoding perl-HTML-Tree perl-IO-Socket-inet6 perl-Socket6 perl-MailSendmail perl-NetAddr-IP \ perl-TimeDate perl-XML-Simple perl-XML-Twig perl-libwww-perl mysql-client mysql-max mysql \ net-snmp xorg-x11-fonts-core php5-pear-db php5-curl php5-xmlrpc perl-SNMP graphviz graphviz-gd

OpenSUSE a diferencia de SLES no dispone del paquete mysql-max, se puede instalar el servidor Mysql standard en su lugar sin problema.

Parainstalartodaslasdependenciasejecute:
zypper install ..

66

InstalacinenSUSE(OpenSUSE,SLES)

Seguidodetodalalistadepaquetesindicadaenelprrafodearriba.Estoledar unapantalla comolasiguiente:


Obteniendo los datos del repositorio... Leyendo los paquetes instalados... perl-DBI ya est instalado. perl-HTML-Parser ya est instalado. perl-TimeDate ya est instalado. perl-XML-Simple ya est instalado. perl-libwww-perl ya est instalado. xorg-x11-fonts-core ya est instalado. Resolviendo dependencias... Los siguientes paquetes NUEVOS van a ser instalados: apache2 apache2-mod_php5 apache2-prefork apache2-utils libapr1 libapr-util1 libdnet1 liblua5_1 libmm14 libmysqlclient15 mysql mysql-client mysql-Max net-snmp nmap perl-Bit-Vector perl-Carp-Clan perl-Data-ShowTable perl-Date-Calc perl-Date-Manip perl-DBD-mysql perl-HTML-Encoding perl-HTML-Tree perl-IO-Socket-inet6 perl-Socket6 perl-Mail-Sendmail perl-NetAddr-IP perl-XML-Twig perl-SNMP php5 php5-ctype php5-dom php5-gd php5-gettext php5-hash php5-iconv php5-json php5-ldap php5-mbstring php5-mysql php5-openssl php5-pdo php5-pear php5-snmp php5-sqlite php5-tokenizer php5-xmlreader php5-xmlwriter php5-zip php5-zlib t1lib Tamao de descarga total: 19,1 M. Despus de la operacin, se utilizarn 55,9 M adicionales. Desea continuar? [SI/no]:

AlpulsarSI,Zypperempiezaadescargarlospaquetesyainstalarlos. Cuandohayaterminado,tendrqueinstalaralgunospaquetesextra.EnOpenSusenoexistentodas lasdependenciasquenecesitaPandoraFMS,poresoseproveenalgunosRPM'sadicionalespara satisfacerestasdependenciasdesdeelsitiowebenSourceforge,estosficheros.rpmadicionalesson lossiguientes:


perl-time-format php-pear-xml_rpc wmic smstools perl-HTML-Tree perl-XML-Twig

Los paquetes perl-HTML-Tree y perl-XML-Twig deben ser instalados manualmente como se indica anteriormente.

DemaneraopcionalyslosivaausarReconServerdeberinstalarlossiguientespaquetes:
perl-net-traceroute perl-net-traceroute-pureperl xprobe2

TodosestosficherosRPMsepuedenencontrarenelsitiooficialdedistribuci ndesoftwarede PandoraFMS,enunapartadodedependenciasespecialesparaOpenSuse. NOTA:AsegresededescargarlosRPM'sadecuadosparaladistribucinOpenSuse. Parainstalarloscolquelosenundirectorio,porejemplo /tmp/adicional.Enesedirectorioejecuteel comando:


rpm -i *.rpm

67

InstalacinenSUSE(OpenSUSE,SLES)

5.4.2.3.Instalaciondelagente
DeberiahaberdescargadodenuestrositiowebunpaqueteRPMsimilar(puedequecambiealgun numerodeversionoalgunotrodetalle),perodeberiaparecerseaeste:
pandorafms_agent-3.0.0-1.noarch.rpm

Parainstalarlosimplementeexecuteestecomando:
rpm -i pandorafms_agent-3.0.0-1.noarch.rpm

Siaparecenlasfrases: Insserv:warning:script 'smsd' missing LSB tags and overrides Insserv:defaultstart undefined, assumingdefaultstartrunlevel(s)forscript'smsd'. Nodebepreocuparse,esslounmensajedeadvertencia,noesningnerror.

5.4.2.4.Instalaciondelservidor
Deigualformaqueconagente,ejecute:
rpm -i pandorafms_server-3.0.0-1.noarch.rpm

Sihainstaladopreviamenteelagente,tendrelsiguienteadvertenciasinimportancia:
useradd: Account `pandora' already exists.

5.4.2.5.Instalacindelaconsola
Deigualmanera,ejecutelaherramientadeinstalaciondepaquetes rpmparainstalarelpaqueteque contienelaconsoladePandoraFMS:
rpm -i pandorafms_console-3.0.0-1.noarch.rpm

Sitienealgnproblemadedependencias,causadoporunfalloenlanomenclaturadeunpaquete, alinstalarlaconsolacomoelsiguiente:
error: Failed dependencies: php5-pear-db is needed by pandorafms_console-3.1-1.noarch

Puedeforzarlasinstalacinconelflagnodeps.

5.4.2.6.InstalaciondelaversinEnterprise
Deigualmanera,ejecutelaherramientadeinstalaciondepaquetes rpmparainstalarelpaqueteque contienelaconsolaEnterpriseyelservidorEnteprisedePandoraFMS:
rpm -i pandorafms_console_enterprise-3.0.0-1.noarch.rpm

68

InstalacinenSUSE(OpenSUSE,SLES)

rpm -i pandorafms_server_enterprise-3.0.0-1.noarch.rpm

Deber reiniciarelservidordePandora FMS paraquedetectelasnuevasfuncionalidades dela versinenterprise:


/etc/init.d/pandora_server restart

5.4.3.DesinstalaciondePandoraFMS
PuededesinstalarcualquieradeloscomponentesdePandoraFMSconlossiguientescomandos:
rpm -e pandorafms_agent rpm -e pandorafms_console rpm -e pandorafms_server

LabasededatosdePandoraFMS_no_sedesinstalaaldesinstalarningunodelospaquetesde Pandora FMS.Sloseeliminantodoslosficheros(incluidosficherosdeconfiguraci n)decada paquete,perolabasededatoshadeborrarseamano.

5.5.InstalacinenRedHatEnterpriseLinux/CentOS/Fedora
La instalacin es muy parecida a la de SUSE. Ntese que los paquetes RPM de RHEL/CentOS/FedoranosonlosmismosquelosdeSUSE,dadoquelosRPM'sdeSUSEusanuna version diferente de empaquetado, con un algoritmo de compresion diferente y los hace incompatibles.

5.5.1.InstalacinmedianteelrepositoriooficialdePandoraFMS
Parapoderrealizarestainstalacin,necesitaYUMyaccesoainternet.Primerocreeelrepositorio oficialdePandoraparaCentOS6.EsterepositoriotambinpuedeserusadoenRHEL6.
vi /etc/yum.repos.d/pandorafms

Aadaestecontenido
[artica_pandorafms] name=CentOS6 - PandoraFMS official repo baseurl=http://artica.es/centos6 gpgcheck=0 enabled=1

Refresquesusrepositorios:
yum makecache

EinstalePandoraFMS,juntoconelservidormysql(esunadependenciaopcional,peronecesitar
69

InstalacinenRedHatEnterpriseLinux/CentOS/Fedora

unservidorMySQLsinotieneunoyainstaladooaccesibleenotroservidor).
yum install pandorafms_console pandorafms_server mysql-server

Descargartodoslospaquetesnecesariosydejarelsistemalistoparasuconfiguracinyuso.

5.5.2.Instalacinmanual,mediantepaquetesRPM
LamayoradelasdependenciasdeberanresolverseusandoYUMuotraherramientaautomtica. TodaslasdependenciasestnmarcadascomopaquetesnecesariosenladefinicinRPM: EnelcasodeCentOSsernecesarioinstalarlassiguientesdependencias:
yum install php php-gd graphviz php-mysql php-pear-DB php-zip php-mbstring phpldap \ php-snmp php-ldap php-common make perl-CPAN yum install perl-HTML-Tree perl-DBI perl-DBD-mysql perl-libwww-perl perl-XMLSimple \ perl-XML-Twig perl-XML-SAX perl-NetAddr-IP net-snmp perl-SNMP net-tools perl-IOSocket-INET6 \ perl-Socket6 nmap wmic sudo xprobe2

EnelcasodeCentOS6,cambianunpocolosnombresdealgunospaquetes,asiqueusaremosestos aadidosalosanteriores:
yum install net-snmp-perl perl-JSON perl-NetAddr-IP perl-Socket6 \ perl-Time-HiRes perl-XML-Twig perl-IO-Socket-INET6

Algunas dependencias (como wmic o xprobe2) no estn en los repositorios oficiales RHEL, sin embargoestndisponiblesennuestrapginadedescargadeSourceforgeenlaseccionde"Tools andDependecies[1]. Cabedestacarqueotrasdependenciascomographviz,perlXMLSimpleoperlHTMLTreetampoco estnenlosrepositoriosoficialesRHEL,sinembargosepuedenencontrarenelrepositoriobasede CentOS,conloquebastaraconaadirlaanuestralistaderepositorios:
[centos_base] gpgcheck = False enabled = 1 name = CentOS Base baseurl = http://mirror.centos.org/centos/6/os/i386/ http://public.planetmirror.com/pub/caosity/centos/6/os/i386/

AsegratededescargarelpaquetecorrectoparaRedHatEnterpriseLinux. Mientrastanto,paraRedHatEnterpriseLinux6bastar coninstalarestasotras,puesvariosdelos paquetesnecesariosparalaconsolayelservidorvienenincludosenelphpyelperlydependencias deserie:


yum install php php-common graphviz yum install perl-HTML-Tree perl-DBD-mysql perl-XML-Simple perl-XML-SAX \ perl-NetAddr-IP net-snmp perl-SNMP net-tools perl-IO-Socket-INET6 perl-Socket6 nmap wmic xprobe2

70

InstalacinenRedHatEnterpriseLinux/CentOS/Fedora

Si usa una versin inferior a RHEL6, puede ocurrir que algunas dependencias tengan otro nombre. Para el caso de perl-SNMP, en CentOS5, RHEL5, etc, la dependencia a obtener sera net-snmp-perl.

ParainstalarelRPMbastausarelcomandorpmiodirectamenteelcomandoyum,porejemplo:
rpm -i pandorafms_server-3.2-2.noarch.rpm

o
yum install pandorafms_server-3.2-2.noarch.rpm

Si existiera algn problema a la hora de acceder a la pgina de instalacin de la consola, es conveniente comprobar si SELinux est activado y en tal caso desactivarlo siguiendo los procedimientosdelFAQ.

RHEL/CentOS 5.x por defecto usa PHP 5.1 y este no es compatible con Pandora FMS, se deber usar PHP 5.2 o superior.

ParaelloserecomiendausarelsiguienterepositorioparaCentOS5/RHEL5,quecontienePHP5.2:
[c5-testing] name=CentOS-5 Testing baseurl=http://dev.centos.org/centos/5/testing/$basearch/ enabled=1 gpgcheck=1 gpgkey=http://dev.centos.org/centos/RPM-GPG-KEY-CentOS-testing

5.6.InstalacinenDebian/Ubuntu
SerecomiendainstalarPandoraFMSsobre unaversin10.04osuperior.EnlaversinEstablede Debian(Squeeze)existenproblemasconalgunaslibrerasyaplicacionesquenecesitaPandoraFMS paraalgunoscomponentes.LalibreriaLWPdeDebiannoimplementaciertosm todosparaSSL,y estoesnecesarioparalosmdulosEnteprisedemonitorizacinWEB,puedesolucionarloinstalando unaversionmsnuevadeLWPmedianteCPAN(mtodomanual).

Si instala en una Debian Squeeze, necesitar aadir el repositorio "Non-Free" para tener acceso al paquete snmp-mibs-downloader. Edite el fichero /etc/apt/sources.list y modifique la linea para que sea como "deb http://ftp.us.debian.org/debian/ squeeze main non-free"

71

InstalacinenDebian/Ubuntu

Debido a la forma en que gestiona Debian/Ubuntu los paquetes, es ms que recomendable instalar Pandora FMS en un sistema que tenga acceso a los repositorios online de paquetes (o a una rplica en la red local). Una dependencia en Debian puede acarrear decenas de subdependencias, por lo que preparar una lista exacta de paquetes necesarios para la instalacion "offline" puede ser una tarea muy compleja."

5.6.1.InstalacinusandolosrepositoriosprivadosdeArtica
Existeunmtodocmodoyrpido,queesagregandoelrepositorioprivadodeArticaquecontiene lospaquetesnecesariosparasuinstalacindePandora.EstovaleparaDebianyUbuntu: Editeelfichero/etc/apt/sources.listyagreguelasiguientelinea:
deb http://www.artica.es/debian/squeeze /

Ejecuteaptgetupdatecomoroot(osudo)
apt-get update

InstalePandoraconaptget:
root@debian:~# apt-get install pandorafms-console pandorafms-server pandorafmsagent-unix Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: apache2-mpm-prefork apache2-utils apache2.2-common dbconfig-common graphviz libapache2-mod-php5 libcgraph5 libcurl3 libgd2-xpm libgvpr1 libio-socket-inet6-perl libnetaddr-ip-perl libonig2 libqdbm14 libsnmp-perl libsocket6-perl libssh2-1 libtime-format-perl libxml-namespacesupport-perl libxml-sax-expat-perl libxml-sax-perl libxml-simpleperl nmap php-db php-gettext php-pear php5 php5-cli php5-common php5-curl php5-gd php5-ldap php5-mysql php5-snmp php5-suhosin php5-xmlrpc smistrip snmp snmp-mibs-downloader snmpd xprobe Suggested packages: apache2-doc apache2-suexec apache2-suexec-custom graphviz-doc libgd-tools php5-dev The following packages will be REMOVED: libgd2-noxpm The following NEW packages will be installed: apache2-mpm-prefork apache2-utils apache2.2-common dbconfig-common graphviz libapache2-mod-php5 libcgraph5 libcurl3 libgd2-xpm libgvpr1 libio-socket-inet6-perl libnetaddr-ip-perl libonig2 libqdbm14 libsnmp-perl libsocket6-perl libssh2-1 libtime-format-perl libxml-namespacesupport-perl libxml-sax-expat-perl libxml-sax-perl libxml-simpleperl nmap pandorafms-agent-unix pandorafms-console pandorafms-server php-db php-gettext php-pear php5 php5-cli php5-common php5-curl php5-gd php5-ldap php5-mysql php5-snmp php5-suhosin php5-xmlrpc smistrip snmp snmp-mibs-downloader snmpd xprobe 0 upgraded, 44 newly installed, 1 to remove and 0 not upgraded. Need to get 40.9 MB of archives. After this operation, 90.8 MB of additional disk space will be used. Do you want to continue [Y/n]? y WARNING: The following packages cannot be authenticated! pandorafms-agent-unix pandorafms-console pandorafms-server Install these packages without verification [y/N]? y

72

InstalacinenDebian/Ubuntu

5.6.2.Instalacinmanual
5.6.2.1.Instalacionpreviadedependencias
EnDebian/Ubuntulasdependenciassonlassiguientes: Servidor:
snmp snmpd libtime-format-perl libxml-simple-perl libxml-twig-perl libdbi-perl libnetaddr-ip-perl libhtml-parser-perl wmi-client xprobe2 nmap libmail-sendmail-perl traceroute libio-socket-inet6-perl libhtml-tree-perl libsnmp-perl snmp-mibs-downloader libiosocket-multicast-perl libsnmp-perl libjson-perl

Si el paquete wmi-client no se encuentra en los repositorios, descargarlo desde la web de sourceforge de Pandora FMS

Si instala en una Debian Squeeze, necesitar aadir el repositorio "Non-Free" para tener acceso al paquete snmp-mibs-downloader.

Consola
php5 libapache2-mod-php5 apache2 mysql-server php5-gd php5-mysql php-pear php5-snmp php-db php-gettext graphviz mysql-client php5-curl php5-xmlrpc php5-ldap dbconfig-common

Para instalar el paquete del Servidor o de la consola, previamente hay que satisfacer las dependencias,esosehaceinstalandotodoslospaquetesantesmencionadosconelcomando aptget, teniendoprivilegiosderoot,porejemplo:
apt-get install snmp snmpd libtime-format-perl libxml-simple-perl libxml-twig-perl libdbi-perl libnetaddr-ip-perl libhtml-parser-perl wmi-client xprobe2 nmap libmail-sendmail-perl traceroute libio-socket-inet6-perl libhtml-tree-perl libsnmp-perl snmp-mibs-downloader libiosocket-multicast-perl libsnmp-perl libjson-perl php5 libapache2-mod-php5 apache2 mysql-server php5-gd php5-mysql php-pear php5-snmp php-db php-gettext graphviz mysql-client php5-curl php5-xmlrpc php5-ldap dbconfig-common

El carcter \ se usa como separador de lnea. Puede hacer un copiar/pegar de esta documentacion directamente sobre la consola y los saltos de linea sern tenidos en cuenta como tales gracias al carcter \

Estecomandoinstalaratodaslasdependenciasnecesariasparainstalarelservidorylaconsolade

73

InstalacinenDebian/Ubuntu

PandoraFMSenunsistemaDebian/Ubuntu.

5.6.2.2.InstalaciondePandoraFMSconlospaquetes.DEB
Lainstalacinconlospaquetesdebesmuysencilla. Sinotenemosconexionainternet,instalamoslasdependencias.Despu sinstalamoslospaquetes dePandoraFMS,enesteejemploseinstalantodosloscomponentesdePandoraFMSjuntos,pero puedensernicamenteunodeellos.
dpkg -i pandorafms.console_xxx.deb pandorafms.server_xxxx.deb pandorafms.agent_unix_xxx.deb

Siunavezqueseejecuteelcomando,sevequefaltandependencias,sepuedeintentarresolverlas deformaautomticaconelcomando:
apt-get -f install

EstointentardescargartodoslospaquetesnecesariosquefaltanparaquePandoraFMSseinstale automticamenteenelsistema.Unavezquesehayaninstaladolospaquetesnecesarios,elsistema automticamenteprocederalainstalacindetodosloscomponentesdePandoraFMS.


Instalacin consola

ParacompletarlainstalacindelaconsoladePandoraFMSdebeaccederalaurldelaconsolay seguirlospasosdelayudantedeinstalacin.Silaconsolaest instaladaenunservidorconIP 10.20.34.54deberaccederalasiguienteurl:


http://10.20.34.54/pandora_console

5.6.3.ActualizacindePandoraFMS
Usa dpkg -i para instalar una nueva versin o apt-get update y apt-get upgrade si usas el repositorio de Artica.

5.6.4.DesinstalacindePandoraFMS
dpkg -r pandorafms-console-enterprise dpkg -r pandorafms-console

5.7.InstalacinenFreeBSD
Desdelaversion3.2,PandoraFMSsoportaFreeBSD.

5.7.1.Perlconinstalacinithread
Paraejecutareldemoniodelservidordepandora,perldeberestarcompiladoconelsoportepara threadshabilitado.Sinembargo,elpaqueteperlFreeBSD5.x,perl5.x.x.pkg,notienesoportepara
74

InstalacinenFreeBSD

threads(hilos).Portanto,nosepuedeutilizar. Deber compilar e instalar el ejecutable perl 5.x utilizando la coleccion de "Ports" (versiones alternativas)FreeBSDtalcomoapareceaqu:
cd /usr/ports/lang/perl5.x make config -> Enable THREADS. make make install

5.7.2.Instalacindedependenciasprevias
EnFreeBSDlasdependenciassonlassiguientes: Servidor:
databases/p5-DBI mail/p5-Mail-Sendmail net-mgmt/p5-NetAddr-IP textproc/p5-XML-Simple devel/p5-Time-Format www/p5-HTML-Parser net/p5-Net-Traceroute-PurePerl net/p5-IO-Socket-INET6 database/p5-DBD-mysql textproc/p5-XML-Twig converters/p5-JSON net-mgmt/net-snmp security/nmap net/xprobe sysutils/coreutils

Para poder instalar el servidor de pandora, tendr que completar las dependencias antes. Esto deberahacerseutilizandoelgrupodepuertos.Noutilizepaquetes. Puedeinstalartodaslasdependenciasqueseancomoestas: e.g.)p5DBIinstallation.
cd /usr/ports/databases/p5-DBI make make install

Consola:
www/apache22, lang/php5, net-mgmt/php5-snmp, www/php5-session, devel/php5-gettext, converters/php5-mbstring, net/php5-ldap, databases/php5-mysql, graphics/php5-gd, archivers/php5-zip, archivers/php5-zlib, devel/php5-json, ftp/php5-curl, devel/pear, databases/pear-DB, net/pear-XML_RPC, graphics/graphviz (GTK, GDK_PIXBUF, PERL, PHP should be enabled.)

Parapoderinstalarlaconsoladepandora,tendr quecompletarlasdependenciasprimero.Puede utilizargruposdepuertosopaquetes.

5.7.3.InstalacindelaConsola
NoexisteficherodepaquetesdelaconsoladepandoraparaFreeBSD.Deber instalarlaconsolade pandorautilizandoelinstalador. En la siguiente seccin:"Instalacin manual desde las fuentes en Linux/UNix" se describe cmo instalarlautilizandoelinstalador. EnFreeBSDconapache22,eldirectoriopandora_consolaes:

75

InstalacinenFreeBSD

/usr/local/www/apache22/data/pandora_console

5.7.4.InstalacindelServidor
NoexisteficherodepaquetesdelservidordepandoraparaFreeBSD. Tendrqueinstalarelservidordepandorautilizandoelinstalador. En la siguiente seccin:"Instalacin manual desde las fuentes en Linux/UNix" se describe cmo instalarloutilizandoelinstalador. LaubicacindelficheroyellaestructuradelscriptdearranquesondiferentesrespectoaLinux. VeremoslaspeculiaridadesdeFreeBSDmsabajo. Despuesderealizarlainstalacin,deberaadirlassiguienteslneasa/etc/rc.conf.
pandora_server_enable="YES" tentacle_server_enable="YES"

Parahabilitarlosservidoresdepandora,pandoraytentacle,senecesitanlassiguientesajustes.De otromodo,nosepodraniniciar. EnFreeBSD,lamayoradelosficherosdelservidordepandoraestninstaladosen/usr/local. Servidordepandora,servidordetentacle:


/usr/local/bin/pandora_server /usr/local/bin/tentacle_server

Scriptdeinicio:
/usr/local/etc/rc.d/pandora_server /usr/local/etc/rc.d/tentacle_server

Ficherodeconfiguracin:
/usr/local/etc/pandora/pandora_server.conf

util:
/usr/local/share/pandora_server/util/*

Manpages:
/usr/local/man/man1/*

Otros:
The data_in and log directories are the same as Linux.

76

InstalacinenFreeBSD

5.7.5.Instalacindelagente
No existe el fichero agentes de pandora para FreeBSD. Deber instalar el agente de pandora utilizandoelinstalador. Para instalar utilizando el instalador, la con atencin la siguiente seccin que aparece a continuacin:"InstalacinmanualdesdelasfuentesenLinux/Unix". LalocalizacindelosficherosylaestructuradelscriptdeiniciosondiferentesrespectoaLinux. EstudiaremoslaspeculiaridadesdeFreeBSDmsadelante. Despusdelainstalacin,deberaadirlasiguientelneaa/etc/rc.conf.
pandora_agent_enable="YES"

Parahabilitarelagentedepandora,senecesitanestosajustes,deotromodonosepodr niniciarel proceso. EnFreeBSD,lamayorpartedelosficherosdelagentedepandoraestninstaladosen/usr/local. Agente:


/usr/local/bin/pandora_agent

Scriptdearranque:
/usr/local/etc/rc.d/pandora_agent

Ficherodeconfiguracin:
/usr/local/etc/pandora/pandora_agent.conf

Plugins:
/usr/local/share/pandora_agent/plugins/*

Manpages:
/usr/local/man/man1/*

Otros:
The data_in and log directories are the same as Linux.

5.8.InstalacinmanualdesdelasfuentesenLinux/Unix
Estaopcinesespecialmenteimportantesiquiereutilizarelc digodelaversindedesarrolloo directamentedelosrepositoriosdecdigo.

77

InstalacinmanualdesdelasfuentesenLinux/Unix

5.8.1.Instalacionpreviadesoftwarenecesario
DadoquevaaconstruirPandoraFMSdesdelosfuentesnecesitarelsoftwarebsicoparacompilar einstalar softwaredesdeel cdigo. Enfuncin desi usa unadistrouotratendra queinstalar paquetes tales como make, gcc y otros. Tambi n, se recomienda revisar el apartado de dependenciascorrespondienteasudistribucin. Endebian/ubuntuexisteunmetapaquetequecontienetodos:
apt-get install build-essential subversion

EnSUSE/Redhat/Fedoradeberainstalarvariospaquetes:
zypper install make automake subversion

5.8.2.Descargadelasfuentes
Laopcinmassencillaesdescargarselosfuentesenformato"tarball"(.tar.gz,.tgzo.tar.bz2)y descomprimirlo. Para ello visite la pgina oficial de Pandora FMS, seccion descargas http://pandorafms.org. Otra interesante opcin, si quiere estar "a la ltima" y utilizar el ltimo cdigo, estable o en desarrolloesutilizarelclientedelsistemadeversindecdigoSubversion(svn),paraellopuede visitar la seccion de desarrollo de la pgina oficial del proyecto Pandora FMS http://pandorafms.org/index.php?sec=community&sec2=development&lang=es. Paradescargarseelcdigodelaversindedesarrollo,usandolalneadecomandosdelclientede SVN:
svn co https://svn.code.sf.net/p/pandora/code

5.8.3.Instalacindelagente
El agente no requiere compilacion ni preparacion. Una vez que tenemos el agente: pandorafms_3.0_linux.tar.gz 1.Noshacemosroot
su -

2.Locopiamosa/tmpydentrode/tmpejecutamos:
tar xvzf pandorafms_3.0_unix.tar.gz cd unix ./pandora_agent_installer --install

3.Arrancamosmanualmenteelagente
/etc/init.d/pandora_agent_daemon start

78

InstalacinmanualdesdelasfuentesenLinux/Unix

5.8.3.1.Instalacinpersonalizada
Apartirdelaversin3.1,elagentepuedeserinstaladoenundirectoriodefinidoporelusuariode forma integral,estosignificaquesemeternenesedirectoriotodoslosficherosdelagente:logs, ficherosdeconfiguracion,binarios,paginasdelman,etc. Parausaresemtodo,simplementeejecutarcomoelsiguienteejemplo:
./pandora_agent_installer --install /opt/pandora

ELunicoficheroquePandoracrearfueradeesedirectoriodefinidoporelusuario,esellanzador delagenteen/etc/init.d/pandora_agent_daemon(oequivalenteenotrossistemasUnix),yelenlace en el directorio del nivel de arranque del sistema, por ejemplo /etc/rc.d/rc2.d/S90pandora_agent_daemon. Adems,sepuedeconfigurarlainstalacinparaqueenvezdeejecutarseelagenteconusuarioroot, se pueda ejecutar con otro usuario. Por ejemplo para que el agente se ejecute con el usuario Pandora,sera:
./pandora_agent_installer --install "" pandora

5.8.4.Instalacindelaconsola
Unavezquetenemoselficherocomprimidoconlaconsola,quesellamar pandorafms_console 3.0.0.tar.gzosimilar: 1.Noshacemosroot
su -

2.Locopiamosa/tmpydentrode/tmpejecutamos:
tar xvzf pandorafms_console-3.0.0.tar.gz cd pandora_console ./pandora_console_install --install

5.8.4.1.Versinenterprise
Una vez que tenemos el fichero comprimido con la consola, que se llamar pandorafms_console_enterprise3.0.0.tar.gzosimilar: 1.Noshacemosroot
su -

2.Locopiamosa/tmpydentrode/tmpejecutamos:
tar xvzf pandorafms_console-3.0.0.tar.gz

YlocopiamosaldirectoriodondeestinstaladanuestraconsoladePandoraFMSOpensource,que puede ser /var/www/pandora_console para Debian o Ubuntu, o bien


79

InstalacinmanualdesdelasfuentesenLinux/Unix

/srv/www/htdocs/pandora_console/paraSUSE,RH,Fedora,etc(oenotrodirectoriodependiendo deladistribucin). Debian:


cp -R enterprise /var/www/pandora_console

SUSE:
cp -R enterprise /srv/www/htdocs/pandora_console

3.Cambiamoslospermisosparaquelosficherosseanpropiedaddelusuariodelservidorweb,por ejemplo: Debian:


chown -R www-data /var/www/pandora_console/enterprise

SUSE:
chown -R wwwrun /srv/www/htdocs/pandora_console/enterprise

Enestepuntosedeberealizarlaconfiguracininicialdelaconsola.

5.8.5.Instalacindelservidor
Unavezquetenemoselficherocomprimidoconelservidor,quesellamar pandorafms_server 3.0.0.tar.gzosimilar: 1.Noshacemosroot
su -

2.Locopiamosa/tmpydentrode/tmpejecutamos:
tar xvzf pandorafms_server-3.0.0.tar.gz cd pandora_server ./pandora_server_installer --install

Siexistenproblemasdedependencias,tendremosqueresolverlasantesdeintentarlainstalaci n. Podemos forzar la instalacion ignorando el problema de dependencias, pero Pandora FMS no funcionaronofuncionarcorrectamente.

5.8.5.1.Versinenterprise
Una vez que tenemos el fichero comprimido con el servidor, que se llamar pandorafms_server_enterprise3.0.0.tar.gz osimilar: 1.Noshacemosroot
su -

80

InstalacinmanualdesdelasfuentesenLinux/Unix

2.Locopiamosa/tmpydentrode/tmpejecutamos:
tar xvzf pandorafms_server_enterprise-3.0.0.tar.gz cd PandoraFMS-Enterprise/ perl Makefile.PL make make install

Si la instalacin se ha hecho con un sistema con un Pandora FMS OpenSource ya en funcionamientoyqueremosquetomeencuentalasnuevascaracter sticasdelaversinenterprise, bastaconreiniciarelservidordePandoraFMS:
/etc/init.d/pandora_server restart

Siexistenproblemasdedependencias,tendremosqueresolverlasantesdeintentarlainstalaci n. Podemos forzar la instalacion ignorando el problema de dependencias, pero Pandora FMS no funcionaronofuncionarcorrectamente.

5.8.5.2.Desinstalacin/Limpiamanualdelservidor
En un momento dado, si hemos instalado / actualizado varias versiones diferentes, utilizando mtodos de instalacin diferentes (RPM, Tarball) puede ocurrir que tengamos varias versiones mezcladas y que se estn usando versiones incorrectas de librerias o del propio servidor, el procedimientosiguientesirveparadetectarqueversioneshayyborrarlasmanualmente: Losbinariosdebernestarsiempreen/usr/local/bin,conunenlacea/usr/bin,paracomprobarlo simplemente:
ls ls ls ls -la -la -la -la /usr/local/bin/pandora_server /usr/local/bin/tentacle_server /usr/bin/tentacle_server /usr/bin/tentacle_server

LaslibreriasdePandoradependendelaversiondesudistribucin,parasaberdondeestnysihay variasvaldraconelcomando:
find / -name "WMIServer.pm"

EstonosmostrarlarutacompletadondeestinstaladaestalibreradePandoraFMS,porejemplo:
/usr/local/share/perl/5.10.0/PandoraFMS/WMIServer.pm

Puedeocurrirquesalgaenvariospaths:
/usr/local/share/perl/5.10.0/PandoraFMS/WMIServer.pm /usr/local/share/perl/PandoraFMS/WMIServer.pm

En este caso no podemos saber cual se est usando asi que lo mejor es borrar los directorios completosyreinstalarPandoraFMS:

81

InstalacinmanualdesdelasfuentesenLinux/Unix

rm -Rf /usr/local/share/perl/5.10.0/PandoraFMS rm -Rf /usr/local/share/perl/PandoraFMS/

Siempreesbuenaideahacerunbackupdel/etc/pandora/pandora_server.confporsiacaso.

5.8.6.Instalacinmanual(desdecdigofuente)delservidor
Alternativamentealscriptdeinstalacingenrico,sepuede"compilar"elcdigodePandoraFMS, mediante el intrprete Perl de su sistema. Este proceso simplemente instala las librerias y los ejecutablesminimos,pero notocaelsistema descriptsdearranque, scriptsdemantenimiento, configuracinniningunaotracosaqueestrictamentelaaplicaci nysuslibreras.Esteprocesoesel indicadocuandotienequeactualizarelcdigodelservidor,perosinsobreescribirsuconfiguracin. Paraello,descomprimaelcdigodesuservidoren/tmp,talycomoseindicaenelpasoanterior 1.Noshacemosroot
su -

2.Locopiamosa/tmpydentrode/tmpejecutamos:
tar xvzf pandorafms_server-3.0.0.tar.gz cd pandora_server perl Makefile.PL make make install

Observelasalidadeerrordelapantalla.Sifaltaalgunadependenciaoexistealg notroproblema, elsistemaleadvertirdeello.Siobservaunmensajesimilara:


Warning: prerequisiete Mail::Sendmail 0 not found Warning: prerequisiete Net::Traceroute::PurePerl 0 not found

SignificaqueexistenalgunospaquetesdePerlquePandoraFMSnecesitayqueelsistemanotiene instalado. Revise los prrafos anteriores para saber como instalar las dependencias necesarias previasparainstalarPandoraFMS.Noobstantepuede"ignorar"esoserrores(poresosonwarnings ynoerrores)yforzarlainstalacin.Conseguridadtendrproblemasenunmomentouotroyaque lefaltauncomponentenecesarioparafuncionar.Noobstantesiseconoceelcomponentequeno estainstaladoynosevaautilizar(p.e:tracerouteseutilizaexclusivamenteparaPandoraFMS ReconServer),sepuedecontinuarconseguridad. Despusdeeseproceso,automticamentesecopianlosficheros
/usr/local/bin/pandora_server /usr/local/bin/pandora_exec

Yvariosficheros.pm(libreriasdePerl)quenecesitaPandoraFMS.Esaslibrerias.pmsecopiana diferentes directorios, dependiendo de la versin de su distribucin y de su distribucin. Por ejemploenUbuntu9.04secopiana:


/usr/local/share/perl/5.10.0/PandoraFMS/

82

InstalacinmanualdesdelasfuentesenLinux/Unix

EnSUSE/SLES11secopiana:
/usr/lib/perl5/site_perl/5.10.0/PandoraFMS/

5.9.InstalacindelAgentedeWindows
Elagenteseentregacomounautoinstaladorenformatoejecutable(.exe).Lainstalaci nbsica realizatodoslospasosnecesariosytansloesnecesarioaceptartodaslasopciones. ParainstalarelagentedePandoraFMSenWindowsslohacefaltadescargarloyejecutarlo.El instaladorleguiar atravsdelospasosnecesariosenelidiomaqueseleccione.Enelsiguiente ejemplo se muestra la instalacin para Windows XP, recuerde que Pandora FMS funciona en cualquier plataforma moderna de Microsoft (2000 o superior).

Seleccioneelidioma:

Sigalospasosdelinstalador:

83

InstalacindelAgentedeWindows

AceptelostrminosdelalicenciaypulseNext:

84

InstalacindelAgentedeWindows

Seleccione la ruta donde se instalar el agente de Pandora FMS (por defecto se instala en c:/archivosdeprograma/pandora_agent),puedecambiarlapulsandoBrowse...,despu spulseNext:

CompruebelosdatosdeinstalacinypulseelbotnNext:

85

InstalacindelAgentedeWindows

Espereaquesecopienlosficheros.

Configurelosdatosparaelagentecomoladirecci nIP(onombre)delservidordePandoraFMS que recibir los datos del agente. Para poder cambiar otros parmetros, tales como cambiar el nombredelagente(pordefectotomaelvalordelhostnamedelam quina)olarutadelosficheros
86

InstalacindelAgentedeWindows

temporalestendraqueeditaramanolaconfiguraciondelagente.

Decidasi quiereiniciarenelmomentoelserviciodelagente dePandora FMS,delocontrario tendrquehacerlodeformamanual,obienseiniciarcuandoWindowssereiniciedenuevo.

La instalacin ha finalizado, puede cambiar los parmetros del agente en el fichero pandora_agent.confobienatravsdelenlacedirectoenelmenuPandoraFMS:

87

InstalacindelAgentedeWindows

5.9.1.InstalacindesatendidadelagenteWindows
Desdelaversin3RC3,PandoraFMSincluyelaopcindeinstalarelagentedewindowsdeforma desatendida,paraelloseejecutaelinstaladordelagentepasndoleelparmetro/mode Silent queindica quela instalacinsedebehacerenmododesatendido, ademsopcionalmente sele puedepasarelparmetro/prefix <Ruta>paraindicarlelarutacompletadeinstalacin. Ejecutarelsiguientecomando(donde XXXXX)puedevariarenfuncindelaversindelinstalador, y<Ruta>eslarutacompletadondesequiereinstalar(entrecomilladasillevaespacios).
PandoraFMS_windows_agent_v3.0.XXXXX.setup.exe /mode Silent /prefix <Ruta>

Porejemplo,parainstalarlaversinactual,parainstalaren c:\agente_pandora\,habraque ejecutar:


PandoraFMS_windows_agent_v3.0.RC3.setup.exe /mode Silent /prefix c:\agente_pandora

EstoinstalarPandoraFMSconlosvalorespordefecto enlarutaindicadayarrancarelservicio dePandoraFMSenlamquina.Esnecesarioejecutareseprocesodeinstalaci ncon privilegios parapoderinstalarsoftware/serviciosenlamquina.

5.9.2.Desinstalacindesatendida
El desinstalador que es un ejecutable llamado uninstall.exe que queda en el directorio de instalacindePandora FMStambinpermitela desinstalacin desatendida,paraellohayque ejecutareldesinstaladorconlaopcin/mode Silent. Porejemplo,suponiendoquePandoraFMSestinstaladoenelpathpordefecto:
c:\archivos de programa\pandora_agent

88

InstalacindelAgentedeWindows

Habraqueejecutar:
c:\archivos de programa\pandora_agent\uninstall.exe /mode silent

5.9.3.InstalacionmanualdelagentedeWindows
Elagentedewindowssepuedeinstalardeformamanual.Aprendercomofuncionalainstalaci n manualsirvetambinparacomprendercomofuncionapordentroelAgenteyparapoderreajustar posteriormentealainstalacinciertosparmetros. Suponemosquetienetodoslosficherosnecesariosdelagente,ysuestructuradedirectorios,que resumiendolomsimportanteeslasiguiente: PandoraAgent.exe:ElejecutabledelserviciodePandoraFMS.Veremosmsadelanteque admiteciertosparmetrosquepuedenresultarnosdeutilidad. pandora_agent.conf:Elficheroprincipaldeconfiguracin. libcurl.dll:LibrerautilizadaporPandoraFMSparasubirlosficherosporFTP. libeay32.dll:LibrerautilizadaporPandoraFMSparacifrarconexiones(SSHyTentacle). zlub1.dll:LibrerautilizadaporPandoraFMSparacompresindedatos. libodbc++.dll:LibrerautilizadaporPandoraFMSparaconsultasODBC. pandora_agent.log:Logprincipaldelagente. pandora_debug.log:Logprincipaldelagente(Mododebug). /util:Dentrodeldirectorioutilseencuentranmuchasherramientas"tipicas"Unix,portadas aWin32,talescomogrep,gawk,wc,head,tail,etc.Ademsahiseencuentraelclientede tentacle, "tentacle_client.exe" que es el utilizado para enviar los paquetes al servidor de PandoraFMS. Todoestosepuedebajardenuestrorepositoriodecdigo,talycomosedescribeennuestrapgina web. Esmsfacilsiyatienesinstaladounagentewindowsenunamaquinaydirectamentecomprimesel directorioc:\programfiles\pandora_agententeroylocopiasaotramquina.

5.9.3.1.UtilizandoPandoraAgent.exedesdelalneadecomandos
Siejecutamospandoraagent.exehelp,nosmostraralgosimilaraesto:
Pandora agent for Windows. Version 3.0(Build 091125) Usage: PandoraAgent.exe [OPTION] Available options are: --install: Install the Pandora Agent service. --uninstall: Uninstall the Pandora Agent service. --test-ssh: Test the SSH Pandora Agent configuration. --test-ftp: Test the FTP Pandora Agent configuration. --process: Run the Pandora Agent as a user process instead of a service.

89

InstalacindelAgentedeWindows

Para instalar el servicio (si este no est instalado), basta con ejecutar lo siguiente dentro del directoriodondeestelejecutable(generalmentec:\programfilesoequivalente).
pandoraagent.exe --install

Estoinstarelservicioenlamquina,basandoseenelpathdondeseubicael.exe Siqueremosdesinstalarlo,eselmismoprocesopero:
pandoraagent.exe --uninstall

Siquiereprobarunaconexionftposshdesdelalineadecomandopuedeutilizarlasopciones indicadasarriba.

5.9.3.2.AgentewindowsdePandoraFMScomoproceso
Esposible,pormotivosdedepuracin,pruebasyotrascircunstanciaspocohabituales,ejecutarel agenteenmodo"Proceso".Estosehaceejecutandolodesdelineadecomando:
pandoraagent.exe --process

Existenalgunaslimitacionesenlaejecucinalmodoproceso,yaquePandoraFMSest pensado para ejecutarse como servicio y bajo el usuario SYSTEM. Si lo ejecuta con otro usuario sin privilegios,habrfuncionalidadesquenofuncionencorrectamente.

5.9.4.PandoraFMSparaWindowsNT4
EsteagenteesunpuertodelagenteUnix(enPerl)compiladoconelcompiladordePerlActiveState DevKit.EsteesunEXEautnomocontodosloselementosquenecesitar paracorrer.Tienelos mismascaractersticasqueelagenteUnix,perocorriendoenuNT4box.Estosignificaquepuede ejecutarcomandosyconseguirelrendimientoparagenerardatosparaPandoraFMS. PuedeutilizarseconcualquierWindows(NT4,Win95,Windows20002008,yporsupuestocon Windows7),puedeser tilensistemasconWindowsimplantadosinelncleoWMI,loquehace queelagenteWindowestandardePandoraFMSnofuncioneadecuadamente.

5.9.4.1.Instalacindelagente
Copietodosloscontenidosenundirectoriodesueleccin,porejemploenc:\pandora. Edite pandora_agent.conf y configure sus parmetros, incluyendo el fichero log y el directorio temporal,quedeberaseralgocomo:
c:\pandora\temp and c:\pandora\log.

ASEGURESEdequeexistenlosdirectoriosantesdeintentariniciarelagentedePandora.

90

InstalacindelAgentedeWindows

5.9.4.2.Iniciarelfuncionamientodelagente
Esteagentenocorrecomoservicio,conloquenecesitainstalarloenelmenustartupoiniciarlo manualmente.Elshortlinkquecreedeber tenerunparmetroqueser dondeest eldirectorio principaldelagentedePandoraFMS.Enesteentornoesc:\pandoraconloqueelcomandoquese inicieser:
c:\pandora\pandora_agent.exe c:\pandora

5.9.4.3.Instalacincomoservicio
Seproporcionalaherramientasrvany.exeparahaceresto.Esunkitdeherramientasderecursos paraquesecualquier.exesepuedautilizarcomoservicio.S lotienequeleerladocumentacin acercadecmoutilizarsrvany(proporcionadoconestepaquete).

5.10.Agenteembebido
Pandora FMS tiene un agente muy especial, que llamamos "agente embebido". Es un agente desarrolladoenCpuro,pensadoparasercompletamentemultiplataforma,lo nicoquesenecesita paracompilarlo,linkarloyusarlo escualquiersistemaquetengauncompiladordeC GNU.Lo hemosprobadoenvariasarquitecturasdetipoARM.Apartedeeso,nonecesitanadam spara funcionar. Parapoderusarlo,tambinesnecesariocompilarylinkarelclientedetentacle,parapoderenviar informacionalservidordePandora.Paracompilarylinkarambos,necesitalasextensionesGNUy autotools(autoconf,automake,pkgconfig,etc). Necesitar elcdigofuentedelagenteembebido,denuestrorepositoriodecdigoSVN,obien descargarlode lasecciondedescargasdeSourceForge as comoelcdigodelclientedetentacle, queseencuentraenelmismositio.

5.10.1.Instalacinbsica
Laformamssencilladecompilarestepaquetees: 1.`cd'aldirectorioquecontieneelcdigofuente.Escriba`./configure'paraconfigurarelpaquete parasusistema.SiestusandocshounsistemaantiguodeSystemV,puedequenecesiteescribir `sh./configure'. La ejecucin de `configure' tarda un tiempo, mientras se ejecuta, es normal que imprima por pantallaunagrancantidaddeinformacinsobreloqueestrealizando. 2.Teclee`make'paracompilarelpaquete. 3.Opcionalmente,escriba`makecheck'paraverificarelpaquete. 4.Escriba`makeinstall'parainstalarelprogramayelficherodeconfiguraci ndeejemplo. 5. Puede borrar los binarios generados, asi como los ficheros objeto del directorio de fuentes, escribiendo'makeclean'.Paraborrartambienlosficherosquesehangeneradoenelprocesode compilacin,ejecute`makedistclean'.

91

Agenteembebido

5.10.2.Nombresenlainstalacin
Por defecto, make install instar los ficheros en `/usr/local/bin', y `/usr/local/etc'. Puede especificarunprefijodiferentede`/usr/local'especificandoalllamara`configure'laoption` prefix=PATH'.Makeinstallinstalarlosficherossiguientes:
/usr/local/etc/pandora/pandora_agent.conf /usr/local/bin/pandora/pandora_agent

Sepuedeespecificardiferentesprefijosdeinstalacinenfuncindelaarquitectura.Silepasaa configurelaopcin'execprefix=PATH',elpaqueteusaresePATHcomoprefijoparalainstalacin de programas y libreras. La documentacion y otros ficheros ordinarios continuar n usando el prefijohabitual. Adems,siusaunaestructuradedirectoriospocohabitual,puedepasarlelaopcion'bindir=PATH' paravaloresalternativosenfunciondeltipodearchivo.Ejecute configurehelpparaunalistadelos directoriosquepuedeconfiguraryquetiposdeficherosvandentro.

5.10.3.Funcionalidadesdelagenteembebido
Enestemomento,elagentesoporta nicamentelasfuncionalidadesbsicas,esdecir,laobtencin de informacion via la invocacion de comandos del sistema con module_exec y module_plugin. Cualquier informacin que se quiera obtenerdel sistema monitoreado, debeser medianteestas directivas.

92

Agenteembebido

6CONFIGURACIONINICIALDESPUSDELA INSTALACION

93

Configuracioninicialdespusdelainstalacion

Elordenquedebeseguirdespuesdelainstalacin,es 1. Crearlabasededatos,medianteelwizarddeinstalaciondelaconsolawebdePandora FMS. 2. Modificarlasconfiguraciondelservidor,incluyendolascredencialesdeaccesoalaBBDD generadasporelpasoanterior. 3. Arrancarservidor. 4. Arrancaragentelocal(sisenecesita). 5. AccederalaconsoladePandoraFMSporprimeravezparacomenzarausarPandoraFMS.

6.1.ConfiguracioninicialdelaConsola
Estamossuponiendoquevaaejecutartodosloscomponentes(Basededatos,Consola,Servidory Agente)sobrelamismamquina.Sitodavanolohahecho,arranqueelservidormysqlyestablezca unacontraseadeadministrador(root).
/etc/init.d/mysql start

Yahoraestablezcalapassword,porejemplo"pandora123"paraelusuariorootdesuMYSQL:
mysqladmin password pandora123

AhoralevanteelservidorApacheensuservidor:
/etc/init.d/apache2 start

AhorayapuedeentrarviawebaladireccionIPdesuservidorpararealizarlapostinstalacionde PandoraFMSviaweb.EstapostinstalacionsirveparacrearlabasededatosdePandoraFMSy configurarenelservidordePandoralascredencialesdeacceso(usuario,passwordynombrede BD)alaBBDDestablecidasporelusuario. SilaIPdesuservidores,porejemplo,192.168.5.54,pongaensunavegador


http://192.168.5.54/pandora_console/install.php

ApartirdeahorasolotienequeseguirlospasosqueseleindicanparacrearlaBBDDdePandora FMS.

94

ConfiguracioninicialdelaConsola

Pulsesiguiente.

Esta pantalla se utiliza para verificar que tiene todas las dependencias de software instaladas
95

ConfiguracioninicialdelaConsola

correctamente. Nota:enelcasodequenecesiteinstalaralgunadependencia,ser necesarioreiniciarelservidor webparaquestelasreconozca.

Aqu configuralosdatosdeaccesoasuservidorMySQL.Debeintroducirlapasswordderootque definienelpasoanterior(pandora123ennuestroejemplo).

96

ConfiguracioninicialdelaConsola

Aqusemuestralacontraseadeaccesoalabasededatos.

97

ConfiguracioninicialdelaConsola

Finalizacindelainstalacin.

98

ConfiguracioninicialdelaConsola

Llegadoaestepunto,tendraqueborrarelfichero"install.php"amano,paraellovayaa: (DEBIAN/UBUNTU)/var/www/pandora_consoleyborreelfichero"install.php" (FEDORA/CENTOS/REDHAT) /var/www/htdocs/pandora_console y borre el fichero "install.php" (SUSE)/srv/www/htdocs/pandora_consoleyborreelfichero"install.php". Paraborrarunficheroenlinux,useelcomandormseguidodelficheroaborrar,porejemplo:


rm install.php

6.1.1.Aplicacindelalicencia
LaversinEnterprisedePandoraFMSvieneasociadaaunaclaveindividualparacadainstalaci n. ParapoderusarlasfuncionalidadesEnterpriseyrealizaractualizacionesautom ticasdelaconsola esnecesariointroducirelnmerodelicenciaproporcionadoenlapartedeconfiguracin.

6.1.1.1.Licenciaenversionesanterioresala4.0.2
En versiones anteriores a la 4.0.2 la licencia se usa para la actualizaci n de la consola. Para introducirlalicenciaenunainstalacindePandoraFMSdeunaversinanteriorala4.0.2deber seguirlossiguientespasos: 1.VayaalmenAdministrationydentrodelsubmenSetupescojaUpdateManagerSettings.

2. En la pantalla aparecer una un formulario con los datos para conectarse al servidor de actualizaciones.Deber introducirelcdigodelicenciafacilitadoenelcampo Customer Key y pulsarenelbotnUpdate.

99

ConfiguracioninicialdelaConsola

3.Paracomprobarqueelcdigohasidoaadidocorrectamentevayaalmen Operation yenel submenExtensionsseleccioneUpdateManager,aparecerunapantallacomolasiguiente:

Sienlugardeobtenerlapantallaanterioraparecelasiguientepantallaconunerrorasociadoal keygendeberinstalarlocomoseexplicaenlaseccinInstalacinKeygen.

6.1.1.2.Licenciaenversiones4.0.2ysuperiores
LalicenciaenversionesdePandoraFMS4.0.2ysuperioresademsdeusarseparaactualizaciones sirveparagarantizarelcorrectousodelcdigoEnterprise.Porelloesimprescindibleteneruna licenciavlida.ParaintroducirlalicenciaenversionesdePandoraFMS4.0.2osuperioresdeber seguirlossiguientespasos.
100

ConfiguracioninicialdelaConsola

1.VayaalseccinAdministrationypulseenelmenSetup

2.Enlapantallaaparecer unalistaconlasprincipalesvariablesdelaconfiguraci ndePandora FMS.BusquelavariableLicenseinformationeintroduzcasunmerodelicencia.

3.Paracomprobarqueelcdigohasidoaadidocorrectamentevayaalmen Operation yenel submenExtensionsseleccioneUpdateManager,aparecerunapantallacomolasiguiente:

101

ConfiguracioninicialdelaConsola

Sienlugardeobtenerlapantallaanterioraparecelasiguientepantallaconunerrorasociadoal keygendeberinstalarlocomoseexplicaenlaseccinInstalacinKeygen.

6.2.ConfiguracioninicialbsicadelServidor
PandoraFMShaconfiguradosuBasededatosygeneradounusuariodemysqlparaaccederala misma.Hageneradounpasswordaleatorioparaelusuario"pandora"yquedebeserelqueutilice paramodificarelpasswordquesedefineenelservidordePandoraFMS. Paraesteultimopaso,tienequeeditarelfichero /etc/pandora/pandora_server.confdesuinstalacion dePandoraybuscarlalinea:
dbpass pandora

Ysustituir"pandora"porelpasswordquehageneradoelinstalador.Unavezquelohahechoy grabadoelfichero,yapuedearrancarelservidordePandoraFMSdelasiguientemanera:
/etc/init.d/pandora_server start

Deberiadarunasalidasimilaraesta:
Pandora FMS Server 3.0-dev Build PS090915 Copyright (c) 2004-2009 ArticaST This program is OpenSource, licensed under the terms of GPL License version 2. You can download latest versions and documentation at http://www.pandorafms.org [*] Backgrounding Pandora FMS Server process. Pandora Server is now running with PID 2085

6.3.ConfiguracioninicialbsicadelAgente
Ya puede arrancarel agentelocaldesumquina(vienepreconfiguradopara enviar datosala misma mquina donde se ejecuta, mediante tentacle), para empezar a recoger datos automticamente:
/etc/init.d/pandora_agent_daemon start

AhorayapuedeaccederasuconsolaWEBdePandoraFMSatravesdelaURL:
http://x.x.x.x/pandora_console

Dondex.x.x.xeslaIPdelamquinadondehainstaladolaconsoladePandoraFMS.

102

ConfiguracioninicialbsicadelAgente

7ACTUALIZARDESDEUNAVERSION
ANTERIOR

103

Actualizarunaversinmenor

7.1.Actualizarunaversinmenor
Unaversinmenoresporejemplocuandoseactualizadela3.1finalala3.1.1,oporejemplodela 3.1rc1ala3.1rc2. La actualizacin/migracin entre versiones que son del mismo nivel (no tienen cambios en el esquemadedatos).Slotienequereemplazarsuinstalacinactualporelsoftwarenuevo,que actualizalosprogramas,sinalterarlosdatos.Paraello,yporlaseguridaddesuinformaci nsiga siemprelossiguientespasos: 1.HagaunBackupdesubasededatos(slocomoprecaucin,nodeberasernecesario). 2.HagaunBackupdesusficherosdeconfiguracin,quesonlossiguientes:
/etc/pandora/pandora_server.conf pandora_console/include/config.php at your apache web root directory. /etc/pandora/pandora_agent.conf

3. Detenga todos los procesos que se estn ejecutando de Pandora FMS: pandora_server, pandora_agent,tentacleymysql. 4.Utiliceelmtodoqueprefieraparaactualizar:RPM,DEBoTarball/Fuente

7.1.1.1.Instalandocomponentesderedylocalesadicionales
Desdelaversin4.0.3dePandoraFMS haynuevoscomponentsderedylocalespordefecto.Si instalaestaversintodosestosnuevoscomponentesserninstaladosdeformapredeterminada. Perositieneunaversin4.0.xdePandoraFMSinstaladadeber ejecutarunosscriptsauxiliares paraobtenertodosestosmdulos. Losscriptsseencuentranen<pandora_console>/extrasysonlossiguientes:
network_components.mysql.sql network_components.oracle.sql network_components.postgreSQL.sql

DeberejecutarelscriptcorrecpondienteusandosuSGBDporejemploMySQL:
mysql -u root -proot pandora < network_components.mysql.sql

Estosscriptsaadirnnuevosgruposdecomponentesynuevoscomponentesdered.

Si algo falla durante la ejecucin de los scripts (por ejemplo un ndice duplicado porque un grupo ya exista) puede modificarlos para insertar los nuevos mdulos de forma adecuada en su base de datos. Los scripts slo usan sintaxis SQL.

Si tiene la versin enterprise encontrar scripts similares para mdulos locales, emplazados en <pandora_console>/enterprise/ysonlossiguientes:
local_components.mysql.sql local_components.oracle.sql

104

Actualizarunaversinmenor

local_components.postgreSQL.sql

Puedeejecutarlosscriptscomolosanteriores,porejemplo:
mysql -u root -proot pandora < local_components.mysql.sql

Antes de ejecutar los scriptes local_componetns, debe ejecutar los scripts network_component para crear los nuevos grupos de componentes

7.1.2.DesdepaquetesRPM
Primerodebesabersiesunaactualizacinounareinstalacin.Paraelloprimeromirelaversindel paqueteinstaladoensusistema:
rpm -q -a | grep pandora

Si tiene instalados paquetes de pandora, aparecern como una lista del nombre del paquete y version,p.e:
pandorafms_console-3.0.0-1

Estosignificaquetieneinstaladoelpaquete"pandorafms_console"enlaversion"3.0.01".Siquiere instalarlamismaversinqueyatieneinstalada,puede"reinstalar",escribiendoelcomando:
rpm -i --force <nombre_paquete.rpm>

Avecesseliberan"actualizaciones"deversinconelmismonombreynumerodeversion(porque soncorreccionesdedesarrollo,etc),paraellotendraquereinstalar,forzandolainstalacioncon force. Sieselmismopaquete,perodeunaversinsuperior,puedeactualizarlomedianteelcomando:


rpm -U <nombre_paquete.rpm>

Para forzar una actualizacinde una versin que ya tiene instalada, algo muy similar a la reinstalacin,peroquemantendrsusficherosoriginalessihansidomodificadosylanuevaversi n tenalamismaversinquelospaquetesqueoriginalmenteinstal,puedeforzarlaactualizacin:
rpm -U --force <nombre_paquete.rpm>

Tenga especial precaucin antes de reinstalar o actualizar ningun paquete y realice copias de seguridadde: /etc/pandora/pandora_server.conf:EnelcasodelpaquetedelservidordePandoraFMS. /etc/pandora/pandora_agent.conf:EnelcasodelpaquetedelagentePandoraFMS.
105

Actualizarunaversinmenor

Recuerde que si est usando la versin enterprise tambin tendr que actualizar los paquetes enterprisemedianteRPM.

7.1.3.DesdepaquetesDEB
Siest utilizandounsistemaDebianoUbuntu,uotrosistemaqueutilicepaquetes.deb,instaleel nuevopaquete.Esteprocesodesinstalarautomticamenteelanterior,porejemplo:
dpkg -i nombrepaquete.deb.

Sitieneproblemasdedependencias,resuelvalosdirectamentecon:
apt-get install -f

Recuerde que si est usando la versin enterprise tambin tendr que actualizar los paquetes enterprisemediantelospaquetes.debcorrespondientes.

7.1.3.1.AgenteUnixdePandora
Cuando se actualiza un agente Unix, en el punto final de la instalaci n te preguntara por los archivos de plugins que necesite sobreescribir, por favor comprueba si estos plugins tienen modificacionespersonalesparaevitarsusobreescritura.

7.1.4.DesdeTarball/Fuentes
7.1.4.1.ConsolaWEB
Deformaautomtica EnSUSE(VmwareimageoCDAppliance):
cd pandora_console ./pandora_console_upgrade -p /srv/www/htdocs/pandora_console

Elsegundoparmetro(enesteejemplo /srv/www/htdocs/pandora_console,eselpathdondetiene instaladasuconsoladePandoraFMS). EnUbuntu/Debian


cd pandora_console ./pandora_console_upgrade -p /var/www/pandora_console

Deformamanual Copiarloscontenidosde/tmp/pandora_consolealdirectoriodepublicacinwebdesuApache: EnSUSE(VmwareimageCDAppliance):


cp -R /tmp/pandora_console /srv/www/htdocs/ chown -R wwwrun:root /srv/www/htdocs/pandora_console

EnUbuntu/Debian:
106

Actualizarunaversinmenor

cp -R /tmp/pandora_console /var/www/ chown -R www-data:root /var/www/pandora_console

Yapuedeborrardeformaseguralosficherostemporalesde/tmp/pandora_console
rm -Rf /tmp/pandora_console

El contenido del directorio attachment debe estar con los permisos de usuario apache. (wwwrun:wwwowwwdata:wwwdata) VersinEnterprise(Manual) ParaactualizarlaversinEnterprisedesdeunficherotarball,eldirectorio /enterprise ytodossus contenidosdebesercopiadoaldirectoriorazdelaconsolaWEBdePandoraFMS.

7.1.4.2.Servidor
Paraelservidor,primerodescomprimaelficherotarballquecontieneelservidordePandoraFMS:
cd /tmp tar xvzf pandorafms_server_xxxx.tar.gz

Automatizado Procedaahacerlaactualizacin
cd pandora_server ./pandora_server_upgrade --upgrade

Manual Conesteprocedimientoslosevanainstalarnuevosbinariosybibliotecas,noactualizalosscripts deutilidades,yotrascosas.Sernecesariocopiarlosmanualmentesisequierenactualizar.


cd pandora_server perl Makefile.PL make make install

Yapuedeborrardeformaseguralosficherostemporales:
rm -Rf /tmp/pandora_server

VersinEnterprise Para actualizar la versin Enterprise, descomprima el tarball de forma similar a lo descrito anteriormenteyescribalosiguientecomoroot:
perl Makefile.PL make make install

107

Actualizarunaversinmenor

Estodeberaactualizarcorrectamentesuversinenterprise.

7.1.4.3.Agente
Descomprimirelficherotarball:
cd /tmp tar xvzf pandorafms_unix_agent_xxx.tar.gz

Ejecutelaherramientadeinstalacinquevolver ainstalarelagenteensutotalidad,ascomolas herramientasypluginsquecontiene.Esteinstaladorhaceunacopiadeseguridadautom ticadesus archivosdeconfiguracinen/etc/pandora/pandora_agent.conf.yyyymmdd.Simplementeejecuteel script y copie el contenido de su copia de seguridad del fichero de configuraci n en /etc/pandora/pandora_agent.conf.
cd pandora_agent ./pandora_agent_installer --force-install cp /etc/pandora/pandora_agent.conf.xxxxxxx /etc/pandora/pandora_agent.conf

Yapuedeborrardeformaseguralosficherostemporales:
rm -Rf /tmp/pandora_agent

Para expertos, puede reemplazar solo el ejecutable del agente /usr/bin/pandora_agent o c:\program files\pandora_agent\pandoraAgent.exe para actualizar el agente. Pare antes el proceso/servicio para reemplazarel ejecutable. De esta manera no tiene que actualizar todo el agente,solosuejecutable. Recuerdequeentreellanzamientodelasversiones"menores"noexistencambiosenelesquemade labasededatos,asiquebastar conreemplazarlosficherostalycomosehadescritoarriba.Las versiones"mayores",porejemplo3.0a3.1,2.1a3.0,tienencambiosenelesquemadelabasede datosyrequirirnunaconversindelabasededatos.Consulteelapartadodeladocumentaci n paraobtenermsdetalles.

7.2.Actualizarunaversinmayor
Esteeselmismoprocesoqueparaunaversinmenor,peronecesitarsACTUALIZARtuesquemay datosdelabasededatos.Esteprocesosedescribeacontinuacin.

7.2.1.Actualizacindelabasededatos(Versiones"mayores")
Siemprequehayunaactualizacindeunaversion"Mayor",porejemplo,3.0a3.1o3.xa4.x,es necesarioactualizarelesquemadelaBasededatos.Estaactualizaci nessiemplemanualysehace desdelalneadecomandos. Estaactualizacinconviertetodalainformacin(datosyestructuradelaBBDD)alformatodela versionmsactual(ahoramismola3.1).Nosedeberaperderinformacindeningntipoenel upgradedesdeunaversinaotra,peroencualquiercaso SIEMPREhagaunacopiadeseguridad, noslodesusdatos(basededatos),yhagaunacopiadesusficherosdeconfiguraci nycdigode laconsola.Paraactualiar,sigalosenordenlospasosdescritosacontinuacin:

108

Actualizarunaversinmayor

Losscripts.sqldeactualizacindelabasededatosestncontenidoseneldirectorio/extrasdela consola ydelaconsola enterprise. Antesdeactualizarlabasededatostienequeactualizarla consolaylaconsolaenterprise.EstaactualizacinpuedesermedianteRPM,DEBoTarball/Fuente. Primeroactualiceelsoftware,ANTESdecomenzarlaactualizacindelabasededatos. Siharealizadobienestepaso,encontrar eneldirectorio{PANDORA_CONSOLE}/extrasfichero llamado pandoradb_migrate_vX.Y_to_vX.Z.sql. Siendo {PANDORA_CONSOLE} el directorio donde tieneinstaladolaconsola,porejemplo/srv/www/htdocs/pandora_consoleensistemasSUSE. Estefichero,tienetodoelcdigoSQLnecesarioparatransformarsubasededatosenformatoX.Yal formato X.Z, para dejarla lista para usar con un Pandora FMS de la version X.Z. Los pasos necesariosparalaconversindeversinson: 1.Hagaunbackup.Sialgofalla,searrepentirdenohaberlohecho.
mysqldump -u root -p pandora > backup_pandora_X.Y.sql

2.ParesusistemaPandoraFMSypareelprocesoApache(ServidorWEB)
/etc/init.d/pandora_server stop /etc/init.d/apache stop

3.Apliqueelscriptdeactualizacinparaactualizarsubasededatos.Estescriptlepreguntarporla passwordyelusuariodesuBasededatosdePandora.Puedeobtenerlamirandoelcontenidodel fichero /etc/pandora/pandora_server.conf.AsumimosenestadocumentacinquesuBDsellama "pandora"yestcorriendoenlamismamquinadondeejecutaelscript.Paraactualizarejecuteeste comando:


cd /srv/www/htdocs/pandora_console cat extras/pandoradb_migrate_vX.Y_to_vX.Z.sql | mysql -u pandora -p -D pandora

Despusdeunosminutos,labasededatosestlistaparatrabajarconlaltimaversin. Encasodecualquierproblema,elbackuppuedeserrestauradoparaoperarconlaversi nanterior conelsiguientecomando:


mysql -u root -p > drop database pandora; > create database pandora; > use pandora; > source backup_pandora_X.Y.sql

7.2.2.EsquemadelabasededatosEnterpriseDB
El proceso es idntico al anterior. En el directorio /enterprise existe un fichero llamado pandoradb_migrate_v3.2_to_v4.0.sql (si,igualqueeldelaversionOpen).Usaremosestefichero parahacerlamigracindelesquemadelaBDigualquehicimosenelpasoanterior:
cd cd /srv/www/htdocs/pandora_console cat enterprise/pandoradb_migrate_v3.2_to_v4.0.sql | mysql -u pandora -p -D pandora

109

Actualizarunaversinmayor

7.2.3.Actualizacindesdelaversin3.2.1ala4.0
Esnecesarioenlaactualizacinatravsdeunainstalacinlimpia, porlocualdebeshacerun backup del fichero /var/www/pandora_console/include/config.php y despu s realizar una desinstalacindelpaquete. DespusdeactualizarlaconsolayaseadesdeTarballs,DEBoRPMyaccederalaconsolaweb puedenaparecerelsiguienteserrores:
Notice: Undefined index: dbtype in /var/www/pandora_console/include/functions_db.php on line 32 Notice: Undefined index: dbtype in /var/www/pandora_console /include/functions_db.php on line 48 Notice: Undefined index: dbtype in /var/www/pandora_console/include/functions_db.php on line 625

Para solucionar dicho error simplemente hay aadir la siguiente lnea al archivo <pandora_console_path>/include/config.php:
$config["dbtype"]="mysql";

SitienelaantiguaextensionSSHinstalada,porfavor,brrela,noestsoportadaenlaversion4.0y harquelaconsolanofuncione:
rm -Rf <path a la consola de pandora>/extensions/ssh_console*

Algunasconfiguraciones,almigrardanproblemasenelautoincrementaldelunatabla.Siessu caso,inserteestasecuenciaSQLensubasededatos(usandomysqlporlineadecomandoola extensionSQLdepandora):


ALTER TABLE tsesion AUTO_INCREMENT = 1;

Despus de actualizar el servidor, tendr dos tipos de servidores nuevos disponibles para la monitorizacin a alta velocidad con ICMP y SNMP, pero estos tienen requisitos especiales. Por favor,leacondetalleestasnuevascaractersticasydesactvelospordefectolaconfiguracindelas siguienteslneasensupandora_sever.conf:
snmpserver 0 icmpserver 0

7.3.Problemasalactualizardesdeunaversinanterior(LibrerasPERL)
Algunasvecesalactualizar,laslibrerasdePandorasedesplazanalugaresdiferentesdondeest instaladalaversinantigua,asquedespusdeunaactualizacintendrdosversionesdiferentesde laslibrerasdePandoraFMSynopodr saberexactamentequeversinseutilizar,silaversin antiguaolanueva.Lamejorsolucinesubicarlaslibreras,borrarlastodasyreinstalar/actualizar. Paraellodeberejecutar:
find /usr -name "Core.pm"

110

Problemasalactualizardesdeunaversinanterior(LibrerasPERL)

Estolemostraralgunaslineascomoestas:
/usr/lib/perl5/site_perl/5.10.0/PandoraFMS/Core.pm /usr/lib/perl5/vendor_perl/5.10.0/Bootloader/Core.pm

Las libreras de Pandora FMS se encuentran en /usr/lib/perl5/site_perl/5.10.0/PandoraFMS/ . Brrelademanerasegurayreinstleladenuevo(desdelospaquetesolasfuentestarball).


rm -Rf /usr/lib/perl5/site_perl/5.10.0/PandoraFMS/

LaversinPerlylalocalizacinexactapuedevariarencadadistribucinLinux,as quenecesitar ubicarenprimerlugareldirectorioescritoall.

7.4.Problemasalactualizardesdeunaversinanterior(Database)
Siencuentraalgnproblema,esprobablementeporqueesteactualizandoaunaversi n3.xque procededeunaversin2.x.oporquehahechocambiosenelesquemadelaBD.Siobtieneun mensajecomoeste:
ERROR 1005 (HY000) at line 101: Can't create table './pandora/talert_template_modules.frm' (errno: 150)

Estosedebe a un problema en MySQL porquealgunos campos notienen eltipo deseado. Por ejemplo,enalgunasversioneselcampoid_agente_modulotieneeltipobigint(10).Sihamigrado desde la 1.x seguramente haya tenido antes este problema. Antes de poner en marcha la herramientademigracinparala3.0,metaestecomandoenlaconsolamysql:
ALTER TABLE tagente_modulo MODIFY id_agente_modulo bigint(10) unsigned NOT NULL auto_increment;

Eintentecorrerotravezlaherramientadeactualizaci n.Porfavor,recuerdequenecesitasoporte InnoDBparaelservidordesubasededatosMySQL.

111

Problemasalactualizardesdeunaversinanterior(Database)

8ACTUALIZACIONESDESEGURIDAD/ PARCHES

112

Actualizacionesdeseguridad/Parches

Unaactualizacindeseguridadoparchedeseguridadesunpequeoparchegeneralmenteparala Consola,peroustedtambinpuedetenerunparchedeseguridadparaelservidor.Enamboscasos, elpaquetefuentepara"parchear"elproblemapuedepresentarseenvariosformatos:

8.1.Desdelospaquetesdedistribucin
Unpaquete(RPMoDEB).Slotienequeinstalarelpaquete: Ubuntu/Debian
dpkg -i <package_name>

SUSE/RedHat/CentOS/Fedora
rpm -u <package_name>

8.2.DesdetarballoSVN
Unpaqueteenformatotarball/Source.Estoimplicaunmayorconocimentoacercadelosprocesos internosdePandoraFMS.Ustedconoce"donde"estnlosficherosquevaareemplazar.Utilizarun tarballquieredecirqueustedtienelosficherosfuenteyquierereemplazarlosporlosficherosque hainstaladoenPandoraFMS. EnlaConsola: Todos los ficheros deben colocarse en /var/www/pandora_console (Ubuntu/debian), /srv/www/htdocs/pandora_console(SUSE),oenotrosdirectorios,dependiendodelasdistros. EnelServidor: Dependede la versin que tenga y del mtodo deinstalacin, perolos ficherosquenecesitar reemplazarsedeberanbuscarpreviamente: Libreras: encuentre /usr name "PluginServer.pm", normalmente debera estar en /usr/lib/perl5/PandoraFMS Binarios:encuentre/usrname"pandora_server",normalmentedeberaestaren/usr/bin

8.2.1.EjemplodeunaactualizacinmanualdelaConsola
Porejemplo,sitieneuntarballllamadopandorafms_console_3.1_securityfix_may2011.tar.gz,sigalos siguientespasos: (SuponiendoqueutilizaunsistemaestndarSUSE)
cd /tmp tar xvzf /home/youruser/download/pandorafms_console_3.1_securityfix_may2011.tar.gz cd pandora_console cp -R /srv/www/htdocs/pandora_console sudo chown -R wwwrun /srv/www/htdocs/pandora_console

113

DesdetarballoSVN

8.2.2.EjemplodeunaactualizacinmanualdelServidor
Porejemplo,sitieneuntarballllamado pandorafms_server_3.1_securityfix_may2011.tar.gz,sigalos siguientespasos: SuponiendoqueutilizaunsistemaestndarSUSE:
cd /tmp tar xvzf /home/youruser/download/pandorafms_server_3.1_securityfix_may2011.tar.gz cd pandora_server

LocalizedndeestnsusficherosdelalibreradePandora:
sudo find /usr -name "NetworkServer.pm" . . /usr/lib/perl5/site_perl/5.12.1/PandoraFMS/NetworkServer.pm

Estenoeseldirectoriodeinstalacinpordefecto(porqueestinstaladodesdelasfuentes,nodesde RPM). Ahora sabemos la localizacin de las libreras de Pandora FMS en el directorio /usr/lib/perl5/site_perl/5.12.1/PandoraFMS/. As pues, copie todas las libreras actualizadas sobreescribiendolasviejas(estepasoeselmismoperoconnombresdedirectoriosdiferentessi tienesusistemainstaladodesdepaquetesenlugardedesdefuentes):
sudo cp -R lib/PandoraFMS/*.pm /usr/lib/perl5/site_perl/5.12.1/PandoraFMS/

Noolvidecopiartambienlosbinariosylasherramientas:
sudo cp -R bin/* /usr/bin

OlvideelmensajedealertasobresaltarselacopiaparaeldirectoriodePandoraFMS.Esnormal.
sudo cp -R util/* /usr/share/pandora_server/

114

DesdetarballoSVN

9ACTUALIZACIONESDELACONSOLACON UPDATEMANAGER

115

ActualizacionesopenSource

9.1.ActualizacionesopenSource
Desde la versin 4.0.2, Pandora FMS permite actualizar desde la versin OpenSource de actualizacionessemanalessemiautomticas.ParaellosebasaenunamejoradelsistemaUpdate Manager,antesslodisponibleparalaversinEnterprise,deestaforma,podrconsultar onlinesi existeunaactualizacin,ybajopeticin,descargarlayactualizarautomticamentesuconsola,de formacmodayautomtica. Estaactualizacintienelassiguientescaractersticas: NecesitarestarconectadoainternetdesdesuconsoladePandoraFMS(haciafuera). Updatemanagercontactar anuestrosservidoresparabuscarla ltimaversindisponible (enSourceforge).Enviardatosestadsticosdeusoannimos(ndeagentes). Se descargar la actualizacin desde Sourceforge, del directorio de actualizaciones semanales. Las actualizaciones semanales no son incrementales, son el contenido completo de la consola,porloqueelprocesopuedeserlargo(elpaquetesuelerondarlos25MB). Lasactualizacionessonautomticas:noestnrevisadasporelequipo,yaunqueenel99% deloscasosnodeberiahaberproblema,nopodemosdarunagarantadequeassea. Lasactualizacionessonsoloparalaconsola,noparalosagentesy/oelservidor.

9.1.1.Procesoaseguirparaactualizarsuconsola
Esbastantesencillo.Simplementevayaaextensiones>Updatemanager.Enlapantallaprincipal podr versihayalgunaactualizacinpendiente,disponibleparainstalar,as comolalistadelas actualizacionesanterioresinstaladas(enestacapturadepantalla,ningunaan).Pulseinstalar.

Pulseelbotndeinstalar.

Para utilizar Update Manager necesita que su consola tenga salida a Internet. Por defecto utilizar WGET para bajarse los paquetes (ms rapido), puede utilizar el mtodo CURL (esto se cambia en la configuracion de Pandora) pero este es algo ms lento.

116

ActualizacionesopenSource

Una vez descargado e instalado el paquete, volveremos a la pantalla principal que tendr este aspecto.Muestralasactualizacionesinstaladasyunmensajedequenohaymsactualiazciones disponibles.Enhorabuena,yahaactualizadolaversin!.

117

ActualizacionesEnterprise

9.2.ActualizacionesEnterprise
AdiferenciadelasactualizacionesOpen,estastienenalgunascaractersticasadicionales: 100%testadasporelequipodedesarrollo,paraquepuedadisfrutardeactualizacionesal da(avecesdeunaspocashorastrasabrirunaincidencia). Actualizaciones especficas (incrementales) que permiten actualizar solo lo que est desactualizado,sindescargarpaquetespesadosdeinternet. Permite actualizaciones "offline", descargando paquetes de la p gina de soporte, para instalacionesdePandoraFMSquenodispongandeconexinaInternet(porseguridad). Para poder usar Update Manager en la versin enterprise, primero ha debido configurar correctamentesundeserieytenerinstaladoel"keygen",yconfigurado steadecuadamente,enla pantalladesetup,talycomosemuestraaqu:

Desde Operation>Extensions>Open Update Manager, se puede acceder al Update Manager. Si dispone de la versin Enterprise instalada, podr utilizar esta interfaz, sino aparecer la de la versinOpen.

118

ActualizacionesEnterprise

DesdeestapginasemuestraelnmerodeversinenelqueestaePandoraFMSysenotificarala existenciadenuevasactualizaciones. ParaactualizaraunaversinposteriorsepulsaenUpdate. EsposiblemarcarlacasillaOverwritelocalchangesparasobreescribirloscambioslocalesloque implicaquesitenemosalgunamodificacinlocal,estasersobreescritaporlasactualizaciones.

9.2.1.Actualizaciones"offline"
Puededescargarselosactualizaciones"offline"dePandora,quesonunosficherosconextension .OUM.ParaellovayaalapginadesoporteoficialdePandoraFMS,ydescarguelosficheros.OUM, quetendranunaspectosimilaraeste:

Sbaloalaconsolausandoestecontrol:
119

ActualizacionesEnterprise

Yaplicarautomticamentelaactualizacin.

9.3.ConfiguracinadicionaldelmotorPHPparalaoperacindeUpdate Manager
Para que Open Update Manager se ejecute correctamente, ste necesita ms memoria que la asignadadeformapredeterminada.ParaasignarmsmemoriaalaejecucindePHPyqueelOpen UpdateManagerfuncione,debeeditarelficherophp.iniyestablecerlamemoriareservadaa64M, almenos. Lalineaes:
memory_limit = 64M ; Maximum amount of memory a script may consume (16MB)

Generalmente,ensistemasDebian/Ubuntu,esteficheroesteneldirectorio/etc/php5/apache2.

120

ConfiguracinadicionaldelmotorPHPparalaoperacindeUpdateManager

10INTERFAZDEPANDORAFMS

121

Introduccin

10.1.Introduccin
EnestecaptuloseproporcionarnlasbasesdelosmensdelainterfazdePandoraFMS,ascomo detodoslosiconosycaractersticasnecesariasparacomenzaraaprendercmousarPandoraFMS.

10.2.PantalladeiniciodesesindePandoraFMS
EnlasiguienteimagensemuestralapantalladeiniciodesesindePandoraFMS:

EnellaapareceelnmerodeversinydebuilddePandoraFMS,enlaesquinainferiorderecha.El ndebuildpuedesermuy tilparaidentificar"decundo"eslaversionqueestejecutandodela consola,ycodificadosignifica(AOMESDIA). Enlapartederechaestnlasentradasdetextoparaelusuarioysucontrasea,ascomoelbotnde iniciodesesin(Login). Unavezqueseintroduzcanlascredencialesdeiniciodesesinvlidas,quepordefecto,seran: Usuario:admin. Contrasea:pandora Deformapredeterminada,laconsolamostrar lapginaprincipaldebienvenidadePandoraFMS. Aunquelapginadeiniciopuedeserpersonalizadaporelusuario,comoseexplicaenelapartado Pginadeiniciopersonalizada

10.3.PginaprincipaldePandoraFMS
LapginaprincipalpordefectodePandoraFMSmuestrainformaci nbsicaygeneralacercadel estadodelossistemasydelnmeroytipodecomprobacionesquerealizaPandoraFMS. Acontinuacin,semuestralapantallapordefectodePandoraFMSysuselementos.

122

PginaprincipaldePandoraFMS

Loselementosestticosquenocambianentrelasdiferentespantallasenlainterfazson: MendeOperacin MendeAdministracin Enlacesdefinidos Cabecera

Loselementosdinmicosquecambianentrelasdiferentespantallasson: Enlacabecerapodemosdestacar: Informacin del usuario, mensajes pendientes, notificaciones del sistema, etc. (de detallarmsadelanteenlasubseccincabecera) Noticiasdelsitio ltimaactividadenlaconsolaweb Informacingeneralbsica VistageneraldelascomprobacionesenPandoraFMS Estaeslapginaprincipalpordefecto,peroelusuariopuedepersonalizarla.

10.3.1.Pginadeiniciopersonalizada
En la vista Operation > Edit my user se puede elegir la pantalla de inicio de Pandora. Esta funcionalidadestdisponiblesoloapartirdelaversion4.1(nodisponibleenactualizacionesdesde otrasversionesanteriores).

123

PginaprincipaldePandoraFMS

Lasopcionesdisponiblessonlassiguientes: Default.Pantallapordefectoexplicadacondetalleenelapartadoanterior Pginaprincipal dePandoraFMS. Dashboard.Sepuedeelegirundashboarddelusuario. Visualconsole.Sepuedeelegirunavisualconsoledelusuario. Eventlist.Listadeeventos. Groupview.Vistadegruposdelagente. Tacticalview.Vistatcticadelosagentes. Alertdetail.Listadodealertas Other.Elusuariopuedepersonalizarlapginadeiniciointroduciendolaurl.Unejemplo serasec=estado&sec2=operation/agentes/estado_agenteparavereldetalledelosagentes.

10.3.2.ElmenOperacin
Elmen Operacinpermitevisualizartodaslascomprobacionesquellevanacabolosagentesde PandoraFMS,losmapasvisuales,losmapasdered,elestadodelosservidores,elinventario,very gestionarlosincidentes(sisedispone de permisos suficientes),verlosusuarios,verla consola SNMP,verlosmensajes,yusarlasextensiones.

DentrodecadasubmendelmendeOperacin,puedenexistirotroselementosquesedespliegan alseleccionarelmen:

124

PginaprincipaldePandoraFMS

Cadaunodeestoselementosproporcionaotrapginaconinformacin.Todasellasseexplicarnen detalleenloscaptulosdeoperacinconPandoraFMS.

10.3.3.ElmenAdministracin
Elmen Administracinpermitevisualizarygestionarlascomprobacionesquellevanacabolos agentesdePandoraFMS,losmdulosycomponentesdedichascomprobaciones,lasalertasque puedenlanzardichosmdulosyagentesycmofuncionandichasalertas,laspolticasexistentes, losusuarios,laconsolaSNMP,losinformes,losperfilesdelosusuarios,losservidoresdePandora FMSysustareasasignadas,elregistrodeauditor adelsistema,elcomportamientogeneraldela consolawebdePandoraFMS,elmantenimientodelabasededatosylasextensionesdelaconsola.

Dentro de cada submen del men de Administracin pueden existir otros elementos que se
125

PginaprincipaldePandoraFMS

desplieganalseleccionarelmen:

Cadaunodeestoselementosproporcionaotrapginaconinformacin.Todasellasseexplicarnen detalleenloscaptulosdeoperacinygestinconPandoraFMS.

10.3.4.ElmenEnlaces
El men de enlaces simplemente muestra un enlace a sitios preconfigurados. stos se pueden aadir, modificar y borrar desde el men de Administracin de Pandora FMS. Estos enlaces permitenenlazarPandoraFMSconotrasaplicacionesWEBdesuorganizaci nyhacerquePandora FMSseaunpuntodegestincentral.

10.3.5.LaCabecera
La cabecera de Pandora FMS ofrece varios enlaces rpidos, o accesos directos, a caractersticas importantesdelsistema,ascomounabarradebsqueda:

Deizquierdaaderecha,ydearribaabajo,lacabeceraproporciona:
126

PginaprincipaldePandoraFMS

Informacinacercadelusuarioqueestconectado,unenlacedirectoasupginadeusuario (entrecorchetes). En caso de tener mensajes pendientes por leer se mostrar un icono de una carta que desplegarunaventanamodalconlosmensajesdisponibles. Encasodehabernotificacionesdelsistemapendientessemostraruniconodealertaqueal serclickadodesplegarunaventanamodalconlasnotificacionesdelsistemaactuales.Entre estainformacinsepuedeencontraractualizacionesdelUpdatemanager,problemasenla seguridaddelsistemaonotificacionesdevalores"defabrica"nomodificados(porejemplola contraseadelaconsolapordefecto).

Elbotndecerrarlasesin. UnenlacealaayudacontextualgeneraldePandoraFMS. Enlacealestadodelossistemas,quemuestraelestadodelosservidoresdePandoraFMS. Elbotndeautorefrescoque,ademsdeactualizarlapantalla,puedeconfigurarseparaque auto refresque en un intervalo de tiempo seleccionable. Esto permite que en cualquier pginapuedadefinirqueestaserefresquecadaXtiempo,haciendoquenosepierdala sesinyquemuestrelosdatosactualizados. Labarradebsquedaquepermitebuscarendiversoselementos:agentes,informes,alertas, mapas,grficascombinadasy/ousuariosenlabasededatosdePandoraFMS. Elenlacealvisordeeventosdelsistema. Elenlacealestadodelsistemaavisatambindecuandosecaealgnservicio,cambiandodeiconoy mostrandocuntosserviciosestncados:

Alpulsarsobreelenlace,stellevadirectamentealestadodelosservidores,informandodediversos detallesacercadelosmismos:

127

PginaprincipaldePandoraFMS

Elbotndeautorefrescopermiteactualizarlapginaalpulsarsobre l,obienseleccionaruna frecuenciadeactualizacin:

Unavezseleccionada sta,semostrar eltiemporestantehastalaprximaactualizacinjuntoal nombredelenlace:

Tengaencuentaquesoloesposibleusarestafuncionalidadenlassiguientesp ginas,elrestoesta deshabilitadoparaevitarconflictosyperdidasdedatosaleditarunformularioporejemplo.Lalista depermitidases: VistaTactica Detallesdegrupo


128

PginaprincipaldePandoraFMS

Detalledeagente Detalledealerta Detalledemonitor Vistadeservicio Dashboard Vistadeeventos ConsoladetrapsSNMP Mapadered

Labarradebsquedapermitebuscartrminosenlosmapas,informes,grficas,alertas,usuariosy agentes.Lainformacinsemuestraclasificadaensolapasparacadatipodedato,estandolasolapa deagenteseleccionadadeformapredeterminada:

Elenlacedirectoaloseventoseselmismoqueelqueproporcionaelmen Operacin.stemuestra loseventosenelsistemaypermitegestionarlosencasodetenersuficientespermisos.Lagesti nde eventosseexplicaenelcaptuloGestindelaaplicacin.

10.4.IconosenlainterfazdePandoraFMS
EnPandoraFMSexistenbastantesiconosjuntoatextos,juntoaotrosiconos,solos,etc.Enesta seccinseexplicanlosmsimportantes.

10.4.1.Iconodeayudaenlnea
Eliconodeayudaenlnearepresentaunaayudageneralsobreelcampoalqueacompaaoel formularioopginaenelqueest.Abreunaventanaemergente(sedebernteneractivadaslas ventanasemergentesenelnavegador)yproporcionaunaayudacompleta.Paramostrarestaayuda sedebepulsarsobreelicono. Eliconoesunainterrogacinsobrefondoazulycontornoredondo:

129

IconosenlainterfazdePandoraFMS

10.4.2.Iconodesugerenciaoconsejo
Eliconodesugerencia,consejo, oayudacontextualproporcionaunapequeaayudaacercadel campoalqueacompaa.stasemuestraalposarelratnencimadelicono. Eliconoesunaestrellaamarilla:

10.4.3.Iconodegestin
Eliconodegestinacompaaaalgunasfilasdealgunastablasyrepresentaunenlacedirectoala configuracindelelemento.Paraaccederalapginaqueenlazasedebepulsarsobrel. Eliconoesunaherramientaconmangoamarillo:

10.4.4.Iconodepantallacompleta
El icono de pantalla completa se suele mostrar junto al t tulo de las pginas que lo tienen y representalacapacidaddelapginaparamostrarseapantallacompleta.Parahacerusodeesta funcionalidadsedebepulsarsobreelicono. Eliconoesuncuadradoconcuatroflechas,unaencadaesquina

10.4.5.Iconodevaritamgica(Wizard)
Eliconodelavaritamgicaowizardindicaquelafuncionalidadservir paraaplicardemanera sencilla(medianteunasistente)aungrannmerodeitemsunaaccin.Porejemploencontramos wizardsenlosinformes(versionEnterprise)queconelwizardsepuedencrearitemsdeinformes paraungrannmerodemdulosagolpedeclick.Tambinenlaconsolavisualsepuedeutilizarel wizardparacrearvariositemsdemanerasencilla. Eliconoesunavaritamgica:

130

IconosenlainterfazdePandoraFMS

10.4.6.Iconodeedicindelaconfiguracinremota
ExisteunaopcindeconfiguracinparalosagentessoftwaredePandoraFMSquepermiteeditarsu configuracinremotamentedesdelaconsola(EnlaversinEnterprise).Estaopcinapareceendos pginasdiferentes.Laprimeraeslalistadeagentesenlagesti ndelosmismos,alaquesellegaa travsdeAdministration>Manageagents:

LacolumnadelaRindica,siseposeeeliconoenella,queelagentesoftwaresepuedeconfigurar deformaremotadesdelaconsola. Laopcintambinaparecealahoradeeditarlaspropiedadesdelagente,traspulsarsobreelenlace deedicinbajosunombre:

En la siguiente pgina, se mostrarn los detalles del agente, y junto a la casilla del nombre, aparecerdenuevoeliconodeedicindelaconfiguracinremotadelagente:

10.4.7.Iconodeactualizacin(forzada)
LascomprobacionesremotasdePandoraFMStienenunintervalodeactualizaci n,pero stese puedeforzarpulsandosobreunbotn.Sisefuerza,cuandoseactualiceelmdulo steintervalo volveracontardesdecero.

10.4.8.Iconoderefresco(trasaccindeactualizacinforzada)
Unavezquesehapulsadoeliconodeactualizacinforzada stecambiaparaindicarqueseha pulsadosobrel.

131

IconosenlainterfazdePandoraFMS

Volverasuestadonormalunavezqueseactualicelacomprobacin.

10.4.9.Textosalternativosenlosiconos/imgenesalposarelratn
PrcticamentetodaslasimgenesdePandoraFMStienenuntextoalternativoquesemuestraal posarelratnencimadeellas,deestaformasepuedeobtenercontextoacercadeestasimgenes:

10.5.ImgenesenPandoraFMS
LasimgenesenPandoraFMSpuedensergrficosgeneradosporelmotordegrficasestndarde Pandora FMS, o bien grficas Flash generadas por el motor de Flash. Esto lo puede definir el administradorenlaconfiguracinvisualdelsistema. Las grficas normales (estticas) proporcionan algo menos de informacin ya que no son interactivasynomuestranuntextodebajodelpunterodelrat nalposarlosobrelagrfica.Las grficasflashnosepuedenutilizarenlosinformes,queusansiemprelasgrficasestticas.

132

ImgenesenPandoraFMS

SinembargolasgrficasenFlashsproporcionanestainformacin:

Cuandonoexistendatosparamostrarenunagrfica,PandoraFMSmuestraunmensajedeerroren laimagen:

10.6.Faltadedatosparalaslistasdedatosdelagente
Cuandoelagentenotienedatosparamostrarmuestraunmensajedeadvertencia:

Eldearribaesunejemplodeagentesinalertas.

10.7.Estadosyposiblesvaloresdelosagentes,mdulosygrupos
Unagentecontienedatos,yestosdatospuedenestarenvariosestados: Correcto:colorverde Advertencia/aviso:coloramarillo Crtico:colorrojo Desconocido:colorgris,conlainformacindelultimocontactoenrojo.
133

Estadosyposiblesvaloresdelosagentes,mdulosygrupos

Noinicializado:Nosevisualiza.Aparececoncolorazulsloenlavistadegestin. Estaseraunavistadedatosdeunagente,loqueenPandoraFMSsellamanm dulos.Enellase muestra el nombre del modulo, su estado (con un recuadro de color), y su valor numerico o alfanumrico. Vistadedatosdeunagente

Porotro,existenlasvistasdetalladasdeagente,queresumendeunvistazoelestadodelagente"en conjunto"yelestadoresumidodesusmodulos.Enestavista,vemosvariosagentesendiferentes estados: Vistadeagentes

Enestavista,elagentellamado"Artica_Sancho" tiene unmoduloconfiguradoyunmoduloen estadocritical.Elagente,altener almenosunmoduloenestadocriticalsevisualizacomoun recuadrorojo.Lainformaciondelosagentes,comodos"1"separadospor":"indicaunmodulo definido,yunmoduloenestadocritical(enrojooscuro). Elagente"Sauron"tiene7modulos,ylos7estnenestado"desconocido",representadoscomoun7 encolorgrisclaro.Altenertodosloselementosenestadounknown(Desconocido),sevisualizaen colormorado. Elagente"SAPXIQ[QUALITY2]"tiene11modulosdefinidos,9enestadoOK,1enestadowarning y1 enestadocritical. Por esovisualiza "11:9:1:1", encolor negro, verde, amarilloy rojo, respectivamente.Elagentesevisualizaconunrecuadrorojo,porquehayalmenosunelemento (modulo)enestadocritico. Elagente"SAP_XID[DEVELOPMENT2]",essimilaralanteriorperosinelementosenestadocritical, porloqueelcolorvisualizadoeselamarilloporquetieneunelementoenestadoWarning. La visualizacin "global" del estado del agente depende del estado ms grave del conjunto de
134

Estadosyposiblesvaloresdelosagentes,mdulosygrupos

modulosquecontiene.SloseververdesinotieneningnelementoenestadoCritico,Warningo Desconocido. Elagente"SAMSAGAN"porejemplo,tiene10modulosylos10estnenestadocorrecto. Vistadegrupos Delamismaformatenemoslavistadegruposqueresumeelestadodeungrupodeagentes. Enestavistaungrupopuedetenerlossiguientesestados: Correcto:(colorverde)Todossusagentesestnenestadocorrecto. Advertencia/aviso: (color amarillo) Al menos uno de sus agentes est en estado de advertencia. Crtico:(colorrojo)Almenosunodesusagentesestenestadocrtico. Desconocido:(colorgris)Todossusagentesestanenestadodesconocido. Sinmdulos:(colorblanco)Cuandolosagentesdelgruponotienesm dulosoestosno estninicializados. Vistademdulos Enestavistapodrverunlistadocontodoslosmdulosdetodoslosagentes.Enellasemuestrael estadodelmduloconelcdigodecoloresarribaexplicado. Estavistaesmuy tilparacompararlainformacindemdulosdediferentesagentesgraciasasus opcionesdefiltrado.

10.8.Cajadeagentedeautocompletado
EnvariaspginasdePandoraveras:

Este control te permite segn vas escribiendo realizar un filtrado y mostrarte los agentes que coincidenconlabsquedamostrandolosporbloquescomolossiguiente: Primerbloquedecolorverde,losagentesquecoincidenenelnombreconlotecleado. Segundo bloque de color amarillo, los agentes que coinciden en la direccin con lo tecleado. Tercero bloque de color morado, los agentes que coinciden en la descripcin con lo tecleado. Recuerdaqueelcontrolempiezaafuncionarapartirdelosdoscaracterestecleados.

135

Cajadeagentedeautocompletado

11CONFIGURACINDEPANDORAFMS

136

ConfiguracindePandoraFMS

PandoraFMStienetrescomponentesbsicosquesedebenconfigurarparaunacorrectaoperaci n. Losdosprimerossonelservidorylaconsolaweb,quedebeninteractuarentreellosylabasede datosparapoderintroducir,procesarymostrarlainformaci nrecogida.Luegoestnlosagentes softwarequeenvanlosdatosalservidordePandoraFMS. Enestecaptuloseexplicarnlosarchivosdeconfiguracindelostreselementos,as comootros elementosimportantesparauncorrectofuncionamientodeloscomponentesdelaaplicaci n.

11.1.Servidor
ElservidordePandoraFMStieneunarchivodeconfiguracinquepermiteajustarmultitudde parmetros de la aplicacin para obtener un rendimiento ptimo. El fichero de configuracin pandora_server.confestubicado,deformapredeterminada,eneldirectorio/etc/pandora/.

11.1.1.Elementosdelficherodeconfiguracin
ElficherodeconfiguracindePandoraFMSesunficheroentextoplanoestndardeUNIX,donde lasvariablesquenoseusanoloscomentariosvanprecedidosdeuncar cteralmohadilla(#).Los comentarios deben comenzar la linea y es para toda ella, no puede haber lineas mixtas de configuracinycomentario. Acontinuacinseexplicantodoslosparmetrosdeajustes:

11.1.1.1.servername
NombredelservidorparaPandoraFMS.Sisecomentaseusar elnombredelequipoohost.Por favor,nocambieelnombredelservidorunavezlohaarrancado,puestoquelosagentesylos modulosremotosquedanvinculadosalnombredelservidorquelosarranc porprimeravez,y deberiacambiarencadaagenteelservidoralqueestasignadosiquierequefuncionendenuevo.

11.1.1.2.incomingdir
Directorio de entrada de los paquetes de datos XML. De forma predeterminada es /var/spool/pandora/data_in/.SepuedeoptimizarPandoraFMSutilizandoundiscoRAMoundisco especialmsrapido,yaqueestedireccionactacomo"buffer"deentrada.

11.1.1.3.log_file
Fichero de registro (log) de Pandora FMS. De forma predeterminada es /var/log/pandora/pandora_server.log . Este es el log principal del servidor, muy importante para hacerdebugylocalizarproblemas.

11.1.1.4.snmp_logfile
Fichero de registro (log) de la consola SNMP de Pandora FMS. De forma predeterminada es /var/log/pandora/pandora_snmptrap.log .Esteesunficheroespecialquealmacenalostrapsantes dequePandoralosprocese.Esteficheroesgeneradoautomticamenteynosedeberiaalteraro modificar.

11.1.1.5.errorlog_file
Fichero de registro de errores (log) de Pandora FMS. De forma predeterminada es /var/log/pandora/pandora_server.error . Este log almacena todos los errores no capturados y la informaciondeherramientasusadasporelservidorquenohasidocapturadaenellogprincipal.
137

Servidor

11.1.1.6.dbname
Nombredelabasededatosalaqueseconectarelservidor.Deformapredeterminadaespandora.

11.1.1.7.dbengine
Motordebasededatosempleado(oracle,postgresormysql).Mysqlpordefecto.

11.1.1.8.dbuser
Nombre de usuario para la conexin contra la base de datos de Pandora FMS. De forma predeterminadaespandora.

11.1.1.9.dbpass
ContraseaparalaconexincontralabasededatosdePandoraFMS.

11.1.1.10.dbhost
DireccinIPonombredelequipoquealbergalabasededatosdePandoraFMS.Eninstalaciones reducidassueleserelmismoequipodondeestelservidor,estoeslocalhost.

11.1.1.11.dbport
(Opcional)PuertoTCPdondeescuchaelmotordebasededatos.

11.1.1.12.daemon
IndicasielservidordePandoraFMSseejecutaenformadedemonioono.Siselanzaelservidor conlaopcinD,entoncestambinseejecutacomodemonio.

11.1.1.13.verbosity
Niveldedetalleparalosmensajesdelservidorydeerror,losficherosderegistroologs.0esel predeterminado, 1 es detallado, 2 es depuracin, 310 ruidoso. Cuando tenga problemas con PandoraFMSpruebeaponerestevalora10paraqueledeelmximoniveldedetalle.Valoresaltos aqui (como 10) tienen un impacto muy grande en el rendimiento del sistema, asi que no se recomiendaensistemasdeproduccindeformacontinuada.

11.1.1.14.master
1 indica que es un servidor maestro, 0 que es un servidor esclavo que forma parte de una configuracindeservidoresmltiple(paraentornosdeHA,vercaptulodeladocumentacin"HA" paramsinformacin).

11.1.1.15.snmpconsole
1indicaquelaconsoladerecepcindetrapsSNMPest activadaenlaconfiguracin.0quenolo est.LaconsoladependedelserviciodeUNIX snmptrapd yloparayarrancacuandoPandorase inicia.AntesdearrancarPandora,verifiquequeelprocesosnmptrapdnoestiniciadoenelsistema.

11.1.1.16.networkserver
1indicaqueelservidordereddePandoraFMSestactivadoenlaconfiguracin.0quenoloest.
138

Servidor

11.1.1.17.dataserver
1indicaqueelservidordedatosdePandoraFMSestactivadoenlaconfiguracin. 0quenoloest. Esteprocesoademsdeprocesarlosficheros.XMLdelosagentesrealizamstareas,deberatener siempreesteservidorfuncionando.

11.1.1.18.reconserver
1 indica que el servidor de reconocimiento de red de Pandora FMS est activado en la configuracin.0quenoloest.Sinovaausarelreconserver,desactvelo.

11.1.1.19.pluginserver
1indicaqueelservidordecomplementosdePandoraFMSestactivadoenlaconfiguracin.0que noloest.

11.1.1.20.predictionserver
1indicaqueelservidordeprediccindePandoraFMSestactivadoenlaconfiguracin. 0queno loest.

11.1.1.21.wmiserver
1indicaqueelservidordeWMIdePandoraFMSestactivadoenlaconfiguracin.0quenoloest.

11.1.1.22.inventoryserver
(sloPandoraFMSEnterprise) 1indicaqueelservidordeinventarioremotodePandoraFMSest activadoenlaconfiguracin. 0 quenoloest.Losdatosdeinventarioenviadosporlosagentesseprocesanconeldataserveryno hacefaltaactivarelservidordeinventarioremoto.

11.1.1.23.exportserver
(sloPandoraFMSEnterprise) 1 indica que el servidor de exportacin (export server) de Pandora FMS est activado en la configuracin.0quenoloest.

11.1.1.24.webserver
(sloPandoraFMSEnterprise) 1paraactivarelservidordechequeosWEB(WebserverotbconocidocomoGoliatServer). 0queno loest.

11.1.1.25.eventserver
(SloPandoraFMSEnterprise) Activa(1)odesactiva(0)elservidordecorrelacindeeventos(1pordefecto).

11.1.1.26.icmpserver
(sloPandoraFMSEnterprise)
139

Servidor

Activa(1)odesactiva(0)elservidorICMPEnterprise(0pordefecto). ElservidorICMPEnterpriseutilizaNmappararealizarpeticionesICMPenbloque.LasalidaXMLde versionesmsantiguasdeNmapnodevuelveeltiempodeidayvuelta.Instaleunaversion5.51o superior.SitodoslosmdulosdelatenciaICMPdevuelven0pongaestavariabledeconfiguraci na 0oinstaleunaversionsuperiordeNMAP.

11.1.1.27.snmpserver
(sloPandoraFMSEnterprise) Activa(1)odesactiva(0)elservidorSNMPEnterprise(0pordefecto).ElservidorSNMPEnterprise utiliza una utilidad externa llamada braa para llevar a cabo peticiones SNMP en bloque. Los mdulosquenopuedanserprocesadospor braasemarcarncomonoinicializadosyelservidorde Redseocupar deellos.Siexperimentaproblemasadicionalescon braa pongaestavariablede configuracina0.

11.1.1.28.network_timeout
Indica,ensegundos,eltiempodeexpiracinderedparalasconexionesconlosmdulosdered ICMPdelosagentes.Deformapredeterminadasuvalores2.Sivaarealizarchequeoscontrahost enunaredWAN,deberaincrementarestevaloroprobablementetengavaloreserrneosyaquelas pruebasdePINGabortarnpasadoesetiempo.

11.1.1.29.server_keepalive
Eltiempoantesdelquedeclararalservidorcomocado.Ensegundos.Deformapredeterminadasu valores45.

11.1.1.30.server_threshold
Elnmerodesegundosdelbucleprincipal,ensegundos.Deformapredeterminadasuvalores5. Esteesunvalormuyimportanteparalaconfiguraci ndelservidor,definecuantasvecesPandora buscarparaversihaydatospendientesenlabasededatosoeneldiscoduro(Parabuscarficheros XML).5/15esunvalorvlidoparalamayoriadelasocasiones.Siseponea1elconsumodeCPU subir mucho. Se puede usar el valor 1 para ocasiones especiales, como cuando por ejemplo, Pandora ha estado parado durante algun tiempo y hay muchos ficheros XML y tareas de red pendientesprocesar.Sepuedeponera1,procesar algomsrpidolastareaspendientes,pero cuandoacabesedeberaponerentre5y15.porqueconvaloresmuybajosygrancarga,seproduce unefectode"sobrecalentamiento"quehacequeaumenteprogresivamenteelconsumodeCPUy memoriadelservidor. Estevalorjuntoconlosparmetrosde_threaddelosservidoresyelparmetromax_queue_filesse usanparaconfigurarelrendimientodelservidor.

11.1.1.31.network_threads
Nmero de hilos para el servidor de red. Indica cuntas comprobaciones se pueden hacer en paralelo, pero al aumentar requiere mucha mayor capacidad de procesamiento. Su valor predeterminadoes5. Nosubaelnmerodehilospor encima de25,ya queenla mayorade sistemasnonotarmejorasderendimientoysusistemasepuedevolverinestable.

11.1.1.32.icmp_checks
Define el nmero de pings para cada tipo de mdulo icmp_proc. Al menos una de esas
140

Servidor

comprobacionesdebedevolver1paraquesedeelmdulocomocorrecto.Suvalorpredeterminado es1.Sipone5aqui,yelprimerpingtienexito,elrestonosehacen.

11.1.1.33.tcp_checks
NmerodereintentosTCPsielprimerofalla.Elvalorpredeterminadoes1.

11.1.1.34.tcp_timeout
TiempodeexpiracinespecficoparalasconexionesTCP.Elvalorpredeterminadoes30.

11.1.1.35.snmp_checks
NmerodereintentosSNMPsielprimerofalla.Elvalorpredeterminadoes1.

11.1.1.36.snmp_timeout
TiempodeexpiracinespecficoparalasconexionesSNMP.Elvalorpredeterminadoes3.

11.1.1.37.snmp_proc_deadresponse
DevuelveDOWNsinosepuedecontactarconunm duloSNMPbooleano(proc)obiensirecibe NULL.Siseestablecea0seignora.

11.1.1.38.plugin_threads
Nmerodehilosparaelservidordecomplementos.Indicacuntascomprobacionessepuedenhacer enparalelo.Suvalorpredeterminadoes3.

11.1.1.39.plugin_timeout
Tiempo de expiracin de las comprobaciones con complementos. Despus de este tiempo se mostrarelestadodelmdulocomodesconocido.Suvalorpredeterminadoes5,probablementele interesesubirloaunvalormsalto.Sielplugintieneuntimeoutsuperior,seaplicaestevalor.

11.1.1.40.wmi_timeout
TiempodeexpiracindelascomprobacionesWMI.Despusdeestetiemposemostrar elestado delmdulocomodesconocido.Suvalorpredeterminadoes10.

11.1.1.41.wmi_threads
NmerodehilosparaelservidorWMI.Indicacuntascomprobacionessepuedenhacerenparalelo. Suvalorpredeterminadoes2.

11.1.1.42.prediction_threads
Nmerodehilosparaelservidordeprediccin.

11.1.1.43.recon_threads
Nmero de hilos para el servidor de reconocimiento de red. Indica cu ntas comprobaciones se puedenhacerenparalelo.Suvalorpredeterminadoes2.

141

Servidor

11.1.1.44.dataserver_threads
Nmerodehilosparaelservidordedatos.IndicacuntoshilosdelprocesadordeficherosXMLhay enparalelo.Suvalorpredeterminadoes2.Elnmeromximodehilosrecomendadoes4.

11.1.1.45.inventory_threads
(SloPandoraFMSEnterprise) Nmerodehilosasignadosalservidordeinventarioremoto.Indicacuantoshilossimult neosse asignanaestecomponente.

11.1.1.46.export_threads
(sloPandoraFMSEnterprise) Nmerodehilosasignadosalservidordeexportacin.Indicacuantoshilossimultneosseasignana estecomponente.

11.1.1.47.web_threads
(sloPandoraFMSEnterprise) NmerodehilosasignadosalservidordepruebasWEB.Indicacuantoshilossimult neosseasignan aestecomponente.

11.1.1.48.mta_address
DireccinIPdelservidordecorreoelectrnico(MailTransferAgent).

11.1.1.49.mta_port
Puertodelservidordecorreoelectrnico.Pordefectoelpuerto25.

11.1.1.50.mta_user
Usuarioparaelservidordecorreoelectrnico(encasodesernecesario).

11.1.1.51.mta_pass
Contraseaparaelservidordecorreoelectrnico(encasodesernecesaria).

11.1.1.52.mta_auth
Sistemadeautenticacindelservidordecorreoelectrnico(encasodesernecesario;losvalores vlidosson:LOGINPLAINCRAMMD5DIGESTMD)

11.1.1.53.mta_from
Direccindecorreoelectrnicodesdelaqueseenviarnloscorreos.Deformapredeterminadaes pandora@localhost.

11.1.1.54.mail_in_separate
Pordefecto1.Siseestableceen1,repartirelcorreoporseparadoparacadadestino.Siseestablece en0,elcorreosercompartidoentretodoslosdestinos.
142

Servidor

11.1.1.55.xprobe2
Siseproporciona,seusaparadescubrirelsistemaoperativodelosequiposremotosasignadosalos agentes, cuando se lanza una tarea de reconocimiento de red. La ruta predeterminada es /usr/bin/xprobe2.Sinosedefine,seusaensulugarNMAPqueesmuchomenospreciso.

11.1.1.56.snmpget
Necesario para las comprobaciones SNMP. De forma predeterminada est en /usr/bin/snmpget. Hacereferenciaalaubicacindelclientesnmpstandarddelsistema.Serecomiendanotocarloano serquesesepaexactamenteloquesehace.

11.1.1.57.nmap
Necesarioparaelreconserver.Deformapredeterminadaesten /usr/bin/nmap.Serecomiendano tocarloanoserquesesepaexactamenteloquesehace.TambienseutilizaparaelICMPserver enterprise.

11.1.1.58.plugin_exec
Indicalarutaabsolutaalprogramaqueejecutalospluginsdeformacontroladaeneltiempo.Por defecto /usr/bin/timeout yserecomiendanotocarloanoserquesesepaexactamenteloquese hace.Sisusistemabasenodisponedeestecomando,debeutilizarensulugar/usr/bin/pandora_exec , quesibiennoestaneficiente,escompatibleconsusistemayaquevieneincluidoconPandora FMS.

11.1.1.59.autocreate_group
Identificadornumricodelgrupopredeterminadoparalosnuevosagentescreadosconelservidor dedatos,atravsdelarecepcindeficherosdedatos.Suvalorpredeterminadoes2.

11.1.1.60.autocreate
Siseestablecea1seautocrearnagentescuandoserecibanficherosdedatosXMLparalosqueno existanagentes.Siseestablecea0nosecrearnynecesitarcrearprimeroelagenteenlaconsola (ojo,sensibleamaysculas).

11.1.1.61.max_log_size
TamaomximodelficheroderegistrodePandoraFMS,enbytes.Cuandosealcanceestetama o, semover elficheroa pandora_server.log.old yseseguir trabajandosobreeloriginal.Eltamao predeterminadoes65536Bytes.

11.1.1.62.max_queue_files
Nmero mximo de ficheros de datos XML a partir del cual no se leer el directorio que los contiene,paraevitarsobrecargarelequipo.Aunquenoseleaeldirectorio,nosignificaquenose leanlosficherosysesiganprocesando.Elvalorpredeterminadoes250.

11.1.1.63.use_xml_timestamp
Pordefectodesactivado.Siest activado(valor1)utilizaeltimestampdelficheroXML,generado conlafechayhoradelservidorenelmomentodelarecepci ndelmismo,enlugardeltimestamp quellevainternamenteelficheroXMLyquefuegeneradoporelservidor.Estosirveparadesactivar
143

Servidor

globalmenteelusodelasfechasgeneradasporlosagentesyusarlafecha/hora(timestamp)del servidorcomoreferenciaparatodoslosdatos.Ensistemasconproblemasconlasincronizacion, sistemasconfecha/horaincorrecta,esunaopcinquepuedesolucionarprcticamentetodoslos problemas.

11.1.1.64.auto_restart
Por defecto deshabilitado. Si est activado (valor en segundos), fuerza al servidor a hacer un reiniciointernocadaXsegundos(1dia=86400).Estaopcinestilsiobservadegradacinpora cadanocontroladadealgnhilooservidorespecficodePandoraFMS.

11.1.1.65.restart
Por defecto desactivado. Ante un error crtico el servidor reiniciar despus de un nmero de segundosdado.

11.1.1.66.self_monitoring
Elservidortieneunmodoparaautomonitorizarse,quecreaunagentevirtualenelservidorque monitoriza la mayora de los parmetros importantes de un servidor de Pandora FMS. Para activarlo,elparmetroselfmonitoringdebefijarseen1.

11.1.1.67.update_parent
Elservidortambintieneahoraunparmetroparadefinirsielagentepuedeactualizarsupadre enviandoelnombredelpadreenelXML,perosielparmetronoestdefinidooes0,entoncesla informacindelagenteserignorada.Sinoesesteelcaso,cuandoelservidorrecibeunXMLconel atributoparent_name,buscaunagenteconestenombre,ysiloencuentra,actualizaelpadredel agentedelXML.

11.1.1.68.restart_delay
Pordefecto60.Nmerodesegundosqueesperarelservidorantesdereiniciartrasunerrorcrtico sirestartestactivado.

11.1.1.69.icmp_threads
(sloPandoraFMSEnterprise) NmerodehilosdelservidorICMPEnteprise(3pordefecto).

11.1.1.70.snmp_threads
(sloPandoraFMSEnterprise) NmerodehilosdelservidorSNMPEnteprise(3pordefecto).

11.1.1.71.block_size
(SloPandoraFMSEnterprise) Tamao del bloque de los servidores productor/consumidor en bloque, es decir, n mero de mdulosporbloque(15pordefecto).

144

Servidor

11.1.1.72.braa
(SloPandoraFMSEnterprise) Ubicacindelbinariobraa,utilizadoporelservidorSNMPenterprise(/usr/bin/braapordefecto).

11.1.1.73.braa_retries
(SloPandoraFMSEnterprise) NmerodereintentosantesdequebraalepaseelmduloalServidordeRedencasodeerror.

11.1.1.74.event_window
(SloPandoraFMSEnterprise) Eseltiempodeventana(ensegundos)dentrodelcualelservidordecorrelaciondeeventosmirar poreventos,porejemplo,siseconfiguraa3600,elmotorcompararybuscareventosenlaltima hora.

11.1.1.75.wmi_client
ClienteWMiempleadopordefecto.Nodeberacambiarestevalor.

11.1.1.76.activate_gis
Para activar el GIS en el servidor (Informacin de posicin en agentes), por defecto est desactivado.

11.1.1.77.location_error
Margen/RadiodeerrorenmetrosparaconsiderardosubicacionesGISlamismaubicaci n.

11.1.1.78.recon_reverse_geolocation_mode
Mododegeolocalizacininversa[disabled,sql,file] disabledElrecontasknointentalocalizarinversamentelaIP. sqlLatareareconintentar consultarlabasededatosparalaIPdescubierta(hayque cargarlosdatospreviamenteenlaBBDD). fileLatareareconintentar descubrirlainformacindelaIPdescubiertaenelfichero indicadoenelparmetrorecon_reverse_geolocation_file.

11.1.1.79.recon_reverse_geolocation_file
Fichero con informacin sobre la geolocalizacin inverta. Este fichero debe tener el formato MaxMindGPLGeoLiteCity.dat.

11.1.1.80.recon_location_scatter_radius
Radio(enmetros)parael"circulo"dentrodelcualseubicarnlosagentesquesedescubranporuna tareadered.ElcentrodelcrculoseintentarcalcularenbaseageolocalizarlaIPdescubierta.

11.1.1.81.google_maps_description
Esto activa la conversin de coordenadas GPS en una descripcin textual de la direccin
145

Servidor

(geolocalizacin inversa). Para ello se utilizar la API de Google Maps. Para poder usar esta funcionalidad se necesita acceso a internet, y puede tener penalizaciones de rendimiento procesandolainforamacinGISdebidoalavelocidaddeconexincontralaAPIdeGoogledesdeel servidor de Pandora FMS. AVISO: La API de Google Maps es un servicio de pago y requiere credenciales,necesitar obtenerlaAPIKEYypagar,sinoelserviciosesuspendealcabodeunpar dedasdeuso.

11.1.1.82.openstreetmaps_description
Esto activa la conversin de coordenadas GPS en una descripcin textual de la direccin (geolocalizacininversa).ParaelloseutilizarlaAPIdeOpenStreetMaps.Esteservicionoestan exactocomoeldeGoogleMaps,peroesgratuito.Ademstienelaventajaquepuedemediante unasmodificacionesdelcdigomodificarseparaconectarseaunservidorlocal. Siseusaconconexindirectaainternet(pordefecto),senecesitaaccesoainternet,ypuedetener penalizacionesderendimientoprocesandolainforamacinGISdebidoalavelocidaddeconexin contralaAPIdeOpenStreetMapsdesdeelservidordePandoraFMS.

11.1.2.ConfiguracindeSNMPTRAPD
LaConsolaSNMPdePandoraFMSutilizasnmptrapdpararecibirlostrapsSNMP.snmptrapdesuna herramientaestndar,presenteencasitodoslossistemasUNIX,pararecibirlostrapsyescribirun archivo de registro. Pandora FMS configura snmptrapd para escribir un fichero de registro personalizadoyloleecadaxsegundos. Anteriormente,snmptrapdaceptabatrapspordefecto,sinconfigurarnadadeformaexpl cita.A partirdelaversion5.3,laconfiguracinparaelcontroldeaccesoesmasrestrictivaypordefectono permiterecibirtrapsdecualquiera. Sisnmptrapdseejecutasinunaconfiguracinpersonalizada,noserecibentrapsyPandoraFMSno puedemostrarlosenlaconsola,porqueelsistemalosrechaza. Lomsprobableesquenecesiteconfigurarsufichero /etc/snmp/snmptrapd.conf.Sinoexiste,mire elfichero/var/log/pandora/pandora_snmp.logparaverqueerroreshay. Unaconfiguracinbsicadelficherosnmptrapd.confseralasiguiente
authCommunity log public

SinofuncionaensudistribucindeLinux,porfavorreviselasintaxisdelaversi ndesusistema snmptrapdparapermitirlarecepcindelostrapsensudemoniodesnmptrapdconelcomando:


man snmptrapd.conf

11.1.3.ConfiguracindeTentacle
LosagentessoftwaredePandoraFMSpordefectoenvanlospaquetesdedatosalservidormediante elprotocoloTentacle(puerto41121/tcpasignadoporIANA[1]).Tambinsepuedereconfigurarel agenteparaqueenvi losdatosdemanerasalternativas:transferencialocal(NFS,SMB),SSH FTP,etc.SisedeseaqueenvenlospaquetesdedatosatravsdelprotocoloTentacle,entonces habr queconfigurarunservidordeTentacledondesevayanarecibiresosdatos.Pordefectoal instalarPandoraFMSserver,seinstalaunservidordeTentacleenlamismamquina. Si es necesarioajustar algunos parmetrosdeconfiguracin delservidor deTentacle, se puede
146

Servidor

hacermodificandodirectamenteelscriptlanzadordeldemoniodeTentacleServerqueesten:
/etc/init.d/tentacle_serverd

AcontinuacinseenumeranlasdiferentesopcionesdeconfiguracindeTentacleServer: PANDORA_SERVER_PATH Rutaaldirectoriodeentradadelosdatos.Deformapredeterminadaes/var/spool/pandora/data_in TENTACLE_DAEMON Demoniodetentacle.Deformapredeterminadaestentacle_server. TENTACLE_PATH RutaalbinariodeTentacle.Deformapredeterminadaes/usr/bin. TENTACLE_USER UsuarioconelqueselanzareldemoniodeTentacle.Deformapredeterminadaespandora. TENTACLE_ADDR Direccindelaqueescucharlospaquetesdedatos.Siseestablece0.0.0.0seescuchar nentodas. Deformapredeterminadaseescuchaentodaslasdirecciones,estoes,suvalores0.0.0.0. TENTACLE_PORT Puertodeescuchaparalarecepcindepaquetes.Deformapredeterminadaes41121(Puertooficial asignadoporIANA). TENTACLE_EXT_OPTS OpcionesadicionalesconlasqueejecutarelservidordeTentacle.AquipuedeconfigurarTentacle parausarautenticacinconpasswordsimtricaocertificados.Ejemplos: Transferenciasimpleconautenticacinbasadaencontrasea: Parmetrosextraenelservidor:
-x password

Parmetrosextraenelcliente(TENTACLE_EXT_OPTS)
-x password

Transferenciasegura,sincertificadocliente: Parmetrosextraenelservidor:
-e cert.pem -k key.pem

Transferenciaseguraconcertificadodecliente Parmetrosextraenelservidor:
-e cert.pem -k key.pem -f cacert.pem

147

Servidor

Parmetrosextraenelcliente(TENTACLE_EXT_OPTS)
-e cert.pem -k key.pem

Transferenciaseguraconcertificadodeclienteyautenticaci nadidicionalconcontrasea: Parmetrosextraenelservidor:


-x password -e cert.pem -k key.pem -f cacert.pem

Parmetrosextraenelcliente(TENTACLE_EXT_OPTS)
-x password -e cert.pem -k key.pem

11.2.ConsolaWEB
Laconsola webdePandora FMStieneunficherodeconfiguracinquegeneralmentesecreay configuradurantelainstalacin.SilainstalacinsehacedesdelospaquetesDEBoRPM,odesdeel CDdeinstalacindePandoraFMS, staseconfiguradeformaautomtica.Siseinstaladeforma manual,conelpaquetetarball.Sepuedeconfigurardesdeelasistentewebmedianteladirecci n http://ip_instalacion_consola/pandora_console/install.php El fichero de configuracin config.php est en el directorio /include/ dentro del directorio de instalacin de la consola, que puede ser /var/www/pandora_console (Debian, Ubuntu) o /srv/www/htdocs/pandora_console/ (SUSE, RH, Fedora...) o incluso otro, dependiendo de la distribucin.

11.2.1.Ficherodeconfiguracinconfig.php
Lasopcionesdeconfiguracinenelarchivoestnenlacabeceradelmismo,ysonlassiguientes: $config["dbname"] Nombredelabasededatosalaqueconectarse.DeformapredeterminadaesPandora. $config["dbuser"] Nombre de usuario para la conexin contra la base de datos de Pandora FMS. De forma predeterminadaespandora. $config["dbpass"] ContraseaparalaconexincontralabasededatosdePandoraFMS. $config["dbhost"] DireccinIPonombredelequipoquealbergalabasededatosdePandoraFMS.Eninstalaciones reducidassueleserelmismo*equipodondeestelservidor,estoeslocalhost. $config["homedir"] Directorio donde est instalada la consola web de Pandora FMS. Suele ser /var/www/pandora_consoleo/srv/www/htdocs/pandora_console. $config["homeurl"] DirectoriobaseparaPandoraFMS.Sueleser/pandora_console.
148

ConsolaWEB

$config["public_url"] Estevariabletieneelvalordelaurldelservidorinternoparacuandousaunproxyinversocomopor ejemplomod_proxydeApache.

11.2.1.1.Redireccinhacia/pandora_consoledesde/
Si slo tiene instalado un Pandora FMS en su servidor Apache, puede que le interese redirigir automticamentea/pandora_consolecuandolosusuariosseconectenconlaURL/desuservidor. Paraellopuedecrearelsiguienteficheroindex.htmlyponerloeneldirectoriorazdelservidorweb (/var/www/srv/www/htdocs):
<html> <head> <meta HTTP-EQUIV="REFRESH" content="0; url=pandora_console/index.php"> </head> </html>

11.3.AgentessoftwaredePandoraFMS
11.3.1.Quesunagente
LosagentessoftwaredePandoraFMSrecogentodoslosdatosdelossistemas.Seejecutanencada sistema local, aunque tambin pueden recoger informacin remota mediante la instalacin de sistemasdemonitorizacinparaelagenteenvariasmquinasdiferentes. Estn desarrollados para trabajar con una plataforma fija, haciendo uso de las herramientas especficasdellenguajequeseemplea:VBSCript/Windowsscripting paraplataformasMicrosoft (Windows 2000, Windows XP, Windows 2003 y Windows Vista), ShellScripting para UNIX incluyeGNU/Linux,Solaris,AIX,HPUXyBSD,ascomoelIPSOdeNokia.LosagentesdePandora FMSsepuedendesarrollarencualquierlenguaje,siemprequeseaunsistemaconunaAPIsencillay queseadecdigoabierto.ExistenmodalidadesdelproyectodePandoraFMSquehansidoiniciadas paralacreacindeagentesenPosixC,PerlyJavaparaaquellossistemasquerequierenagentes cerrados. LosagentesdePandoraFMSson 100%cdigoabierto ,porejemploenelmodoenquelos agentesrecogenyenvaninformacinest documentadoypuedeanalizary/omodificarelc digo paraqueseadecueasusnecesidades.Unagentepodr volverseacrearencualquierlenguajede programacin, y puede ser actualizado fcilmente, para mejorar aspectos del programa que no habansidocubiertoscompletamente. Estedocumentodescribelainstalacindeagentesenmquinasquefuncionanconlossistemas operativosWindowsyUNIX.

11.3.1.1.RolgenricodelosAgentesSoftware
Elrolgenricodelosagentessoftwaresebasaenobtenerinformaci ndelsistemaoperativoenel queestninstalados,recopilarestainformacinyluegoenvirselaalservidor. LosagentessoftwaredePandoraFMSutilizanloscomandospropiosdelsistemaoperativopara obtener la informacin. El servidor de datos de Pandora FMS almacena y procesa los datos generadosporestoscomandosytransmitidosalservidordentrodeunficheroXML. La informacin devuelta por esos comandos est contenida en loquesellama Mdulo. Si el agente se ha aadido en modo aprendizaje, los mdulos enviados que no estn definidos
149

AgentessoftwaredePandoraFMS

previamenteenelagentelgico,serncreadosporelservidorautomticamente.

11.3.2.Introduccinalaconfiguracindelagente
El agente se controla mediante un nico fichero de configuracin que tiene una sintaxis prcticamenteigualensistemasUNIXysistemasWindows,esteficherosellama pandora_agent.conf y se encuentra en el directorio de instalacin del agente (en sistemas Windows) y en /etc/pandora/pandora_agent.confensistemasUnix. Esteficherodeconfiguracinesunficherodetextoplanocondiferentesopcionesquepuedeser modificadoporeladministrador,paramodificarelcomportamientodelmismo,configuraradonde vaaenviarlosdatosyqucosasvaamonitorizarydequmanera.

La codificacin del archivo de configuracin del agente es muy importante y siempre debe ser la misma que la codificacin establecida en el parmetro encoding del propio archivo de configuracin. Con esto evitaremos recibir datos con caracteres mal codificados

A continuacin se describen los parmetros generales del Agente Software y los m dulos de monitorizacin que son los que definen como y qu se monitoriza localmente con el Agente Software.

11.3.3.Parmetrosgeneralesdelagente
Losparmetrosgeneralesdelagentedeconfiguracinaparecendefinidosenestaseccin.Algunos deestossoncomunesparatodoslossistemasyotrossonespec ficosparaWindowsoparaUnix.Los parmetrosgeneralesson:

La primera vez que se reciben datos del agente se guarda toda la informacin en la base de datos. Para sucesivos envos de informacin (y dependiendo si est habilitado el modo aprendizaje) slo se actualizarn los siguientes campos del XML: version, fecha y versin de SO, as como los siguientes parmetros del archivo de configuracin gis_exec, latitude, longitude, altitude, parent_agent_name, timezone_offset, address, custom_field

11.3.3.1.server_ip
EsladireccinIPoelnombredelanfitrindelservidordePandoraFMS,dondesealmacenarnlos datos.Elservidordeber estarpreparadopararecogerlosdatosbienporSSH(escuchandoenel puerto22),porTentacle(puerto41121),FTP(puerto21),SMBoNFS.

11.3.3.2.server_path
Larutadelservidoreslarutacompletadelficherodondeelservidoralmacenalosdatosenviados porelagente.Habitualmentees:/var/spool/pandora/data_in.

150

AgentessoftwaredePandoraFMS

11.3.3.3.temporal
Esteeslarutacompletadelacarpetadondeelagentealmacenalosdatoslocalmenteantesde enviarlosalservidor. Ntesequelospaquetesdedatos,pordefecto,seborranunavezqueelagenteintentacontactar conelservidordePandoraFMS,sinimportarsilacomunicaci nseprodujoconxitoono(aunque estecomportamientosepuedecambiar,comoveremosmsadelante). Estosehaceparaevitarunsobrecargaeneldiscodurodelsistemaanfitri ndondecorreelagente. Laubicacindelficherolocalvarasegnlaarquitecturadelsistemaanfitrin.EnlossistemasUNIX est generalmente en /var/spool/pandora/data_out, y en los sistemas Windows C:\program files\pandora_agent\temp. El instalador de Windows por defecto crear este directorio, dependiendodedondedecidainstalarPandoraFMS.

11.3.3.4.description
EnvialadescripcindelagenteenelXML,yPandoraFMSimportaestadescripci ncuandocreael agente.

11.3.3.5.group
Enva el nombre del grupo al que queremos que pertenezca el agente, solo empleado en el momentodecreacindelagente.PandoraFMSserverautomticamenteutilizar esegrupopara colocarelagenteenelgrupoespecificado.

11.3.3.6.temporal_min_size
Sielespaciolibre(enmegabytes)delapartici nenlaqueseencuentraeldirectoriotemporales menorqueestevalor,nosesiguengenerandopaquetesdedatos.Deestemodoseevitaquesellene eldiscosiporalgunaraznsepierdelaconexinconelservidorduranteunintervalodetiempo prolongado.

11.3.3.7.logfile
LarutaalficherodelregistrodesucesosdelagentedePandoraFMS.Elficherosepuedeemplear paracomprobarelsistemayparainvestigarotrasposiblescuestiones.

11.3.3.8.interval
Este es el intervalo de tiempo, en segundos, en el que el agente recolectar datos del sistema anfitrinyenviar lospaquetesdedatosalservidor. Losrangosdevaloresrecomendadosson, desde 300 (5 minutos) a 600 (10 minutos). Este nmero puede ser ms grande, aunque es importanteconsiderarelimpactodeunnmeromayorenlabasededatos.Pordebajode3060 segundosnoestrecomendadosuejecucin.

11.3.3.9.debug
Esteparmetroseempleaparacomprobarlageneracindelosdatosdelosficheros,forzandoal agente a no copiar datos de ficheros para el servidor, de modo que se puedan comprobar los contenidosdedatosdelosficherosycopiarlosdatosdeficherosXMLmanualmente.Nosedestruye ningndatocuandosefinalizaelproceso,aspues,losdatosdelosficherosestarneneldirectorio temporal. La actividad est registrada en el fichero del registro. El fichero de registro es pandora_agent.log(verlogfilemsarriba).

151

AgentessoftwaredePandoraFMS

11.3.3.10.agent_name
Esteesunnombrealternativodelanfitrin.Esteparmetroesopcionalyaquenohasidodeclarado sinoobtenidodirectamentedelsistema.Elparmetrosepuedeusarparasobreescribirelnombre delanfitrinporotrocualquierencasodequehayaalgnconflicto.Sitienedosagentesconel mismonombre,todossusdatossevolcarnenelmismoagentedelaconsoladePandora,locual puedeproducirresultadosimpredeciblesyconfusos.

11.3.3.11.address
EsteesladireccinIPasociadaalagentesoftware.PuedeserunaIPconelformatoX.X.X.X,un nombrededominiocomo'localhost'o'auto'.SiesunaIPonombrededominio,estesea adirala coleccindedireccionesdelagenteyseestablecer comoprincipal.Sies'auto',seobtendr la direccinIPdelamquinayseaadiralagentedelmismomodoqueenelcasoanterior.

11.3.3.12.encoding
Instalaeltipodecodificacindelsistemalocal,comoporejemploiso885915,outf8. staopcin estdisponibleparalosagentesdeUNIXyparalosdeWindowsdesdePandoraFMS2.0.

11.3.3.13.server_port
Esteparmetropermiteidentificarelpuertoremotodelservidorqueest alaespera.Deforma predeterminadaes41121paraTentacle.EncasodequenoseuseTentacleoqueelservidorest instaladoenotropuerto,esaqudondesedebecambiar.

11.3.3.14.transfer_mode
Esteparmetroespecificaelmododetransferenciaqueinstalarparaenviarlosdatosdelagenteal servidor.Losmodosdisponiblesson: SSH (usandoSCP),Tentacle,FTPolocal.Elmodolocales sloparasistemasdondeelagenteseejecutaenlamismam quinaqueelservidor,porquees bsicamenteunacopiaentredirectorios.Elmodolocalest disponible nicamenteparaagentes GNU/Linux.

11.3.3.15.server_pwd
EspecficaparalacontraseadelFTPdeWindowsyparaelmododetransferenciaTentacle,aunque la contrasea en este ltimo es opcional. Contrasea del servidor para la autenticacin con contrasea.

11.3.3.16.server_ssl
EspecficaparaelmododetransferenciaTentacle.Permitehabilitar(1)odeshabilitar(0)elcifrado delasconexionesmedianteSSL.

11.3.3.17.server_opts
Es una opcin especfica para el modo de transferencia Tentacle. Permite pasar parmetros adicionales al clientedeTentaclepara configuraciones avanzadas. Deben irentrecomillas(por ejemplo,"vr5"). Desdelaversion3.2delosagentes,elclientedetentaclesoportaunaopcionparapoderusarun proxyHTTPparaenviarlosdatosalservidor.EsteproxyHTTPdebetenerhabilitadoelm todo CONNECT.Parapoderusarlasalidaatravsdeunproxy,usamoslasiguienteopcion(ejemplo):
152

AgentessoftwaredePandoraFMS

server_opts -y user:pass@proxy.inet:8080

Esta opcion fuerza al cliente de tentacle a enviar los datos a trav s de un proxy situado en proxy.inetyqueusaelpuerto8080,usandoelusuerio"user"yelpassword"pass"paraautenticarse en dicho proxy. Si por ejemplo, es preciso usar un proxy sin autenticacion, en un servidor en 192.168.1.2yconelpuerto9000,laopcinseraasi:
server_opts -y 192.168.1.2:9000

11.3.3.18.delayed_startup
Este parmetro permite configurar el agente de Pandora FMS para que comience a funcionar despusdeciertotiempo(enminutos)despusdeejecutarlomanualmente.Puedeser tilpara sistemasconmuchoslotesdecarga.Deformapredeterminadaest deshabilitado,estoes,elagente dePandoraFMScomenzar afuncionardesdequeseejecutesmanualmente.Estaopci nsloes vlidaparaagentesUNIX.

11.3.3.19.pandora_nice
EsteparmetropermiteespecificarlaprioridadqueelprocesodelagentedePandoraFMStendr enelsistema.SloestdisponibleparaagentesUnix/Linux.

11.3.3.20.autotime
Siest habilitado(1)enviauntimestampdeejecucinespecial(AUTO)quehacequeelservidor utilicelafecha/horalocaldelservidorparaestablecerlahoradelosdatos,ignorandolahora enviadaporelagente.Estoesnecesarioenaquellosagentesqueporlaraz nquesea,tienenuna horaincorrectaomuydiferentedeladelservidor.

11.3.3.21.cron_mode
ConesteparmetroesposiblehacerqueelagenteuseelpropiocrontabdeLinuxparaejecutarseen unintervalodeterminadoenvezdeusarelpropiosistemainternodelagenteparaejecutarsecada cierto tiempo. Est desactivado por defecto y no se recomienda su uso a menos que sea estrictamentenecesario.

11.3.3.22.remote_config
Esteparmetrocontrolasiesposibleconfigurarelagenteremotamentedesdelaconsolaono.1:Se activa la configuracin remota, 0: No se permite la configuracin remota. Por defecto est desactivado.Esteparmetroaunquesepuedeactivarenlosagentes,s lofuncionacorrectamente enlaversinEnterprisedePandoraFMSyutilizandoTentaclecomomododetranferencia.

11.3.3.23.xml_buffer
Pordefecto0.Estandoa1elagenteguardar losXMLdedatosquenohayapodidoenviarpara intentarlodenuevomsadelante. EnUnix,siest enunentornosegurodeberaconsiderarcambiareldirectoriotemporal,yaque /tmptienepermisosdeescrituraparatodoslosusuarios.

153

AgentessoftwaredePandoraFMS

UnejemplodelosparmetrosgeneralesdesdeunaconfiguracinUnixsera:
server_ip server_path temporal logfile interval debug agent_name server_port transfer_mode remote_config 192.168.1.1 /var/spool/pandora/data_in /var/spool/pandora/data_out /var/log/pandora/pandora_agent.log 300 0 box01 41121 tentacle 1

UnejemplodelosparmetrosgeneralesdesdeunaconfiguracinWindowssera:
server_ip server_path temporal logfile interval debug agent_name server_port transfer_mode remote_config 192.168.1.1 /var/spool/pandora/data_in c:\archivos de programa\pandora_agent\temp c:\archivos de programa\pandora_agent\pandora_agent.log 300 0 box01 41121 tentacle 1

11.3.3.24.timezone_offset
Ahoraelagentepuedeinstalarsutimezoneoffsetconelservidor.Estolepermitealservidorhacer undesplazamientodelahorarecogidaporelagente,deformaque"concuerde"conlahoralocal delservidor.
# Timezone offset: Difference with the server timezone timezone_offset 3

11.3.3.25.parent_agent_name
Tambinahoraesposible(sielservidorlopermite)actualizarelpadredeunagenteenviandoen XMLelnombredelagentepadre.
#Parent agent_name parent_agent_name parent_name

11.3.3.26.agent_threads
Nmerodehilosquelanzar elagenteparaejecutarmdulosenparalelo.Pordefectolosmdulos se ejecutan uno tras otro sin lanzar ningn hilo adicional. Slo est disponible para agentes Unix/Linux.
# Number of threads to execute modules in parallel agent_threads 4

154

AgentessoftwaredePandoraFMS

11.3.3.27.include<fichero>
Permite incluir un fichero de configuracin adicional. Este archivo puede incluir mdulos y coleccionesadicionalesalasdelarchivoprinciapl.Estepar metroopcional.Enrelacinalagente Perl,decirquepermitecomodinesenelnombredearchivos.

11.3.3.28.broker_agent<nombre>
Estetokenesopcional.Gestionaconfiguracionesyrecolecci ndedatosdesdeunagentecomosi fueranvarios.Unnuevoficherodeconfiguracinsercreadoporcadaagentebrokeraadidoenel ficherodeconfiguracinprincipalconelnombrequelehayamosasignado.Estetokenser tenido encuentaenelagentebrokerynoenlosnuevosagentescreadosporeste.Verm sabajocomo funcionaelmodobroker.

11.3.3.29.pandora_user<usuario>
Este parmetro es opcional y permitir ejecutar el agente con el usuario del sistema que se especifque. Este usuario deber contar con los permisos para poder ejecutar el agente y sus recursosasociados. Comosepuedecomprobar,lamayoradeparmetrosdeunagentewindowsydeunagenteunix sonidnticos.

11.3.4.ServidorSecundario
Untipoespecialdeparmetrodeconfiguracingeneralesladefinicindeunservidorsecundario. Estopermitedefinirunservidoralqueseleenvanlosdatos,deformacomplementariaalservidor definidodeformaestndar.Elmododeservidorsecundariofuncionadedosformas: on_error:Envadatosalservidorsecundariosolosinopuedeenviarlasalprimario. always:Siempreenvadatosalservidorsecundario,independientementesipuedecontactar onoconelservidorprincipal. Ejemplodeconfiguracin:
secondary_server_ip secondary_server_path secondary_mode secondary_transfer_mode secondary_server_port 192.168.1.123 /var/spool/pandora/data_in on_error tentacle 41121

11.3.5.ServidorUDP
El agente de Windows de Pandora, permite configurar el propio agente para la escucha de comandosremotos.EsteservidorescuchaenunpuertoUDPespecificadoporelusuario,ypermite recibir rdenesdesdeunsistemaremoto,idealmente,desdelaconsoladePandoraFMS,mediante laejecucindealertasenelservidor. ParaconfigurarelservidorremotoUDP,existenlassiguientesopcionesenpandora_agent.conf udp_server:ParaactivarelservidorUDPponerloa1.Pordefectoestdesactivado. udp_server_port:Puertoenelqueescucha. udp_server_auth_address: Direccin IP autorizada para enviar rdenes. Por seguridad, restrinjaelaccesoaesteagentedesdeunanicaIP. process_<name>_start<command>:Comandoquearrancarunprocesodefinidoporel
155

AgentessoftwaredePandoraFMS

usuario. process_<name>_stop<command>:Comandoquepararelproceso. service_<name>1:Permitequeelservicio<name>seaparadooarrancadoremotamente desdeelservidorUDP. Ejemplodeconfiguracin:


udp_server 1 udp_server_port 4321 udp_server_auth_address 192.168.1.23 process_firefox_start firefox process_firefox_stop killall firefox service_messenger 1

Elservidoraceptalossiguientescomandos:
* <START|STOP> SERVICE <nombre del servicio>: Inicia o para un servicio. * <START|STOP> PROCESS <nombre del proceso>: Crea o mata un proceso. * REFRESH AGENT <nombre del agente>: Fuerza una ejecucin del agente, refrescando los datos.

Porejemplo:
STOP SERVICE messenger START PROCESS firefox REFRESH AGENT 007

Existeunscriptenelservidor,en /util/udp_client.plqueeselusadoporPandoraFMSServercomo comandodeunaalerta,paraarrancarprocesos,oservicios.Tieneestasintaxis:


./udp_client.pl <address> <port> <command>

Porejemplo,parareiniciarunagente:
./udp_client.pl 192.168.50.30 41122 "REFRESH AGENT"

Paramsinformacin,veaelcaptulodeconfiguracindealertas.

11.3.6.Definicindelosmdulos
Cada fragmento de informacin que se recopile debe definirse con precisin en cada mdulo, empleandola sintaxisexacta.Sepuedenimplementartantosvalorescomosea precisopara ser recogidos, aadiendo, alfinaldelosparmetrosgenerales,tantosmdulos comoelnmerode valoresparacompilar.Cadamduloest compuestodevariasdirectivas.Lalistadeabajoesuna listadescriptivadetodaslassealesdemdulosdisponiblesparaagentesUNIX(casitodasellas tambinsepuedenaplicaralagenteWindows). Lasintaxisgeneraleslasiguiente:
module_begin

156

AgentessoftwaredePandoraFMS

module_name NombreDelMdulo module_type generic_data . . . module_description Ejecucin del comando module_interval Nmero module_end

Existendiferentestiposdemdulos,condiferentessubopciones,perotodoslosmdulostienenuna estructurasimilaraesta.Losparmetrosmodule_intervalymodule_descriptionsonopcionales,yel resto completamente obligatorios. Vamos a ver primero los elementos comunes de todos los mdulos:

11.3.6.1.Elementoscomunesdetodoslosmdulos Los campos del mdulo (salvo el dato del mdulo, la descripcin y la informacin extendida) slo se actualizan en la creacin del mdulo, nunca se actualizarn una vez que el mdulo est creado. Este comportamiento se mantiene aunque el modo aprendizaje del agente este activado

module_begin

Defineeliniciodelmdulo.Obligatorio.
module_name <nombre>

Nombre del mdulo. Este es el ID del mdulo, elija un nombre sin espacios en blanco y no demasiado largo.Nohaylimitacinespecfica(mx.250caracteres),peroser mssencillode manejarunnombrecorto.Estenombre NOPUEDEestarduplicadoconunnombresimilarenel mismoagente.Estenombrepodr estarduplicadoconotrosmdulosenotrosagentes.Comocasi todoenPandoraFMSessensiblealadiferenciaentremaysculasyminsculas. Esobligatorio.
module_type <tipo>

Eltipodedatosquemanejarelmdulo.Hayvariostiposdedatosparalosagentes: Numrico (generic_data). Datos numricos sencillos, en coma flotante o enteros. Si los valoressondetipoflotante,estosserntruncadosasuvalorentero. Incremental(generic_data_inc).Losdatosnumricosenterosigualesaldiferencialexistente entreelvaloractualyelanterior.Cuandoestediferencialesnegativoelvalorsefijaa0. Alfanumrico(generic_data_string).Recogecadenasdetextoalfanumricas. Monitores(generic_proc). tilparamedirelestadodeunprocesooservicio.Estetipode datossellamamonitorporqueasigna0aunestadoErr neoycualquiervalorporencima de1acualquierestadoCorrecto. Alfanumrico asncrono (async_string). Recoge cadenas de texto alfanumricas que
157

AgentessoftwaredePandoraFMS

pueden llegar en cualquier momento, sin una periodidicad fija. El resto de par metros (generic*)tienenunfuncionamientosncrono,esdecir,esperanlallegadadedatoscadaXX tiempo,ysinollegansedicequeestnenestadodesconocido(unknown).Losmdulosde tipoasncrononopuedenestareneseestado. Monitorasncrono(async_proc).Similarageneric_procperoasncrono. Numricoasncrono(async_data).Similarageneric_dataperoasncrono. Esogligatorio.

module_min <valor>

Esteelvalormnimovlidoparalosdatosgeneradosenestemdulo.Sielmdulonohasido definidotodavaenlaconsolaweb,estevalorsepodr tomardesdeestedirectorio.Estadirectiva noesobligatoria.Estevalornoeliminaelvalordefinidoenelagente.Sielm dulonoexisteenla consolademandos,sercreadaautomticamentecuandoseempleaelmododeaprendizaje.


module_max <valor>

Esteeselvalormximovlidoparalosdatosgeneradosenestemdulo.Sielmdulonohasido definidoenlaconsolaweb,estevalorsepodr tomardesdeestedirectorio.Estadirectivanoes obligatoriaynoestrespaldadaporelagenteWindows.Estevalornoeliminaelvalordefinidoenel agente.Sielmdulonoexisteenlaconsolademandos,ser creadaautomticamentecuandose empleaelmododeaprendizaje.


module_min_warning <valor>

Esteeselvalormnimoparaqueelmdulopaseaestadodeadvertencia.Estadirectivanoes obligatoria.Sielmdulonoexisteenlaconsolademandos,ser creadoautomticamentecuando seempleaelmododeaprendizaje.


module_max_warning <valor>

Esteeselvalormximoparaqueelmduloest enestadodeadvertencia.Estadirectivanoes obligatoria.Sielmdulonoexisteenlaconsolademandos,ser creadoautomticamentecuando seempleaelmododeaprendizaje.


module_min_critical <valor>

Esteeselvalormnimoparaqueelmdulopaseaestadocrtico.Estadirectivanoesobligatoria.Si elmdulonoexisteenlaconsolademandos,ser creadoautomticamentecuandoseempleael mododeaprendizaje.


module_max_critical <valor>

Esteeselvalormximoparaqueelmduloestenestadocrtico.Estadirectivanoesobligatoria. Sielmdulonoexisteenlaconsolademandos,sercreadoautomticamentecuandoseempleael mododeaprendizaje.


module_disabled <valor>

Indicasielmduloestahabilitado(0)odeshabilitado(1).Estadirectivanoesobligatoria.Siel mdulo no existe enla consola demandos, ser creado automticamente cuando seemplea el mododeaprendizaje.
158

AgentessoftwaredePandoraFMS

module_min_ff_event <valor>

Este es el intervalo en el que se filtrarn nuevos cambios de estado en el mdulo evitando fluctuacionesexcesivasenlosestadosdelmdulo.Estadirectivanoesobligatoria.Sielmdulono existe en la consola de mandos, ser creado automticamente cuando se emplea el modo de aprendizaje.
module_description <texto>

Estadirectivaseempleaparaaadiruncomentarioalmdulo.Estadirectivanoesobligatoria.Este valor no sobreescribe el valor definido por el agente. Si el mdulo no existe en la consola de mandos,sercreadoautomticamentecuandoseempleaelmododeaprendizaje.
module_interval <factor>

Desde quePandora 1.2introdujo este nuevo tipo, sepuede, para cada m dulo, fijar su propio intervalo.Esteintervalosecalculacomounfactormultiplicadorparaelintervalodelagente.Por ejemplo,sielagentetieneintervalo300(5minutos),ysequiereunm duloqueseaprocesadoslo cada15minutos,sedebeaadirestalnea:module_interval3.As,estemduloser procesado cada300secx3=900sec(15minutos).

module_timeout <secs>

En la version 3.1, Pandora FMS soporta especificar en cada m dulo, de forma independiente, cuantossegundosesperar alaejecucindelmdulo,deformaquesitardamsdeXXsegundos, abortalaejecucindelmdulo(paraevitarquedarse"muerto"enlaejecucindeunmdulo).
module_postprocess <factor>

Igualqueenladefinicindepostprocesodeunmduloqueserealizadesdelaconsola,aqu se puededefinirunvalornumricodecomaflotantequepasar estevalorasuvezaPandoraFMS paraqueloempleeelservidorparamultiplicarelvalorrecibido(encrudo)poralagente.Siquiere multiplicarpor1024elvalorquedevuelveelagente,pongaaqu "1024"siloquiereesdividirlopor 1024,pongaaqu1/1024,esdecir0,000976563.


module_save <nombre de variable>

Desdelaversin3.2esposibleguardarelvalordevueltoporunm duloenunavariabledeentorno demodoquepuedaserutilizadomsadelanteenotrosmdulos.Esimportantetenerencuentaque losvaloresseactualizansegnseejecutanlosmdulos,esdecir,enelordenenqueestndefinidos. Porejemplo:


module_begin module_name echo_1 module_type generic_data module_exec echo 41121 module_save ECHO_1 module_end module_begin module_name echo_2 module_type generic_data module_exec echo $ECHO_1 module_end

159

AgentessoftwaredePandoraFMS

module_crontab <minuto> <hora> <da> <mes> <da de la semana>

Desde la versin 3.2 se pueden programar los mdulos para que se ejecuten en determinadas fechas. Paraellohayquedefinirelmodule_crontabutilizandounformatosimilaraldelficherocrontab: (http://es.wikipedia.org/wiki/Cron_(Unix)#Sintaxis) module_crontab<minuto><hora><da><mes><dadelasemana> Siendo: Minuto059 Hora023 Dadelmes131 Mes112 Dadelasemana06(0esDomingo)

Tambinesposibleespecificarintervalosutilizandoelcarctercomoseparador. Porejemplo,paraqueunmduloseejecutetodoslosLunesentrelas12ylas15podramosutilizar lasiguienteconfiguracin:


module_begin module_name crontab_test module_type generic_data module_exec script.sh module_crontab * 12-15 * * 1 module_end

Elmdulosloseejecutarunavezduranteelintervalo.Siqueremosqueseejecutemientrasdure elintervalopodemosutilizarlaopcinmodule_cron_interval0delasiguientemanera:
module_begin module_name crontab_test2 module_type generic_data module_exec script.sh module_crontab * 12-15 * * 1 module_cron_interval 0 module_end

Paraejecutaruncomandocadahora,alahoray10minutos:
module_begin module_name crontab_test3 module_type generic_data module_exec script.sh module_crontab 10 * * * * module_cron_interval 0 module_end

module_condition <operacin> <comando>

Desdelaversin3.2esposibledefinircomandosqueseejecutarncuandoelmdulodevuelva determinadosvalores.Esnecesarioespecificarunadelassiguientesoperaciones: >[valor]:Ejecutaelcomandocuandoelvalordelmduloesmayorqueelvalordado. <[valor]:Ejecutaelcomandocuandoelvalordelmduloesmenorqueelvalordado.


160

AgentessoftwaredePandoraFMS

=[valor]:Ejecutaelcomandocuandoelvalordelmduloesigualalvalordado. !=[valor]:Ejecutaelcomandocuandoelvalordelmduloesdistintoalvalordado. =~[expresinregular]:Ejecutaelcomandocuandoelvalordelm duloconcuerdaconla expresinregulardada. (valor,valor):Ejecutaelcomandocuandoelvalordelmduloest comprendidoentrelos valoresdados. Sepuedenespecificarmltiplescondicionesparaunmismomdulo.Porejemplo:


module_begin module_name condition_test module_type generic_data module_exec echo 2.5 module_condition (1, 3) script_1.sh module_condition > 5.5 script_2.sh module_end

Ejemplos:
module_begin module_name MyProcess module_type generic_data module_exec tasklist | grep MyProcess | wc -l module_condition > 2 taskkill /IM MyProcess* /F module_end module_begin module_name PandoraLogSize module_type generic_data module_exec ls -la "c:\Archivos de programa\pandora_agent\pandora_agent.log" | gawk "{ print $5 }" module_condition > 10000 del "c:\Archivos de programa\pandora_agent\pandora_agent.log" module_end module_begin module_name Service_Spooler module_type generic_proc module_service Spooler module_condition = 0 net start Spooler module_end

NOTA: En el sistema operativo Windows es recomendable anteponer cmd.exe /c al comandoparaasegurarqueseejecutadeformaadecuada.Porejemplo:


module_begin module_name condition_test module_type generic_data module_exec echo 5 module_condition (2, 8) cmd.exe /c script.bat module_end

module_precondition <operacin> <comando>

Seejecutar elmdulosisecumplelaprecondicin. Aligualquelascondiciones, esnecesario


161

AgentessoftwaredePandoraFMS

especificarunadelassiguientesoperaciones: >[valor]:Ejecutaelcomandocuandoelvalordelmduloesmayorqueelvalordado. <[valor]:Ejecutaelcomandocuandoelvalordelmduloesmenorqueelvalordado. =[valor]:Ejecutaelcomandocuandoelvalordelmduloesigualalvalordado. !=[valor]:Ejecutaelcomandocuandoelvalordelmduloesdistintoalvalordado. =~[expresinregular]:Ejecutaelcomandocuandoelvalordelm duloconcuerdaconla expresinregulardada. (valor,valor):Ejecutaelcomandocuandoelvalordelmduloest comprendidoentrelos valoresdados. Unejemplodemduloconprecondicionesseraelsiguiente:
module_begin module_name Precondition_test1 module_type generic_data module_precondition (2, 8) echo 5 module_exec monitoring_variable.bat module_end

Aligualqueconlaspostcondicionesesposiblesponervarias,sloseejecutarsisecumplentodas:
module_begin module_name Precondition_test2 module_type generic_data module_precondition (2, 8) echo 5 module_precondition < 3 echo 5 module_exec monitoring_variable.bat module_end

NOTA: En el sistema operativo Windows es recomendable anteponer cmd.exe /c al comandoparaasegurarqueseejecutadeformaadecuada.Porejemplo:


module_begin module_name Precondition_test3 module_type generic_data module_precondition (2, 8) cmd.exe /c script.bat module_exec monitoring_variable.bat module_end

module_end

Defineelfinaldelmdulo.Esobligatorio.

11.3.6.2.Directivasespecficasparaobtenerinformacin
Acontinuacinsedescribenlasdirectivasespecficasquesepuedenespecificarencadamdulo paraobtenerinformacin.Encadamdulosolosepuedeutilizaruntipodeestos.
module_exec <comando>

Esteesladirectivageneraldecomandoaejecutar.TantoparaelagenteUNIXcomoparaelde Windows slo hay una directiva para obtener datos de un modo genrico, ejecutando un slo
162

AgentessoftwaredePandoraFMS

comando(sepuedenusartuberaspararedireccionarlaejecucinaotrocomando).Estadirectiva ejecuta uncomando y almacena el valordevuelto. Estemtodo tambin est disponible en los agentesparaWindows.Esteeselmtododepropsitogeneralparaambosagentes.

Si la ejecucin del comando devuelve un cdigo de error (return code) diferente de 0, se interpretar que el comando da error y se descartar el dato obtenido.

En algunos casos cuando est seguro que el comando devuelve informacin vlida, aunque el cdigodeerror!=0,puedeencadenarlasalidaconuncomando"inocuo"paralimpiarelcdigode errordeejecucin,porejemplo:
top -n 1

Ledarerrorcode1(verifiqueloconecho$?).Para"limpiar"eseerror,utiliceestemtodo:
top -n 1 | grep ""

Para un agente Windows existen ms directivas para obtener datos, stas se describen a continuacin.
module_service <servicio>

Comprueba si un determinado servicio se est ejecutando en la mquina. Recuerde usar los caracteres""sielnombredelserviciocontieneespaciosenblanco.
module_begin module_name Service_Dhcp module_type generic_proc module_service Dhcp module_description Service DHCP Client module_end

Elservicioseidentificaconelnombrecortodelservicio(Servicename),talcomoapareceenel gestor de servicios de Windows. Existe otro identificador, llamado "display name", mas largo y generalmentemasdescriptivo,peroesenoeselempleadoporPandora FMSparaidentificarel proceso.Tampocoloeselprocesoasociadoalservicio.Enestacapturapodemosverelnombre corto(Servicename)delserviciomonitorizadoenelejemploanterior.Esimportanteresaltarque lasmaysculasylasminsculassediferencianynoeslomismoDHCPqueDhcp.

163

AgentessoftwaredePandoraFMS

Modoasncrono PandoraFMSporlogeneralejecutaunabateradepruebas(cadaunadeellasdefinidaenun mdulo)cadaXsegundos(300seg.=5min.pordefecto)deformaquesiunserviciosecaejusto despusdeunaejecucindePandora,tardaremosalmenosotros300segundosensaberqueseha cado.LosmdulosasncronoshacenquePandoranotifiqueinstantneamentedelacadadeese servicio.Aestolellamamosmododeoperacinasncrono.Paraellobastaconagregarladirectiva


module_async yes

Watchdogdeservicios Existeunmodowatchdogparalosservicios,detalformaqueelagentepuedeiniciarlosdenuevosi estosseparan.Enestecaso,elservicioreiniciadonorequierening nparmetroporqueWindows yasabecmohacerlo.Enestecasolaconfiguracinesmssencillaystepodraserunejemplo:


module_begin module_name ServiceSched module_type generic_proc module_service Schedule module_description Service Task scheduler module_async yes module_watchdog yes module_end

EnUnix En Unix funciona igual que en Windows, solo que para Unix proceso y servicio es el mismo concepto,porejemploparaversielprocesosshdestactivoenelsistema,bastarconejecutar:
module_begin module_name Service_sshd

164

AgentessoftwaredePandoraFMS

module_type generic_proc module_service sshd module_description Process SSHD running module_end

ElmodowatchdogyladeteccinasncronanosonposiblesenelagentedeUnix.
module_proc <proceso>

Compruebasiundeterminadonombredeprocesoestoperandoenestamquina.Sielnombredel procesocontieneespaciosenblanco nouse"".Tengaencuentaqueelnombredelprocesodebe tenerlaextensin.exe.Elmdulodevolver elnmerodeprocesosqueseestnejecutandocon estenombre.Esimportante,igualqueenotroscasos,queelnombredelprocesoseaexactamente igualqueelmostradoporeladministradordetareas(taskmgr)deWindows,incluyendoespacios maysculas/minsculas,porejemplonoserlomismocmd.exequeCMD.exe Esteseraunejemplodelamonitorizacindeprocesocmd.exe:


module_begin module_name CMDProcess module_type generic_proc module_proc cmd.exe module_description Process Command line module_end

EnUnix En Unix funciona exactamente igual que el modulo module_service. Tampoco soporta modo asncrononiwatchdog. Modoasncrono Deunaformasimilaralosservicios,monitorizarprocesospuedesercr ticoenalgunoscasos.Ahora elagentedeWindowssoportacomprobaciones asncronas paraelmdulo module_proc. Eneste caso,elagentenotificainmediatamentecuandoelprocesocambiadeestado,sinesperaraqueel agente"ejecute"denuevolaverificacinsegnestaconfiguradoenelintervalodelagente.Deesta forma,puedeconocerlacadadeprocesoscrticoscasialinstantedequeocurran.Esteser aun ejemplodemonitorizacinasncronadeprocesos:
module_begin module_name Notepad module_type generic_data module_proc notepad.exe module_description Notepad module_async yes module_end

Ladiferenciaestentokendeconfiguracin"module_asyncyes". Watchdogdeprocesos Un Watchdog es un sistema que permite actuar inmediatamente ante la ca da de un proceso, generalmente, levantandoelproceso quesehacado.ElagentedeWindowsdePandora FMS, puedeactuarcomoWatchdogantelacadadeunproceso,aestolellamamosmodowatchdogpara procesos:
165

AgentessoftwaredePandoraFMS

Dadoqueejecutarunprocesopuederequeriralgunosparmetros,hayalgunasopcionesadicionales deconfiguracinparaestetipodemdulos.Esimportantedestacarqueelmodo watchdog solo funciona cuando el tipo de mdulo es asncrono. Veamos un ejemplo de configuracin de un module_procconwatchdog:
module_begin module_name Notepad module_type generic_data module_proc notepad.exe module_description Notepad module_async yes module_watchdog yes module_start_command c:\windows\notepad.exe module_startdelay 3000 module_retrydelay 2000 module_retries 5 module_end

Estaesladefinicindelosparmetrosadicionalesparamodule_procconwatchdog: module_retries:Nmerodeintentosconsecutivosqueelmdulointentarlanzarelproceso antesdedesactivarelwatchdog.Siellimiteesalcanzado,elmecanismodelwatchdogpara estemdulosedesactivarynuncamsintentarlanzarelproceso,inclusosielprocesoes recuperadoporelusuario.(almenoshastaquesereinicieelagente).Pordefectonohay lmiteparaelndereintentosdelwatchdog. module_startdelay:Nmerodemilisegundosqueelmduloesperar antesdelanzarel procesoporprimeravez.Sielprocesotardamuchoenarrancar,esbuenodecirlealagente pormediodeesteparmetroque"espere"antesdeempezaracomprobardenuevosiel procesosehalevantado.Enesteejemploespera3segundos. module_retrydelay:Similaralanteriorperoparacadas/reintentosposteriores,despusde detectarunacada.CuandoPandoradetectaunacada,relanzaelproceso,esperaelnde milisegundos indicados en este parmetro y vuelve a comprobar si el proceso ya esta levantado. EsimportantedestacarquePandoraFMSseejecutacomoservicioyquesisequiereutilizarla funcionalidaddeWatchdogparaejecutarprocesosquenecesiteninteractuarconelescritorio,habr quehabilitar,enlaspropiedadesdelserviciodePandoraFMSlacasilla"Accesointeractivoconel escritorio",talycomosemuestraenlacapturadepantallasiguiente:

166

AgentessoftwaredePandoraFMS

Deigualmodo,esnecesarioentenderquePandoraFMS,comoservicio,seejecutabajolacuenta "SYSTEM"yqueelprocesoejecutadolohar bajoeseusuarioyconeseentorno,deformaquesi quiereejecutaralgnprocesodeterminadoquerequieraserusadoconundeterminadousuario, deber encapsularen un script (.bat o similar) los procesos previos para inicializarel entorno, variablesdeentorno,etc),yejecutaresescriptcomoaccindelwatchdog.
module_cpuproc <process>

(Unixonly) DevuelveelusodeCPUespecficodeunproceso.
module_begin module_name myserver_cpu module_type generic_data module_cpuproc myserver module_description Process Command line module_end

module_memproc <process>

(Unixonly) Devuelveelconsumodememoriaespecficodeunproceso.
module_begin module_name myserver_mem module_type generic_data

167

AgentessoftwaredePandoraFMS

module_memproc myserver module_description Process Command line module_end

module_freedisk <letra_de_la_unidad:>|<volumen>

Comprueba el espacio libre en la unidad (no olvide ":" despu s de letra_de_la_unidad en WIndows).EnUnixserasimplementeelvolumenacomprobar,comoporejemplo/var
module_freepercentdisk <letra_de_la_unidad:>|<volumen>

Estemdulodevuelveelporcentajedediscolibreenunaunidadlgica(C:)ounvolumenUnix (p.e:/var)
module_begin module_name freepercentdisk module_type generic_data module_freepercentdisk C: module_end module_begin module_name disk_var module_type generic_data module_freepercentdisk /var module_end

module_occupiedpercentdisk <letra_de_la_unidad:>|<volumen>

(SloUnix) EstemdulodevuelveelporcentajedediscoocupadoenunvolumenUnix(p.e:/var)
module_begin module_name disk_var module_type generic_data module_occupiedpercentdisk /var module_end

module_cpuusage [<cpu id>]

DevuelveelusodeCPUenunnmerodeCPU.SisloexisteunaCPUnoestablezcaningunvaloro utiliceelvalor"all".FuncionaigualenWindowsoenUnix. TambinesposibleobtenerelpromediodeusodetodaslasCPUenunsistemamultiprocesador:

module_begin module_name UsoCPU module_type generic_data module_cpuusage all module_description Uso medio de CPU module_end

168

AgentessoftwaredePandoraFMS

module_begin module_name CPU_1 module_type generic_data module_cpuusage 1 module_description Uso medio de CPU de la CPU 1 module_end

module_freememory

FuncionatantoenUnixcomoenWindows.Devuelvelamemorialibreentodoelsistema.
module_begin module_name FreeMemory module_type generic_data module_freememory module_description Non-used memory on system module_end

module_freepercentmemory

FuncionatantoenUnixcomoenWindow.Estemdulodevuelveelporcentajedememorialibreen unsistema:
module_begin module_name freepercentmemory module_type generic_data module_freepercentmemory module_end

module_tcpcheck

(Win32nicamente) EstemdulointentaconectarseconladireccinIPypuertoespecificados.Devuelve1situvo xitoy 0deotraforma.Sedebeespecificaruntiempodeexpiracin.


module_begin module_name tcpcheck module_type generic_proc module_tcpcheck www.artica.es module_port 80 module_timeout 5 module_end

module_regexp

(Win32nicamente) Estemdulomonitorizaunficheroderegistro(log)buscandocoincidenciasusandoexpresiones regulares,descartandolaslneasyaexistentesaliniciarlamonitorizacin.Losdatosdevueltospor elmdulodependendeltipodemdulo: generic_data_string, async_string: Devuelve todas las lneas que coincidan con la expresinregular.
169

AgentessoftwaredePandoraFMS

generic_data:Devuelveelnmerodelneasquecoincidanconlaexpresinregular. generic_proc:Devuelve1siexistealgunacoincidencia,0deotraforma. module_noseekeof: Por defecto a 0, con este token de configuraci n activo, en cada ejecucin,independientementedelasmodificacionesenelficherodellog,elmduloreinicia sucomprobacinsinbuscarelflagEOFdelarchivo,conloquesiempresacar enelXML todasaquellaslneasquecoincidanconnuestropatrndebsqueda.
module_begin module_name regexp module_type generic_data_string module_regexp C:\WINDOWS\my.log module_pattern ^\[error\].* module_noseekeof 1 module_end

Para obtener ms informacin acerca de la sintaxis de las expresiones regulares, consulte el siguienteenlace:[2]
module_wmiquery

(Win32nicamente) LosmdulosWMIpermitenejecutarlocalmentecualquierqueryWMIsinutilizarunaherramienta externa.Seconfigurapormediodedosparmetros: module_wmiquery:WQLqueryempleada.Sepuedenobtenervariaslineascomoresultado, queserninsertadoscomovariosdatos. module_wmicolumn:Nombredelacolumnaquesevaausarcomofuentededatos. Porejemplo,podemosobtenerunalistadelosserviciosinstalados:


module_begin module_name Services module_type generic_data_string module_wmiquery Select Name from Win32_Service module_wmicolumn Name module_end

OdelacargaactualdeCPU:
module_begin module_name CPU_speed module_type generic_data module_wmiquery SELECT LoadPercentage FROM Win32_Processor module_wmicolumn LoadPercentage module_end

module_perfcounter

(Win32nicamente) Obtiene los datos del contador de rendimiento (performance counter http://msdn.microsoft.com/enus/library/aa373083(v=vs.85).aspx Performance Counters (DocumentacineninglesPerformanceCountersDocumentacineningles)atravsdelainterfaz de PDH (La librera pdh.dll debe de estar instalada en el sistema. PDH.DLL es una librera de Windows,sinolatieneinstaladatendr queinstalarlaherramientadeanlisisderendimientode
170

AgentessoftwaredePandoraFMS

Windows(quesuelevenirpordefecto)).
module_begin module_name perfcounter module_type generic_data module_perfcounter \Memory\Pages/sec module_end

ElmonitorderendimientodeWindowsesunaherramientamuypotenteyquedisponedecientos deparmetrosquesepuedenusarparamonitorizar.Cadafabricanteadem s,incorporasuspropios monitores, de forma que es una herramienta muy potente, verstil y fcil de utilizar para monitorizarparmetrosdelsistemayaplicativosquecorrensobrel. Lasintaxisdeloselementosdelperfcounteresdependientedelidioma,esdecir,enunWindowsen versinalemn,tendrunascadenasdeidentificacinyenunWindowsenversinenInglstendr otrasdiferentes.Esodificultasuusoensistemasconidiomasheterogneos. Para explorar los diferentes valores que se pueden usar, se puede usar la herramienta de "Rendimiento"(Performance)deWindowsparaverquecadenasderendimientopuedomonitorizar. EnestacapturaseveelmonitorderendimientodeWindows

Yenestacaptura,secomoelinterfazquenosmuestracuandoqueremosa adirunelementode monitorizacionnuevo.Aquisevisualiza(enespa ol)variosparmetrosdelobjeto Procesador (en espaoleneloriginal),yquetienediferentessubelementos,deloscualestenemosse alado %de tiempodeprocesadoryenvariossubsubelementos,enestecasonosinteresaeltotal,_Total.

171

AgentessoftwaredePandoraFMS

De esta forma, navegando con la propia herramienta del SO, podemos capturar diferentes elementosderendimientodelsistema,paraesteejemploconcreto,elmduloseria:
module_begin module_name Processor_Time module_type generic_data_inc module_perfcounter \Procesador(_Total)\% de tiempo de procesador module_end

Pordefectosemuestraelvalorencrudodelcontador,paraobtenerelvalor cocinado sepuede aadirelparmetromodule_cooked1:


module_begin module_name Disk_E/S_Seg module_type generic_data module_cooked 1 module_perfcounter \DiscoFsico(_Total)\E/S divididas por seg. module_end

Muchosdelosdatosquedevuelvesoncontadores,porloquedeber usargeneric_data_inccomo tipodedatos.Tambinpuededevolvervaloresenescalasdedatosmuyaltas(variosmillones),por lo que puede reducir esos valores usando el postproceso del m dulo, con valores tales como 0.000001osimilares.
module_inventory

(Win32nicamente.Enlinux/unixestimplemetadocomoplugindeagente) UsandoconsultasWMIpredefinidasybsquedassobreelregistro,estemduloobtieneinformacin acercadelosdiferentesaspectosdeunamquina,desdesoftwarehastahardware. Elmdulopuederecibirdiferentesparmetrosparamarcarqu tipodeinformacinseobtiene. Aquestlalistadeparmetrosyeltipodeinformacinqueproporcionan:


172

AgentessoftwaredePandoraFMS

cpu:ObtieneinformacinacercadelasCPUdelsistema(nombredelprocesador,frecuencia delrelojydescripcin). CDROM:Obtiene informacinacerca delosCDROM(nombre, descripcinyletradela unidad). Video:Obtieneinformacinacercadelastarjetasdevdeo(descripcin,RAMyprocesador). HDs: Obtiene informacin acerca de los discos duros (modelo, tamao y nombre en el sistema). NICs:Obtieneinformacinacercadeloscontroladoresdeinterfacesdered(descripcin, direccinMACydireccinIP). Patches:Obtieneinformacinacercadelosparchesinstalados(identificador,descripci ny comentarios). Software:ObtieneinformacinacercadelospaquetesMSIinstalados(nombreyversin). RAM:ObtieneinformacinacercadelosmdulosdeRAM(etiqueta,capacidadynombre). Services:Obtieneinformacinacercadelosserviciosintalados.Elnombrecortomostrado en la primera columna es el nombre del servicio que usa Pandora FMS para poder monitorizarservicios. Parmetrosadicionalesdelmdulo: module_interval: Este mdulo tiene una lnea adicional que se usa para especificar el intervalo,endas,enelqueobtenerlainformacinparaelmdulo. Unejemplodeusodeestemduloseraelsiguiente:
module_begin module_name Inventory module_interval 7 module_type generic_data_string module_inventory RAM Patches Software Services module_description Inventory module_end

module_logevent

(Win32nicamente) stenuevomdulo,permiteobtenerinformacindelarchivologdeeventosdeWindows.Devuelve aquelloseventosqueconcuerdanconunpatrndado,permitiendoademsfiltrarenfuncindela fuenteyeltipodeevento.Sehamejoradoelmduloexistenteenlaversion2.0,utilizandoahorala APInativadeWin32paraaccederaloseventosdesdefichero,envezdeusarelsubsistemaWMI (Muchomaslento).Estemtodoesmuchomasrapidoypermitetrabajarensistemasconmuchos eventos.SehaprobadodeformaexhaustivaenWindows2003yWindows2008(queutilizael nuevosistemadeeventosbasadoenXML)ydeberafuncionarenelrestodeversiones.Ademsla nuevaimplementacinpermitefiltrarpormscamposquelaversinanterior. Elformatogeneraldeestemduloeselsiguiente:
module_begin module_name MyEvent module_type async_string module_logevent module_source <logName> module_eventtype <event_type/level> module_eventcode <event_id> module_application <source> module_pattern <text substring to match>

173

AgentessoftwaredePandoraFMS

module_description module_end

Para evitar mostrar informacin repetida, slo se tienen en cuenta aquellos eventos que hayan tenidolugardurantedesdela ltimavezqueseejecut elagente,comoocurreconotrosmdulos (regexp,p.e). module_logeventaceptalossiguientesparmetros(todoselloscasesensitive): module_source: Origen del evento (System, Application, Security). Este campo es obligatorio. module_eventtype:Tipodeevento(error,information...).Esuncampoopcional. module_pattern:Patrnabuscar(subcadena).Esuncampoopcional. module_eventcode:EsunIDnumericodelevento,p.e:5112.Esuncampoopcional. module_application:Aplicacinorigendelevento,ojo,noconfundirconmodule_source queindicaelnombredelafuenteoficherologdedondesebuscanloseventos. Por ejemplo, para mostrar todoslos eventos del sistema detipo error definir amoselsiguiente mdulo:
module_begin module_name log_events module_type generic_data_string module_description System errors module_logevent module_source System module_eventtype error module_end

ParamostrartodosloseventosquecontenganlapalabraPandoraAgent:
module_begin module_name log_events_pandora module_type async_string module_description PandoraAgent related events module_logevent module_source System module_pattern PandoraAgent module_end

Otroejemplo,filtrandoeleventomostradoenlacaptura:

174

AgentessoftwaredePandoraFMS

module_begin module_name MyEvent module_type async_string module_source Application module_eventtype Information module_eventcode 6000 module_application Winlogon module_pattern unavailable to handle module_description module_end

Es esencial entender que Pandora FMS no es un sistema de recoleccion de logs y que esta herramienta se debe usar para seleccionar aquellos eventos criticos o importantes para la monitorizacin,yquerecogertodosloseventos,sinclasificar,deunafuentecomun,comopuede ser"System"solotraer problemasalalarga,yaquesesaturar laBBDDyelsistemafuncionar muy degradado. Es vital entender que la recogida de eventos con Pandora FMS debe hacerse teniendoencuentaestehechoynoutilizarPandoraFMScomounrecolectordeeventosgenrico.
module_plugin

Esunparmetroparadefinirqueeldatoseobtienecomosalidadeunplugindeagente.Esuncaso especialdemdulo,queconstruyetodosuXMLyquenorequieredeningunotrodelimitador,tipo module_begin,module_type,etc.Siguenelsiguienteformato:


module_plugin plugin_filename parmetro_1 parmetro_2 parmetro_3

Paraconfigurarparmetrosadicionalesparaelplugin,utilicelasintxisestndar:
module_begin module_plugin plugin_filename parameter_1 parameter_2 parameter_3 module_interval 2 module_condition (0, 1) script.sh module_end

175

AgentessoftwaredePandoraFMS

Cadaplugintienesupropiasintaxis.Vamosadescribirunodelospluginsquevienenpordefecto conelAgente,elplugindeexpresionesregulares:
module_plugin grep_log /var/log/syslog Syslog ssh

Enesteejemplo,elnombredelpluginsellama,"grep_log"ybuscarenelfichero"/var/log/syslog" laexpresionregular"ssh"yloguardarenunmdulollamado"Syslog" Unejemplodellamadaaunpluginenunagentewindows(soloversion3.1osuperior)


module_plugin cscript.exe //B "%ProgramFiles%\Pandora_Agent\util\df_percent.vbs"

Coleccionesdeficherosyplugins Cuandoseusancoleccionesdeficheros,elfuncionamientoeselmismo,perosabiendodondese guardanlascolecciones,enfunciondel"handle"onombrecortodelacoleccion(quesecreaenel momentodecrearlacoleccionyquetieneformatofc_x),veamosvariosejemplosdellamadasa pluginsusandocoleccionesdeficheros: Unix:


module_plugin /etc/pandora/collections/fc_1/always_1.sh

Windows:
module_plugin cscript //B "%ProgramFiles %\pandora_agent\collections\fc_2\df_percent.vbs"

Es importante destacar que la salida de la ejecuci n del plugin puede devolver uno o varios mdulos,yaquedevuelveunXMLcompleto,porejemplo,estaeslasalidadelplugindewindows df.vbs:
<module> <name><![CDATA[C:]]></name> <description><![CDATA[Drive C: free space in MB]]></description> <data><![CDATA[2361]]></data> </module> <module> <name><![CDATA[D:]]></name> <description><![CDATA[Drive D: free space in MB]]></description> <data><![CDATA[32020]]></data> </module> <module> <name><![CDATA[Z:]]></name> <description><![CDATA[Drive Z: free space in MB]]></description> <data><![CDATA[10168]]></data> </module>

module_ping <host>

(Desdelaversin4.0.1enadelante,sloWindows) Estemdulohaceunpingalhostdadoydevuelve1siestarriba,0encualquierotrocaso.Esun envoltorioparaping.exe.

176

AgentessoftwaredePandoraFMS

Soportalossiguientesparmetrosdeconfiguracin: module_ping_countx:NmerodepaquetesECHO_REQUESTaenviar(1pordefecto). module_ping_timeoutx:Timeoutenmilisegundosdeesperaparacadarespuesta(1000 pordefecto). module_advanced_options:Opcionesavanzadasparaping.exe. Ejemplo:


module_begin module_name Ping module_type generic_proc module_ping 192.168.1.1 module_ping_count 2 module_ping_timeout 500 module_end

module_snmpget

(Desdelaversin4.0.1enadelante,sloWindows) EstemduloejecutaunaconsultaSNMPgetydevuelveelvalorsolicitado.Esunenvoltoriopara snmpget.exe. Soportalossiguientesparmetrosdeconfiguracin: module_snmpversion[1,2c,3]:VersindeSNMP(1pordefecto). module_snmp_community<community>:ComunidadSNMP(publicpordefecto). module_snmp_agent<host>:AgenteSNMPobjetivo. module_snmp_oid<oid>:OIDobjetivo. module_advanced_options:Opcionesavanzadasparasnmpget.exe.

Ejemplo:
module_begin module_name SNMP get module_type generic_data module_snmpget module_snmpversion 1 module_snmp_community public module_snmp_agent 192.168.1.1 module_snmp_oid .1.3.6.1.2.1.2.2.1.1.148 module_end

11.3.7.Ejemplos
EjemplodeunmduloWindows,comprobandosielservicioEventLogfunciona,podraser:
module_begin module_name ServicioReg module_type generic_proc module_service Eventlog module_description Eventlog service availability module_end

UnejemplodemduloUnixsera:

177

AgentessoftwaredePandoraFMS

module_begin module_name cpu_user module_type generic_data module_exec vmstat | tail -1 | awk '{ print $14 }' module_min 0 module_max 100 module_description User CPU module_end Tipos de agentes software

11.3.8.Configuracinespecficaportecnologas
EsposiblemonitorizarcualquiersistemaconPandoraFMS.Estosepuedehacer,bienconunagente Softwareinstaladoenlamaquina,querecogelosdatosdirectamentedesdeelsistemaparaser monitorizado,oempleandoun AgenteSatlite,queconsisteenunagentequeseejecutaenun servidor y monitoriza ciertos parmetros de sistemas que tiene adyacentes, mediante SNMP o comandosdefinidosporelusuario. LosagentessoftwarepuedenseragentesWindowsoUNIX.Losagentespuedeninstalarseusando cualquieradelosagentesdescritosenlassiguienteslneas.Parautilizarunagentesatlite,basta coninstalarunagentesoftwareydefinirmdulosconfiguradospararecogerdatosdesdeunsistema externomediante,porejemplo,laherramientasnmpgetomedianteping.

11.3.8.1.AgentesUnix/Linux
Unixtienemultituddeherramientasdelneadecomandoquepermitenquesacardatosatravsde laejecucindecomandosseaalgomuysencillo,losagentesUnixestnbasadosenestapremisa. ExistendostiposdeagentesUnix: ShellScript:ConunshellscriptdefinidoparacadatipodeSO,basadoenbash,kshocsh.En los sistemas Unix clsicos (Solaris, AIX, HPUX) no estn implementadas todas las funcionalidades.EnLinuxyMACs. Perl:Existeun nicoagentemultiplataforma,basadoenPerl5.8quefuncionaporigualen todoslossistemasUnix.NecesariamentedebendisponerdeunsistemaPerl5.8osuperior paraoperar. Losagentesshellscripthansidodiseadosparafuncionarauninclusoenlasversionesmsantiguas de UNIX: HPUX11.0, AIX 4.1, Solaris 6... Funcionan pero est n limitados respecto a algunas caractersticas,comonodisponerdelclientedeTentacleytenerqueutilizarelsistemaFTPoSSH parasubirlosdatosdemonitorizacinalservidor.
Configuracin de los agentes Unix de Pandora FMS

Apenas existe diferencia entre AIX, Solaris y GNU/Linux, por citar algunos. Vamos a describir algunosdesusparmetrosypathsmasimportantes Despusdeponerenfuncionamientoelinstaladoreldirectorioprincipalodirectorio"home"del agentees/usr/share/pandora_agent/dondeseinstalaelagentedePandoraFMS.Enlossistemas dondeporpolticasestonosepermita,serecomiendacrearunenlaceaestarutadesdelarutareal deinstalacion,p.e/opt/pandora>/usr/share/pandora_agent. Lasotrascarpetasimportantesson: /var/spool/pandora/data_out:Carpetadondesealmacenanlosdatosrecolectadosporlos agentes.
178

AgentessoftwaredePandoraFMS

/etc/pandora/pandora_agent.conf: Fichero principal de configuracin del agente. Ahi se definen los datos que sern recogidos, junto con el comando que se emplear para la recoleccindedatos. /usr/local/bin/pandora_agent: El agente de Pandora FMS actual. Esta fichero es un shellscriptquerecogelosdatosconfigurados*enlosficherospandora_agent.conf.Tambi n transfierelospaquetesdedatosalservidordePandoraFMS.Generalmentetieneunenlacea /usr/bin/pandora_agent /usr/local/bin/tentacle_client:ElagenteincorporaelclientedeTentacleparapoderenviar losficherosdedatosalservidor.EsteesunclienteenPerl5.8.Generalmentetieneunenlace a/usr/bin/tentacle_client. /etc/init.d/pandora_agent_daemon: Script de inicio/parada. ste hace un llamamiento a pandora_agent. Ofrece dos opciones, inicioy parada (start/stop). En lossistemas AIX el demonioes/etc/rc.pandora_agent_daemon. /var/log/pandora/pandora_agent.log: Fichero de texto donde se guarda la actividad del agentedePandoraFMS,cuandoelagenteseejecutaenmododedepuracin. /etc/pandora/plugins: Directorio que contiene los plugins de agente. Est enlazado al directorio/usr/share/pandora_agent/plugins
Ejecucin inicial del agente Unix

Al arrancar el agente de Pandora FMS, este debera copiar el fichero de datos al servidor de Pandora FMS mediante el sistema de envo especificado en el fichero de configuracin /etc/pandora/pandora_agent.conf.Estesistemadeenvo(Tentacle,SSH,FTP)hadeserconfigurado previamente. Parainiciarelagenteesnicamentenecesarioejecutar:
/etc/init.d/pandora_agent_daemon start

ParasistemasIPSOelagenteselanzar conunaprioridadde10,portanto,seconvierteenel procesoconlaprioridadmsbajaenlaCPUdelsistema.Serejecutadocuandootrosprocesoscon una mayor prioridad estn esperando en la cola del sistema CPU. El agente IPSO tiene un parmetro especial (harmless_mode )para un manejo especialdel proceso CPU en los sistemas Checkpoint/NOKIA.Esteesuncasomuyespecial. EnlossistemasBSDlamximaprioridades+20ylamnima20. Paradetenerelagente,ejecute:
/etc/init.d/pandora_agent_daemon stop

Configuracin avanzada para el agente Unix

ElpoderrealdePandora FMSresideenlacapacidaddelosagentesparaponerenmarchalos scriptsdefinidosdelusuario.Estosepuedeemplearpararecogerdatosespec ficosopararealizar unaoperacinquedevuelvacualquiervalordeseado.Esteeselpropsitodelaestructuradeplugins deagente.ParamsinformacinconsulteconelAnexodeconstruccindepluginsdeAgente.

179

AgentessoftwaredePandoraFMS

Ejemplos de implementacin para agentes Unix

Ejemplo #1: calcular el nmero de visualizaciones de la pgina principal del servidor Web de Apache(podradegradarelfuncionamientoderegistrosenormes):
module_begin module_name WEB_Hits module_type generic_data_inc module_exec cat /var/log/apache/access.log | grep "index" | wc -l module_end

Ejemplo#2:compruebasielprocesodelservidorDNS(named)estactivoosehacado:

module_begin module_name DNS_Daemon module_type generic_proc module_exec ps -Af | grep named | grep -v "grep" | wc -l module_end

Modificar la forma en que los agentes Unix obtienen informacin del sistema

EstosloesvlidoparaagentesUnixPerl(apartirdelaversion3.2osuperior). HayalgunosmdulosenlosagentesUnixquefuncionancomo"cajasnegras",esdecir,hacencosas queelusuarionosabeexactamentecmosuceden.Estosmdulosson: module_procmem module_freedisk module_freepercentdisk module_cpuproc module_proc module_procmem module_cpuusage module_freememory module_freepercentmemory

Losmduloscomoelmdulomodule_cpuusage,porejemplo,devuelvenun%delusoactualdeCPU del sistema. El usuario no necesita saber que comando usar (eso si, siempre puede hacerlo si quiere).Pandoraya"sabeporel"quehacer,enWindowsyahoraensistemasUnix(apartirdela 3.2).Estoessimplementeporfacilitarlelavidaenloscasosmashabitualesdemodulosderecursos delsistema. Los agentes unix de Pandora tienen una serie de comandos "predefinididos" para hacer, por ejemplo,operacionescomoobtenerelespaciodedisco,lamemoriarestanteoversiunprocesoest enelsistema.Parahacerestasoperaciones,muyespecficas,dependemosdecadatipodeSOe inclusodeversiny/odistribucin.Porejemplo,estossonloscomandospredefinidosparaobtener elusodeCPU:
linux => 'vmstat 1 2 | tail -1 | awk \'{ print $13 }\, solaris => 'vmstat 1 2 | tail -1 | awk \'{ print $21 }\,

180

AgentessoftwaredePandoraFMS

hpux => 'vmstat 1 2 | tail -1 | awk \'{ print $16 }\

Puedeocurrirqueensusistema,nofuncionaas yqueelcomandonoseavlidoynodevuelvala informacin esperada. Puede usar su propio comando, con un modulo module_exec, o puede redefinirelcomandointernoqueobtieneesainformacin.Parahacerlo,necesitaalterarunpocoel cdigodelagenteUnixdePandora,peronosepreocupe,escdigoPerlyesunamodificacinmuy sencilla. ElagentedePandoraFMSest ubicadogeneralmenteen/usr/bin/pandora_agent.Edteloconel editorvionano(editoresmuycomunesparalaconsola)ybusquelasiguientecadenadetexto: "Commandstoretrieve".Ahiempiezaelcdigoqueredefineloscomandosinternos:
# Commands to retrieve total memory information in kB use constant TOTALMEMORY_CMDS => { linux => 'cat /proc/meminfo | grep MemTotal: | awk \'{ print $2 }\, solaris => 'MEM=`prtconf | grep Memory | awk \'{print $3}\'` bash -c \'echo $(( 1024 * $MEM ))\, hpux => 'swapinfo -t | grep memory | awk \'{print $2}\ };

Este es un trozo de cdigo que define como Pandora obtiene informacin del sistema, concretamente la memoria libre del sistema. El sistema AIX no est definido aqu porque no tenamosinformacindecomosehacaenesetipodesistemas.Unpocomsabajover esteotro cdigoparaobtenerelespaciolibreenlosdiferentesvolmenesdedisco:
# Commands to retrieve partition information in kB use constant PART_CMDS => { # total, available, mount point linux => 'df -P | awk \'NR > 1 {print $2, $4, $6}\, solaris => 'df -k | awk \'NR > 1 {print $2, $4, $6}\, hpux => 'df -P | awk \'NR > 1 {print $2, $4, $6}\, aix => 'df -kP | awk \'NR > 1 {print $2, $4, $6}\ };

Estoobtieneinformacindeldiscoparavariosvalores(total,libreynombredelpuntodemontaje). Paracambiarcualquieradeloscomandospredefinidos,simplementeediteelc digoparamodificar elcomando,perotengacuidadoconlossiguientesaspectos: 1. Verifiquequelaslineasterminanen";" 2. Verifiquequeloscomandosestnencerradosentrecomillassimples:'' 3. Verifique que cualquier comilla simple que quiera usar en el comando, est escapada previamentecon elcarcter\, es decir \', por ejemplo, estecomando quenormalmente sera:
df -P | awk 'NR > 1 {print $2, $4, $6}'

Seescribiracomo:
df -P | awk \'NR > 1 {print $2, $4, $6}\'

Esecomandoseusaeneltrozodecdigoquesehaescritomsarriba,asiquepuedevercomo quedaraensuformatofinal.
181

AgentessoftwaredePandoraFMS

11.3.8.2.AgentesWindowsdePandoraFMS
Comprobacin del funcionamiento del agente de Windows

SepuedecomprobarlasalidadelagenteWindowsdePandoraFMSenelfichero C:\archivosde programa\pandora_agent\pandora_agent.log ,ficherodetextoplanoqueincluyeinformacinacerca delflujodeejecucindelagente. ParacomprobarqueTentacleoSSHest funcionandocorrectamente,sepuedeusarelcomando tentacle_clientoelparmetrotestsshsobreelbinario.Elprimercomandodarunerroryaqueno seespecificaniladireccinnielficheroparaenviar,perosecompruebaqueelclientedeTentacle, tentacle_clientestpresenteenelsistema.ElsegundocomandoobligaraPandoraFMSaconectar usando SSH internamente y copiar un fichero llamado ssh.test. Recuerde que debe configurar correctamenteSSHsiquiereusarlo,generandolasllavesnecesariaseimportndolasenelservidor.
Control del servicio del Agente de Pandora FMS

Laversin3.0dePandoraFMShasidometiculosamenterevisaday debugeadaparaevitartodotipo de leaks de memoria, de handles de procesos, ficheros o puertos TCP/IP. Es estable y ha sido probadaconcienzudamenteentodaslasplataformasWindowsdondetienequeoperar,noobstante, enalgunossistemaspuedeocurrirqueelserviciosecaigamuydevezencuando.Porellohemos procurado dar varias soluciones a aquellos usuarios que requieren de un sistema de reinicio o controlsuplementariodelagente. Existendosformasdetenerunmayorcontrolsobreelagente.Laprimeraesforzarelreiniciodel agentecadaXdasmedianteelprogramadorinternodetareasdeWindows,medianteelcomando AT. ReinicioconAT Eningles ParaprogramarunreinicioLunesyViernes:
at 00:00 /every:Monday,Friday "c:\program files\pandora_agent\scripts\restart_pandora_agent.bat"

Encastellano Porejemplo,paraprogramarunreiniciodiario:
at 00:00 /every:L,M,Mi,J,V,S,D "c:\archivos de programa\pandora_agent\scripts\restart_pandora_agent.bat"

Paraverunalistadelastareasprogramadas,escribaenlalineadecomando
at

Estoledarlalistadetareasprogramadas. Controlautomticodelservicioantecadas Windowsproporcionaunamaneraadicionaldereiniciocontroladodelserviciosieste,porlaraz n que sea, cae. Esto permite decirle al servicio de Windows que si este cae, lo levante automticamentedenuevo.ParaellohayqueiralpaneldecontroldeserviciosdeWindows,iral agentedePandoraFMSyhacerclickenpropiedades.Enlasolapa"Recuperaci n",cambiaremoslos
182

AgentessoftwaredePandoraFMS

valorespordefectoporlossiguientes:

Estobsicamentehacequesielserviciosecae,loreinicieautom ticamente,peroslounavezpor da,deformaquesisecaemsnololevante,evitandoasqueelsistemaseveasobrecargadooest forzandolaejecucindeunservicioquecaecondemasiadafacilidadyquepuedesersntomadeun problemaenelsistema,yaquePandoraFMSjamsdeberacaerse,ymuchomenosmsdeunavez alda.Encualquiercaso,puedeajustarestosparmetrosparahacerqueelserviciodePandoraFMS cuando caiga, sea controlado por el sistema y as asegurarse de que siempre tendr el agente corriendo.
Configuracin del agente de Windows de Pandora FMS

Todalainstalacinsehaceatravsdelfichero pandora_agent.conf.Esteficheroesunalistadepares declaves/valoresquesehandescritoanteriormente.Aquhayunejemplodeestefichero.


# General Parameters # ================== server_ip mypandoraserver.host.com server_path /var/spool/pandora/data_in temporal "c:\windows\temp" interval 300 agent_name myagent_name # Module Definition # ================= # Counting OpenedConnections (check language string) module_begin module_name OpenNetConnections module_type generic_data module_exec netstat -na | grep ESTAB | wc -l | tr -d " " module_description Conexiones abiertas (interval 2)

183

AgentessoftwaredePandoraFMS

module_interval 2 module_end # Is Eventlog service running ? module_begin module_name ServicioReg module_type generic_proc module_service Eventlog module_description Servicio Registro de sucesos module_end # Is lsass.exe process alive ? module_begin module_name Proc_lsass module_type generic_proc module_proc lsass.exe module_description LSASS.exe process. module_end # Received packets. # Please notice that "Paquetes recibidos" string must be replaced by # the correct string in your Windows system language. module_begin module_name ReceivedPackets module_type generic_data module_exec netstat -s | grep "Paquetes recibidos " | tr -d " " | cut -f 2 -d "=" | tr -d "\n" module_description Conexiones abiertas (interval 2) module_end # Free space on disk module_begin module_name FreeDiskC module_type generic_data module_freepercentdisk C: module_description Free space on drive C: module_end module_begin module_name FreeMemory module_type generic_data module_freepercentmemory module_description Amount of free memory. module_end

Extendiendo la funcionalidad de los agentes con codigo VBS

LosagentesWindowstienenplugins,comolosagentesUnix,yaligualqueestos,podemosextender sufuncionalidadconscriptsutilizandolasherramientaspropiasdelSO.Deestamaneratenemosla posibilidaddeejecutarscriptsexternos,basadosenVBScript.Veamosestec digoVBSqueobtiene elusototalCPUdeunsistema:


strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" _ & strComputer & "\root\cimv2") Set object1 = objWMIService.Get( _ "Win32_PerfRawData_PerfOS_Processor.Name='_Total'")

184

AgentessoftwaredePandoraFMS

N1 = object1.PercentProcessorTime D1 = object1.TimeStamp_Sys100NS Wscript.Sleep(1000) set object2 = objWMIService.Get( _ "Win32_PerfRawData_PerfOS_Processor.Name='_Total'") N2 = object2.PercentProcessorTime D2 = object2.TimeStamp_Sys100NS ' CounterType - PERF_100NSEC_TIMER_INV ' Formula - (1- ((N2 - N1) / (D2 - D1))) x 100 PercentProcessorTime = (1 - ((N2 - N1)/(D2-D1)))*100 Wscript.Echo PercentProcessorTime

Lo guardamos en un fichero llamado "CPUTotal.vbs" y ubicado en c:\program files\pandora_agent\util. Ahoracreamosunnuevomdulodetipomodule_execconestecontenido:


cscript.exe /NoLogo c:\program_filespandora_agent\util\CPUTotal.vbs

YatenemosunnuevomduloquedevuelveelusototaldeCPU,obtenidopormediodelscript externoenVB.HaymuchisimascosasquesepuedenobtenerpormediodeVBScript.Microsoft tieneunaexcelentedocumentacinenlineaacercadeVBSquepuedeconsultarenMSDN[3].


Ejecutando el servicio con un usuario diferente a SYSTEM

El agente de Windows de Pandora FMS se puede configurar para arrancar con un usuario a SYSTEM. Para ello hayqueconfigurarelinicio de sesin del agentecon unusuario del grupo administradoresdelamquina, EnlaconsoladeWMIlosusuariosdelgrupoadministradorestienentodoslospermisosactivos. Hemosencontradoproblemasconprocesosquesondependientesdelasesi ndeusuariocuando pretendemoshacerunwatchdogdedichoproceso.Parasolucionarlosehamontadounproceso paraleloquehacelasfuncionesdesupervisordeprocesos. ElagentedePandora,sidetectaproblemasenunproceso,haceunkillyelsupervisordeprocesos levanta el proceso automticamente. El agente de pandora controla tambin el estado del supervisordeprocesos.Ennuestrocasosonsituacionesmuyparticularesperoquehemospodido solucionardeestamanera. Otrosmotivosporlosquehemostenidoqueconfigurardistintosiniciosdesesi nesporcontrolarel estadodeubicacionesderedqueresidenenmquinasenlasquenosepuedeinstalarelagentede pandora(tiposan,nasdedicados). Comoejemplo,sepresentaunequipoenelqueelagentedePandorasehaconfiguradoconun usuariodelgrupoadministradores.EstassonlasseguridadesenlaconsoladeWMIparaelespacio ROOT.Pordefecto,seheredanlospermisosentodaslasramas:

185

AgentessoftwaredePandoraFMS

AlgunosenlacesrelacionadosconestetemadeMicrosoft:[4][5]

186

AgentessoftwaredePandoraFMS

11.3.8.3.Autoactualizacindelosagentessoftware
PandoraFMS3.2tieneunanuevafuncionalidadllamada"Coleccindeficheros".Lascoleccionesde ficheros se describen algunas secciones ms abajo. Son un sistema de distribucin de ficheros centralizadoparacopiarficheros(binarios,scripts,datos)desdelaconsolaalosagentesponiendo enfuncionamientoelagentesoftwaredePandoraFMS. Utilizandoesemecanismoyunaherramientaespecial,podemosproporcionarunamanerade"auto actualizar"losagentessoftware.Estofuncionadelsiguientemodo: 1.Losagentesrecibennuevosbinarioseneldirectoriodeentradafilecollection,porejemplo:
c:\program files\pandora_agent\collections\fc_1\pandoraAgent.exe

2. El agente utiliza un mdulo especial para ejecutar la herramienta pandora_update. Esta herramienta recibe un nico parmetro: el FileCollection handle (o nombre corto). En este escenarioes fc_1.Compruebeunficherollamadopandoraagent.exe(opandora_agentenUnix)y veaeltamaoycontenidos(usandounHASH)deambosficheros:elagente_pandoraqueesta corriendo y el binario proporcionado en la colleccin de ficheros. Si ambos son diferentes, pandora_updatedetieneelagente.Reemplazeelbinarioyreinicieelagentedenuevoutilizandoel nuevobinario. 3. Pandora_update tambin escribe a un log pequeo el evento actualizado, para ser capaz de recuperarenlasiguienteejecucinyavisaralusuario,medianteelusodeunm duloasync_string, acercadelprocesodeactualizacindelagente. Esto implica que los mdulos utilizados para completar el proceso de actualizaci n podrn ser configuradosparatenerunintervaloalto. Unixinstalacinestandar
module_begin module_name Pandora_Update module_type async_string module_interval 20 module_exec nohup /etc/pandora/plugins/pandora_update fc_1 2> /dev/null && tail -1 nohup.out 2> /dev/null module_description Module to check new version of pandora agent and update itself module_end

Unixinstalacinpersonalizada
module_begin module_name Pandora_Update module_type async_string module_interval 20 module_exec nohup /var/opt/PandoraFMS/etc/pandora/plugins/pandora_update fc_1 /var/opt/PandoraFMS 2> /dev/null && tail -1 nohup.out 2> /dev/null module_description Module to check new version of pandora agent and update itself module_end

NOTA: El comando pandora_update acepta como segundo parmetro el path del directorio de instalacindePandoraFMSnosiendonecesarioespecificarlosilainstalacinserealiz enelpath pordefecto. Windows

187

AgentessoftwaredePandoraFMS

module_begin module_name Pandora_Update module_type async_string module_interval 20 module_exec pandora_update.exe fc_1 module_description Module to check new version of pandora agent and update itself module_end

11.3.8.4.Procedimientoparaautoactualizaragentesdeversionesanterioresala version3.2
Primero debemos conseguir los ejecutables del agente de Pandora FMS y de la herramienta pandora_update (pandoraAgent.exe y pandora_update.exe en windows, y pandora_agent y pandora_updateenUnix). Muchosdelospasosquevamosadaraquisuponenlossiguientespuntos: 1.Tieneunaformadecopiarficherosalasmaquinasquequiereactualizar.Esteesunmecanismo queproveelaversion3.2dePandoraFMS(FileCollection)peroahoraprecisamentequieremigrar alaversion 3.2, porqueno tieneesa funcionalidad. Seasumequedispone deotromecanismo alternativo. 2.Lagestinremotadelaconfiguracindelosagentesest activadayfuncionando.Estoser util yaquetendrquecrearvariosdirectoriosyconfigurarunm dulonuevoenlaconfiguracindesu agentePandoraFMS. PlataformasWindows Debemoscopiarpandora_updateaundirectoriodelpathdelsistemaoalacarpeta/utildenuestro pandora(enwindows). SuponiendoquetengamosinstaladoPandoraFMSen:
C:\Archivos de programa\pandora_agent

Copiaremospandora_update.exeeneldirectorio
C:\Archivos de programa\pandora_agent\util

Crearemosdosdirectorios:
C:\Archivos de programa\pandora_agent\collections C:\Archivos de programa\pandora_agent\collections\fc_1

Copiaremoselbinariodelnuevoagentealultimodirectorioquehemoscreado:
C:\Archivos de programa\pandora_agent\collections\fc_1\PandoraAgent.exe

Crearemosunmoduloenelagentecomoelquesigue:
module_begin

188

AgentessoftwaredePandoraFMS

module_name Pandora_Update module_type async_string module_interval 20 module_exec pandora_update.exe fc_1 module_description Module to check new version of pandora agent and update itself module_end

Este mdulo especial que usa el ejecutable pandora_update, ejecuta una herramienta especial (pandora_update) que compara el ejecutable actual por el que existe en el directorio /collections/xxxxdondexxxxesunparmetroqueselepasaalmdulo.Esaubicacineslaquese especificaconlasfile_collections.Msadelante,yausandolaversion3.2,ladistribucindelos nuevos.exedelagente,serealizarnmediantefilecollectionsyeseidentificadorsernecesariopara "ubicar"enqueFileCollectionvanuestroejecutable. PlataformasUNIX DeformamuysimilaralasplataformasWindows,hayquecopiarelejecutabledelagentedeUnixy la utilidad pandora_update. Si tiene una instalacion nostandard y tiene rutas personalizadas, tendraqueestarmuyatentoalprrafoanteriordondedicequeficherosmodificar. Tienequecopiarpandora_updateenlacarpeta/pluginsdesuagente:
/etc/pandora/plugins/pandora_update

Yahoracreardirectorios/collection/fc_1sobreeldirectoriobasedesu/etc/pandora
/etc/pandora/collections/ /etc/pandora/collections/fc_1

Lallamadaapandora_updatesehar sobrelasrutasdesusistemaalosplugins,enestecaso,el estandardes/etc/pandora/plugins/pandora_update ElmoduloenelcasodeUnixseradelasiguientemanera:


module_begin module_name Pandora_Update module_type async_string module_interval 20 module_exec nohup /etc/pandora/plugins/pandora_update fc_1 2> /dev/null && tail -1 nohup.out 2> /dev/null module_description Module to check new version of pandora agent and update itself module_end

NOTA:Verifiquequetantopandora_updatecomopandora_agenttienenpermisosypropietarios adecuados.Permisosdeejecucinyelmismousuarioqueelejecutabledepandora_agent

11.3.9.PandoraFMSDroneAgents
11.3.9.1.QusonlosAgentesDrone
Elagente"drone"delosagentesdePandoraFMSesunmododeejecuci ndelAgenteSoftwarede PandoraFMS,slodisponibleparaWindowsyUnix. Elmododronhasidodiseadoparalidiarconentornoscomplicadorsenlosqueelaccesoalas
189

AgentessoftwaredePandoraFMS

mquinasestrestringido.Susdoscaractersticasprincipalesson: ModoProxy ModoBroker CuandoelAgenteSoftwaredePandoraFMSseest ejecutandoenelmodoDroneAgenttambin puedeusartodaslasfuncionalidadesclsicasdelagente(gestinremota,plugins,inventario...) LasiguienteimagenesunejemplodelaarquitecturadePandoraFMSusandoAgentesDrone:

Modo Proxy

ElModoProxyesmuytilpararedesquetienerestriccionesenlascomunicaciones.Conestemodo elagentehabilitaunTentacleProxyServerquepermitelacomunicaci nentrelosdemsagentesy elPandoraFMSServer,usandoeseagente,enmodoproxy,comopasarelaparaqueagentesqueno puedenllegardirectamentealservidor,puedanconecta. Lanuevaversindetentaclesoportaelusodeproxies(enmodoHTTP/Connect)deformaquelos agentespuedenconectardirectamenteconelservidorusandounproxystandard.Deigualmanera existeuncomponentellamadoTentacleProxyServer,quepermiteusarunelementointermedioque centralizetodalacomunicacinconelservidordedestinoypermitaademslagestindecolecin deficheros(v3.2)ydeconfiguraciones.PuedevermsinformacinmsinformacinsobreTentacle ProxyServeraqu. Con este modo tiene todas las funcionalidades de un proxy pero gestionadas por el agente de Pandora FMS. Adicionalmente este modo requiere la ejecucin del agente por un usuario diferentederootyencasodequeelmodoproxyseuseconunagenteUnixentonces estedebe estarinstaladocon unusuarioquenotenga permisos deroot (el mismousuario ejecutar despuselagenteenmodoproxy).

190

AgentessoftwaredePandoraFMS

TodoslosparmetrosparaconfigurarelTentacleProxyServerestndisponiblesatravsdelarchivo deconfiguracindelagenteysonlossiguientes: server_ip EsladireccinIPoelnombredelanfitrindelservidordePandoraFMS. Tengacuidadoconel ModoProxy habilitadoesteparmetronopuedetomar valorescomo: 127.0.0.1,locahost, 0.0.0.0,osimilares. proxy_mode Estado del Modo Proxy. Si proxy_mode vale 1 el Proxy del Drone Agent est activado y si proxy_modevale0desactivado.PordefectoelModoProxyestdesactivado. proxy_max_connection Nmerodeconexionessimultaneasdelproxy.Elvalorpordefectoes10. proxy_timeout Timeoutparaelproxy.Pordefecto1segundo.
11.3.9.1.1.1. Ejemplos de uso

SlounamquinaseconectaconPandoraFMSServer EstasituacinnoesunproblemaparaelDroneAgent.ParaconfigurarelModoProxysimplemente pongaenserver_ipladireccinIPdelServidordePandoraFMSypongaelvalor1enelpar metro proxy_mode.Silonecesitatambinpuedeconfigurarotrosparmetroscomoelnmeromximode conexiones o el tiemout. Con esta configuracin tendr un agente y el Tentcle Proxy Server corriendoenlamismamquinayconectadosServidordePandoraFMS. Paraconfigurarlosotrosagenteslopongaenelparmetroserver_ipladireccinIPdelAgente Drone que tiene le proxy activado y con eso es todo. El agente usar el Agente Drone para conectarseconelServidordePandoraFMS. Tengoqueusardosproxiesparaconectarme SilonecesitapuedeconectarunaAgenteDroneaotroAgenteDrone,yesmuyfcil. PararealizareldobleproxynecesitaconfigurarunAgenteDronequeseconectar alServidorde PandoraFMSponiendoenelparmetroserver_iplaIPdelServidordePandoraFMS,elparmetro proxy_modea1ysilonecesitatambinpuedeconfigurarlosotrosparmetros. ParaconfigurarelsegundoAgenteDronesimplementepongaenelparmetroserver_ipladireccin IP del primer Agente Drone configurado y por supuesto, active el Modo Proxy poniendo el parmetroproxy_modea1. Conestaconfiguracin,unagentequeseconectealsegundoAgenteDronepodrcomunicarsecon elServidordePandoraFMSatravsdelosdosproxies.
Modo Broker

ElModoBrokerest diseadoparagestionardatosyconfiguracindevariosagentesdesdeun nicoagente.Elagente"broker"ejecutadiferentesconfiguraciones,comosihubieravariosagentes diferentesinstalados enlamismamquina.Cadaficherodeconfiguracinindependientepuede tenerplugins,modulos,inventarioyporsupuesto,sergestionadoremotamente.Atodoslosefectos sercomootroagentediferente.Estolohaceidneoparausarunagentesoftwareenunamquina, ycreardiferentesconfiguraciones,dedispositivosremotosaloscualesmonitorizadesdeelagente software base (en modo broker). Asi puedo monitorizar remotamente decenas de servidores o equiposdecomunicacioninstalandoslounagente.
191

AgentessoftwaredePandoraFMS

Hayquetenerencuentaqueenelficherodeconfiguraci ndelagentecreadoporelagentebroker, eltokenbroker_agentserignorado. LasfuncionalidadesprincipalesdelModoBrokerson: Enviardatoslocalescomootroagente.Muy tilparamonitorizarinstanciassoftwarecomo agenteindependientes. Enviar data recolectada de chequeos remotos a otras mquinas como si hubiera sido recogidaporunagenteinstaladoendichasmquinas.Muy tilparalamonitorizacinde switchesoRouterscuandoelservidordePandoranoalcanzaestosequiposcuandoest n detrsdeunFirewalloRouterADSL.
Ejemplos de uso

Enviardatosduplicadosaunservidorconotronombredeagente Aadimosenelficherodeconfiguracin'pandora_agent.conf'lassiguientelneas:
broker_agent router_1 broker_agent router_2 broker_agent router_3

Secrearunficherodeconfiguracin'router_1.conf','router_2.conf'y'router_3.conf'quesernuna copiaexactadelfichero'pandora_agent.conf'aexcepcindelnombredeagenteque,enestecaso, ser'router_1',etc.Elfichero.confdelagentebrokertampocoadmiteotrosagentesbroker. Deestemodo,tenemosuntotaldecuatroagentesconsusficherosdeconfiguraci nindependientes. Losnuevosagentes'router_x'comenzarnareportarapartirdelasiguienteejecucin. Ejemplodechequeoremotoaotramquina Aadimosenelficherodeconfiguracin'pandora_agent.conf'lasiguientelnea:


broker_agent server_1

Secrear unficherodeconfiguracin'server_1.conf'yloeditamosparaincluirmdulosquenos interesan:


module_begin module_name Check SSH Status module_type generic_proc module_tcpcheck 192.168.1.1 module_port 22 module_timeout 5 module_end

Estaconfiguracinnospuedeinteresaralahoraderealizarcomprobacionesremotascontraotra mquinaqueaunquetengaunagentePandorainstalado,esinalcanzableporelservidor. Estafuncionalidadestdisponibledesdelaversion4.0dePandoraFMS

11.3.10.AutocreacindeagentesymodulosdesdeXML/Modoaprendizaje
PandoraFMSsoportalacreacindelosagentesy/omdulosdeformaautomticacuandoviene informacindesdeunXMLyloprocesaeldataserver.Estosucededeformaautom tica(anoser
192

AgentessoftwaredePandoraFMS

quesedesactiveenlaconfiguracindelservidorconelparmetro autocreate),yslofuncionala primeravez.Esdecir,secrealainformacin,peronoseactualiza,salvociertasexcepcionescomo veremosacontinuacin.

Estecomportamientosepuededesactivarcompletamentesisedesactivael modoaprendizaje del agente. Aldesactivar esta funcionalidad nosecrearn automticamente agentesnimdulos cuando venga un XML para ese agente , tampoco se actualizar informacin alguna de los parmetrosdeconfiguracindelagente.

11.3.10.1.Datosqueseincorporanenlacreaciondelagente
Losdatosqueseincorporanalagenteenelmomentodelacreacindelmismosonlossiguientes: Enlaversion4.x Nombredeagente IPdeagente Descripciondelagente. Agentepadre. Timezoneoffset. Grupo. Sistemaoperativo. Intervalo. Agentversion

Enlaversion5.x Losmismosqueenla4.0.xyadems: Customfields. CustomID. DireccinURL.

11.3.10.2.DatosquesemodificandelagentealrecibirunXML(modoaprendizaje activado)
DireccinIPdelagente. Padredelagente(s est definidoenlaconfiguraciondelservidor,paraversiones4.xse actializasiempre) VersionSO. Versionagente. Zonahoraria.
193

AgentessoftwaredePandoraFMS

Customfields.

Los datos GIS se actualizan siempre ( si est habilitado ) sin importar si el learning mode esta desactivado

ConlearningmodeactivadosecrearnnuevosmdulosenPandoraalserrecibidosatravsde XMLs.

11.3.10.3.Datosqueseincorporanenlacreaciondeunmdulo
LosdatosqueseincorporanenelmdulolaprimeravezqueserecibeunXMLsonlossiguientes: Enlaversion4.x Nombre. Tipo. Descripcin. Mximo,Mnimo. Postproceso. Intervalodelmdulo. Min/maxCritical Min/maxWarning Desactivado

Enlaversion5.x Losmismosqueenla4.0.xyadems: Unidades. Modulegroup. CustomID. Str.Warning/Critical. Instruccionesparacrtico. Instruccionesparawarning. Instruccionesparadesconocido. Tags. Inversindecritical. Inversindewarning. Modo"silencioso". Min.FFThreshold

11.3.10.4.Datosqueseincorporanenlaactualizacindeunmduloyaexistente
CuandoserecibeunXMLquecontieneinformacindeunmduloyaexistente,seactualizaparte deestainformacin.Seactualizaladescripcinylainformacinextendida. Nota:LosdatosGISseactualizansiempre,anoserquetengalaactualizacionGISdesactivadaen eseagente(estoseconfiguraenlaseccinGISdelagente).

11.3.11.Informacinextendidadelmdulo
Deformaavanzada,sepuedenenviarXMLpersonalizados(usandosupropiaaplicaci nparacrear
194

AgentessoftwaredePandoraFMS

losXMLdedatosomodificandoelagentedePandora).Forejemplo,esteXML:
<module> <name><![CDATA[battery_level]]></name> <description><![CDATA[The actually device battery level]]></description> <type><![CDATA[generic_data]]></type> <data><![CDATA[61]]></data> <rack_number>2</rack_number> <severity>MAJOR</severity> </module>

SeverasenlainterfazdePandoraFMS:

NOTA:Estoscamposnoguardanvaloreshistricos,sloalmacenanel ltimovalorrecogidodesde elXML.

12INTRODUCCINALAMONITORIZACIN

195

MonitorizacinconPandoraFMS

12.1.MonitorizacinconPandoraFMS
TodalainteraccindelusuarioconPandoraFMSserealizaatravsdelaconsolaWEB.Laconsola dePandoraFMSesunaconsolaWEBquesiguelos ltimosestndaresytecnologasWEB,porlo que requiere un navegador avanzado y el uso opcional de Flash. Se recomienda Firefox 2.x o superior.TambinpuedeusarseInternetExplorer8osuperior,aunqueesteproveeunaexperiencia deusuariomsincmodaporsumaneraparticulardegestionaralgunoscontrolesWEB. De una forma genrica, la monitorizacin consiste en la ejecucin de procesos (a travs de mdulos) sobre cualquier tipo de sistemas para posteriormente enviar sus datos resultantes al servidor.Estelosprocesarysemostrarnalusuariomedianteelfrontend(laconsolaWEB). Pandora FMS es un sistema de monitorizacin escalable. Con un solo servidor se podran monitorizarentornoa1200/1500agentesaunqueconlaarquitecturacorrecta(metaconsola)el nmerodeprocesosdemonitorizacinpuedeaumentarsinrestricciones.

12.1.1.Monitorizacinbasadaenagentessoftwarevs.monitorizacinremota
Existen dos principales procedimientos de monitorizacin con Pandora FMS: la monitorizacin basadaenagentessoftware(local)ylaremota. La basada en agentes software incorpora en el sistema monitorizado una pieza de software (mdulo), por ejemplo la medicin del consumo de CPU en tanto por ciento en determinado sistema. Mientras que la monitorizacin remota se realizar mediante pruebas de red sin la utilizacindemdulos,porejemplodetectarsiunhostestactivo. Laprincipaldiferenciaentreestosdostiposesquemientraslaqueest basadaenagentessoftware seejecutadesdeelsistemamonitorizado,lamonitorizaci nderedseejecutadesdeelservidorde PandoraFMScontraelsistemadeseado.

12.1.2.AgentesenPandoraFMS
Toda la monitorizacin que realiza Pandora FMSseorganiza a travsdeuna entidad genrica llamada"agente",queestdentrodeunbloquemsgenrico,llamadogrupo.Unagenteslopuede perteneceraungrupo. La informacin se ordena de forma lgica mediante una jerarqua basada en grupos, agentes, grupos de mdulos y mdulos. Existen agentes basados unicamente en la informacin proporcionada por un agente software e instalados en el Sistema, y agentes con informaci n exclusivadered,informacinquenoprocededeunagentesoftware,dondenohaynecesidadde instalarningnsoftware,yqueejecutalastareasdemonitorizaci ndereddesdelosservidoresde reddePandoraFMS.

196

MonitorizacinconPandoraFMS

Deigualmanera,existenagentesquetienentantoinformaci ndered,comoinformacinobtenida medianteagentessoftware. Lainformacinserecogeenmdulosqueestnasignados(deformalgica)aagentesdePandora FMSenlaconsola.Esimportantedistinguirelconceptodeagente(dedondecuelganlosm dulos, quecontienen la informacin recolectada) delos agentes software quese ejecutan en sistemas remotos.

12.1.3.Monitorizacindeestados
DesdePandoraFMS3.0seincorporaunaimportantefuncionalidadquecambialaformaenlaque Pandora FMS estaba trabajando hasta ahora. Pandora FMS permite que el usuario establezca baremosparadefinircualquierdatoentresestadosposibles:NORMAL,WARNINGyCRITICAL. Deformaautomtica,todoslosmdulosdetipo*procsecatalogancomoNORMALsitienenun valor de 1 o mayor de 1, y como CRITICAL si tienen un valor menor que uno (0 o un valor negativo). Pero,Qu ocurreconunvalordeusodeCPU?,Cmopuedesaberelsistemasiesunvalor NORMAL,CRITICALoWARNING?.Pordefectonolosabe,sloobtieneunvalornumricoysino seledicenada,paraelestntodoslosvalores"bien",esdecir,enestadoNORMAL. Existendoscamposdeestadoenlaconfiguracindelagentequenosehanmencionadoantes,estos sonloscampos: EstadoadvertenciaWarningstatus EstadocrticoCriticalstatus Estos dos campos hasta ahora disponan de dos valores cada uno: mnimo y mximo. AdicionalmenteyapartirdePandora4.0,sedisponedeuntercervalorparaasociarunestadode advertenciaocrticoacadenasdetexto,enelcasodelosm dulosdetipostring.Configurndolos correctamenteseconseguirqueciertosvaloresmarquenunmdulocomoestadoenadvertencia,y otroscomocrtico:

197

MonitorizacinconPandoraFMS

Paraentendermejorestasopcionesesmejorverunejemplo.Elm dulodeCPUsiemprevaaestar verdeenelestadodelosagentes,yaquesimplementeinformadeunvalorentre0%y100%.Si queremosqueelmdulodeusodeCPUsemarqueenamarillo(advertencia)cuandollegueal70% desuuso,yenrojocuandollegueal90%,deberemosconfigurar: Estadoadvertencia:70 Estadocrtico:90 Conello,cuandoselleguealvalor90elmduloaparecerenrojo(CRITICAL),mientrasqueentre 70y89.99estarenamarillo(WARNING),ypordebajode70enverde(NORMAL). Sitenemosunmdulodetipostringpodemosconfigurarlosestadosusandoexpresionesregulares enloscampos Str delosparmetros WarningStatus y CriticalStatus.Porejemplo:tenemosun mdulo que nos devolver como dato OK, ERROR connection fail o BUSY to much devices, dependiendodelresultadodelaconsulta. ParaconfigurarlosestadosdeWARNINGyCRITICALdelm dulodetextousaremoslassiguientes expresionesregulares:
Warning Status: .*BUSY.* Crirical Status: .*ERROR.*

Debetenercuidadoporquelasexpresionesregularessoncasesensitive .Conestaconfiguracin el mdulo tendr estado WARNING cuando el dato contenga el string BUSY y su estado ser CRITICALcuandoeldatocontengaelstringERROR. Siporalgncasualseconfiguranambosestadosconlosmismosvalores,elvalorcr ticotiene preferencia,esdecir,nuncasealcanzar elestadodeadvertenciapuestoqueelcrticoesms importante. steesunejemplodemdulosencadaunodelosestados:

Esevidentequeestoscamposnotienensentidoparamdulosqueslodevuelvenvaloresbooleanos (10). Estosvaloressemuestranenlapantallaprincipaldelavistadelosmonitores,pudiendosaberdeun vistazocuntascomprobacionesestnenestadocorrecto,enestadoadvertenciayenestadocrtico.

12.1.4.OtrosparmetrosdeMonitorizacincomunes
12.1.4.1.Histrico

198

MonitorizacinconPandoraFMS

PandoraFMSpermitealmacenar(opcionalmente)elhist ricodecadadato,deformaindividual. Pordefectotodoslosmdulosguardanhistrico(loquelespermitepintargrficas,incluirlosen informes de tipo histrico/evolutivo, etc). Sin embargo en una implantaci n muy grande que necesitemonitorizarmuchosdatos,puedequepuedaprescindirdemantenerelhist ricodealgunos delosdatos,permitiendoasutilizarmenosrecursos. Esta opcin permite desactivar el histrico de aquellos mdulos donde no necesite guardar un histrico.Aunquedesactiveelhistrico,lasalertascontinuarnfuncionandoexactamenteigual,lo mismoquelageneracindeeventosylavisualizacindelestadoactualdeesemonitor.

12.1.4.2.FFThreshold

ElparmetroFFThreshold(FF=FlipFlop)seutilizapara"filtrar"loscambioscontinuosdeestado enlageneracindeeventos/estados,deformaqueselepuedadeciraPandoraFMSquehastaque unelementonoest almenosXvecesenelmismoestadodespusdecambiardesdeunestado original,noloconsiderecomoquehacambiado.Pongamosunejemplocl sico:Unpingaunhost dondehayprdidadepaquetes.Enunentornodeestetipo,podradarnosresultadoscomo:


1 1 0 1 1 0 1 1 1

Sinembargoelhostest vivoentodosloscasos.LoquequeremosrealmentedecirleaPandoraes quehastaqueelhostnodigaqueestalmenostresvecescado,nolomarquecomotal,deforma queenelcasoanteriornuncaestaracomocado,ysoloenestecasoloestara:


1 1 0 1 0 0 0

Apartirdeestepuntoyalomarcaracomocado,peronoantes. Por tanto la proteccin anti FlipFlop sirve para evitar estas molestas fluctuaciones, Todos los mdulosloimplementanysuusoesparaevitarelcambiodeestado(delimitadoporsuslimites definidosolimitesautomticos,comoeselcasodelosmdulos*proc).

199

MonitorizacinconPandoraFMS

13MONITORIZACINCONAGENTES SOFTWARE

200

Configuracindeagentes

13.1.Configuracindeagentes
Pordefecto,losagentesdePandoraFMSllevanunaconfiguraci ninicialdetipolocal.Estoquiere decir,queelmantenimientodeestosserealizar desdelamquinamotorizada,modificandosu ficherodeconfiguracin.

13.1.1.Configuracinremota
EnlaversinEnterpriseexistelacaractersticadeconfiguracinremotadeagentes.Estopermite,de maneracentralizadadesdelaconsoladelservidor,lagestindelosficherosdeconfiguracinde stos. La configuracin se compone de dos ficheros, cuyos nombres son <md5>.conf y <md5>.md5 siendo<md5>elcdigohashdelnombredelagente.Estosficherosseguardanenlosdirectorios "/var/spool/pandora/data_in/conf"y"/var/spool/pandora/data_in/md5"respectivamente. Losficherosantesnombradosestnenformatodetextoplanoyseeditandesdelaconsola,quelos regeneracadavezquehaycambios.Lacomunicacinessiempredesdeelagentehaciaelservidor, porloqueelmecanismoescontroladoporesteprimero.

Parahabilitarlaconfiguracinremotahacefaltamodificarelparmetroremote_config,ponindole valor igual a 1, del fichero pandora_agent.conf. Una vez hecho este cambio, el fichero de configuracinlocaldelagenteseignorarn,yaquealdetectaruncambioenlaconfiguraci nse bajarlaversindelservidor.Unaformadeforzaraquesecojalaconfiguracinlocaldelagentees borrarlosficherosdeconfiguracindelservidor.

13.2.Parmetrosdeconfiguracincomunes
EnlaseccinAgentessoftwaredePandoraFMSpuedeencontrarunaexplicacinmsdetalladade laconfiguracindelagente.Enesteapartadoslovamosamencionarlosparmetrosmsusados paraconfigurarelagente. Losparmetrosmsusadosson: server_ip:DireccinIPdelservidordePandoraFMS. server_path: Ruta de la carpeta incoming del servidor Pandora FMS. Por defecto
201

Parmetrosdeconfiguracincomunes

/var/spool/pandora/data_in. temporal:Carpetatemporadelagentesoftware.Pordefecto/var/spool/pandora/data_out. logfile: Archivo de log del agente software. Por defecto /var/log/pandora/pandora_agent.log interval:Intervalodeejecucindelagente.Pordefecto300. intensive_interval:Intervalodeejecucindelosmdulosintensivos.Pordefecto300. debug:Modotesteoactivado.Pordefecto0(desactivado). agent_name:Nombredelagente.Pordefectosecogeelhostname. server_port:Puertodelservidortentacle.Pordefecto41121. transfer_mode:Mododetransferenciadearchivos.Pordefectotentacle. remote_config:Activacindeconfiguracinremota.Pordefecto0(desactivada). UnejemplodelosparmetrosgeneralesdesdeunaconfiguracinUnixsera:
server_ip server_path temporal logfile interval debug agent_name server_port transfer_mode remote_config 192.168.1.1 /var/spool/pandora/data_in /var/spool/pandora/data_out /var/log/pandora/pandora_agent.log 300 0 box01 41121 tentacle 1

UnejemplodelosparmetrosgeneralesdesdeunaconfiguracinWindowssera:
server_ip server_path temporal logfile interval debug agent_name server_port transfer_mode remote_config 192.168.1.1 /var/spool/pandora/data_in c:\archivos de programa\pandora_agent\temp c:\archivos de programa\pandora_agent\pandora_agent.log 300 0 box01 41121 tentacle 1

13.3.Customfields
LosCampospersonalizablessonunaformafcildeconfigurarlainformacindelagente.Puedes crearcampospersonalizablesenAdministration>Manageagents>Managecustomfields.

202

Customfields

Paracrearuncampopersonalizablehayquehacerclicenelbot n"Createfield"yenrellenarlos camposdescritosacontinuacin:

Name:Nombredelcampopersonalizable. Displayonfront:Conestecampochequeadolainformacindelcampopersonalizablese ensear en la parte de arriba de la vista general del agente, tal como se muestra a continuacin:

203

Customfields

13.4.Monitorizacinconagentesoftware
Los datos recogidos por los agentes software se almacenan en peque as piezas de informacin llamadasmdulos.Cadamduloalmacenaslountipodedato.Elvalordecadam duloesel valordeunavariablesupervisada.Unavezqueelagentecomienceaenviarlainformaci n,los datosempezarnaconsolidarseenlabasededatosysepodrteneraccesoalosmismos. Consultelaseccindeinstalacindelosagentessoftwareparaobtenermsinformacinacercade stos. LosagentessoftwaredePandoraFMSutilizanloscomandospropiosdelsistemaoperativopara obtener la informacin. El servidor de datos de Pandora FMS almacena y procesa los datos generadosporestoscomandosytransmitidosalservidordentrodeunficheroXML.Lainformaci n devueltaporesoscomandosestcontenidaenloquellamamosMdulos.

Enelarchivodeconfiguracindelagentelosmdulosestndefinidosconlasiguienteestructurade
204

Monitorizacinconagentesoftware

texto:
module_begin module_name cpu_user module_type generic_data module_exec vmstat 1 2 | tail -1 | awk '{ print $13 }' module_description User CPU Usage (%) module_end

El parmetro que indica cmo coger la informacin para el mdulo es module_exec. En este parmetroseespecificalainstruccinquetienequeejecutarelagentepararecogerlainformaci n delsistema.Unejemplodecomandopodraser:
module_exec vmstat 1 2 | tail -1 | awk '{ print $13 }'

Pararecogerlainformacinelagenteejecutar elcomandoenlashelligualquesilohicieraun operador:


$> vmstat 1 2 | tail -1 | awk '{ print $13 }'

Entoncesrecogeelvalordevueltoporelcomandoyloa adealXMLcomoeldatodelmdulode monitorizacin. Por supuesto elagente puede ejecutarcualquier tipo de programa o script que devuelvaunvalornecesariodemonitorizar.Porejemploelcampomodule_execpodr acontenerlo siguiente:
module_exec myScript.pl --h 127.0.0.1 -v cpu

De nuevo elagente ejecutara el comando en la shell y recogera el resultado, igual quesi un operadorescribieraenlashell:
$> myScript.pl --h 127.0.0.1 -v cpu

Cuando el agente software se ejecuta por primera vez, enva un XML al servidor de datos de PandoraFMS,quelorecibeatravsdetentacle,SSHoFTPeneldirectoriodeentradadelservidor. ElservidordedatosrevisaesedirectoriocadaXtiempoycuandoencuentraunfichero,loprocesa. Alabrireseficherodedatos,consistenteenunXML,identificaelagenteporsunombre,deforma nica,esdecir,cadaagentetienequetenerunnombrecompletamente nico,dondelasmaysculas y las minsculas son diferenciadas por Pandora FMS. El servidor, por defecto, crea automticamentetodoslosagentesdeloscualesrecibedatosynoest ndadosdealtaenlaBBDD. Delamismamanera,sielagentesehaaadidoenmodoaprendizaje,losmdulosenviadosque noestndefinidospreviamenteenelagente,serncreadosporelservidorautomticamente.

La codificacin del archivo de configuracin del agente es muy importante y siempre debe ser la misma que la codificacin establecida en el parmetro encoding del propio archivo de configuracin. Con esto evitaremos recibir datos con caracteres mal codificados

205

Monitorizacinconagentesoftware

13.4.1.Tiposdemdulos
Existenvariostipos,principalmenteclasificadosendos:datosconorigenenagentessoftwarey datosconorigenenmdulosderedejecutadosporunservidordered.Aquellosidentificadoscomo genericsonmdulosconorigenenagentessoftwareyaquellosconidentificadoscomoremote sonmdulosdered. generic_data Tipo de datos numricos. Sirve para almacenar datos numricos (enteros y de coma flotante) obtenidosmedianteunmdulodeunagentedePandoraFMS. generic_data_inc Tipodedatosnumricoscrecientes.Almacenadatosresultadodeladiferenciaentrelosdatosdel ltimoagenteylosdatosactuales.ElservidordePandoraFMSseencargadecalcularyalmacenar la tasa por segundo de forma automtica. Todos los mdulos terminados en inc son de tipo incremental.Estetipodedatosseutilizaparacontar"ndeveces"dealgo,comoporejemplo, entradasenunlog,bytes/sec,conexiones/sec,etc. generic_proc Tambinllamadosgenricamente"monitores". Esun tipodedatosbooleano. Dondeunvalor0 significaFalsooValormalo,yvaloresporencimadecerosignificanCiertooValorcorrecto.Los tiposGenericProctambinsellamanmonitores,porquepuedenindicarsialgoestbienomalsin necesidaddeinterpretarlooestableceralertassobre l.Sedesplieganenlavistadelagentecomo pequeasluces.Rojosiescero,verdesiesmayorquecero.Todoslosm dulosacabadosenproc sonmonitores. generic_data_string Tipodedatosalfanumrico(texto). async_data Tipodedatosnumricosasncronos.Igualquegeneric_dataperoparadatosasncronos,queslose actualizan cuando existe un cambio. Los tipos de datos asncronos no tienen una periodicidad definidadecuandopodemosobtenerdatos. async_string Tipodedatosalfanumricosasncronos.Igualquegeneric_stringperoparadatosasncronos,que slo se actualizan cuando existe un cambio. Es el tipo de datos que deber amos usar para monitorizarbsquedasdentrodelogs,ovisoresdeeventos,yaquepodemostenerundatopor segundoonotenerunoenvariosdas. async_proc Tipodedatosbooleanoasncronos.Igualquegeneric_procperoparadatosasncronos,queslose actualizancuandoexisteuncambio. Elagentesoftwareyavieneconfiguradoparaenviarciertosdatosdelsistemaenelqueseinstala; stossuelenser(dependiendodelaversin): CPUdesistema Espaciolibreendisco Memorialibre Monitordelestadodeprogramasy/oservicios.

Dependiendo de si el agente software es para un sistema operativo u otro, suelen tener m s mdulos,odiferentescomprobaciones. Todaestainformacinseencuentraenelficheropandora_agent.conf.Esteficheroseencuentraen
206

Monitorizacinconagentesoftware

el directorio /etc/pandora/ en GNU/Linux y en el directorio de instalaci n de Windows predeterminado(C:/ArchivosdePrograma/pandora_agent/o C:/Program Files/pandora_agent/,o similares). Acontinuacinseexplicanlosdatosparaalgunosdelosm dulos:UsodeCPUenporcentajeen GNU/Linux:
# CPU usage percentage (GNU/Linux) module_begin module_name cpu_user module_type generic_data module_interval 1 module_exec vmstat 1 2 | tail -1 | awk '{ print $13 }' module_max 100 module_min 0 module_description User CPU Usage (%) module_end

Sevequeeltipodemduloesgeneric_data,yqueejecutauncomandodeconsoladeGNU/Linux paraobtenerelresultado(module_exec).Sesabequeelmximoes100yelmnimo0.Elintervalo (module_interval)representaelnmerodeiteracionesentrelaejecucindecadamdulo,sies distintode1,elmdulosloseejecutar cada senmerodeveceslaejecucindelagente.Es decir,sieltiempodeejecucindelagentees300yelintervalodelmduloes3,elmdulose ejecutarcada3*300=900segundos. UsodeCPUenporcentajeenWindows:


# CPU usage percentage (Windows) module_begin module_name CPUUse module_type generic_data module_cpuusage all module_description CPU#0 usage module_end

SepuedecomprobarqueelmduloescompletamentedistintoenWindowsyenGNU/Linux.Enel caso de Windows se trata de un comando interno del agente, donde module_cpuusage all representaelconsumodeCPUentodaslasCPU.Utilizandomodule_cpuusage0calcular aelusode CPUexclusivamenteenlaCPU#0.Elrestodecampossonopcionales. Paraaadirunmdulomsconsultelaconfiguracindelagenteycreeunbloquedemdulovlido. Unavezhechoestoguardeelarchivodeconfiguracindelagenteyreinicieelagente,yaseael demoniodeUNIXoelserviciodeWindows.

13.4.2.Interfazdecreacindemdulos
Lacreacindemduloslocalesenlaconsolaserealizamedianteunformulariodonde,adem sde laconfiguracincomnconlosmdulosremotos(umbrales,tipo,grupo...)sedisponedeunacaja detextodondeespecificarlosdatosdeconfiguracinqueirnenelficherodeconfiguracindel agentesoftware.

207

Monitorizacinconagentesoftware

Juntoaesacajadetextohay dosbotones,unoparacrearunaestructurabsicadeconfiguracin y otro para comprobar que los datos de configuracin son correctos. Esta comprobacin se refiere a los parmetros bsicos, comprobando que comience por module_begin, termine por module_end, tenga un tipo vlido y un nombre. Otros parmetros podran estar configurados errneamenteynoseradetectado.

208

Monitorizacinconagentesoftware

El campo nombre y el combo tipo estn ligados a los parmetros module_name y module_typedelosdatosdeconfiguracin .Porloquealcambiarelnombredelm duloenel campo nombre, se cambiar automticamente el nombre en la configuracin y viceversa. Igualmentealseleccionaruntipoenelcombosecambiar eltipodelosdatosdeconfiguraciny cuandoseescribauntipocorrectamenteenlacajadeconfiguraci nseseleccionarelmismoenel combo. Cuandounmduloescargadodesdeuncomponentelocal,puedetenermacros.Sitienemacros,la cajadeconfiguracinestar ocultayaparecer uncampoporcadamacro.Estacaractersticase explicaenprofundidadenlaseccindePlantillasycomponentes

13.4.3.Monitorizacincondicionada
Elagente software de Pandora FMS soporta la ejecucin de scriptsa modo de postcondiciones dependiendodelvalordelmduloejecutado.Ademstieneunacaractersticaquepermiteevaluar una precondicin antes de ejecutar el propio mdulo. En esta seccin se explican las dos caractersticasconejemplos.

13.4.3.1.Postcondiciones
Elparmetro module_condition permitedefinirpostcondicionesalaejecucindeunmdulo,es decir,comandosqueseejecutarndependiendodelvalorquedevuelvalaejecucindelmodulo.La definicinenelarchivodeconfiguracinesas:
module_begin module_name CPU_Usage_Condition module_type generic_data module_exec get_cpu_usage.pl module_condition < 20 add_processes.sh module_end

Sepuedenespecificarmltiplescondicionesparaunmismomdulo.Porejemplo:
module_begin module_name CPU_Usage_Condition module_type generic_data module_exec get_cpu_usage.pl module_condition (90, 100) remove_processes.sh module_condition < 20 add_processes.sh module_end

209

Monitorizacinconagentesoftware

Ejemplos: Ejecucincuandoelvalordelmduloesmenorde20:
module_begin module_name CPU_Usage_Condition module_type generic_data module_exec get_cpu_usage.pl module_condition < 20 add_processes.sh module_end

Supongamosqueelscriptget_cpu_usage.pldevuelve18,enestecasoelagentesoftwareejecutar elscriptadd_proceses.sh.Enotrocasonoloejecutar. Ejecucincondospostcondiciones:


module_begin module_name CPU_Usage_Condition module_type generic_data module_exec get_cpu_usage.pl module_condition < 10 start_new_server.sh module_condition < 20 add_processes.sh module_end

Supongamosqueeldatoes15,enestecasoelagentesloejecutarelscriptadd_processes.sh.Siel valor del dato fuera 6, entonces el agente ejecutara los dos scripts start_new_server.sh y add_processes.sh

13.4.3.2.Precondiciones
El parmetro module_precondition permite evaluar una condicin antes de la ejecucin del mduloyconelresultadodecidirsielmdulosedebeejecutarono.Ladefinicinenelarchivode configuracines:
module_begin module_name CPU_Usage module_type generic_data module_exec get_cpu_usage.pl module_precondition > 10 number_active_processes.sh module_end

Sepuedenespecificarmltiplesprecondicionesparaunmismomdulo.Porejemplo:
module_begin module_name CPU_Usage module_type generic_data module_exec get_cpu_usage.pl module_precondition > 10 number_active_processes.sh module_precondition = 1 important_service_enabled.sh module_end

Ejemplos: Ejecucindelmduloslocuandolaprecondicinesmayorde10:
module_begin

210

Monitorizacinconagentesoftware

module_name CPU_Usage module_type generic_data module_exec get_cpu_usage.pl module_precondition > 10 number_active_processes.sh module_end

En este ejemplo primero se ejecuta elscript number_active_processes.sh si el valor devueltoes mayorde10entoncesseejecutaelscriptdelmdulo.Sielvalordevueltoesmenorde10elmdulo nuncaseejecuta. Ejecucindelmdulocuandosecumplendosprecondiciones:
module_begin module_name CPU_Usage module_type generic_data module_exec get_cpu_usage.pl module_precondition > 10 number_active_processes.sh module_precondition = 1 important_service_enabled.sh module_end

Enesteejemplotenemosdosprecondiciones.Paraqueelmduloseejecutesedebencumplirtodas las precondiciones, en este caso dos, por ello el m dulo slo se ejecutara cuando el script number_active_processes.sh devuelva un nmero mayor que 10 y el script important_service_enabled.shdevuelvaun1.

13.4.4.Monitorizacinprogramada
Elagentesoftwaresoportaladefinicindemdulosprogramadosqueseejecutanenlosinstantes definidos. La sintaxis usada es la misma que la del fichero crontab http://es.wikipedia.org/wiki/Cron_(Unix)#Sintaxis. Un ejemplo de la definicin del mdulo en sera:
module_begin module_name crontab module_type generic_data module_exec script.sh module_crontab * 12-15 * * 1 module_end

Enesteejemploelmduloseejecutaunasolavez,todoslosLunesentrelas12ylas15horas. Si queremos que se ejecute mientras dure el intervalo podemos utilizar la opcin module_cron_interval0delasiguientemanera:
module_begin module_name crontab module_type generic_data module_exec script.sh module_crontab * 12-15 * * 1 module_cron_interval 0 module_end

Siporejemploqueremosejecutarelmdulo,alahoray10minutosladefinicindelmdulosera: module_begin module_name crontab module_type generic_data module_exec script.sh


211

Monitorizacinconagentesoftware

module_crontab10****module_cron_interval0module_end

13.4.5.MonitorizacinespecficaparaWindows
El agente software para plataformas Windows tiene funcionalidades espec ficas para esta plataforma que ayudana realizar la monitorizacin deuna forma ms sencilla. A continuacin explicaremoslasfuncionalidadesyaplicaremosunosejemplosdelasmismas.

13.4.5.1.Monitorizacindeprocesosywatchdogdeprocesos
Monitorizacin de procesos

Elparmetromodule_proccompruebasiundeterminadonombredeprocesoestoperandoenesta mquina.Ladefinicindelmdulosera:
module_begin module_name CMDProcess module_type generic_proc module_proc cmd.exe module_description Process Command line module_end

Sielnombredelprocesocontieneespaciosenblanco nouse"".Elnombredelprocesodebeser el mismo que muestra el Administrador de Tareas (taskmngr) de Windows incluyendo la extensin.exe,esimportanterespetarmaysculasylasminsculas. SiqueremosqueelagentesoftwaredeWindowsnosaviseinmediatamentecuandounprocesodeja de funcionar tenemos que aadir el parmetro module_async yes, la definicin del mdulo quedaraas:
module_begin module_name CMDProcess module_type generic_proc module_proc cmd.exe module_async yes module_description Process Command line module_end

Watchdog sobre procesos

La funcionalidad de watchdog del agente software de Pandora para Windows permite actuar inmediatamente antela cada de unproceso, levantando de nuevo. Es importantedecir que el watchdogslofuncionasielmduloesasncrono. Ladefinicindeunmduloconwatchdogseraparecidaaesta:
module_begin module_name Notepad module_type generic_data module_proc notepad.exe module_description Notepad module_async yes module_watchdog yes module_start_command c:\windows\notepad.exe

212

Monitorizacinconagentesoftware

module_startdelay 3000 module_retrydelay 2000 module_retries 5 module_end

Enelejemploanteriorelwatchdogseactivarcadavezqueelprocesonotepad.exeestedesactivado y se ejecutar el comando c:\windows\notepad.exe, adems si vemos los otros parmetros de configuracindelwatchdogveremosqueellareactivacindelprocesoseintentar5vecesconun tiempodeesperainicialde3segundosyconuntiempodeesperaentrereintentosde2segundos.

13.4.5.2.Monitorizacindeserviciosywatchdogdeservicios
Monitorizacin de servicios

El parmetro module_service comprueba si un determinado servicio se est ejecutando en la mquina.Ladefinicindeunmdulousandoesteparmetrosera:


module_begin module_name Service_Dhcp module_type generic_proc module_service Dhcp module_description Service DHCP Client module_end

Ademsrecuerdeusarloscaracteres""sielnombredelserviciocontieneespaciosenblanco.Para encontrarelnombredelserviciopuedemirarelqueaparececomoServiceNameenelgestorde serviciosdeWindows,esimportanterespetarmaysculasylasminsculas. Igual que con los procesos si queremos que el agente software de Pandora nos avise inmediatamentecuandounserviciosecaetenemosquea adirelparmetromodule_asyncyes,la definicindelmduloquedaraas:
module_begin module_name Service_Dhcp module_type generic_proc module_service Dhcp module_description Service DHCP Client module_async yes module_end

Watchdog de servicios

Igualqueparalosprocesosparalosserviciosexisteunmodowatchdogquepermiteinicializarun serviciocuandoestcaido.Unejemplodedefinicindemduloconwatchdogparaserviciossera:
module_begin module_name ServiceSched module_type generic_proc module_service Schedule module_description Service Task scheduler module_async yes module_watchdog yes module_end

213

Monitorizacinconagentesoftware

La definicin del watchdog para servicios no requiere ningn parmetro adicional como el de procesosporqueesainformacinyaestdentrodeladefinicindelservicio.

13.4.5.3.Monitorizacinderecursosbsicos
EsteapartadomuestracmomonitorizarlasvariablesbsicasdeunamquinaWindows.
Monitorizando la CPU

ParamonitorizarlaCPUpuedeusarelparmetromodule_cpuusagequedevuelveelporcentajede CPUenuso. Esposiblemonitorizarlascpuporidconlasiguientedefinicindemdulo:


module_begin module_name CPU_1 module_type generic_data module_cpuusage 1 module_description CPU usage for CPU 1 module_end

TambinpuedemonitorizarlamediadeusodetodaslasCPUsdelsistemaconelmdulo:
module_begin module_name CPU Usage module_type generic_data module_cpuusage all module_description CPU Usage for all system module_end

Monitorizando la memoria

Para monitorizar la memoria existen dos parmetros: module_freememory que devuelve la cantidaddememorialibredelsistema,ymodule_freepercentmemoryquedevuelveelporcentaje dememorialibredelsistema. Unmdulodeejemplousandomodule_freememorysera:
module_begin module_name FreeMemory module_type generic_data module_freememory module_description Non-used memory on system module_end

Unmdulodeejemplousandomodule_freepercentmemorysera:
module_begin module_name FreePercentMemory module_type generic_data module_freepercentmemory module_end

214

Monitorizacinconagentesoftware

Monitorizando el disco

Para monitorizar el disco disponemos de dos parmetros: module_freedisk que devuelve la cantidaddeespaciolibrey module_freepercentdisk quedevuelveelporcentajedeespaciolibre. Ambosmdulosrequierencomoparmetrolaunidaddediscoamonitorizar, noolvideelcaracter ":". Unmduloqueusaelparmetromodule_freedisksedefineas:
module_begin module_name FreeDisk module_type generic_data module_freedisk C: module_end

Unejemplodemduloqueusaelparmetromodule_freepercentdisksedefineas:
module_begin module_name FreePercentDisk module_type generic_data module_freepercentdisk C: module_end

13.4.5.4.ConsultasWMI
ElagentesoftwaredePandorapermiteextraerinformaci natravsdeconsultasWMI,queesuna fuentedeinformacinampliamenteutilizadaparaguardarinformacindelsistemayexternaaeste.
Consultas WMI

Usandoelparmetromodule_wmiqueryelagentesoftwarepermiteejecutarlocalmentecualquier consultaWMI.PararealizarlaconsultasedefinelaqueryWMIenelparmetromodule_wmiquery ylacolumnaquecontienelainformacinamonitorizarconelparmetromodule_wmicolumn. Porejemplo,podemosobtenerunalistadelosserviciosinstalados:


module_begin module_name Services module_type generic_data_string module_wmiquery Select Name from Win32_Service module_wmicolumn Name module_end

UsandoWMItambinpodemosobtenerlacargaactualdeCPU:
module_begin module_name CPU_Load module_type generic_data module_wmiquery SELECT LoadPercentage FROM Win32_Processor module_wmicolumn LoadPercentage module_end

13.4.6.Chequeosremotosconelagentesoftware
Los chequeos remotos realizados con el agente software facilitan la monitorizaci n de redes
215

Monitorizacinconagentesoftware

complejasyconrequisitosespecialesporejemplorelacionadosconlaseguridad.Enestasecci nse explicacmoutilizarestacaractersticadelosagentessoftware.

13.4.6.1.ChequeosICMP
LoschequeosICMPopingsonmuy tilesparasabersiunamquinaestconectadaonoaunared. Deestaformaunsoloagentesoftwareprodramonitorizarelestadodetodaslasmquinadeuna formasencilla. Unix UsandoelagenteLinuxpodemosusarloscomandosdelsistemaparacrearunm duloquerealice quechequeoping,ladefinicindelmdulosera:
module_begin module_name Ping module_type generic_proc module_exec ping -c 1 192.168.100.54 >/dev/null 2>&1; if [ $? == 0 ]; then echo 1; else echo 0; fi module_end

Enesteejemplorealizamosunpingalhost192.168.100.54,siqueremoscomprobarotroshostss lo tenemosquecambiarlaIP Windows El agente software para Windows soporta unos parmetros de configuracin especiales para configurarelchequeopingysonlossiguientes: module_ping_countx:NmerodepaquetesECHO_REQUESTaenviar(1pordefecto). module_ping_timeoutx:Timeoutenmilisegundosdeesperaparacadarespuesta(1000por defecto). module_advanced_options:Opcionesavanzadasparaping.exe. Unejemplodeconfiguracindemdulopodraser:
module_begin module_name Ping module_type generic_proc module_ping 192.168.100.54 module_ping_count 2 module_ping_timeout 500 module_end

En este ejemplo realizamos el mismo chequeo que antes, pero desde el agente software para Windows.

13.4.6.2.ChequeosTCP
LoschequeosTCPson tilesparaverificarquelospuertosdeunamquinapermanecenabiertos. Estopuedeserinteresanteparasabersiunaaplicacinestaconectadaonoalared. Unix ConelagentesoftwareparaUnixpodramosrealizarunchequeoTCPusandoelsiguientemdulo:
module_begin

216

Monitorizacinconagentesoftware

module_name PortOpen module_type generic_proc module_exec nmap 192.168.100.54 -p 80 | grep open > /dev/null 2>&1; echo $?; if [ $? == 0 ]; then echo 1; else echo 0; fi module_timeout 5 module_end

Conestemdulocomprobamosqueelpuerto80delhost192.168.100.54estaabiertoocerrado. Windows SiusamoselagentesoftwareparaWindowsdisponemosdeunospar metrosparaconfigurarel mdulo.Losparmetrosson: module_tcpcheck:Hostalquequeremoscomprobar module_port:Puertoquequeremoscomprobar module_timeout:Timeoutparaelchequeo Unejemplodedefinicindelmdulosera:


module_begin module_name PortOpen module_type generic_proc module_tcpcheck 192.168.100.54 module_port 80 module_timeout 5 module_end

EstemduloseraelequivalenteparaelagentesoftwaredeWindowspararealizarlacomprobaci n delpuerto80sobreelhost192.168.100.54.

13.4.6.3.ChequeosSNMP
LoschequeosSNMPsonmuycomunesenlamonitorizacindedispositivosderedparacomprobar elestadodeinterfaces,bytesdeentrada/salida,etc. Unix SiusamoselagentesoftwareparaUnixpodemoscrearunm duloqueuseelcomandosnmpget comoelsiguiente:
module_begin module_name SNMP get module_type generic_data module_exec snmpget 192.168.100.54 -v 1 -c public .1.3.6.1.2.1.2.2.1.1.148 | awk '{print $4}' module_end

EstemdulodevuelveelvalordelOID.1.3.6.1.2.1.2.2.1.1.148delhost192.168.100.54. Windows ParaelagentesoftwaredeWindowsdisponemosdelossiguientesparmetros: module_snmpversion[1,2c,3]:VersindeSNMP(1pordefecto). module_snmp_community<community>:ComunidadSNMP(publicpordefecto). module_snmp_agent<host>:AgenteSNMPobjetivo. module_snmp_oid<oid>:OIDobjetivo.


217

Monitorizacinconagentesoftware

module_advanced_options:Opcionesavanzadasparasnmpget.exe. Unmdulodeejemplopodraser:
module_begin module_name SNMP get module_type generic_data module_snmpget module_snmpversion 1 module_snmp_community public module_snmp_agent 192.168.100.54 module_snmp_oid .1.3.6.1.2.1.2.2.1.1.148 module_end

EstemduloseraelequivalenteWindowsparaelchequeoanteriorrealizadoconelagentesoftware paraUnix.

13.4.7.ModoProxy
LosagentessoftwaredePandoraFMStienenunModoProxyquelespermiteactuarcomounproxy redirigiendolacomunicacindevariosagentesalservidordePandoraFMS.Elagentesoftwareque actuaenModoProxytambinpuederealizartareasdemonitorizacin.

ElModoProxyesmuytilcuandonosencontramosconunaredenlaqueslounamquinapuede comunicarse con el servidor de Pandora FMS. En esta situaci n los agentes instalados en las mquinassinaccesoalservidordePandoraFMSenvanlosficherosXMLalagentesoftwareque actuacomoproxyyestelosredirigealservidordePandoraFMS. Adems del envo de datos a travs de XML, el Modo Proxy soporta las caractersticas de ConfiguracinRemotayColeccionesdeFicheros Contodasestasfuncionalidades elModoProxyofreceun funcionamientotrasnparente delos agentessoftwareenredesconconectividadlimitada. ParaactivarelModoProxyenunagentesoftwaretieneconfigurarlosparmetros:

218

Monitorizacinconagentesoftware

server_ip:IPdelservidordePandoraFMS.ConelModoProxyactivado nopuedetomar valorescomo:127.0.0.1,locahost,0.0.0.0,osimilares. proxy_mode:Sivale1activaelModoProxy.Pordefectovale0,desactivado. proxy_max_connection:Nmerodeconexionessimultaneasdelproxy,pordefecto10. proxy_timeout:Timeoutparaelproxy,pordefecto1segundo. Unejemplodeconfiguracinpodraser:


server_ip 192.168.100.230 proxy_mode 1 proxy_max_connection 20 proxy_timeout 3

Pararedirigirlaconexin deunagentesoftwareslotendremosqueponercomodireccin del servidordePandoraladelagenteconelModoProxyactivado.Porejemplo: NuestroagenteenModoProxytienelaIP:192.168.100.24 EnelagentesoftwarequenosepuedeconectardirectamentealservidordePandoraconfiguramos elparmetroserver_ipas:


server_ip 192.168.100.24

Conestaconfiguracinelagentesoftwareconconmunicacinlimitadausarelagentesoftwareen ModoProxyparacomunicarseconelservidordePandora.

13.4.8.ModoBroker
ELModoBrokerdelosagentessoftwarepermiteaunsoloagenterealizarchequeosygestionarla configuracincmosisetrataradevarios.

El agente software con el Modo Broker activado tiene una configuraci n auxiliar, similar a la configuracindelagentesoftware,paracadaunodelosbrokersconfigurados.Deestaformaes
219

Monitorizacinconagentesoftware

comosi hubiera varios agentessoftwareinstalados enla misma m quina, esdecir cada broker funciona igual que un agente softwar. Esta caracterstica es muy til para gestionar varios dispositivos de forma remota con un solo agente software instalado, de esta forma es posible monitorizardistintosdispositivoscondistintosarchivosdeconfiguraci nperoinstalandounsolo agentesoftware. LasfuncionalidadesprincipalesdelModoBrokerson: Enviardatoslocalescomootroagente.Muy tilparamonitorizarinstanciassoftwarecomo agenteindependientes. Enviardatosrecolectadosdechequeosremotosaotrasmquinascomosihubieraunagente softwareinstaladoenella. Para crear un broker slo tiene que aadir una lnea con el parmetro broker_agent <nombre_broker>comoestas:
broker_agent dev_1 broker_agent dev_2

Unavezcreadoslosbrokerssecrearnsusarchivosdeconfiguracin dev_1.confydev_2.confconel mismo contenido que el agente software original, pero con el nombre cambiado. A adiendo o quitandomdulosdelosarchivosdeconfiguracin dev_1.conf y dev_2.conf podemospersonalizar loschequeosrealizadosporlosbrokers. EnlaconsoladePandoraFMSlosbrokerssevenygestionancomolosdemsagentesdeforma quesitenemosunagentesoftwareinstaladocondosbrokersenlaconsolaveremostresagentes diferentesconsusmdulos,configuraciones,etc.

13.4.8.1.Ejemplosdeuso
Monitorizar una base de datos local como otro agente

Enunamquinaqueremosmonitorizarlosparmetrosbsicos(CPU,memoriaydisco)yadems tenemosinstaladaunabasededatosquequeremosmonitorizardeformaindependiente. Pararealizarlamonitorizacinusaremoslasiguienteestructura: Agentesoftwareinstalado:monitoizacindeCPU,memoriaydisco. Brokerbasededatos:monitorizacindeestadointernodelabasededatos. Paraelloinstalamosunagentesoftwareenlamquinaquemonitorizar losparmetrosdeCPU, memoriaydisco.Ademsenlaconfiguracindelagentesoftwareaadimoslalnea:


broker_agent DBApp

Con esto creamos el agente broker con nombre DBApp y por tanto aparecer el archivo de configuracindbapp.conf.Enestearchivoaadimoslosmdulopararealizarloschequeosenla basededatos:
module_begin module_name Num Users module_type generic_data module_exec get_db_users.pl module_end

220

Monitorizacinconagentesoftware

module_begin module_name Num slows queries module_type generic_data module_exec get_db_slows_queries.pl module_end

Con este ejemplo apareceran dos agente en la consola de Pandora uno con el nombre de la mquinaylosmdulosdeCPU,memoriaydiscoyotrollamadoDBAppconlosmdulosNumUsers yNumslowsqueries.
Monitorizar dispositivos de forma remota usando brokers

Paraesteejemplotenemosunagentesoftwareinstaladoenunam quinaWindowsmonitorizando (CPU,memoriaydisco)ynecesitamosmonitorizarunrouterconIP192.168.100.54sininstalarun agentedentro.Parasolucionarelproblemapodemosusarlosbrokers. Creamosunbrokerconelparametro:


broker_agent routerFloor5

ConestocreamoselagentebrokerconnombrerouterFloor5ycomotenemosunagentesoftware instaladoenunamquinaWindowspodemosmonitorizarelrouterusandolosm dulosdepingy snmpdisponibles.ParaellomodificaremoselarchivorouterFloor5.confconlaslneas:


module_begin module_name Ping module_type generic_proc module_ping 192.168.100.54 module_ping_count 2 module_ping_timeout 500 module_end module_begin module_name Eth 1 up module_type generic_data module_snmpget module_snmpversion 1 module_snmp_community public module_snmp_agent 192.168.100.54 module_snmp_oid .1.3.6.1.2.1.2.2.1.1.1 module_end module_begin module_name Eth 2 up module_type generic_data module_snmpget module_snmpversion 1 module_snmp_community public module_snmp_agent 192.168.100.54 module_snmp_oid .1.3.6.1.2.1.2.2.1.1.2 module_end

EnesteejemplolaconsolawebdePandoraFMSmuestradosagentes,unoeslam quinaWindows conlosmdulosdeCPU,memoriaydiscoyotroes routerFloor5conlosmdulos:Ping,Eth1up, Eth2up.

221

Monitorizacinconagentesoftware

Monitorizacin remota de redes inaccesibles

En algunas situaciones es necesario monitorizar dispositivos de forma remota, pero el Servidor RemotodePandoraFMSnopuedeaccederdirectamenteaellos.

Enesteejemplotenemosquemonitorizardeformaremotalosdispositivosdeunadelassedesde nuestra empresa desde la sede central. El servidor de Pandora FMS est en la sede central conectadopormediodeunaVPNalrestodesedesydebidoaunaseriederestriccioneselservidor dePandoraFMSnopuedeaccederremotamentealasmquinas.Parapodermonitorizarlassedes usaremoselModoBrokerquepermitealagentesoftwareenviarXMLsalservidordePandoracomo sifueravariosdispositivosdistintos. Enelarchivodeconfiguracindelagentesoftwareaadiremostantosbrokerscomodispositivosa monitorizar,unejemplodeconfiguracinsera:
broker_agent broker_agent broker_agent broker_agent ... device_1 device_2 device_3 device_4

Una vez creados los brokers podemos personalizar la monitorizacin para cada dispositivo accediendoalosarchivosdeconfiguracindecadabroker,porejemplolaconfiguracinparala mquinaWindowsconnombredevice_1es:
module_begin module_name Ping module_type generic_proc module_ping 192.168.100.54 module_ping_count 2 module_ping_timeout 500 module_end module_begin module_name CPU_Load module_type generic_data module_wmiquery SELECT LoadPercentage FROM Win32_Processor module_wmicolumn LoadPercentage module_end module_begin module_name Mem_Free module_type generic_data

222

Monitorizacinconagentesoftware

module_wmiquery SELECT LoadPercentage FROM Win32_Memory module_wmicolumn FreeMemory module_end module_begin module_name Disk_Free module_type generic_data module_wmiquery SELECT LoadPercentage FROM Win32_Disk module_wmicolumn FreeSpace module_end

Con esta configuracin conseguimos realizar una configuracin remota y enviar los archivos al servidor de Pandora FMS a pesar de las restricciones de comunicaci n entre las sedes de la empresa.
Distribuir la carga de monitorizacin con brokers

ElModoBrokertambinesmuy tilparadistribuirlacargademonitorizaci nenvariospuntosde lared.

EnesteejemplonuestraarquitecturasecomponedevariasredesconnombresdelaAalaZcon 1000dispositivoscadauna.LacapacidaddelServidorRemotodePandoraFMSest entornoa 2000agentes,porellodecidimosusaragentessoftwareenModoBrokerparadistribuirlacargade monitorizacin.EstosagentessoftwareenModoBrokermonitorizandeforma remotatodoslos dispositivosdelaredyenvanlosdatosenformatoXMLalservidorcentraldePandoraFMS. EncadaunadelasredestenemosunaagenteconelModoBrokeractivado,en lcrearemostantos broker como dispositivos tengamos que monitorizar, la configuraci n para el agente Broker_Agent_Net_Asera:
broker_agent device_1 broker_agent device_2

223

Monitorizacinconagentesoftware

broker_agent device_3 broker_agent device_4 ...

Ademsparacadaunodelosbrokersaadiramoslosmduloscorrespondientesparamonitorizar losdispositivos.Porejemploelbrokerdevice_1queesunroutertendraestosmdulos:
module_begin module_name Ping module_type generic_proc module_ping 192.168.100.54 module_ping_count 2 module_ping_timeout 500 module_end module_begin module_name Eth 1 up module_type generic_data module_snmpget module_snmpversion 1 module_snmp_community public module_snmp_agent 192.168.100.54 module_snmp_oid .1.3.6.1.2.1.2.2.1.1.1 module_end module_begin module_name Eth 2 up module_type generic_data module_snmpget module_snmpversion 1 module_snmp_community public module_snmp_agent 192.168.100.54 module_snmp_oid .1.3.6.1.2.1.2.2.1.1.2 module_end

Otroejemploseraelbrokerdevice_2monitorizaunamquinaWindowsconlossiguientesmdulos:
module_begin module_name Ping module_type generic_proc module_ping 192.168.100.54 module_ping_count 2 module_ping_timeout 500 module_end module_begin module_name CPU_Load module_type generic_data module_wmiquery SELECT LoadPercentage FROM Win32_Processor module_wmicolumn LoadPercentage module_end module_begin module_name Mem_Free module_type generic_data module_wmiquery SELECT LoadPercentage FROM Win32_Memory module_wmicolumn FreeMemory module_end module_begin

224

Monitorizacinconagentesoftware

module_name Disk_Free module_type generic_data module_wmiquery SELECT LoadPercentage FROM Win32_Disk module_wmicolumn FreeSpace module_end

UsandolosagentessoftwareenModoBrokerpodemosdistribuirlacargademonitorizaci nyas poderrecogerdatosdemilesdedispositivosdeunaformasencilla.

13.4.9.Inventarioconagentesoftware
ElagentesoftwaredePandoraFMSsoportafuncionesdeinventariotantohardwarecomosoftware. Essistemadeinventariopermitemantenerunhist ricodeCPU,tarjetas,MemoriaRAM,parches, software,etcusadosenlosservidoresdelacompa a.Ademsesposiblegeneraralertasante cambiosenelinventarioporejemplounreemplazonoautorizadodediscodurooladesintalaci n deunaaplicacin. PuedeencontrarmsinformacinenlaseccinInventariolocalconagentessoftware.

13.4.10.Cmosolicitarinformacinalagentebajodemanda
Hastalaversin3.2,noexistaningunamaneradepedirinformacinalagentedesoftwareremoto. Deberesperaraqueelagentealcancesulmitedeintervaloyesperaraqueenvesuinformacin. ElagentedeWindows3.0tieneunafuncionalidadnomuyconocidallamada"ServidorUDP",que permiterecibircomunicacionesdesdeelexteriorparasolicitarinformaci nyforzar alagentea refrescarsuciclo,forzandoloaqueenvelainformacinalservidor. Ahora,enlaversin3.2hemosimplementadolamismafuncionalidad:REFRESHAGENTtambi n enelagenteUnix,yhemosincludounaplantilladealerta"pordefecto"yuncomandoparahacerlo msfcil.Ahorapuedeconfigurarsusagentes(Windows yUnix) pararecibir rdenesdesdela consolaparaenviardatosinmediatamente,sintenerqueesperarasuintervalo. Esta funcionalidad es muy sencilla. Lo primero que necesita hacer es configurar su agente (WindowsoLinux)paraaceptarconexionesexternassobreunpuertoUDPconcreto,desdeuna direccinespecficaIP(0.0.0.0.paracualquiera).EnWindows,ustedtambinpuededefinirotros posibleselementosqueelagentepuedaejecutar,comoresultadodeuncomandoremoto.EnUnix, la nicaoperacincomtemplada(demomento)es"REFRESHAGENT".Estotendr comoresultado unaejecucininmediatadelagente,saltndosesuintervalo. EsteesunejemplodelasconfiguracionesdelservidorUDPenelagentesoftwaredeUnixv3.2:
udp_server 1 udp_server_port 41122 udp_server_auth_address 0.0.0.0

Active elservidor con 1 y desactvelo con 0en la opcin "udp_server". Configure 0.0.0.0.como direccinipfuenteparaactivarcualquierdireccinIP. EsteesunejemplodelasconfiguracionesdelservidorUDPenelagentesoftwaredeWindowsv3.x:
udp_server 1 udp_server_port 41122 udp_server_auth_address 192.168.1.23

225

Monitorizacinconagentesoftware

Esexactamentelomismo,yenestecaso,usamosladirecci n192.168.1.23comolanicadireccin IPautorizadapararefrescaresteagente. ElservidordePandoraFMStieneunpequeoscript,queenvalaordenalagente.Enelcomando quehemoscreadopordefecto,escompletamenteoperativoyestlistoparaserutilizado.Estescript esunpequeoscriptPerlqueactuacomounclientepequeoparacomunicarseconelservidorUDP sencilloqueest integradoenelagenteyqueenvacomandosquesontransmitidosenlalneade comandos.

Tambinproporcionamosunaplantilladealertapordefectoparaasignaralertas"manuales"aun agente, lo que quiere decir, que una alerta nunca se disparar automticamente. Usted debera utilizar"alertasmanuales"paraforzarmanualmentelaejecucinutilizandoelbotnredondode vistaprincipaldelagente,paraforzarlaejecucindelcomandodealerta

Hemoscreadounaaccindealertapordefectollamada"Restartagent",quellamaalcomandodel agenteremoto.EstaaccinpasaelcomandoREFRESHAGENTalcomandoyutilizaladirecci nIP principaldelagentequequeremosalcanzar,utilizandoelpuertopordefectoparaelservidorUDP (41122/UDP):

226

Monitorizacinconagentesoftware

Sigaestospasosparahabilitarlaopcinderefrescodelagenteremotodesoftware: 1.Configurarlasopcionesenelficherodeconfiguracinparaelagentesoftware(UnixoWindows). PorfavortengacuidadodeladireccinIPautorizada(est elservidordePandoraFMSbajoun NAT?),oponga0.0.0.0.parapermitirquecualquierdireccinIPfuercerefrescarelagente. 2.Reinicieelagentesoftware. 3.NecesitaconfigurarladireccinIPenelitemdesuagenteenlaconsoladePandoraFMS.La accindealertautilizar ladireccinIPparaconectarelagentesoftwarequecorreenlesistema remoto. 4.Instaleunaalertaparacualquieradelosmdulosdeeseagente(noimportacual),utilizandoesta pantallacomoguadeejemplo:

5.Ahoraestlistoparaforzarunrefrescoparaaquelagenteutilizandolavistaprincipal.Hagaclick enelbotnredondoverdequeestalaizquierdadelaalertaqueacabadedefinir:

227

Monitorizacinconagentesoftware

Cadavezquedeseeobtenerinformacindelagente"enseguida"sintenerqueesperaralintervalo del agente, slo tiene que hacer click en el botn y esperar unos segundos. El agente ser contactado y forzado a ejecutarse, el XML se transferir a su servidor de Pandora FMS y ser procesado,ydependiendodelacargadesusistema,serprocesadode1a5segundosydesplegado enlaconsola.

13.4.11.Usarpluginsenagentessoftware
LospluginsdeagenteseejecutanmedianteelagentesoftwaredePandoraFMS,ypuedendevolver diferenteinformation(modulos)alavez.Cadapluginfuncionadeunamaneradiferente,ydeberia probarprimerocomofuncionaantesdeusarlo.Lainstalaci npordefectodePandoraFMSviene conunpequeoconjuntodeplugins.Porsupuesto,lospluginsUnixyWindowssondiferentes, aunquealgunodeellosesbastanteparecido.

13.4.11.1.EnsistemasWindows
Enlaversin3.2,losagenteswindowsagentvienenconlossiguientesplugins: df.vbs:Devuelveelespaciolibreendisco(enbytes).Devuelveunm dulodiferenteporcada unidaddediscoencontradoenelsistema.Sisequiereobtenerinformaci n nicamentede unaunidadounidadesenconcretosepuedenpasarcomoparmetrosalplugin. df_percent.vbs: Es muy similar al anterior, pero devuelve el espacio libre de forma porcentual(%).Generarmodulosconunnombredeltipo"DiskFree_C".Tantoestemodulo comoelanterior"autodescubren"lasunidadesenlamaquina. logevent_log4x.vbs:Leeeventosdeleventlogygenerainformacindetipo"log4x". ps.vbs:Esunpluginquenecesitapasarcomoargumentoslosprocesosaverificar.Devolver unmoduloconcadaunodeellos,indicandosiestcorriendoono. En windows, todos los plugins por defecto estn programados en VBScript, para ejecutarlos es necesariousarelintrpreteadecuadoindicandolarutacompleta. Estossonalgunosejemplosdecomousarlospluginsanteriores:
module_plugin cscript.exe //B "%ProgramFiles%\Pandora_Agent\util\logevent_log4x.vbs" Aplicacion System 300 module_plugin cscript.exe //B "%ProgramFiles%\Pandora_Agent\util\df.vbs" module_plugin cscript.exe //B "%ProgramFiles%\Pandora_Agent\util\ps.vbs" iexplore.exe myapp.exe

228

Monitorizacinconagentesoftware

13.4.11.2.EnsistemasUnix
Enlaversin3.2,losagentesUnixvienendeserieconlossiguientesplugins: files_indir:Estepluginrecibecomoargumentoundirectorio,porejemplo/tmp.Devolver dosmodulos,unollamadoFS_/tmpdetipoBooleano,devolviendo1(OK)sieldiretorio contieneelmismonumerodeficherosqueantesyotromodulo"NumFiles_FS_/tmp"detipo numrico,conteniendoenndeficherosquecontienedichodirectorio. grep_log:Esunparserdeloggenrico,seusaparaextraerinformacinespecficadeficheros de texto. Toma tres argumentos: <fichero_a_procesar> <nombre_modulo> <exp_reg>. Generar unmodulodetipo"async_string"cuandoencuentreinformacin(poresoesde tipoasincrono).Crearunmduloconelnombrequeselehapasadosilaexpresionregular queselepasahace"match"conlainformaci nnuevaquehayaenelficheropasadocomo argumentodesdequesemirporultimavez. pandora_df:EssimilaralplugindeWindows,mostrar elespaciodisponibleentodaslas particionesdelsistema,incluyendolasparticionesdered(NFS;SMB,etc).Siselepasa como argumento el nombre de un volumen, solo mostrar aquellas pasadas como argumentoalplugin. EstospluginssonsimilaresalospluginsdeWIndows,peroenestecasonoesnecesariopasarlaruta completaalplugin,porquelospluginsdeUnixsebuscanpordefectoeneldirectorio"/plugin"del directoriodelagente,en/etc/pandora/plugins. Estossonalgunosejemplosdeusodelosplugins:
module_plugin grep_log /var/log/syslog Syslog . module_plugin pandora_df tmpfs /dev/sda1

ExistenotrospluginsespecialesdeUnix: nagios_plugin_wrapper:Estenoesunpluginensimismo,esun"envoltorio"parapoderusar pluginsde nagios desde el agente. Bsicamentepermiteejecutar un plugin denagios, y recogelasalidaestndarparameterlacomodescripcionalmodulo,recogiendotambienla salida de errorlevel para convertirla a un modulo booleano de Pandora. Pasa usarlo simplemente llame al plugin de nagios con todos los par metros que necesite y automticamenteobtendrunmodulodepandora.Puedeverinformacinmasdetalladaun pocomsadelante,enestemismocaptulo. inventory:Estepluginseusaenelsistemadeinventarioconagentes.Crear unXMLde inventarioconinformacindelsistema.Enladocumentacin(Seccindeinventario)puede encontrarmasinformacin. pandora_update:Estepluginespecialseusaparaautoactualizarelagente,puedeconsultar ladocumentacin(Secciondeconfiguracion)paramsinformacin.

13.4.11.3.Ejemplosdeusodeplugins
Lospluginparaelagentesoftwarepuededevolverundatooungrupodeellos.Unejemplode plugin que devuelve un dato puede ser el plugin ps.vbs de Windows. Con la siguiente lnea ejecutamoselplugin:
module_plugin cscript.exe //B "%ProgramFiles%\Pandora_Agent\util\ps.vbs" IEXPLORE.EXE

229

Monitorizacinconagentesoftware

Elresultadoserunmduloquedevuelve0sielprocesonoestactivoy1siestactivo:
<module> <name><![CDATA[IEXPLORE.EXE]]></name> <description><![CDATA[Process IEXPLORE.EXE status]]></description> <data><![CDATA[1]]></data> </module>

Unejemplodepluginquedevuelvevariosdatospuedeserelplugin df.vbs deWindows.Lalnea paraejecutarelpluginsera:


module_plugin cscript.exe //B "%ProgramFiles%\Pandora_Agent\util\df.vbs"

Elplugindevuelveunmduloporcadadiscoencontrado,elresultadosera:
<module> <name><![CDATA[C:]]></name> <description><![CDATA[Drive C: free space in MB]]></description> <data><![CDATA[8050]]></data> </module> <module> <name><![CDATA[D:]]></name> <description><![CDATA[Drive D: free space in MB]]></description> <data><![CDATA[900]]></data> </module>

13.4.12.Cmocrearpluginsdeagentepropios
Lospluginpuedensercreadosencualquierlenguajedeprogramacin.Slotienenquerespetar estasrestricciones: Independientemente delo que se quiera hacer, debeser automtico(sin interaccion del usuario),ydebeserhechodesdelalneadecomandos(shell).Sepuedeusarcualquiertipo delenguagedescriptingolenguagecompilado,peroenesecasohayquedistribuirtambi n, ademsdelejecutable,todaslaslibrerias(oDLL)queseannecesariasparalaejecuci ndel plugin. Elplugindebedevolverlainformacinatravsdelasalidaestndar(simplementeusando echo,printfoelequivalenteenellenguajequesevayaausrparaelplugin),ysedebeusar elformatoXMLdelosagentesdePandoraFMSparadevolverlainformaci n.Esteesun ejemplodeunmodulodetiponumricoenXML:
<module> <name><![CDATA[Sample_Module]]></name> <type><![CDATA[generic_data]]></type> <data><![CDATA[47]]></data> <description><![CDATA[47]]></description> </module>

Losdatosquevanencerradosenlostags<![CDATA[xxx]]>seusanparaprotegerelXMLdecierta informacionquepuedacontenercaracterres"indigestos"paraelXML,como<,>,&or%. Antes de probar a crear un plugin, visite la libreria de plugins de Pandora FMS en http://pandorafms.org, y si despus se decide a crear su propio plugin, remtalo a la libreria
230

Monitorizacinconagentesoftware

pblica,paraqueotrospuedanusarlo.

13.4.13.UtilizandopluginsdeNagiosdesdeelagente
NagiostieneungrannmerodepluginsquepuedeutilizarconPandoraFMS.Unmododehacerlo esutilizarlospluginsremotosconelPluginServer,usandolacompatibilidaddeNagios.Perode estemodo,sloconseguir susestados,yaquenoutilizaeloutputdescriptivoquetienenalgunos pluginsparaNagios. Utilizarelwrapperparausarlospluginsdenagiosenelagentesoftwareresolver esteproblema.El wrapper viene por defecto con el agente de Unix 3.2. Un plugin equivalente para los agentes WindowsdePandoraFMSpuededescargarsedesdelawebhttp://pandorafms.org,yenlalibreria derecursosdenuestraweben[1]). QuhaceelwrapperdepluginsparalospluginsdeNagios? EjecuteelplugindeNagios,utilizandosusparmetrosoriginalesyconvirtiendoeloutputendatos tilesparaPandoraFMS.Estetienedostiposdeinformacin: InformacinacercadelStatus:NORMAL(1),CRITICAL(0),WARNING(2),UNKNOWN()y otras (4). Por defecto, utilizarn un modulo proc, con lo que los valores NORMAL y CRITICAL estn trabajando "por defecto"; si usted desea tener informaci n acerca de WARNINGyotrosvalores,deberconfigurarlosumbralesdelmdulodemaneramanual. Informacin de tipo descriptivo: generalmente informacin de cadenas. Se situar en el campodedescripcindelmdulo.Normalmentealgoparecidoa"OK:successfullylogged in".

13.4.13.1.Ejemplo
Si tiene un plugin pop3 (en /tmp/check_pop3_login) con los permisos de ejecuci n, (lo que compruebasilacuentapop3est funcionandosloconconectarseconunhostremoto,enviando unusuarioyunacontrasea yvisualizandoquetodoest correcto),entonces,puedeejecutarlo desdelalneadecomandos:
/tmp/check_pop3_login mail.artica.es sanler@artica.es mypass

Devolveralgoparecidoa:
OK: successfully logged in.

Ysinoescorrectodevolveralgosimilaraesto:
Critical: unable to log on

Utilizarelwrapperesfcil.Slotienequeponerelwrapperyelnombrequedesealmduloantes deejecutarlallamada:
/etc/pandora/plugins/nagios_plugin_wrapper sancho_test /tmp/check_pop3_login mail.artica.es sanler@artica.es mypass

EstogenerarunXMLcompletoparaelplugindeagente.
231

Monitorizacinconagentesoftware

<module> <name>sancho_test</name> <type>generic_proc</type> <data>0</data> <description><![CDATA[Critical: unable to log on]]></description> </module>

O:
<module> <name>sancho_test</name> <type>generic_proc</type> <data>1</data> <description><![CDATA[OK: successfully logged in.]]></description> </module>

Laentradacompletaenelpandora_agent.confseralgosimilara:
module_plugin nagios_plugin_wrapper POP3_artica.es /tmp/check_pop3_login mail.artica.es sanler@artica.es mypass

Estoseverdemaneraparecidaaestoenelmdulo(enelfailevent):

13.4.14.MonitorizacinconKeepAlive
Existeunmduloespecial,tieneuntipo nicollamado"keep_alive"ysirveparadarinformaci n antelaausenciadecontactodelagente.Sirveparasabercuandounagentehadejadodeenviar informacinyalertarnosdeestehecho. Cuandohayunmodulo,remotoolocal,queobtieneinformaci ndelagente,lafechadeultimo "contacto"conelagenteseactualiza,deformaquesiemprequehaydatos,aunquesoloseaun mdulodeltotal,elagentetendractualizadosufechadeultimocontacto,quesirveparasabersiel agente"noresponde".Concretamenteunagentesedapor"muerto"cuandonohaactualizadosu fechaeneldobledetiempodesuintervalo,esdecir,sitieneunintervalode5minutos,yhacem s de10minutosquenohayningndeactualizacin,elagentesedapormuerto. Enestecaso,escuandoelmdulokeepaliveentraraenjuego,disparndoseymarcandoelmonitor enestadoCritical. Laconfiguracindeestetipodemdulosesmuyfcil,bastaconcrearunnuevomdulodetipo "dataserver":

232

Monitorizacinconagentesoftware

Una vez creado, si el agente tiene datos, dentro de su intervalo, siempre estar en estado "NORMAL"(verde):

Si el agente deja de enviar datos (en este ejemplo, tena intervalo de 1 minuto), entonces automticamentesaltarysepondrenestadoCRITICAL(rojo):

Cabe destacar que si tenemos un mdulo remoto, por ejemplo, un Ping, adems de los datos reportadosporelagente,elmdulokeepalivenuncasaltara,yaqueestamosactualizandoelagente constantementemedianteelPing. Elmdulokeepaliveporlodemssecomportacomocualquierotromdulo,selepuedeasociaruna alertaysepuedeusarparacualquierotroelemento:informes,mapas,etc.

233

Monitorizacinconagentesoftware

13.4.15.Monitorizacindecapturasdecomandos(Commandsnapshots)
Estaformademonitorizar,posibleapartirdelaversion4.0.3,permitealadministradordefiniruna formaespecialdecapturartodalasalidadelcomando,enlugardeunresultadoconcreto.Estase almacenacomoinformacindetexto,ysevisualizadeunaformadiferente,nocomosimplesdatos, sino reconstruyendo la forma original del mensaje, de forma que si es una salida compleja y formateadaencolumnas,seveaigual. Comounaimagenvalemsquemilpalabras:

Estoescomosevelasalidadelcomando"netstatnan",capturadoporPandoraFMS,alpincharen eliconoespecialparalascapturasdecomandos.

234

Monitorizacinconagentesoftware

As escomosevelacapturadelcomandoalolargodeltiempo.Deestaforma,aunquePandora recibelosdatos,slomostrarcuandohahabidocambiosocomomnimounavezalda,aunqueno hayacambios(recuerdequeeldatosiguesiendoungeneric_data_stringysecomportacomotal). Estoesidealparaquesihay problemasadeterminadahora,puedacomprobarcomoestabael sistemaaesahoradeterminada. Paracapturarestoscomandos,bastaconescribirunpluginqueenv etodoslosdatos,generandolos tagsXMLnecesarios,yejecutandoelplugincomotal,conladirectiva module_plugin.Veamosel siguienteplugindeejemplo,quegeneralasalidadelcomandonetstat,talcomoacabadeverenlas capturasanteriores:
#!/bin/bash echo "<module>" echo "<name>netstat</name>" echo "<type>generic_data_string</type>" echo "<data><![CDATA[" netstat -an | grep LIST echo "]]></data>" echo "</module>"

Grabe ese contenido a un archivo en el agente (o distribyalo con colecciones de ficheros) y ejectelodelasiguientemanera:
module_plugin <path completo al fichero>

De esta forma generar command snapshots fcilmente para casi cualquier comando. Algunas sugerenciastilesparasistemasUnixson:
* * * * * top -b -n 1 ps aux vmstat 1 5 who last -10

EnelcasodesistemasWindows:
* tasklist * netstat -an * net start

Recuerde que siempre debe hacerlo dentro de un script, generando el XML. Si lo hiciera desde un "module_exec" cada lnea se interpretaria como un dato individual, y no se mostrara como uan captura de comando, sino como diferentes lneas de datos.

235

Monitorizacinconagentesoftware

14MONITORIZACINREMOTA

236

Introduccin

14.1.Introduccin
ElservidordereddePandoraFMSesunapiezaclave,yaquepermiteejecutarpruebasdeforma remotaycentralizada.Alcontrarioqueelservidordedatos,elservidorderedejecutalastareas asignadas a l mediante un sistema de colas multiproceso. Adems, un servidor de red puede trabajarconotrosservidoresderedbalanceandolacargayactuandocomorespaldoencasodeque otroservidorderedcaiga,hacindosecargodeltrabajoquetenaelservidorcado.Parasaberms sobrelaHAenPandoraFMSconsultaelcapitulocorrespondiente. Elservidorderedtrabaja nicamenteconaquellosmdulosderedasignadosa l.Obviamente,y dadoquesetratadepruebasdered,elservidorderedtienequetenerunavisibilidadcompleta (direccionesIPypuertos)sobrelosquesevanarealizarlaspruebas.Notienesentidorealizar pruebascontraunsistemacuyospuertosnosepuedenverosobreelcualnosetienenlasrutas.La existenciadecortafuegos(firewalls)orutasenlarednotienenadaqueverconPandoraFMSylos problemas generados por estas razones tampoco tienen nada que ver con una configuraci n concretadePandoraFMS.

14.2.Mdulosremotosdered
Los mdulos de red de Pandora FMS ejecutan tareas de monitorizacin remota. Las tareas de ejecucinremotasepuedenresumirentresbloques. PruebasICMP Si una mquina responde a Ping (remote_icmp_proc) o el tiempo de latencia de un sistema en milisegundos(remote_icmp).Enamboscasoslaspruebaslasejecutaelservidorderedalquesele haasignadoelagentequecontieneesosmdulosdered. PruebasTCP De forma remota se comprueba que un sistema tiene abierto el puerto TCP especificado en la definicindelmdulo.Adicionalmentesepuedeenviarunacadenadetexto(utilizandolacadena ^M para reemplazar al retorno de carro) y se puede esperar al recibir una subcadena de respuesta para comprobar que la comunicacin es correcta. Esto permite implementar comprobacionessimplesdeprotocolo.Porejemplo,podramoscomprobarsiunservidor est vivo enviandolacadenaGET/HTTP/1.0^M^Myesperandorecibirlacadena200OK. PruebasSNMP RemotamenteesposiblelanzarpeticionesSNMP( SNMPPolling)asistemasquetengansuservicio SNMPactivadoyaccesibleparaobtenerdatoscomoestadoeldelasinterfaces,elconsumodered porinterfaz,etc.ExisteunaseccindedicadaaSNMPconPandoraFMS(vermsadelante).

237

Mdulosremotosdered

Comoresumen,sepuedeconcluirqueelservidorderedesquienejecutalasdiferentespruebasde red asignadasen cada agente. Cada agente se asigna a un servidor de red, y es ste quien se encargadesuejecucin,insertandolosresultadosenlaBB.DD.delsistemadePandoraFMS.

14.3.Configuracingenricadeunmduloparamonitorizacindered
Paramonitorizardeformaremotaunequipoounserviciodeunequipo(FTP,SSH,etc.),primero sedeber crearelagentecorrespondienteparamonitorizarelservicio,porello,seempezar por ah. EnlaseccindeadministracindelaconsoladePandoraFMSpulsesobreManageagents:

Enlasiguientepantalla,pulseelbotnCreateagent:

238

Configuracingenricadeunmduloparamonitorizacindered

RellenelosdatosparasunuevoagenteypulseelbotnCreateagent:

Unavezquehayacreadoelagente,pulsesobrelasolapasuperiordelosm dulos(Modules).En ella,seleccionecrearunnuevomduloderedypulseelbotnCreate:

Enelsiguienteformularioseleccioneunmdulodecomponentedered,ycuandosecargueelmen desplegabledeladerecha,busquelacomprobacinqueleinterese.Enesteejemploseseleccionar HostAlive,querepresentaunpingalamquina,unasimplecomprobacinparasabersilamquina estconectadaaInternetono.

Sedejanlasopcionesavanzadasparamstarde.NotequeelmdulohaobtenidoladireccinIPdel agente.Silodesea,stapuedeserdiferente.
239

Configuracingenricadeunmduloparamonitorizacindered

Unavezqueterminededefinirelmdulo,pulseelbotnCreate. Enlasiguientepantallasemostrarnlosmdulosparaelagente,elpredeterminadoKeepaliveque secreaconelagenteyelmduloHostAliveaadido:

Comoseve,existeunaadvertenciasobrelosm dulos.Laadvertenciaslosignificaqueannose harecibidoningndatoenelmdulo,yaqueseacabandeaadir.Unavezquesecomiencena recibirdatos,laadvertenciadesaparecer. Paraverlosdatosdelmdulorecincreado,pulsesobrelasolapasuperiorView,yenellavayaala partedeabajo,dondesemostrarnlosdatosunavezseempiecenarecibir:

Para aadir otro tipo de comprobaciones de red, proceda de forma similar a la anterior, pero seleccionandootrotipodemdulos.

14.4.MonitorizacinICMP
El ejemplo anterior es un ejemplo de monitorizacin ICMP. Estas son las comprobaciones mas bsicas y sencillas que nos dan una informacin importante y exacta. Existen dos tipos de comprobacionesICMP: icmp_proc,ocomprobacindehost(ping),quepermitesabersiunadirecci nIPresponde ono. icmp_dataocomprobacindelatencia.Bsicamentenosdiceeltiempoenmilisegundosque tardaenresponderladireccinIPenresponderaunaconsultabsicaICMP.

14.5.MonitorizacinTCP
LoschequeosTCPpermitencomprobarelestadodeunpuertoounservicioTCP.
240

MonitorizacinTCP

ExistendoscamposespecficosparalaspruebasTCP:

LascomprobacionesTCPpordefectosimplementemiransielpuertodedestinoestaabiertoono. Opcionalmenteselepuedeenviarunacadenadetexto,yesperararecibiralgoqueser tratado directamenteporPandoraFMScomoundato. Sepuedeenviarunacadenadetexto(utilizandolacadena^Mparareemplazaralretornode carro) y se puede esperar al recibir una subcadena de respuesta para comprobar que la comunicacin es correcta. Esto permite implementar comprobaciones simples de protocolo. Por ejemplo,podramoscomprobarsiunservidorestvivoenviandolacadena
GET / HTTP/1.0^M^M

yesperandorecibirlacadena
200 OK

EstosecodificaenloscamposTCPSendyTCPreceive. TCPsend Campo para configurar los parmetros que enviar al puerto TCP. Admite la cadena ^M para reemplazarla por el envi de un retorno de carro. Para enviar varias cadenas en secuencia envi/respuesta,hayquesepararlasconelcarcter| TCPreceive Campo para configurar las cadenas de texto que se esperan recibir en la conexi n TCP. Si se envan/recibenenvariospasos,cadapasoseseparaconelcarcter| AtravsdelascomprobacionesTCPdePandorasepuedehaceralgomsqueversimplementesiun puerto est abierto o esperar una respuesta ante una peticin simple. Se pueden enviar datos, esperararecibiralgo,enviaralgodespus,esperararecibiralgoyashastaelpasoquequeramos. Solositodoelprocesoescorrecto,podemosdarporvlidoelresultado. Para utilizar el sistema de comprobaciones dilogo/respuesta de Pandora, puede separar las diferentespeticionesconelcarcter| VeamosunejemplodeunaconversacinSNMP:
R: 220 mail.supersmtp.com Blah blah blah

241

MonitorizacinTCP

S: R: S: R: S: R: S: R: S: S: R: S: R:

HELO myhostname.com 250 myhostname.com MAIL FROM: 250 OK RCPT TO: 250 OK DATA 354 Start mail input; end with . .......your mail here........ . 250 OK QUIT 221 mail.supersmtp.com Service closing blah blah blah

Si quiere chequear los primeros puntos del protocolo, los campos necesarios para emular esta conversacinseran: TCPSend
HELO myhostname.com^M|MAIL FROM: ^M| RCPT TO: ^M

TCPReceive
250|250|250

SilostresprimerospasossonOK(cdigo250),entonceselservidorSMTPestaok.Nonecesita enviarunmailcompleto(aunquepodra,encualquiercaso).Estopermiterealizarcomprobaciones TCPbasadasenelprotocolo,quepuedenusarseparacualquierprotocoloqueutiliceconversaciones entextoplano.

14.6.MonitorizacinSNMP
14.6.1.IntroduccinalamonitorizacinSNMP
Cuando se habla de la monitorizacin SNMP, lo ms importante al principio es separar los conceptosdetesteo(polling)ylostraps.EltesteoSNMPimplicaordenarquePandoraejecuteun comandosnmpgetcontraundispositivoSNMP,comoporejemplounrouterounswitch(oincluso unordenadorconunagentesnmpinstalado),estaesunaoperaci nsncrona(cadaXsegundos). Porelcontrario,recibiruntrapSNMPesunaoperaci nasncrona(quepodraonosucederenun millndeaos),comnmenteutilizadapararecibir"alertas"provenientesdeldispositivocomo,por ejemplo,cuandounswitchtumbaunpuertoosuventiladorsecalientademasiado. ParausarmonitorizacindetesteoSNMP,slotienequeaadirunmduloSNMPenPandora, creandounnuevomdulodered.LamayoradelositemsSNMPquereportandatosdemodo creciente(generic_data_inc),esdecirquecuandosolicitaunvalor, stereportalacantidad"global" de informacin, por ejemplo, si a un dispositivo SNMP se le pide cu nto trfico tiene en un adaptador de red, este reportar un nmero enorme: el total de bytes recogidos desde que el dispositivosepusoenmarcha.As pues,esnecesarioextraerla ltimacantidaddebytesconocida delaqueest enmarchaydividirlaentrelossegundosdesdelos ltimosdatosconocidos.Esto proporcionar losdatosdeBytes/segundoquesenecesitan.Estaoperacinselleva acabocon Pandorausandogeneric_data_inc. Utilizar los Traps SNMP es algo totalmente diferente. Se pueden recibir traps de cualquier
242

MonitorizacinSNMP

dispositivo,sinnecesidaddeconfigurarnada(exceptolaconsolaSNMP).Cuandoserecibeuntrap, esteaparecer enlaconsolaSNMP.Sepuededefinirunaalerta,basadaenOID(elcdigoque identificauntrap,algosimilara3.4.1.1.4.5.24.2),enunagenteIPoen customdata (datosque puedenestareneltrap).SepuedetambinordenaraPandoraque"copie"lainformacinenun mdulo de texto especial en el agente. Si el agente est definido esta operacin se llama transferenciadeTrapsSNMP. Pandora FMS puede trabajar con cualquier dispositivo que soporte SNMP. Aunque actualmente PandoraFMStrabajaconSNMPv1,v2,v2cyv3. PandoraFMStrabajaconSNMPmanejandoOIDindividuales.ParaPandoraFMScadaOIDesun mdulodered.Esdecir,siqueremosmonitorizarunswitchCiscoCatalystde24puertos,yconocer elestadooperativodecadapuertoas comoeltrficodeentradaysalida,tenemosquedefinirun totalde72mdulos(24x3). ParatrabajarcondispositivosSNMPesnecesario: Conocerqu esycmotrabajaelprotocoloSNMP.Estosedescribeenprofundidadenel RFC3411publicadoporelIETF. ConocerlaIPylacomunidadSNMPdeldispositivoremoto. ActivarlagestinSNMPdeldispositivoparaquedesdeelservidorderedsepuedanhacer consultasSNMP.Esteservidordereddebeserelasignadoporelagentedondevayamosa definirlosmdulosdered.Tambinhayquetenerencuentaquesiqueremosqueotros servidoresderedhaganconsultasencasodecadadelservidorasignado,estosharnlas consultasconotradireccinIP. ConocerelOIDconcretodeldispositivoremotoquequeramosconsultar. Sabercmogestionareldatoquedevuelveeldispositivo.LosdispositivosSNMPdevuelven datosendiferentesformatos.PandoraFMSpuedetratarcasitodos,exceptolostimetickque lostratacomoformatonumricosinconvertirlosafecha/hora.Losdatosdetipocontador sonlosquePandoraFMSgestionacomoremote_snmp_incysondeespecialimportancia,ya que al ser contadores no pueden tratarse como datos num ricos. La mayora de datos estadsticosSNMPsondetipocontadorysehandeconfigurarcomoremote_snmp_incsise quieremonitorizarlosadecuadamente.

14.6.2.MonitorizandoSNMPdesdelosagentes
Apartirdelaversion3.2,existeunautilidaddeobtenci ndeinformacinSNMPdisponibledentro delagentedeWindows.EenlosagentesUnix/Linuxsnmpgetsueleestardisponible,porloque puedeserllamadodeformaautomtica,nocomoenlossistemasWindowsdondeesnecesariauna utilidadexternaquenosiempreesfcildeconseguiroinstalar. Hemosempaquetadoenelagente"pordefecto"deWindowslautilidadsnmpget.exe(partedel proyectonetsnmp,conlicenciaBSD),yhemosaadidolas"mibs"bsicasyunwrapperoscript paraencapsularlallamadaalautilidadsnmpget.exe. UtilizandoestallamadapodemosmonitorizarSNMPdesdeunagente,obteniendoinformaci nde cualquierequiporemotoalqueelagentetengaacceso,podiendofuncionaras comoun"agente satlite"o"agenteproxy"(segunliteratura). Enwindowslasintaxisdelaejecucines: module_execgetsnmp.bat<comunidad_SNMP><ipdedestino><OID> AlgunosejemplosdemdulosSNMPejecutadosporagenteswindows:
module_begin

243

MonitorizacinSNMP

module_name SNMP_if3_in module_type generic_data_inc module_exec getsnmp.bat public 192.168.55.1 .1.3.6.1.2.1.2.2.1.10.3 module_end module_begin module_name SNMP_if3_desc module_type generic_data_string module_exec getsnmp.bat public 192.168.55.1 IF-MIB::ifDescr.3 module_end module_begin module_name SNMP_Sysup module_type generic_data module_exec getsnmp.bat public 192.168.55.1 DISMAN-EVENT-MIB::sysUpTimeInstance module_end

LosmismosejemplosejecutadosdesdeagentesUnix
module_begin module_name SNMP_if3_in module_type generic_data_inc module_exec snmpget -v 1 -c public 192.168.55.1 .1.3.6.1.2.1.2.2.1.10.3 module_end module_begin module_name SNMP_Sysup module_type generic_data module_exec snmpget -v 1 -c public 192.168.55.1 DISMAN-EVENT-MIB::sysUpTimeInstance module_end

CabedestacarqueslolasOID"basicas"sontraduciblesporsuequivalentenum rico,yquees recomendableusarsiempreOIDnumricasyaquenosesabesilaherramientavaasabertraducirla ono.Encualquiercasosiempresepuedencargarlasmibseneldirectorio/util/mibsenWindows o/usr/share/snmp/mibsenLinux.

14.6.3.MonitorizandoconmdulosderedtipoSNMP
Para poder monitorizar cualquier elemento por SNMP deberemos saber, al menos, su IP y su comunidad SNMP. Tambin sera muy interesante saber la OID que se pretende monitorizar, aunquesepuedenobteneratravsdeunSNMPWalk,siemprequesesepaaqu pertenececada OID. ParamonitorizarunelementoporSNMP,primerosehabr decrearunagenteparaello,siyase disponedeuno,simplementeseleaadir unmduloderednuevosiguiendolasindicaciones anteriores. Unavezquesehayacreadoelmdulo,sedebeseleccionaruntipodedatoSNMPenelformulario deconfiguracindelmdulo,verlaimagen:

244

MonitorizacinSNMP

CualquieradelostrestiposdedatosSNMPsonvlidos,simplementeseleccioneelquecoincidacon eltipodedatoquequieremonitorizar. UnavezquehayaseleccionadountipodedatoSNMP,seexpandir elformulariomostrandolos camposadicionalesparaSNMP:

Acontinuacinsedetallanloscampos: SNMPcommunity Comunidad SNMP. Necesaria para poder monitorizar el elemento. Act a como si fuese una contrasea. SNMPversion VersindelprotocoloSNMPdeldispositivo.Puedeser1,2,2cy3. SNMPOID ElidentificadorOIDquemonitorizar.Puedenservaloresnum ricosovaloresalfanumricos.Los valoresalfanumricossetransformaninternamenteporelsistemaenvaloresnum ricos(queson losqueseusanparahacerlapeticin)pormediodeundiccionariollamadoMIB. UnOIDalfanumricopuedeteneresteaspecto:
iso.org.dod.internet.private.transition.products.chassis.card.slotCps.cpsSlotSummary .cpsModuleTable.cpsModuleEntry.cpsModuleModel.3562.3

Elequivalentenumricoseraeste:
1.3.6.1.4.868.2.4.1.2.1.1.1.3.3562.3

SiunaMIBelformatoalfanumriconosirvedenada,einstalarunaMIBenelsistemanoestrivial, poresoesmejortrabajardirectamenteconidentificadoresnum ricos,aunqueseamscrpticoes


245

MonitorizacinSNMP

muchomasportableynodaningnproblemaalnonecesitarunaMIB. PandoraFMSincluyealgunosOID,ensubasededatos,quepuedeusardirectamente.Porejemplo, alahoradecrearelmduloseleccioneelcomponenteCiscoMIBsparamostrarunalistadelasMIB disponiblesparaCisco:

Unavezqueseleccioneestecomponente,puedeelegirentrelasMIBdisponiblesparal:

Alhacerlo,serellenarnloscamposconlainformacinnecesaria. ExistenmsMIBincluidasenPandoraFMSyconlaversinEnterpriseseincluyenpaquetesdeMIB paradistintosdispositivos. Unavezquehayaintroducidolosdatos,pulseelbotnCreate. Paraverlosdatosdelmdulorecincreado,pulsesobrelasolapasuperior View,yenellavayaala partedeabajo,dondesemostrarnlosdatosunavezseempiecenarecibir.

Paraverlosdatosdelosmdulosdetipocadenadetexto(enelejemplo,ladescripcindelsistema SystemDescription)vayaalasolapasuperiordelosdatosData:

246

MonitorizacinSNMP

EnrojoseresaltanlosdatosrecibidosporelmdulodedatosSNMPSystemDescription.

14.6.4.NavegadorMIBSNMPdePandoraFMS
Desdelaversin5,laherramientadenavegacinSNMPincluidadentrodelaconsoladePandora est disponibleenlaversinOpen,ynorequiereinstalarsoftwareadicional,niFlash,niJava.Es puroJavascriptyHTML.PordebajoutilizalasherramientasSNMPdelsistema,partedelpaquete netsnmp,queesunodelosrequisitosdelsistema,yqueyadeberaestarinstalado. PodemosaccederalexploradorSNMPatravsdelmen SNMP.Actualmenteslosoportav1de SNMP. LoprimeroquehayqueentenderesquePandoraFMShaceunrecorridocompletodel rboldel dispositivo, por lo que si este es grande (como un switch) esta operaci n puede tardar varios minutos.Tambienpodemosescogerexplorarnicamenteunasubrama,conloquenosahorraremos muchotiempo. Porejemplo,parasacarlainformaciondeCISCOnicamente,podriaexplorarsusubmibenterprise deciscoqueempiezapor:
.1.3.6.1.4.1.9

Elexploradorseutilizapara"navegar",estoes,irdesplegandolasramasyobteniendolosvalores, pulsandoeneliconodelojo.Elsistemapedir esainformacionalsistemayademsmostrar (si esta disponible) la informacion del OID solicitado. Si no existe informacion sobre el OID del dispositivo,estasemuestraunicamenteenformatonumerico.LainformaciondescriptivadelosOID se almacena mediante las mibs [1]. Si no dispone de una MIB para el dispositivo que desea explorar, probablemente tenga que recurrir a buscar "trozos de informacion" en la informacion visualizadaporpandora,locualescomplejoyllevatiempo. ElexploradorSNMPdePandora,permitebuscarunacadenadetextotantoenlosvaloresdeOID's obtenidos como en los valores traducidos de los propios OID's (si estan disponibles). Esto es especialmente tilparabuscarcadenasconocidasconcretas,ylocalizarsuOID.Silocalizavarias entradas,nospermitirirsaltandodeunaocurrenciaaotra,ylasmostrarresaltadasenamarillo

247

MonitorizacinSNMP

14.6.4.1.GestordeMIBS
AtravsdePandorapodemossubirygestionarlasMIBS(localesapandora)parapoderincorporar nuevasmibsoborrarlasquenonosinteresen.EstasMibslasusar soloPandora,queademsusar las del sistema operativo (en /usr/share/snmp/mibs). Pandora FMS utilizar el path {PANDORA_CONSOLE}/attachment/mibsparaalmacenarlasmibs.

248

MonitorizacinSNMP

EsimportantedestacarqueelgestordemibsdePandoras logestionalasmibsde"polling"que para nada tiene que ver con las mibs de traps SNMP. Para esto hay un gestor, en la versi n EnteprisedePandoraFMS. Existe una coleccin "preempaquetada" de mibs en la pgina de GetIf, uno de los mejores navegadoresgratuitosdeSNMPparaWindows[2].

14.6.4.2.UsodelexploradorSNMPenelgestordemdulosdePandora
DesdeeleditordemodulosSNMP,cuandocreemosoeditemosunmdulodered,haciendoclicken elbotonde"NavegadorMIB"abriremosunaventanaflotantequenosmosntrar elarbolSNMPdel dispositivo (si hemos puesto la IP y las credenciales). Una vez escogido el OID que buscamos, haciendoclickeneliconodelamanoconeldedoapuntandohaciaabajo,escogeremoseseOIDylo pasaremosalcampocorrespondientedeladefinicindelmdulo,deformaautomtica,parasuuso conPandora.

249

MonitorizacinSNMP

14.6.5.EstudiodeMIBconherramientasexternaseintegracinenPandoraFMS
PararealizarunanlisisdelosposiblesOIDparautilizarenPandoraFMS,serecomiendautilizarun navegadorMIBparaanalizarlasMIBofrecidasporcadafabricante.EstosnavegadoresMIBson herramientasdeescritorioqueleen,procesan,analizanymuestranalusuarioel rbolcompletode losOIDdecadaMIB,permitiendobuscaryentenderqu OIDsonlasnecesariosparamonitorizar nuestrosdispositivos. SeproponenlassiguientesherramientasdegestindeMIB: iReasoningMIBBrowser(Windows,Linux,Java):[3] GetIfFreeMIBBrowser(Windows):[4] TKMib:ParaUNIX,estndarenlamayoradelasdistribucionesdeGNU/Linux. LascapturasmostradassehanrealizadotrabajandosobrelaherramientadeiReasoning. EnlaprimeracapturasepuedeverunapeticindeldispositivoconunaMIBcargada( MIB2default) quereconocealgunosdelosOIDpresentes.EstosOIDsepuedenrepresentarcomocadenaode forma numrica. Pandora FMS entiende ambos, pero slo es capaz de resolver los OID alfanumricos si tiene las MIB correctas cargadas en el sistema operativo. Lo id neo, y ms portable,esutilizarOIDnumricos.

250

MonitorizacinSNMP

Enlasegundacapturapodemosverelresultadodehacerun walkrecursivosobreunaramadela cualnodisponemosMIB,resultaenunaseriedeOIDnumricosquenosirvenparanada,yaqueno setienereferenciadeparaqusirvenoqutipodedatosofrecen.

Al margen de todo lo que podamos hacer con una herramienta de exploraci n MIB, podemos utilizar referencias de OID a travs de ndices de OID (algunos fabricantes disponen de MIB y referenciasdeOID),opormediodeenlacesquerecopilanOIDinteresantes.Otrosfabricantesde pilas SNMP documentan con lenguaje natural sus catlogos SNMP y son fciles de entender y obtenerelOIDquenecesitamos(eselcasoUCDSNMP,lapilaSNMPqueutilizanlamayor ade sistemasUnix).MuchasotraspilasSNMPdesistemasoperativos,comolosAIXoWindowstambi n estnextensamentedocumentadas. EnlacesrecomendadosparatrabajarconSNMP FullOIDCatalogforCISCO(extremadamentetil):[5] HPPrinterMIB:[6] NagiosExchangeSNMP[7] AlgunosOIDSNMPfrecuentementeusadosenrouters:[8]

14.7.Propiedadesavanzadascomunesdelosmdulosdered
Lasiguientepantallamuestralaspropiedadesavanzadasparalaconfiguraci ndelosmdulosde red:

251

Propiedadesavanzadascomunesdelosmdulosdered

Description Descripcindelmdulo.Deformapredeterminadayaexisteunadescripcin,quesepuedecambiar. CustomID Identificador personalizado necesario si se desea que el servidor enve mensajes multicast con informacinsobrelosagentesoutilizarestecampoparaintegrarlosdatosdePandoraFMSenun sistemaexternodeinformacin,comounaCMDB. Interval Intervalodeejecucindelmdulo,puedeserdistintoaldelagente,dehechoenelejemploloes. Postprocess posprocesado del mdulo. Sirve para multiplicar o dividir el valor devuelto, como por ejemplo cuandoseobtienenbytesysedeseamostrarelvalorenMegabytes. Min.Value Valor mnimo del mdulo. Cualquier valor por debajo de ste se tomar como invlido y se descartar. Max.Value Valor mximo del mdulo. Cualquier valor por encima de ste se tomar como invlido y se descartar. Exporttarget Sirveparaexportarlosvaloresdevueltosporelmduloaunservidordeexportacin.Sloest disponible en la versin Enterprise de Pandora FMS y si se ha configurado un servidor de exportacin.Consultarlaseccinreferentealservidordeexportacinparaobtenermsdetalles.

14.8.MonitorizacindeWindowsremotosconWMI
ParamonitorizardeformaremotaunequipoounserviciodeunequipoWindowsdeformaremota, a travs de WMI. Las consultas se hacen en WQL, una especie de lenguaje SQL espec fico de Microsoftparaconsultasinternasalsistemaoperativo,ysepuederealizarcualquierconsultaque aparezcaenlabasededatosdeMicrosoft. Existenherramientas,comoWMIExplorerquepermitenexplorarel rbolenterodevaloresWMIy quepuedenresultarmuy tilesparalocalizaraquellosvaloresWMIquemsnosinteresanyaque losservidoresWindows"standard"puedendisponerdemsde1,000consultasdiferentes,ycon
252

MonitorizacindeWindowsremotosconWMI

softwareadicional,consuspropiasfuentesWMI,estenmeroseincrementa.Porellonosetrata slodedisponerdeuncatlogodemdulosyahechos,sinodedisponerdelasherramientaspara encontrarloquemastilconsideramosennuestrocaso. CapturadepantalladeWMIExplorerfuncionandoenWindows

NOTA: para utilizar el servicio de monitorizacin por WMI, hay que activarlo en el fichero de configuracindelservidordepandora/etc/pandora/pandora_server.confdelasiguientemanera:
# wmiserver : 1 or 0. Set to 1 to activate WMI server with this setup # DISABLED BY DEFAULT wmiserver 1

ParacomenzaramonitorizarporWMI,primerosedeber crearelagentecorrespondientepara monitorizarelservicio,porelloseempezarporah. EnlaseccindeadministracindelaconsoladePandoraFMSpulsesobreManageagents.

253

MonitorizacindeWindowsremotosconWMI

EnlasiguientepantallapulseelbotnCreateagent:

RellenelosdatosparasunuevoagenteypulseelbotnCreateagent:

Unavezquehayacreadoelagente,pulsesobrelasolapasuperiordelosm dulos( Modules).En ella,seleccionecrearunnuevomduloderedypulseelbotnCreate:

254

MonitorizacindeWindowsremotosconWMI

En el siguiente formulario se presentarn los campos necesarios para poder monitorizar remotamente el equipo Windows a travs de WMI. Se debern rellenar los campos necesarios, como: Name Nombredelmdulo Type Tipodedatomonitorizado Target IPdelequiporemotoamonitorizar. Namespace Espacio de nombres WMI, en algunas consultas este campo es diferente de cadena vac a (por defecto),dependiendodelproveedordeinformacindelaaplicacinquesemonitorice. Username Nombredelusuarioadministradorodeotrousuarioquetengaprivilegiosparaejecutarconsultas WMIdeformaremota. Password Contraseaparaelusuarioadministradoroelusuariosuministrado. WMIQuery ConsultaWMI,similaraunasentenciaenSQL,veamosalgunosejemplos:
SELECT LoadPercentage from Win32_Processor WHERE DeviceID = "CPU0" SELECT SerialNumber FROM Win32_OperatingSystem SELECT AvailableBytes from Win32_PerfRawData_PerfOS_Memory SELECT DiskWriteBytesPersec from Win32_PerfRawData_PerfDisk_PhysicalDisk WHERE name = "_Total"

Keystring Opcional,campopara compararconla cadena devuelta porlaconsulta,ydeexistirel m dulo devuelve10,enlugardelacadenaens. Fieldnumber Elnmerodelcampodevueltoempezandodesde0(lasconsultasWMIpuedendevolverm sdeun campo).Enlamayoradelasveceses0o1. Relleneloscamposnecesarios:

255

MonitorizacindeWindowsremotosconWMI

Lasopcionesavanzadassonigualesqueparatodoslosm dulosdered,consultelaseccindelos camposavanzadosderedsinecesitaobtenermsinformacin.Notequeelmdulohaobtenidola direccinIPdelagente.Silodesea, stapuedeserdiferente.Unavezqueterminededefinirel mdulo,pulseelbotnCreate. Sinoconocelosparmetrosexactos,puedeseleccionarunodelospredeterminadosincluidosenla basededatosdePandoraFMS.Paraello,seleccioneelcomponentedemduloWMI:

YdespusseleccioneunacomprobacinWMIdelasposibles:

Lainformacinnecesariaserellenaautomticamente,salvoelusuarioylacontrasea. Noteque debeintroducirunusuarioconpermisosdeadministracinysucontrasea,delocontrarioel mdulonopodrdevolverningnvalor:

256

MonitorizacindeWindowsremotosconWMI

Unavezquehayaterminadodeconfigurarelmdulo,pulseelbotnCreate. En la siguiente pantalla se mostrarn los mdulos para el agente, el mdulo Windows version aadido:

Comoseve,existeunaadvertenciasobrelosm dulos.Laadvertenciaslosignificaqueannose harecibidoningndatoenelmdulo,yaqueseacabandeaadir.Unavezquesecomiencena recibirdatos,laadvertenciadesaparecer. Paraverlosdatosdelmdulorecincreado,pulsesobrelasolapasuperior View,yenellavayaala partedeabajo,dondesemostrarnlosdatosunavezseempiecenarecibir.

Paraverlosdatosdelosmdulosdetipocadenadetexto(enelejemplo,ladescripcindelsistema SystemDescription)vayaalasolapasuperiordelosdatosData:

LaversinEnterprisedePandoraFMSdisponedemsde400mdulosWMIdemonitorizacin remotaparaWindows,cubriendolastecnologas: ActiveDirectory BIOS Informacindelsistema InformacindeWindows Impresoras


257

MonitorizacindeWindowsremotosconWMI

MSTDC IIS LDAP MicrosoftExchange

14.9.MonitorizacinconPlugins(Complementos)hastalaversin4.0.x
Adiferenciadelrestodecomponentes,deformapredeterminadaPandoraFMSnoincluyening n complementopreconfigurado,porlotantoprimerosedeber crearyconfiguraruncomplemento, para despus aadrselo al mdulo de un agente. No obstante Pandora FMS s incluye complementosenlosdirectoriosdeinstalacin,perocomoyasehadichonoestnconfiguradosen labasededatos. Para aadir un complemento existente a Pandora FMS, ir a la seccin deadministracin de la consola,yenella,pulsarsobreManageservers;despuspulsarManageplugins:

Unavezenlapantalladegestindeloscomplementos,pulsarelbotn Createparacrearunnuevo complemento,yaquenohabrninguno.

Rellenarelformulariodecreacindecomplementosconlossiguientesdatos: Name Nombredelcomplemento,enestecasoNmap. Plugincommand Eslarutaadondeestelcomandodelcomplemento.Deformapredeterminada,silainstalaci nha sidoestndar,estarneneldirectorio /usr/share/pandora_server/util/plugin/.Aunquepuedeser cualquier ruta del sistema. Para este caso, escribir /usr/share/pandora_server/util/plugin/udp_nmap_plugin.sh enelcampo. Elservidordepandoraejecutar esescript,porloque stedebetenerpermisosdeaccesoyde ejecucinsobrel. Plugintype Haydostiposdecomplementos,losestndar(standard)ylosdetipoNagios.Loscomplementos estndarsonscriptsqueejecutanaccionesyadmitenparmetros.LoscomplementosdeNagiosson, como su nombre indica, complementos de Nagios que se pueden usar en Pandora FMS. La
258

MonitorizacinconPlugins(Complementos)hastalaversin4.0.x

diferenciaestribaprincipalmenteenquelospluginsdeNagiosdevuelvenunerrorlevelparaindicar silapruebahatenidoxitoono. Siquiereusarunplugindetiponagiosyquiereobtenerundato,nounestado(Bien/Mal),puede utilizarunplugindetiponagiosenelmodo"Standard". Enestecaso(paraelplugindeejemplo,NMAP),seleccionaremosStandard. Max.timeout Es el tiempo de expiracin del complemento. Si no se recibe una respuesta en ese tiempo, se marcarelmdulocomodesconocidoynoseactualizarsuvalor.Esteesunfactormuyimportante alahoradeimplementarmonitorizacinconplugins,yaquesieltiempoquetardaenejecutarel pluginesmayorqueestenumero,nuncapodremosobtenervalorescon l.Estevalorsiempredebe sermayorqueeltiempoquetardenormalmenteendevolverunvalorelscript/ejecutableusado como plugin. Si no se indica nada, se utilizar el valor indicado en la configuracion como plugin_timeout. Enestecaso,escribimos15. IPaddressoption SirveparadefinirlainterfazdepasodelparmetrodeladireccinIPqueselepasaalplugin. Todos los plugins deben recibir al menos la direccin IP de destino de la prueba, que se le proporcionaalasociarunmodulodetipopluginaunagente. ParaquePandorasepacomopasarleeseparmetroalplugin,seledebedecirconquparmetrose lehadepasar,yestodependesiempredelpluginysuinterfaz,enestecasoselepasacon t. Portoption Deigualmaneraqueenelcasoanterior,esnecesariodefinirlainterfazqueempleaelplugin.En estecaso,elpuertodestinodelaprueba,quepuedeseropcional.Enesteejemplo,usaremos ppara pasarelpuertoTCPdestinodelapruebaNmap. Passwordoption/Useroption Masparmetrosdeinterfaz,usadoscomocamposusuarioypasswordrespectivamente.Enestecaso nolousaremos,ylodejaremosenblanco. Description Descripcindelcomplemento.Escribirunabrevedescripcin,comoporejemplo:Test#UDPopen portsysiesposibleespecificarlainterfazcompletadepar metroscomoayudaparaquealguien quereviseposteriormenteladefinicindelpluginsepaqueparmetrosacepta.

259

MonitorizacinconPlugins(Complementos)hastalaversin4.0.x

PulsarelbotnCreateycomprobarquesehacreadocorrectamenteelcomplemento:

Elcdigodelcomplementosepuedemirarenladireccinproporcionada,siendoste:
#!/bin/bash # This is called like -p xxx -t xxxx HOST=$4 PORT=$2 nmap -T5 -p $PORT -sU $HOST | grep open | wc -l

QuebsicamenteutilizalosparmetrosproporcionadosdedireccinIPyunaopcindepuertos para ejecutar un nmap UDP (sU) rpido (T5) y que cuente (wc l) la cantidad de puertos abiertos(grepopen). Unavezcreadoelcomplemento,parapoderusarloenunagente,sedeber crearunagenteencaso dequenosehayahechoantes.EnlaseccindeadministracindelaconsoladePandoraFMSpulse sobreManageagents:

260

MonitorizacinconPlugins(Complementos)hastalaversin4.0.x

EnlasiguientepantallapulseelbotnCreateagent:

RellenelosdatosparasunuevoagenteypulseelbotnCreateagent:

Unavezquehayacreadoelagente,pulsesobrelasolapasuperiordelosm dulos( Modules).En ella,seleccionecrearunnuevomduloderedypulseelbotnCreate:

261

MonitorizacinconPlugins(Complementos)hastalaversin4.0.x

Enelsiguienteformulario,relleneloscamposvacos,seleccioneeltipodemdulo Genericmodule toadquirenumericdata,eliminelasopcionesdeusuarioycontrasea,especificandoladireccinIP contralaquerealizarelanlisis,ytambinelpuertosobreelquehacerlo:

Una vez que haya finalizado pulse el botn Create. En la siguiente pantalla se mostrarn los mdulosparaelagente,elmduloNmapaadido:

Comoseve,existeunaadvertenciasobrelosm dulos.Laadvertenciaslosignificaqueannose harecibidoningndatoenelmdulo,yaqueseacabandeaadir.Unavezquesecomiencena recibirdatos,laadvertenciadesaparecer. Paraverlosdatosdelmdulorecincreado,pulsesobrelasolapasuperior View,yenellavayaala partedeabajo,dondesemostrarnlosdatosunavezseempiecenarecibir.

Paraverlosdatosdelosmdulosdetipocadenadetexto(enelejemplo,ladescripcindelsistema SystemDescription)vayaalasolapasuperiordelosdatos,Data:
262

MonitorizacinconPlugins(Complementos)hastalaversin4.0.x

14.9.1.Ejemplo#1:MdulodecomplementoparaMySQL
Esteesotroejemplo,algomscomplejodecomoimplementarunplugin,enestecasootroplugin pordefectoquevieneconPandora,elplugindechequeodeMYSQL. Creeun mdulodecomplemento(Administration>Manageservers>Manageplugins) para MySQLconlossiguientesdatos: Nombre:MySQL Plugincommand:/usr/share/pandora_server/util/plugin/mysql_plugin.sh Plugintype:Standard Max.timeout:10 IPaddressoption:s Useroption:u Passwordoption:p Description:qConnections

-q Com_select -q Com_update -q Innodb_rows_read


Elcomplementoquedaracomosigue:

Estecomplementoproporcionacuatrocomprobaciones: qConnections:Conexiones qCom_select:Nmerodeconsultasselectdesdeelinicio qCom_update:Nmerodeconsultasupdatedesdeelinicio qInnodb_rows_read:LecturasdefilasInnodb

263

MonitorizacinconPlugins(Complementos)hastalaversin4.0.x

Creeunmduloenelagentedelequipodondeest instaladoPandoraFMSyasgnelo;sunombre ser MysqlConnections,usandocomocomplemento lmismo(MySQL),comoIP localhost,como usuariopandora,ycomocontrasealacontraseadelabasededatosdePandora.Introduzcaenel campoPluginparameterslosiguiente:qConnections. Elmduloparacrearquedaracomosigue:

Unavezquelocree,aparecerjuntoalmdulodeNmap:

Ylainformacinenlapginaprincipal(solapaView):

Ylainformacindetallada(solapaData):

264

MonitorizacinconPlugins(Complementos)hastalaversin4.0.x

14.9.2.Ejemplo#2:MdulodecomplementoparaservidorSMTP
Apartirdelaversion4.0.2elpluginremotodeSMTPvieneincluidodeserie.Siest usandouna versionanterior,puedeinstalarelservidordelalibrerademdulospblicadePandoraFMS(ver pandorafms.org). Estepluginenviauncorreoutilizandounservidorremoto,sepuedeespecificarIPdelservidor, puerto,usuarioypasswordyesquemadeautenticacin,asicomoelcorreodedestinoyelcorreode destino.Devuelve1sifuncionay0sifalla,esdecir,sedeberautilizarusandoeltipogeneric_proc. Estaesunacapturadelaconfiguracindeunmdulousandoelplugin:

14.9.3.Ejemplo#3:MdulodecomplementoparaservidorDNS
Apartirdelaversin4.0.2,elpluginremotodeDNSvieneincluidodeserie.Siest usandouna versinanterior,puedeinstalarelservidordelalibrerademdulospblicadePandoraFMS(ver pandorafms.org). EstepluginverificaqueladireccinIPdeundominiodado(p.e:artica.es)esunaIPdeterminada, utilizandocomoreferenciaunDNSexterno.Deestaformapodemosvalidarsiesedominioest devolviendo la IP correcta, para evitar balanceos innecesarios, ataques DNS, etc. Devuelve 1 si funcionay0sifalla,esdecir,sedeberautilizarusandoeltipogeneric_proc. Estaesunacapturadelaconfiguracindeunmdulousandoelplugin:

265

MonitorizacinconPlugins(Complementos)hastalaversin4.0.x

14.9.4.Ejemplo#4:MdulodecomplementoparapuertoUDP
Apartirdelaversin4.0.2elpluginremotodepuertoUDPvieneincluidodeserie.Siest usando unaversinanterior,puedeinstalarelservidordelalibrerademdulospblicadePandoraFMS (verpandorafms.org). EstepluginverificaqueparaunadireccinyunpuertoUDP,elpuertoresponde.Devuelve1si funcionay0sifalla,esdecir,sedeberautilizarusandoeltipogeneric_proc. Estaesunacapturadelaconfiguracindeunmdulousandoelplugin:

14.9.5.Ejemplo#1:MdulodecomplementoparaMySQL
Esteesotroejemplo,algomscomplejodecomoimplementarunplugin,enestecasootroplugin
266

MonitorizacinconPlugins(Complementos)hastalaversin4.0.x

pordefectoquevieneconPandora,elplugindechequeodeMYSQL. Creeun mdulodecomplemento(Administration>Manageservers>Manageplugins) para MySQLconlossiguientesdatos: Nombre:MySQL Plugintype:Standard Max.timeout:10seconds Descripcion:

MySQLcheckplugin Plugincommand:/usr/share/pandora_server/util/plugin/mysql_plugin.sh Pluginparameters:s_field1_u_field2_p_field3_q_field4_ Macro_field1_: Descripcin:IPAddress Valorpordefecto:X.X.X.X Macro_field1_: Descripcin:User Valorpordefecto:User Macro_field1_: Description:Password Valorpordefecto:Password Macro_field1_: Descripcin:Check Valorpordefecto:Connections Ayuda:Possiblevalues:Connections/Com_select/Com_update/Innodb_rows_read Elcomplementoquedaracomosigue:

267

MonitorizacinconPlugins(Complementos)hastalaversin4.0.x

Estecomplementoproporcionacuatrocomprobaciones: qConnections:Conexiones qCom_select:Nmerodeconsultasselectdesdeelinicio qCom_update:Nmerodeconsultasupdatedesdeelinicio qInnodb_rows_read:LecturasdefilasInnodb

Creeunmduloenelagentedelequipodondeest instaladoPandoraFMSyasgnelo;sunombre ser MysqlConnections,usandocomocomplemento lmismo(MySQL),comoIP localhost,como usuario pandora, como contrasea la contrasea de la base de datos de Pandora, y cp,p comprobacinConnections. Elmduloparacrearquedaracomosigue:

268

MonitorizacinconPlugins(Complementos)hastalaversin4.0.x

Unavezquelocree,aparecerjuntoalmdulodeNmap:

Ylainformacinenlapginaprincipal(solapaView):

Ylainformacindetallada(solapaData):

14.9.6.Ejemplo#2:MdulodecomplementoparaservidorSMTP
Apartirdelaversin4.0.2elpluginremotodeSMTPvieneincluidodeserie.Siest usandouna versinanterior,puedeinstalarelservidordelalibrerademdulospblicadePandoraFMS(ver
269

MonitorizacinconPlugins(Complementos)hastalaversin4.0.x

pandorafms.org). Estepluginenviauncorreoutilizandounservidorremoto,sepuedeespecificarIPdelservidor, puerto,usuarioypasswordyesquemadeautenticacin,asicomoelcorreodedestinoyelcorreode destino.Devuelve1sifuncionay0sifalla,esdecir,sedeberautilizarusandoeltipogeneric_proc. Estaesunacapturadelaconfiguracindeunmdulousandoelplugin:

14.9.7.Ejemplo#3:MdulodecomplementoparaservidorDNS
Apartirdelaversin4.0.2elpluginremotodeDNSvieneincluidodeserie.Siest usandouna versionanterior,puedeinstalarelservidordelalibrerademdulospblicadePandoraFMS(ver pandorafms.org). EstepluginverificaqueladireccinIPdeundominiodado(p.e:artica.es)esunaIPdeterminada, utilizandocomoreferenciaunDNSexterno.Deestaformapodemosvalidarsiesedominioest devolviendo la IP correcta, para evitar balanceos innecesarios, ataques DNS, etc. Devuelve 1 si funcionay0sifalla,esdecir,sedeberiautilizarusandoeltipogeneric_proc.

Estaesunacapturadelaconfiguracindeunmdulousandoelplugin:

270

MonitorizacinconPlugins(Complementos)hastalaversin4.0.x

14.9.8.Ejemplo#4:MdulodecomplementoparapuertoUDP
Apartirdelaversin4.0.2,elpluginremotodepuertoUDPvieneincluidodeserie.Siest usando unaversinanterior,puedeinstalarelservidordelalibrerademdulospblicadePandoraFMS (verpandorafms.org). EstepluginverificaqueparaunadireccinyunpuertoUDP,elpuertoresponde.Devuelve1si funcionay0sifalla,esdecir,sedeberautilizarusandoeltipogeneric_proc. Estaesunacapturadelaconfiguracindeunmdulousandoelplugin:

271

MonitorizacinconPlugins(Complementos)hastalaversin4.0.x

15MONITORIZACIONDEENTORNOS VIRTUALES

272

MonitorizacindeentornosAmazonEC2

15.1.MonitorizacindeentornosAmazonEC2
Esta monitorizacin especfica utiliza el CloudWatch API para monitorizar sus instancias en el servicio Amazon EC2.Necesita tener activado el cloudwatch habilitado en su instancia. Puede obtenerelplugingratuitoenlaseccindelalibreraademdulosdepandorafms.com(busquepor EC2). La idea principalde esteplugin de servidor remoto esobtener informaci n para sus instancias utilizando el servidor de plugin de red. Esto significa que necesitar registrar el plugin en el servidor,yhacerquemodulosdiferentesgrabenlainformacinensusservidoresEC2. Esteesunejemplodelaejecucin:
/home/slerena/ec2_plugin.sh -A AKIAILTVJ3S26GTKLD4A -S CgmQ6DxUWES05txfe+juJLoM57acDudHogkLotWk -i i-9d0b4af1 -n AWS/EC2 -m CPUUtilization

Devolverun%devalornumricodelamtrica"CPUUtilization"enlainstanciai9d0b4af1 Paralainstalacinnecesitar: 1. Tener un sistema JAVA, y ahora su directorio home JAVA. En la aplicaci n Pandora FMS (Vmware/Image)estinstaladaen/usr/ 2.Copiarestepluginaunaruta,yfijarlospermisosen755,yfijarlarutabaseenlavariable AWS_CLOUDWATCH_HOMEqueestpresenteenlasprimeraslneasdelplugin.Necesitaeditarlas primeraslneasdelplugin. Elplugintienevariosficheros: /ec2_plugin.sh Plugin itself /bin/* Componentes de Amazon CloudWatch (Monitoring) CommandLineTools,incluidosenestepaquete.Estosscriptsest ndistribuidosbajolaLicencia Apache Pongaelpaquetecompletoenundirectoriodelservidor,porejemplo:
/usr/share/pandora_server/plugin/ec2

YfijeelAWS_CLOUDWATCH_HOMEen/usr/share/pandora_server/plugin/ec2 Sitienedudassobresiestcorrectamenteinstalado,ejecutedirectamenteestecomando:
/usr/share/pandora_server/plugin/ec2/mon-cmd --version

Deberadevolveralgosimilara:
Amazon CloudWatch CLI version 1.0.9.5 (API 2010-08-01)

Siobtienelamismacadena,entoncesyaestlistoparautilizarelplugin. Sino,probablementenecesitar instalaryconfiguraradecuadamentelasherramientasdelineade comandosdelAmazonCloudWatch(monitorizacion).Sigaestospasosparahacerlo:

273

MonitorizacindeentornosAmazonEC2

15.1.1.Instalacin
1.AsegresedequetieneinstaladaensusistemalaversindeJava1.5osuperior:(javaversion) 2. Descomprima el fichero zip de despliegue. 3. Fije las siguientes variables de entorno: 3.1 AWS_CLOUDWATCH_HOME El directorio donde se copiaron los ficheros de despliegue para chequearlos con: Unix: ls ${AWS_CLOUDWATCH_HOME}/bin should list monlistmetrics ...) Windows: dir%AWS_CLOUDWATCH_HOME%\bin should list monlistmetrics ...) 3.2 JAVA_HOME Directorio Home de la instalacin de Java .4. Aada $ {AWS_CLOUDWATCH_HOME}/bin(EnWindows:%AWS_CLOUDWATCH_HOME%\bin)asuruta

15.1.2.Configuracin
Ponga sus credenciales AWS de usuario en la herramienta de linea de comandos. Existen dos manerasparaproporcionarlascredenciales:LascontraseasAWSoutilizandoloscertificadosX.509

15.1.3.UtilizacindeContraseasAWS
1. Crear un fichero de credencial. El despliegue incluye un fichero de plantilla $ {AWS_CLOUDWATCH_HOME}/credentialfilepath.template. 1. .Editarunacopiadeesteficheroparaaadirsiinformacin. 2. .EnUNIX,limitarlospermisosparaelpropietariodelficherodecredenciales:$chmod600 <thefilecreatedabove>. 2.Hayvariasmanerasdeproporcionarsuinformacindecredencial: 1. .Fijelasiguientevariabledeentorno:AWS_CREDENTIAL_FILE=<thefilecreatedin1> 2. .Otambinpuedeproporcionarlasiguienteopcionconcadacomandoawscredentialfile <thefilecreatedin1> 1. .Especifiquedemaneraexplcitalascredencialesenlalineadecomando:IACCESS_KEY SSECRET_KEY

15.1.4.UtilizacindecertificadosX.509
1.Grabesucerfificadoycontraseasprivadasenlosficheros:e.g.mycert.pemandmypk.pem. 2.Existendosmodosdeproporcionarlainformacincertificadaalalneadecomandos: 1. .Fijelassiguientesvariablesdeentorno:
EC2_CERT=/path/to/cert/file EC2_PRIVATE_KEY=/path/to/key/file

1. .Especifiquelosficherosdirectamenteenlalneadecomandosparatodosloscomandos
<command> --ec2-cert-file-path=/path/to/cert/file --ec2-private-key-filepath=/path/to/key/file

15.1.5.InstalacindelaspropiedadesdeJVM
AlfijarlavariabledeentornoSERVICE_JVM_ARGS,podr pasararbitrariamentelaspropiedades JVM a la lnea de comando. Por ejemplo,la siguiente lnea fija las propiedades en Linux/UNIX exportSERVICE_JVM_ARGS="Dhttp.proxyHost=http://my.proxy.comDhttp.proxyPort=8080"

274

MonitorizacindeentornosAmazonEC2

15.1.6.Puestaenmarcha
1.Compruebequesuinstalacinfuncionecorrectamente,ejecuteelsiguientecomando:
$ mon-cmd --help

Deberaverlapginadeusoparatodosloscomandosdemonitorizacin
$ mon-list-metrics --headers

Deberavertambinunalneadecabecera.Sitienealgunamtricadefinida,deberaverlatambin.

15.2.MonitorizacindeentornosVMware
LosentornosvirtualestienenunagranimportanciaenlasarquitecturasITdetodaslasempresasy por ello su monitorizacin es esencial. Con Pandora FMS Enterprise podrs tener acceso a VMware Monitoring Plugin un plugin que permite tener bajo control la arquitectura virtual VMwaredeformasencilla.

15.2.1.ArquitecturaVMwareamonitorizar
Con este sistema se pueden monitorizar arquitecturas como la que se muestra en el siguiente esquema:

PandoraFMSpuedemonitorizarservidoresESXi,DatastoresyMquinasVirtuales.PandoraFMSse apoyaenelAPIwebqueproporcionaelvCenterServerdeVMwareparalarecoleccindedatos.

15.2.2.MonitorizacinconVMwareMonitoringPlugin
LamonitorizacindeentornosvirtualizadosconVMwaresebasaenvarioscomponentes:

275

MonitorizacindeentornosVMware

1. Unplugindeagenteencargadodeldescubrimientodeentidadespresentesenelentornoyde larecoleccindeinformacinparalamonitorizacindelasmismas. 2. Una recontask necesariaparaPandoraFMS4.0.3oversionesanteriores,queactualizalos camposnecesariosparaelcorrectofuncionamientodelasextensionesyadem srealizael copiadodeloseventosdelservidorvCenterdeVMwarealaconsoladePandoraFMS. 3. ExtensionesVMwareViewyVMwareManagerquepermitenverlasentidadesVMwarede unaformasencillaygestionarmquinasvirtuales. ConestesistemaobtenemosunagenteporcadahostESXi,Datastoreom quinavirtualencontrado, adems de uno adicional para el Datacenter. Esto nos permitir tratarlos como entidades independientes sin importar la relacin que exista entre ellos dentro de la arquitectura de virtualizacin.Ademscadaagentetendr losmduloscorrespondientesparasumonitorizacin segneltipodeentidadVMwarequerepresente.

15.2.2.1.Funcionamientointernodelplugin
El plugin slo realiza las funciones de autodescubrimiento de entidades y recolecci n de informacin.Paralasfuncionesdecopiadodeeventosyconfiguraci ndecustomfieldsesnecesario instalarlarecontask. Por cada entidad descubierta, el plugin enva un archivo XML al servidor de Pandora para ser procesado.EstaentidadseconvertirenunagentedentrodePandoraFMS.Loseventoscopiadosa laconsolaaparecernenlavistadeeventosyser posiblegestionarloscomolospropioseventos generadosporelsistema. Elpluginmantieneunosarchivosauxiliaresquecontieneninformaci nrelativaalaconfiguracin demonitorizacin:logs,entidadesmonitorizadas,punteroparamonitorizacindeeventos,etc.

Es importante que estos archivos no se borren ya que podra afectar al rendimiento de la monitorizacin

15.2.3.Requisitosdelplugin
LosrequisitosparaelfuncionamientodelpluginVMwaresonlossiguientes: Pandora FMS4.0.3 osuperior(LasextensionesslofuncionanapartirdePandora FMS 4.0.3Parche130310) AgentedePandoraFMSinstaladoenlamquina. SistemaLinux/UnixoWindows Comandoping SDKdeVMwareparaPerl

15.2.4.ConfiguracindelvCenterparalamonitorizacin
ElpluginhaceusodeloscontadoresderendimientoqueproporcionaelvCenterdeVMware.La disponibilidad de estos contadores depende de los niveles configurados para recolecci n de estadsticasdelvCenter. Estosnivelessepuedencambiarenelmen vCenterServerSettings yenlaopcin Statistics.Para cada opcin detiempo ycada nivel obtendr la descripcin de loscontadores querecolecta el vCenter.ElnivelmnimoparamonitorizarconelplugindePandoraFMSeselNivel2.

276

MonitorizacindeentornosVMware

DependiendodelaconfiguracindelvCenter,esposiblequealgunosmdulosnoreportendatos enPandoraFMS.EstopuedeserporquefalteinstalaralgnpluginenelvCenter,seanecesario instalarunagenteVMwareenlaentidadosimplementeporquelaentidadest apagada(mquina virtual o ESXi). Para solucionar estos problemas deber consultar la documentacin de VMware. Algunas soluciones, como por ejemplo la monitorizacin del estado del hardware (Hardware Status), podran requerir una configuracin avanzada tanto del vCenter como de los host que soportanlosESX.

15.2.5.InstalacindeVMwarevSphereSDKparaPerl
LaurldelcentrodedescargasparaelsoftwareVMwarees:
http://communities.vmware.com/community/developer/downloads

277

MonitorizacindeentornosVMware

15.2.5.1.InstalacinSDKLinux Las versiones del SDK probadas con este proceso de instalacin han sido la 4.1 y la 5.1

Se recomienda el uso del SDK 4.1 con componentes VMware de la versin 4.1. Se recomienda el uso del SDK 5.1 con componentes VMware de la versin 5.1

PrimerodescomprimiremoselSDKconelsiguientecomando:
# tar -xzvf VMware-vSphere-Perl-SDK-x.x.x-xxxxxx.i386.tar.gz

Acontinuacin,copiaremoslaslibrerasnecesariasparaelfuncionamientodelSDKejecutandolos siguientescomandos:
# # # # # cd cp cp cp cp vmware-vsphere-cli-distrib/ -R lib/Class-MethodMaker-2.10/lib/Class /usr/lib/perl5/site_perl/5.16.0/ -R lib/SOAP-Lite-0.710.08/lib/* /usr/lib/perl5/site_perl/5.16.0/ -R lib/UUID-0.03/lib/UUID.pm /usr/lib/perl5/site_perl/5.16.0/ -R lib/libwww-perl-5.805/lib/* /usr/lib/perl5/site_perl/5.16.0/

Para distribuciones basadas en CentOS o Redhat, copiaremos las librer as necesarias para el funcionamientodelSDKejecutandolossiguientescomandos:
# # # # # cd cp cp cp cp vmware-vsphere-cli-distrib/ -R lib/Class-MethodMaker-2.10/lib/Class /usr/lib/perl5/vendor_perl/ -R lib/SOAP-Lite-0.710.08/lib/* /usr/lib/perl5/vendor_perl/ -R lib/UUID-0.03/lib/UUID.pm /usr/lib/perl5/vendor_perl/ -R lib/libwww-perl-5.805/lib/* /usr/lib/perl5/vendor_perl/

ParasistemasCentOSde64bitslaloscomandossonlossiguientes:
# # # # # # # # # # yum install perl-ExtUtils-MakeMaker.x86_64 yum install make yum install perl-XML-LibXML.x86_64 yum perl-Crypt-SSLeay-0.57-16.el6.x86_64 cd vmware-vsphere-cli-distrib/ cp -R lib/Class-MethodMaker-2.10/lib/Class /usr/lib64/perl5/vendor_perl/ cp -R lib/SOAP-Lite-0.710.08/lib/* /usr/lib64/perl5/vendor_perl/ cp -R lib/UUID-0.03/lib/UUID.pm /usr/lib64/perl5/vendor_perl/ cp -R lib/libwww-perl-5.805/lib/* /usr/lib64/perl5/vendor_perl/ cp -R lib/URI-1.37/lib/* /usr/lib64/perl5/vendor_perl/

AhoracompilaremoseinstalaremoselSDKconlossiguientescomandos:
# perl Makefile.PL # make # make install

Silainstalacinfuecorrectaynosemostr ningnerrorpodr conectarconelvCenterconel


278

MonitorizacindeentornosVMware

siguientecomando:
# /usr/lib/vmware-viperl/apps/general/connect.pl --server <vcenter_ip> --username <vcenter_user> --password <vcenter_pass>

Larespuestadeberaseralgoas:
Connection Successful Server Time : 2013-02-21T16:24:05.213672Z

15.2.5.2.InstalacinSDKsobreWindows
AntesdeinstalarSDKparaPerldeVMwaretendraquetenerinstaladoPerlenelsistema.Para instalarPerlpuedeusarelsoftwareActivePerldisponibleaqu:
http://www.activestate.com/activeperl

ParainstalarelSDKdePerlensistemasWindows,s lotendr quecopiarelarchivoconnombre VMwarevSpherePerlSDKx.x.xxxxxxx.exealservidordondedeseainstalarlo,hacerdobleclicken elarchivoyseguirlospasosdelinstalador.

15.2.6.Instalacinypuestaenmarchadelplugindeagente
Parainstalarelplugindeagenteslotienequecopiarlosarchivos vmwareplugin.pl y vmware plugin.confalacarpeta/etc/pandora/plugins,conelsiguientecomando:
cp vmware-pluging.pl vmware-plugin.con /etc/pandora/plugins

Ahorahayqueaadirunnuevomdulodetipopluginalarchivodeconfiguracindelagente,con lasiguientelnea:
module_plugin /etc/pandora/plugins/vmware-pluging.pl /etc/pandora/plugins/vmwarepluging.conf

Siademsqueremosrealizarelcopiadodeloseventosdebemoscrearotrom dulopluginconun archivodeconfiguracindiferentequehabilitelacopiadeeventos.Lasintaxisseralasiguiente:


module_plugin /etc/pandora/plugins/vmware-pluging.pl /etc/pandora/plugins/vmwarepluging-events.conf

EnsistemasWindowssernecesarioespecificarelintrpreteusado.Elcomandosera:
module_plugin perl "C:\Program Files\pandora_agent\util\vmware-plugin.pl" "C:\Program Files\pandora_agent\util\vmware-plugin.conf"

Enlassiguientesseccionesseexplicaendetallelosparmetrosdelarchivodeconfiguracindel plugin.

279

MonitorizacindeentornosVMware

El plugin de VMware requiere mucho tiempo de ejecucin debido al uso de una API SOAP pesada. Por ello en sistemas con gran cantidad de entidades a monitorizar podra ser necesario distribuir la carga entre varios agentes software de Pandora FMS. Toda la informacin al respecto est en las siguientes secciones

15.2.6.1.RegistrodelReconScript
Ahoratenemosqueregistrarel ReconScriptquerealizalacopiadeeventosylaactualizaci nde informacindeentidades.ParahacerlotenemosqueiralsubmenManagereconscriptdentrodel menManageServers.

Unavezall,pulsaremosenelbotnAdd

Despusveremosunformulariopararellenarlosdatosdelanueva ReconScript,donderellenamos losdatoscomosigue.EnelcampoScriptfullpath,esnecesarioespecificarelintrpreteoprograma queseusaparaejecutarelscript(ennuestrocasoPerl)yelpathcompletodondeest situadoel script.Unavezqueestrelleno,pulsamosenelbotnCreate.

280

MonitorizacindeentornosVMware

Unavezqueelscriptestregistrado,veremosunapantallaquenosinformadequelaoperaci nse desarrolldeformasatisfactoriayelscriptaparecerenlalistadescriptsregistrados.

15.2.6.2.CreacindeReconTask

Para poder usar la recon task es necesario tener activado el reconserver


Paraautomatizarlaactualizacindeinformacinylacopiadeeventos,crearemosuna ReconTask queseejecutarperidicamente.ParacrearunaReconTaskpulsamosenelsubmen ReconTask dentrodelmenManageServers.

281

MonitorizacindeentornosVMware

Al pulsar veremos la siguiente imagen que muestra la vista general de Recon Task, en ella pulsamosenelbotnCreateparacrearunanuevatarea.

DespusdepulsarenelbotnCreateaparecerunformulariocomoeldelasiguienteimagen.Enl rellenaremos los campos de forma apropiada. En el campo Mode es importante seleccionar la opcin CustomScript yaquenospermitir seleccionarenelcampo ReconScript elscriptque registramosenelpasoanterior(ennuestrocasoVMwarereconscript).

LoscamposScriptfieldestnreservadosparalosparmetrosdelscriptquehemosregistrado.En concretoelscriptparadescubrimientoVMwarenecesitalossiguientescamposobligatorios: server:IPdelservidordondeestalojadoelvCenterdeVMware. username:UsuarioparaaccederalvCenter. password:PasswordparaaccederalvCenter. datacenter:Nombredeldatacenteramonitorizar. pandoraconf:PathdondeseencuentraelarchivodeconfiguracindePandoraFMS.

Opcionalmentesepodrconfigurarlatareareconconunparmetroextra: only_events:Esteparmetroconfiguralarecontaskpararealizarelvolcadodeeventosdel vCenterdeVMWareaPandoraFMS. SisequieremonitorizardiversosdatacentersernecesariocrearunaReconTaskparacadaunode


282

MonitorizacindeentornosVMware

ellosespecificandoelnombredeldatacenterenelparmetrodelscriptadecuado. CreacinReconTaskactualizacincustomfields Losparmetrosparaconfigurarlarecontaskparaactualizarloscustomfieldsson: Taskname:VMwareEntityUpdate Mode:Customscript Interval:Manual Reconscript:VMwareReconScript Scriptfield#1:server<ip_server>username<user> Scriptfield#2:password<pass> Scriptfield#3:pandoraconf/etc/pandora/pandora_server.conf Scriptfield#4:datacenter<dc_name>

CreacinReconTaskvolcadodeeventos Los parmetros para configurar la recon task para realizar un volcado de los eventos son los siguientes: Taskname:VMwareEventDump Mode:Customscript Interval:5minutes Reconscript:VMwareReconScript Scriptfield#1:server<ip_server>username<user> Scriptfield#2:password<pass> Scriptfield#3:pandoraconf/etc/pandora/pandora_server.conf Scriptfield#4:datacenter<dc_name>only_events1

Llegado este punto deberamos tener dos tareas recon creadas cada una de las funcionalidades explicadasanteriormente,ellistadoderecontasksdeberaparecidoaldelasiguienteimagen:

15.2.7.MonitorizacindelaarquitecturavirtualVMware
Paraverelresultadodelaejecucindelpluginslotenemosqueaccederalsubmen AgentDetail dentrodelmenMonitoring.

283

MonitorizacindeentornosVMware

Enestavistaaparecernlosagentescreadosporelpluginjuntoconlosdem sagentesdePandora FMS.

Si pulsamos en el nombre de un agente veremos la vista de agente de Pandora FMS donde aparecernlosmdulosmonitorizadosporelpluginVMware.

284

MonitorizacindeentornosVMware

PordefectoelplugindespliegaunamonitorizacinbsicaparacadaunodeloselementosVMware. Laconfiguracinpordefectoparalasdiferentesentidadeseslasiguiente:

15.2.7.1.MonitorizacinpordefectoparaDatacenter
Ping Check443port

15.2.7.2.MonitorizacinpordefectoparaDatastore
Capacity FreeSpace DiskOverallocation FreeSpaceBytes

15.2.7.3.MonitorizacinpordefectodefectoparaESXi
CPUUsage MemoryUsage Datareceived Datatransmitted DiskReadLatency DiskWriteLatency

285

MonitorizacindeentornosVMware

HostAlive DiskRate NetUsage

15.2.7.4.Monitorizacinpordefectoparamquinasvirtuales
CPUUsage MemoryUsage ToolsRunningStatus HostAlive DiskFree DiskReadLatency DiskWriteLatency Datareceived Datatransmitted NetUsage

Enlasiguienteseccinseexplicancondetalletodoslosmdulosdisponiblesylainformacinque reportacadamdulo

15.2.8.MdulosdeagentesdelaarquitecturavirtualVMware
Algunos mdulos podran no estar disponibles dependiendo de la versin de VMware y de la configuracindelentorno,enlassiguientestablassedescribenlosdiferentesm dulosdisponiblesy suscaractersticasdedisponibilidad.

El plugin permite configurar Performance Counters personalizados para los hosts ESX y mquinas virtuales. Podr ver cmo hacerlo en la seccin que detalla el contenido del archivo de configuracin

15.2.8.1.MdulosparaagentesdeltipoDatacenter Mdulo Ping Check 443 port Descripcin Chequeo ping a la mquina que soporta el vCenter Chequeo al puerto 443 de la mquina que soporta el vCenter Versin API Todas Todas Disponibilidad Siempre Siempre

15.2.8.2.MdulosparaagentesdeltipoDatastore Mdulo Capacity Free Space Free Space Bytes Descripcin Capacidad mxima del Datastore en bytes Porcentaje de espacio libre del Datastore Cantidad de espacio libre en bytes Versin API Todas Todas v4.0 Todas Disponibilidad Siempre Siempre Siempre Siempre
286

Disk Overallocation Porcentaje de sobre asignacin del disco

MonitorizacindeentornosVMware

15.2.8.3.MdulosparaagentesdeltipohostESXi Mdulo Boot Time CPU Info [x] Memory Size Overall CPU Usage Overall Memory Usage Power State SSL Thumbprint Uptime VNIC Info [x] Host Alive Descripcin ltima fecha en la que se encendi el host Informacin general de la CPU (Se crea un mdulo por CPU del ESXi) Cantidad total de memoria fsica del host en Bytes Suma del uso de todas las CPUs en Mhz Overall Memory Usage of VMware Hosts Estado de la energa del host Huella SSL del host Uptime del host en segundos Informacin sobre interfaces de red virtuales del host Mdulo que vale 1 si el ESX est conectada y 0 en caso contrario Tasa de Kbps leidos del disco Tasa de Kbps escritos del disco Latencia de lectura del disco en milisegundos Latencia de escritura del disco en milisegundos Tasa de Kbps recibidos del host Tasa de Kbps enviados del host Nmero de paquetes recibidos en el intervalo Nmero de paquetes enviados en el intervalo Porcentaje de uso de CPU Porcentaje de uso de la memoria RAM Datos de red recibidos y enviados de todas las NICs Tasa I/O agredada en KB/seg Latencia mxima de todos los discos Estado HA del host Versin API Todas Todas Todas Todas Todas v2.5 v4.0 v4.1 Todas Todas Todas Todas Todas Todas Todas Todas Todas Todas Todas Todas Todas Todas Todas Todas v5.0 Disponibilidad Siempre Si conectado Si conectado Si conectado Si conectado Siempre Si configurado Si conectado Si conectado y configurado Siempre Siempre Nivel stats 2 Nivel stats 2 Nivel stats 2 Nivel stats 2 Nivel stats 2 Nivel stats 2 Nivel stats 2 Nivel stats 2 Nivel stats 2 Nivel stats 2 Nivel stats 2 Nivel stats 2 Nivel stats 2 Si configurado
287

Connection State Estado de la conexin del host Disk Read Disk Write Disk Read Latency Disk Write Latency Data received Data transmitted Packages Received Packages Transmitted CPU Usage Memory Usage Net Usage Disk Rate Max. Disk Latency HA Status

MonitorizacindeentornosVMware

15.2.8.4.Mdulosparaagentesdeltipomquinavirtual
EstosmdulosofrecenlainformacindesdeelpuntodevistadelaarquitecturaVMware.Sise desea monitorizar otros parmetros relativos a la mquina virtual se deberan considerar otras opcionescomolaMonitorizacinconagentessoftwareolaMonitorizacinremota

Mdulo Boot Time Connection State Consumed Overhead Memory CPU Allocation Disk Free [x] Guest State Host Info Host Alive Host Memory Usage Host Name IP Address [x] MAC Address [x] Max CPU Usage Max Memory Usage Memory Allocation Memory Overhead Overall CPU Demand Overall CPU Usage Power State

Descripcin ltima fecha en la que se encendi la mquina virtual Estado de la conexin Cantidad de memoria consumida por la mquina virtual en MB Informacin sobre los recursos asignados a la CPU de la mquina virtual Porcentaje libre del disco de la mquina virtual. (Habr un mdulo por cada disco que contenga la mquina virtual) Modo de operacin del sistema operativo husped Informacin sobre el host VMware Mdulo que vale 1 si la mquina virtual est en ejecucin y 0 en caso contrario Memoria consumida por la mquina virtual en MB Nombre del host asociado Direccin IP de la mquina. (Aparecer una por interfaz de red disponible) Direccin MAC de la mquina. (Aparecer una por interfaz de red disponible) Lmite superior de uso de la CPU de la mquina virtual Lmite superior de uso de la memoria RAM de la mquina virtual Lmite de los recursos para la memoria Cantidad de memoria usada por la mquina virtual por encima de las necesidades del sistema operativo husped en Bytes Estadsticas bsicas sobre el rendimiento de la CPU en Mhz Estadsticas bsicas sobre el uso de la CPU en Mhz Estado actual de la mquina virtual

Versin Disponibilidad API Todas Todas v4.0 Todas Todas Todas Todas Todas Todas Todas v4.1 Todas Todas Todas Todas Todas v4.0 Todas Todas Si conectado Siempre Si configurado Si configurado Si configurado Si configurado Si configurado Siempre Si conectado Si configurado Si configurado Si configurado Si conectado Si conectado Si configurado Si configurado Si conectado Si conectado Siempre
288

MonitorizacindeentornosVMware

Private Memory Shared Memory

Cantidad de memoria en MB que se otorga a la mquina virtual de la memoria no compartida Cantidad de memoria en MB que se otorga a la mquina virtual de la memoria compartida

v4.0 v4.0 v4.0 Todas v4.1 Todas Todas Todas Todas Todas Todas Todas Todas Todas Todas Todas Todas Todas Todas Todas Todas

Si conectado Si conectado Si configurado Si configurado Si conectado Siempre Nivel stats 2 Nivel stats 2 Nivel stats 2 Nivel stats 2 Nivel stats 2 Nivel stats 2 Nivel stats 2 Nivel stats 2 Nivel stats 2 Nivel stats 2 Nivel stats 2 Nivel stats 2 Nivel stats 2 Nivel stats 2 Nivel stats 2

Tools Running Estado actual de ejecucin de VMware Tools Status instaladas en el sistema operativo husped Trigger Alarm State Uptime Seconds Virtual Image Path Disk Read Disk Write Disk Read Latency Disk Write Latency Data received Data transmitted Packages Received Packages Transmitted CPU Usage Net Usage Disk Rate Max. Disk Latency HeartBeat CPU Ready Number Snapshots HA Status Estado de las alarmas de VMware Uptime de la mquina virtual en segundos Ruta del archivo de configuracin de la mquina virtual (.vmx) Tasa de Kbps leidos del disco Tasa de Kbps escritos del disco Latencia de lectura del disco en milisegundos Latencia de escritura del disco en milisegundos Tasa de Kbps recibidos del host Tasa de Kbps enviados del host Nmero de paquetes recibidos en el intervalo Nmero de paquetes enviados en el intervalo Porcentaje de uso de CPU Datos de red recibidos y enviados de todas las NICs Tasa I/O agredada en KB/seg Latencia mxima de todos los discos Nmero de heartbeats de la mquina virtual Porcentaje de tiempo que la mquina est en lista, pero no encolada para ejecutarse en la CPU fsica Nmero de snapshots para la mquina virtual (Este mdulo puede afectar al rendimiento de la monitorizacin', por ello se recomienda ejecutarlo con un valor de intervalo alto, por ejemplo cada hora) Estado HA para la mquina virtual

Memory Usage Porcentaje de uso de la memoria RAM

Todas v5.0

Si configurado Si configurado

289

MonitorizacindeentornosVMware

15.2.9.MonitorizacindeeventosVMware
Comoseexplic enseccionesanterioresestatarealarealizaelpluginolarecontaskdependiendo delaversindePandoraFMS.Estafuncionalidadrealizaunacopiadeloseventospresentesenel vCenterdeVMwarealalistadeeventosdePandoraFMS. Estos eventos pasan a formar parte del flujo de eventos normales de Pandora FMS y quedan asociadosdeformaautomticaalagentequerepresentaelvCenterdelqueprovienen(sielagente existeenelmomentodecreacindelevento).Enlasiguienteimagenpuedeverunejemplode eventosgeneradosporlarecontask.

EnelprocesodevolcadodeeventosserespetalainformacinyseveridadqueVMwareindicaenla creacindelevento,detalformaqueloseventosconunniveldeseveridadcr tico,advertenciao informativoconservaranestosnivelesenPandora.Lasiguienteimagenmuestraunejemplodela informacindetalladadeuneventovolcadodeVMwareaPandoraFMS.

ContodosloseventospresentesenPandoraFMSpodrrealizartodaslasaccionesdisponiblespara lagestindeeventoscomoporejemplo:creacindealertas,configuracindefiltros,aperturade incidencias,etc.

290

MonitorizacindeentornosVMware

15.2.10.GestinyvisualizacindelaarquitecturavirtualVMware
JuntoconelpluginVMwaresedistribuyendosextensiones VMwareManager y VMwareView. VMwareViewpermitevisualizartodosloscomponentesdelaarquitecturaVMwaredeunaforma cmoda,ademsconVMwareManagerpodr gestionarmquinasvirtualesparando,arrancando, reseteandoosuspendiendosuactividaddesdelaconsoladePandoraFMS.Estasextensionesson opcionalesyslofuncionanconversionesdePandoraFMS4.0osuperior.

15.2.10.1.InstalacindeextensionesVMwareManageryVMwareView
Parainstalarlasextensionessimplementedebecopiarelcontenidodelacarpetaextensionsque encontrar aldescomprimirelpluginenlacarpetaExtensionsdelaparteEnterprisedelaconsola dePandoraFMS,loscomandosaejecutarsonlossiguientes:
cp -R extensions/* <pandora_console_dir>/enterprise/extensions/

DesdeesemomentoyaestarnlasextensionesdelpluginVMware.

Para usar la extensin VMware Manager es necesario instalar el SDK de VMware para Perl en la mquina donde est encuentra la consola de Pandora FMS

15.2.10.2.UsandolaextensinVMwareView
ParacomenzarausarelvisordearquitecturasVMwarehagaclickenelsubmen VMwareView dentrodelmenMonitoring.

La extensin VMware View le mostrar un mapa similar al de abajo con toda la arquitectura VMwarequesedescubriconlaReconTask.

291

MonitorizacindeentornosVMware

ElmapacontieneloselementosdelaarquitecturaVMware(m quinasvirtuales,ESX,Datastoresy Datacenters)condiferentesiconosquelosidentificanascomoelestadodelosagentesdePandora FMSquerepresentancadaelemento.Ademssemuestralarelacinqueexisteentremquinas virtuales,ESXyDataCenter.Deestamaneradeunvistazosepuedeverelestadodelaarquitectura VMwaredeunformamuysencilla. Esta extensin tiene unas opciones que ayudan a mejorar la visualizaci n de la arquitectura ocultandoelementos,aumentandoeltamaodeletraypermitiendohacerzoomparapoderverlos elementosmsdecerca.

Usandolasopcionesanteriorespodramosver slolosDatacenterylosESXconuntamaode fuente14yconunzoomde2x

292

MonitorizacindeentornosVMware

15.2.10.3.UsandolaextensinVMwareManager
Para usar la extensin VMware Manager debe ir a la vista de operacin de un agente que se correspondaconunamquinavirtualenlaarquitecturaVMware.Dentrodeestavistapodrverun iconoconelsmbolodeVMwarequecorrespondealaextensin.

LaextensinVMwareManagerpermitegestionarmquinasvirtualesdesdelaconsoladePandora FMS.Laextensinmuestraelestadoactualdelamquinavirtualconuncdigodecolores(verde =encendida,naranja=suspendidaygris=parada),ademsenuncombomuestralosestados disponiblesypermitecambiarelestadodelam quinavirtualalseleccionadopulsandoelbotn ChangeStatus.

Con esta extensin podramos parar una mquina virtual que est encendida seleccionando el
293

MonitorizacindeentornosVMware

estadoStopcomoenlasiguienteimagen:

LoqueprovocaraquelamquinaseparaseylavistadelaextensinVMwareManagecambiara mostrandoquelamquinaahoraestparadacomoseveenlasiguienteimagen:

Esta extensin requiere la instalacin del SDK de VMware para Perl en la misma mquina que soporta la consola de Pandora, sin este requisito la extensin no funcionar

15.2.11.Configuracindelplugin
PordefectoelplugindeVMwaredescubretodaslasentidadesya adeloschequeospordefecto. Medianteelarchivodeconfiguracinpodr configurarlamonitorizacinyescogerqu variables deseamonitorizar. Elarchivodeconfiguracincontienetodalainformacinnecesariapararealizarlamonitorizacin agrupadalassiguientessecciones: Configuration,Rename,Reject,Datacenter,Datastore,ESX,VM.A continuacinseexplicacadaseccinysusposiblesconfiguraciones.

Todos los errores relativos al archivo de configuracin son presentados en el log de errores del servidor de Pandora y adems en el visor de eventos de la consola de Pandora. Por ello, podr ver si existe cualquier con el archivo de configuracin consultando cualquiera de estas dos fuentes

15.2.11.1.Archivodeconfiguracin
Configuracin global

La configuracin general est definida por el token Configuration y contiene los siguientes parmetros: server:IPdelvCenter. user:usuariodelvCenter.
294

MonitorizacindeentornosVMware

pass:contraseadeaccesoalvCenter. datacenter:datacenteramonitorizar. temporal:directoriotemporal. logfile:ubicacindelficherodelog. entities_list:ubicacindelficheroquecontienelalistadeentidadesquesonmonitorizadas. transfer_mode:mododetransferenciaparalosXMLs,puedesertentacleolocal. tentacle: enva los archivos XMLs al servidor de Pandora usando el protocolo Tentacle. local:copialosarchivosaunacarpetalocal,elagentedebeejecutarseenlamisma mquinadondeseencuentralacarpetalocal.. tentacle_ip:IPdelservidordePandoraalqueenviarlainformacin. tentacle_port: puerto del servidor de Pandora al que enviar la informaci n (por defecto 41121). tentacle_opts:opcionesadicionalesparaelenvocontentacle(pordefectoninguna). local_folder:directoriodestinopararealizarlacopiadeXMLsconelmodolocalactivado. pandora_url: url de la consola de Pandora (por ejemplo: http://192.168.70.81/pandora_console). api_pass:passworddelaAPIdelaconsoladePandora. api_user:usuariodelaconsoladePandora. api_user_pass:passworddelusuariodelaconsoladePandora. event_mode:flagqueactivaelmododerecoleccindeeventos.Sivale1est activado,si vale0desactivado. event_pointer_file:ubicacindelarchivotemporalqueguardaelpunteropararecolecci nde eventos. verbosity:Niveldelog(0sloerroresqueimpidenelfuncionamientodelplugin,1todoslos errores). threads:Nmerodehilosdelplugin.(Pordefecto1). interval:IntervalodelosagentesquerepresentanlasentidadesVMware.

Unejemplodeestaseccinenelarchivodeconfiguracinpodraserlasiguiente:
Configuration server 192.168.70.249 user Administrator pass S1stemas datacenter artica temporal /tmp logfile /tmp/vmware_plugin.log entities_list /tmp/vmware_entities_list.txt transfer_mode tentacle tentacle_ip 192.168.70.81 tentacle_port 41121 tentacle_opts local_folder /var/spool/pandora/data_in pandora_url http://192.168.70.81/pandora_console api_pass 1234 api_user admin api_user_pass pandora event_mode 0 event_pointer_file /tmp/vmware_events_pointer.txt

Si est usando el plugin en sistemas Windows ser necesario cambiar todas las rutas de los archivos por rutas compatibles con Windows

295

MonitorizacindeentornosVMware

Renombrado de entidades

Elrenombradodeentidadesserealizausandoeltoken Renameypermitecambiarelnombrealas entidadesdescubiertasporelplugin.UsandoestafuncionalidadlosagentescreadosenPandora aparecernconelnuevonombreasignado.Laestructuradeestaseccineslasiguiente:


<nombre actual> TO <nombre nuevo>

Unejemplodeconfiguracindeestaseccinpodraserelsiguiente:
#Rename entities Rename Debian 11 TO Virtual Machine 1 RedHat 12 TO Web server ESX Workstation TO Host Work Sales

Descarte de entidades

Elpluginpermiterealizarundescartedeentidadesportipoodeformaindividual,acontinuaci n seexplicanambasopciones. Eldescartedetiposdeentidadesserealizausandoeltoken Reject.Enestaseccinpodrdescartar lasentidadessegnsutipo,porejemplotodaslasmquinasvirtualesotodosloshostsESX.Los posibles valores que puede tomar esta seccin son los siguientes: all_datastore, all_datacenter, all_esx,all_vm. Unaconfiguracindeestaseccinquedescartatodaslasentidadesseralasiguiente:
#Dismissed entities Reject all_datastore all_datacenter all_esx all_vm

Pararealizarundescartedeentidadesdeformaindividualser necesarioborrarlasdelarchivode entidadescreadoporelplugin.Elplugincreaestearchivoenlaubicaci nindicadaenelparmetro entities_list (por defecto /tmp/vmware_entities_list.txt). El plugin rellena el contenido de este archivoconlaprimeraejecucin,osiemprequenoexista,creandounalistacontodaslasentidades descubiertas.Unejemplodearchivopodraserelsiguiente:
Datacenter artica Datastore datastore_1 datastore2 ESX 192.168.70.252 VM Pandora FMS 4.0.3 Debian2 Debian3 Debian4 Redhat debian5 Debian6

296

MonitorizacindeentornosVMware

Debian8 Debian7 Debian11 Debian10 Debian9 NSM Pandora vcenter suse11.2

Elarchivodeconfiguracinsedivideenvariostokens: Datacenter, Datastore, ESX y VM dondese listanlasdiferentesentidades.Unavezqueestecreadoelarchivodeconfiguraci nelpluginleer deestearchivolasentidadesamonitorizar.Paradescartarunaentidads lotienequeborrarlade este fichero. Si por ejemplo no quisiera monitorizar las entidades: Debian2, datastore2, NSM, suse11.2y192.168.70.252,elarchivodeconfiguracinquedaraas:
Datacenter artica Datastore datastore_1 ESX VM Pandora FMS 4.0.3 Debian3 Debian4 Redhat debian5 Debian6 Debian8 Debian7 Debian11 Debian10 Debian9 Pandora vcenter

Esta funcionalidad permite realizaruna distribucin de la carga de monitorizacin limitando el nmerodeentidadesmonitorizadasencadaejecucindelplugin.Msadelanteseexplicanvarias tcnicasdedistribucindecarga.
Configuracin de monitorizacin

Lassiguientesseccionesdelarchivoconfiguranlosmduloscreadosparacadatipodeentidad.Las secciones usan los token Datacenter, Datastore, ESX, VM. En estas secciones podr habilitar/deshabilitarlos mdulos a monitorizar, enelsiguienteejemplohemosrealizamosuna configuracinseleccionandolosmdulosquedeseamoscrearparalosESXymquinasvirtuales:
... #ESX Modules ESX cpuUsagePercent disabled diskRead enabled diskWrite enabled #VM Modules VM diskReadLatency disabled

297

MonitorizacindeentornosVMware

diskWriteLatency disabled diskRate enabled ...

Cadalneadeconfiguracinsecorrespondeconunmdulo.Enelejemploanteriorlosmdulos serncreadosconlosvalorespordefecto,peroesposibleconfigurar:elnombre,ladescripci nylos lmitesparalosestadosdeAdvertenciaydeCrticodelmdulo.Unejemplodeestaconfiguracin podraserlasiguiente:


... #VM Modules VM diskReadLatency disabled diskWriteLatency disabled diskRate name = Tasa Disco; desc = Tasa Lec/Esc disco; limits_warn = 5 10; limits_crit = 0 4 ...

Lasopcionesdisponiblesparalaconfiguracindemdulossonlassiguientes: <modulo>disabled:ElmduloNOsecrear <modulo>enabled:ElmduloSIsecrear(conlosvalorespordefecto) <modulo> name = <nombre>; desc = <descripcion>; limits_warn <lim_warn>; limits_crit<lim_crit>:Elmdulosecrearconelnombreyladescripcinproporcionadosy ademssedefinirnlosumbralesparalosmximosymnimosdelosestadosAdvertenciay Crtico. Esmuyimportantetenerencuenta laestructuradelaslneasdelarchivodeconfiguraciny sobretodoverqueelcarcter;vapegadoalnombreyladescripcindelmdulo.Estasdoslneas NOSONEQUIVALENTES(vanselosespaciosantesdelcarcter;):
diskRate name = Tasa Disco; desc = Tasa Lec/Esc disco; limits_warn = 5 10; limits_crit = 0 4 diskRate name = Tasa Disco ; desc = Tasa Lec/Esc disco ; limits_warn = 5 10; limits_crit = 0 4

Los mdulos estn referenciados por su nombre corto, un nombre equivalente ms sencillo de escribirenlalneadecomandos.Latabladecorrespondenciadenombrescortosyexpandidosest enlasiguienteseccin. Analicemoslaconfiguracindeejemploanterior.Hemosconfiguradoelm dulo DiskRate quese crearconlossiguientesvalores:
* * * * * * Nombre: Tasa Disco Descripcin: Tasa Lec/Esc disco Min Warning: 5 Max Warning: 10 Min Critical: 0 Max Critical: 4

Haymdulosquesegenerandeformadinmicaporejemplolosrelativosadiscosointerfacesde red.Paraestasmtricaselplugincreaunmduloporcadaelementodescubierto.Estosmdulos suelentenernombresespecialesenPandora,porejemplo:

298

MonitorizacindeentornosVMware

Disk Free [0] Disk Free [1] Disk Free [2] ...

Enestoscasoscomoelnombretienepartedinmica,sepermiteelusodelamacro%squeser sustituidaporlapartevariabledelnombredelm dulo.Unejemplodeconfiguracindemdulos dinmicosseraelsiguiente:


diskFree name = Disk (%s) free space; desc = Free space for disk; limits_warn = 0 0; limits_crit = 0 0

Enestecasoelnombredelmdulopordefectoes:
Disk Free [0]

Ypasarallamarse:
Disk (0) free space

Mtricas de rendimiento personalizadas

Enestaseccin esposibleconfigurarnuevosmdulosrelativosa Performance Counters para las mquinasvirtualesylosESX.Paraconfigurarunnuevom duloderendimientonecesitar usarla siguienteestructura:
custom_performance type = mem; metric = swapinRate; module_type = generic_data; name = Swap In Rate; desc = Swap In Rate for host; limits_warn = 0 0; limits_crit = 0 0

Losparmetrosaconfigurarson: type:tipodemtricaamonitorizar.Lostiposdemtricason: cpu:CPU mem:Memory disk:Disk net:Network sys:System metric:mtricaamonitorizar(msadelanteseexplicadndeverlasmtricasdisponibles). module_type:tipodelmdulodePandora(porejemplo:generic_data). name:nombredelmdulo. desc:descripcindelmdulo. limits_warn:lmitesparaelestadoAdvertencia. limits_crit:lmitesparaelestadoCrtico. Podrconsultarlasmtricasdisponiblesparacadatipoenelapartado Performancedecadaentidad. EstavistaseencuentradentrodelvCenterymuestralasm tricasderendimientoqueesposible monitorizar con el plugin VMware. Por ejemplo, la siguiente imagen muestra la vista de PerformanceparaunhostESX.

299

MonitorizacindeentornosVMware

Paraverellistadocompletodetodaslasmtricassegnsutipodeber hacerclickenelbotn Advanced yluegoenelboton Charoption.Ver unalistacontodos lostiposdemtricasylas respectivasmtricasdecadatipoenunaventanacomolaquemuestralasiguienteimagen.

Paracadatipodemtricaaparecernunaseriedecontadoresquesonlasvariablesquepodremos monitorizarcon Pandora. Para monitorizaruna variablenecesitamossu Internal Name.Adems necesitaremosasegurarnosqueelniveldeestadsticas,configuradoenelvCenter,permitemostrar lavariablequebuscamos,comparndoloconelcampoCollectionLeveldelamtrica.

300

MonitorizacindeentornosVMware

SiporejemploqueremosverelusodeCPUdeunhostESX,buscaremoslasvariablestipo cpupara unESXydelasdisponiblesescogeremos utilization.Lalneaquetendremosqueaadiralarchivo deconfiguracin,enestecasodentrodelaseccinESX,serlasiguiente:


custom_performance type = cpu; metric = utilization; module_type = generic_data; name = CPU Utilization; desc = CPU Utilization for ESX; limits_warn = 0 0; limits_crit = 0 0

15.2.11.2.MonitorizacindevariosDatacenterconunmismoagente
Cadamdulopluginconfiguradoenelagentemonitorizaundatacenter,porloquesisequiere monitorizarvariosdatacenterconunmismoagentesoftwaredePandoraFMSser necesariotomar lassiguientesconsideraciones. Esnecesarioaadirunamodule_pluginporcadadatacenteramonitorizar,porejemplo
module_plugin /etc/pandora/plugins/vmware-plugin.pl /etc/pandora/plugins/vmwareplugin-datacenter1.conf module_plugin /etc/pandora/plugins/vmware-plugin.pl /etc/pandora/plugins/vmwareplugin-datacenter2.conf

301

MonitorizacindeentornosVMware

Encadaarchivodeconfiguracinsernecesariocambiarlosparmetros:logfile,entities_list, event_pointer_file.Losarchivosdeconfiguracinquedarancomolossiguientes: vmwareplugindatacenter1.conf


... logfile /tmp/vmware_plugin_datacenter1.log entities_list /tmp/vmware_entities_list_datacenter1.txt event_pointer_file /tmp/vmware_events_pointer_datacenter1.txt ...

vmwareplugindatacenter2.conf
... logfile /tmp/vmware_plugin_datacenter2.log entities_list /tmp/vmware_entities_list_datacenter2.txt event_pointer_file /tmp/vmware_events_pointer_datacenter2.txt ...

Siademsdesearealizarelcopiadodeeventos,deber tenerdosmdulospluginmscon losrespectivosarchivosdeconfiguracinyactivandoelflagevent_mode.Laconfiguracinde losmodule_pluginseracomolasiguiente:


module_plugin /etc/pandora/plugins/vmware-plugin.pl plugin-datacenter1.conf module_plugin /etc/pandora/plugins/vmware-plugin.pl plugin-datacenter1-events.conf module_plugin /etc/pandora/plugins/vmware-plugin.pl plugin-datacenter2.conf module_plugin /etc/pandora/plugins/vmware-plugin.pl plugin-datacenter2-events.conf /etc/pandora/plugins/vmware/etc/pandora/plugins/vmware/etc/pandora/plugins/vmware/etc/pandora/plugins/vmware-

15.2.11.3.DividirlacargadelamonitorizacinentrevariosservidoresdePandora
Lasopcionesdelarchivodeconfiguracindelpluginpermitendistribuirlacargademonitorizaci n fcilmente entre varios servidores de Pandora FMS. Por ejemplo, supongamos que tenemos la siguienteestructuraennuestroentornodevirtualizacin:
DC | |- Datastore_1 |- DataStore_2 | |- ESX_1 |- mv1.1 |- mv1.2 |- mv1.3 |- ESX_2 |- mv2.1 |- mv2.2 |- mv2.3

EnnuestroentornodisponemosdedosservidoresdePandoraFMSpararealizarlamonitorizaci n. UnamanerasencilladedividirlacargaseramonitorizarelDatacenter,losDatastoresylosESXen
302

MonitorizacindeentornosVMware

elprimerservidorytodaslasmquinasvirtualesenelsegundo.Losarchivosdeconfiguraci ndel pluginseranlossiguientes: Servidor1:


Reject all_vm

Servidor2:
Reject all_datacenter all_datastore all_esx

El Servidor 1 monitoriza todo exceptolas mquinas virtuales y elServer 2 slo monitoriza las mquinasvirtuales. OtraformadedistribuirlacargaseradividiendolamonitorizacinporESX,elprimerservidorde PandoramonitorizartodolorelativoalprimerservidorESXyelsegundotodolopertenecienteal segundoESX.Paraellodividiremoselarchivoentities_list.txtendosarchivosyconfiguraremosdos ejecucionesdelpluginendiferentesagentes.Losarchivosentities_list.txtquedaranas: Servidor1:
Datacenter DC Datastore Datastore_1 ESX ESX_1 VM mv1.1 mv1.2 mv1.3

ElServidor1omitetodolorelacionadoconelsegundogrupodeentidadesVMware,porloquese encargademonitorizarlamitaddelentorno. Servidor2:


Datastore DataStore_2 ESX ESX_2 VM mv2.1 mv2.2 mv2.3

ElServidor2omitetodolorelacionadoconelprimergrupodeentidadesVMwareadem sdel Datacenter,yaqueestoestsiendomonitorizadoporelServidor1. Laconfiguracindeentidadesdescartadasesmuyflexibleypermitedividirlacargaasignandounas pocasentidadesacadaagentedePandoraFMS.

303

MonitorizacindeentornosVMware

15.2.11.4.Ejemplosarchivoconfiguracin
Archivo con todos los mdulos desactivados
#These lines are comments #Datacenter Modules Datacenter ping disabled check443 disabled #Datastore Modules Datastore capacity disabled freeSpace disabled overallocation disabled freeSpaceBytes disabled #ESX Modules ESX bootTime disabled cpuInfo disabled memorySize disabled overallCpuUsage disabled overallMemoryUsage disabled powerState disabled sslThumbprint disabled uptime disabled vnicInfo disabled hostAlive disabled connectionState disabled diskRead disabled diskWrite disabled diskReadLatency disabled diskWriteLatency disabled netReceived disabled netTransmitted disabled netPkgRx disabled netPkgTx disabled cpuUsagePercent disabled memoryUsagePercent disabled netUsage disabled diskRate disabled maxDiskLatency disabled haStatus disabled #VM Modules VM bootTime disabled connectionState disabled consumedOverheadMemory disabled cpuAllocation disabled diskFree disabled guestState disabled host disabled hostAlive disabled hostMemoryUsage disabled hostName disabled ipAddress disabled macAddress disabled maxCpuUsage disabled maxMemoryUsage disabled memoryAllocation disabled memoryOverhead disabled overallCpuDemand disabled

304

MonitorizacindeentornosVMware

overallCpuUsage disabled powerState disabled privateMemory disabled sharedMemory disabled toolsRunningStatus disabled triggeredAlarmState disabled virtualImagePath disabled uptimeSeconds disabled diskRead disabled diskWrite disabled diskReadLatency disabled diskWriteLatency disabled netReceived disabled netTransmitted disabled netPkgRx disabled netPkgTx disabled cpuUsagePercent disabled memoryUsagePercent disabled netUsage disabled diskRate disabled maxDiskLatency disabled heartbeat disabled cpuReady disabled snapshotCounter disabled

15.2.11.5.Tabladecorrespondenciadenombrescortos
Datacenter

Nombre expandido Nombre corto Ping Check 443 port


Datastores

ping check443

Nombre expandido Nombre corto Capacity Free Space Free Space Bytes
ESX

capacity freeSpace freeSpaceBytes

Disk Overallocation overallocation

Nombre expandido Boot Time CPU Info Memory Size Overall CPU Usage Power State

Nombre corto bootTime cpuInfo memorySize overallCpuUsage powerState


305

Overall Memory Usage overallMemoryUsage

MonitorizacindeentornosVMware

SSL Thumbprint Uptime VNIC Info Host Alive Connection State Disk Read Disk Write Disk Read Latency Disk Write Latency Data received Data transmitted Packages Received Packages Transmitted CPU Usage Memory Usage Net Usage Disk Rate Max Disk Latency HA Status
Mquinas Virtuales

sslThumbprint uptime vnicInfo hostAlive connectionState diskRead diskWrite diskReadLatency diskWriteLatency netReceived netTransmitted netPkgRx netPkgTx cpuUsagePercent memoryUsagePercent netUsage diskRate maxDiskLatency haStatus

Nombre expandido Boot Time Connection State CPU Allocation Disk Free Guest State Host Info Host Alive Host Memory Usage Host Name IP Address MAC Address Max CPU Usage Max Memory Usage Memory Allocation

Nombre corto bootTime connectionState cpuAllocation diskFree guestState host hostAlive hostMemoryUsage hostName ipAddress macAddress maxCpuUsage maxMemoryUsage memoryAllocation
306

Consumed Overhead Memory consumedOverheadMemory

MonitorizacindeentornosVMware

Memory Overhead Overall CPU Demand Overall CPU Usage Power State Private Memory Shared Memory Tools Running Status Trigger Alarm State Uptime Seconds Virtual Image Path Disk Read Disk Write Disk Read Latency Disk Write Latency Data received Data transmitted Packages Received Packages Transmitted CPU Usage Memory Usage Net Usage Disk Rate Max Disk Latency HeartBeat CPU Ready Number Snapshots HA Status 15.2.11.6.Tabladeeventos

memoryOverhead overallCpuDemand overallCpuUsage powerState privateMemory sharedMemory toolsRunningStatus triggeredAlarmState uptimeSeconds virtualImagePath diskRead diskWrite diskReadLatency diskWriteLatency netReceived netTransmitted netPkgRx netPkgTx cpuUsagePercent memoryUsagePercent netUsage diskRate maxDiskLatency heartbeat cpuReady snapshotCounter haStatus

Esta lista de eventos se facilita para hacer ms sencilla la tarea de configuracin de alertas de eventos en Pandora FMS. Para obtener una referencia completa y actualizada de todos los posibles eventos deber consultar la documentacin que VMware tenga al respecto

Evento

Tipo Severida de Gru d even po to


307

MonitorizacindeentornosVMware

An account was created on host {host.name} Account {account} was removed on host {host.name} An account was updated on host {host.name} The default password for the root user on the host {host.name} has not been changed Alarm '{alarm.name}' on {entity.name} triggered an action Created alarm '{alarm.name}' on {entity.name} Alarm '{alarm.name}' on {entity.name} sent email to {to} Alarm '{alarm.name}' on {entity.name} cannot send email to {to} Reconfigured alarm '{alarm.name}' on {entity.name} Removed alarm '{alarm.name}' on {entity.name} Alarm '{alarm.name}' on {entity.name} ran script {script} Alarm '{alarm.name}' on {entity.name} did not complete script: {reason.msg} Alarm '{alarm.name}': an SNMP trap for entity {entity.name} was sent Alarm '{alarm.name}' on entity {entity.name} did not send SNMP trap: {reason.msg} Alarm '{alarm.name}' on {entity.name} changed from {from.@enum.ManagedEntity.Status} to {to.@enum.ManagedEntity.Status} All running virtual machines are licensed User cannot logon since the user is already logged on Cannot login {userName}@{ipAddress} The operation performed on host {host.name} in {datacenter.name} was canceled Changed ownership of file name {filename} from {oldOwner} to {newOwner} on {host.name} in {datacenter.name}. Cannot change ownership of file name {filename} from {owner} to {attemptedOwner} on {host.name} in {datacenter.name}. Checked cluster for compliance

Informati onal Informati onal Informati onal Informati onal Informati onal Informati onal Informati onal Critical Informati onal Informati onal Informati onal Critical Informati onal Critical

Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m

All All All All All All All All All All All All All All

Informati Syste All onal m Informati Syste All onal m Informati Syste All onal m Syste Critical All m Informati Syste All onal m Informati Syste All onal m Syste Critical All m Informati Syste All onal m

308

MonitorizacindeentornosVMware

Created cluster {computeResource.name} in {datacenter.name} Removed cluster {computeResource.name} in datacenter {datacenter.name} Insufficient capacity in cluster {computeResource.name} to satisfy resource configuration in {datacenter.name} Reconfigured cluster {computeResource.name} in datacenter {datacenter.name} Configuration status on cluster {computeResource.name} changed from {oldStatus.@enum.ManagedEntity.Status} to {newStatus.@enum.ManagedEntity.Status} in {datacenter.name} Created new custom field definition {name}

Informati Syste All onal m Informati Syste All onal m Syste Critical All m Informati Syste All onal m Informati Syste All onal m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m All All All All All All All All All

Informati onal Informati Removed field definition {name} onal Informati Renamed field definition from {name} to {newName} onal Changed custom field {name} on {entity.name} in {datacenter.name} to Informati {value} onal Cannot complete customization of VM {vm.name}. See customization log Informati at {logLocation} on the guest OS for details. onal An error occurred while setting up Linux identity. See log file Critical '{logLocation}' on guest OS for details. An error occurred while setting up network properties of the guest OS. See Critical the log file {logLocation} in the guest OS for details. Started customization of VM {vm.name}. Customization log located at Informati {logLocation} in the guest OS. onal Customization of VM {vm.name} succeeded. Customization log located at Informati {logLocation} in the guest OS. onal The version of Sysprep {sysprepVersion} provided for customizing VM {vm.name} does not match the version of guest OS {systemVersion}. See Critical the log file {logLocation} in the guest OS for more information. An error occurred while customizing VM {vm.name}. For details reference Critical the log file {logLocation} in the guest OS. dvPort group {net.name} in {datacenter.name} was added to switch Informati {dvs.name}. onal Informati dvPort group {net.name} in {datacenter.name} was deleted. onal Informati onal Informati dvPort group {net.name} in {datacenter.name} was reconfigured. onal dvPort group {oldName} in {datacenter.name} was renamed to Informati {newName} onal HA admission control disabled on cluster {computeResource.name} in Informati {datacenter.name} onal

Syste All m Syste m Syste m Syste m Syste m Syste m Syste m Syste m All All All All All All All
309

MonitorizacindeentornosVMware

HA admission control enabled on cluster {computeResource.name} in {datacenter.name}

Informati Syste All onal m Informati Syste Re-established contact with a primary host in this HA cluster All onal m Unable to contact a primary HA agent in cluster {computeResource.name} Syste Critical All in {datacenter.name} m All hosts in the HA cluster {computeResource.name} in {datacenter.name} Syste were isolated from the network. Check the network configuration for Critical All m proper network redundancy in the management network. Informati Syste HA disabled on cluster {computeResource.name} in {datacenter.name} All onal m Informati Syste HA enabled on cluster {computeResource.name} in {datacenter.name} All onal m A possible host failure has been detected by HA on {failedHost.name} in Syste Critical All cluster {computeResource.name} in {datacenter.name} m Host {isolatedHost.name} has been isolated from cluster Syste Warning All {computeResource.name} in {datacenter.name} m Informati Syste Created datacenter {datacenter.name} in folder {parent.name} All onal m Informati Syste Renamed datacenter from {oldName} to {newName} All onal m Datastore {datastore.name} increased in capacity from {oldCapacity} Informati Syste All bytes to {newCapacity} bytes in {datacenter.name} onal m Informati Syste Removed unconfigured datastore {datastore.name} All onal m Discovered datastore {datastore.name} on {host.name} in Informati Syste All {datacenter.name} onal m Multiple datastores named {datastore} detected on host {host.name} in Syste Critical All {datacenter.name} m Informati Syste <internal> All onal m File or directory {sourceFile} copied from {sourceDatastore.name} to Informati Syste All {datastore.name} as {targetFile} onal m Informati Syste File or directory {targetFile} deleted from {datastore.name} All onal m File or directory {sourceFile} moved from {sourceDatastore.name} to Informati Syste All {datastore.name} as {targetFile} onal m Informati Syste Reconfigured Storage I/O Control on datastore {datastore.name} All onal m Configured datastore principal {datastorePrincipal} on host {host.name} in Informati Syste All {datacenter.name} onal m Removed datastore {datastore.name} from {host.name} in Informati Syste All {datacenter.name} onal m Informati Syste Renamed datastore from {oldName} to {newName} in {datacenter.name} All onal m

310

MonitorizacindeentornosVMware

Renamed datastore from {oldName} to {newName} in {datacenter.name} Disabled DRS on cluster {computeResource.name} in datacenter {datacenter.name} Enabled DRS on {computeResource.name} with automation level {behavior} in {datacenter.name} DRS put {host.name} into standby mode DRS is putting {host.name} into standby mode DRS cannot move {host.name} out of standby mode DRS moved {host.name} out of standby mode DRS is moving {host.name} out of standby mode DRS invocation not completed DRS has recovered from the failure Unable to apply DRS resource settings on host {host.name} in {datacenter.name}. {reason.msg}. This can significantly reduce the effectiveness of DRS. Resource configuration specification returns to synchronization from previous failure on host '{host.name}' in {datacenter.name} {vm.name} on {host.name} in {datacenter.name} is now compliant with DRS VM-Host affinity rules {vm.name} on {host.name} in {datacenter.name} is violating a DRS VMHost affinity rule DRS migrated {vm.name} from {sourceHost.name} to {host.name} in cluster {computeResource.name} in {datacenter.name} DRS powered On {vm.name} on {host.name} in {datacenter.name} Virtual machine {macAddress} on host {host.name} has a duplicate IP {duplicateIP} A vNetwork Distributed Switch {dvs.name} was created in {datacenter.name}. vNetwork Distributed Switch {dvs.name} in {datacenter.name} was deleted. vNetwork Distributed Switch event The vNetwork Distributed Switch {dvs.name} configuration on the host was synchronized with that of the vCenter Server. The host {hostJoined.name} joined the vNetwork Distributed Switch {dvs.name} in {datacenter.name}.

Informati onal Informati onal Informati onal Informati onal Informati onal Critical Informati onal Informati onal Critical Informati onal Critical Informati onal Informati onal Informati onal Informati onal Informati onal Informati onal Informati onal Informati onal Informati onal Informati onal Informati onal

Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m

All All All All All All All All All All

Syste All m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m All All All All All All All All All All All

311

MonitorizacindeentornosVMware

The host {hostLeft.name} left the vNetwork Distributed Switch {dvs.name} in {datacenter.name}. The host {hostMember.name} changed status on the vNetwork Distributed Switch {dvs.name} in {datacenter.name}. The vNetwork Distributed Switch {dvs.name} configuration on the host differed from that of the vCenter Server. vNetwork Distributed Switch {srcDvs.name} was merged into {dstDvs.name} in {datacenter.name}. dvPort {portKey} was blocked in the vNetwork Distributed Switch {dvs.name} in {datacenter.name}. The port {portKey} was connected in the vNetwork Distributed Switch {dvs.name} in {datacenter.name} New ports were created in the vNetwork Distributed Switch {dvs.name} in {datacenter.name}. Deleted ports in the vNetwork Distributed Switch {dvs.name} in {datacenter.name}. The dvPort {portKey} was disconnected in the vNetwork Distributed Switch {dvs.name} in {datacenter.name}. dvPort {portKey} entered passthrough mode in the vNetwork Distributed Switch {dvs.name} in {datacenter.name}. dvPort {portKey} exited passthrough mode in the vNetwork Distributed Switch {dvs.name} in {datacenter.name}. dvPort {portKey} was moved into the dvPort group {portgroupName} in {datacenter.name}. dvPort {portKey} was moved out of the dvPort group {portgroupName} in {datacenter.name}. The port {portKey} link was down in the vNetwork Distributed Switch {dvs.name} in {datacenter.name} The port {portKey} link was up in the vNetwork Distributed Switch {dvs.name} in {datacenter.name} Reconfigured ports in the vNetwork Distributed Switch {dvs.name} in {datacenter.name}. dvPort {portKey} was unblocked in the vNetwork Distributed Switch {dvs.name} in {datacenter.name}. The vNetwork Distributed Switch {dvs.name} in {datacenter.name} was reconfigured. The vNetwork Distributed Switch {oldName} in {datacenter.name} was renamed to {newName}. An upgrade for the vNetwork Distributed Switch {dvs.name} in datacenter {datacenter.name} is available. An upgrade for the vNetwork Distributed Switch {dvs.name} in datacenter {datacenter.name} is in progress. Cannot complete an upgrade for the vNetwork Distributed Switch {dvs.name} in datacenter {datacenter.name} vNetwork Distributed Switch {dvs.name} in datacenter {datacenter.name}

Informati Syste All onal m Informati Syste All onal m Syste Warning All m Informati Syste All onal m Informati Syste All onal m Informati Syste All onal m Informati Syste All onal m Informati Syste All onal m Informati Syste All onal m Informati Syste All onal m Informati Syste All onal m Informati Syste All onal m Informati Syste All onal m Informati Syste All onal m Informati Syste All onal m Informati Syste All onal m Informati Syste All onal m Informati Syste All onal m Informati Syste All onal m Informati Syste All onal m Informati Syste All onal m Informati Syste All onal m Informati Syste All
312

MonitorizacindeentornosVMware

was upgraded. Host {host.name} in {datacenter.name} has entered maintenance mode The host {host.name} is in standby mode Host {host.name} in {datacenter.name} has started to enter maintenance mode The host {host.name} is entering standby mode {message} Host {host.name} in {datacenter.name} has exited maintenance mode The host {host.name} could not exit standby mode The host {host.name} is no longer in standby mode The host {host.name} is exiting standby mode Sufficient resources are available to satisfy HA failover level in cluster {computeResource.name} in {datacenter.name} General event: {message} Error detected on {host.name} in {datacenter.name}: {message} Issue detected on {host.name} in {datacenter.name}: {message} Issue detected on {host.name} in {datacenter.name}: {message} User logged event: {message} Error detected for {vm.name} on {host.name} in {datacenter.name}: {message} Issue detected for {vm.name} on {host.name} in {datacenter.name}: {message} Issue detected for {vm.name} on {host.name} in {datacenter.name}: {message} The vNetwork Distributed Switch corresponding to the proxy switches {switchUuid} on the host {host.name} does not exist in vCenter Server or does not contain this host. A ghost proxy switch {switchUuid} on the host {host.name} was resolved. The message changed: {message} {componentName} status changed from {oldStatus} to {newStatus}

onal Informati onal Informati onal Informati onal Informati onal Critical Informati onal Critical Informati onal Informati onal Informati onal Informati onal Critical Informati onal Warning Informati onal Critical Informati onal Warning

m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m

All All All All All All All All All All All All All All All All All All

Informati Syste All onal m Informati Syste All onal m Informati Syste All onal m Informati Syste All
313

MonitorizacindeentornosVMware

onal Cannot add host {hostname} to datacenter {datacenter.name} Added host {host.name} to datacenter {datacenter.name} Administrator access to the host {host.name} is disabled Administrator access to the host {host.name} has been restored Cannot connect {host.name} in {datacenter.name}: cannot configure management account Cannot connect {host.name} in {datacenter.name}: already managed by {serverName} Cannot connect host {host.name} in {datacenter.name} : server agent is not responding Cannot connect {host.name} in {datacenter.name}: incorrect user name or password Cannot connect {host.name} in {datacenter.name}: incompatible version Cannot connect host {host.name} in {datacenter.name}. Did not install or upgrade vCenter agent service. Cannot connect {host.name} in {datacenter.name}: error connecting to host Cannot connect {host.name} in {datacenter.name}: network error Cannot connect host {host.name} in {datacenter.name}: account has insufficient privileges Cannot connect host {host.name} in {datacenter.name} Cannot connect {host.name} in {datacenter.name}: not enough CPU licenses Cannot connect {host.name} in {datacenter.name}: incorrect host name Cannot connect {host.name} in {datacenter.name}: time-out waiting for host response Host {host.name} checked for compliance. Host {host.name} is in compliance with the attached profile Host configuration changes applied. Connected to {host.name} in {datacenter.name} Host {host.name} in {datacenter.name} is not responding Critical Informati onal Warning Warning Critical Critical Critical Critical Critical Critical Critical Critical Critical Critical Critical Critical Critical Informati onal Informati onal Informati onal Informati onal Critical

m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m

All All All All All All All All All All All All All All All All All All All All All All

314

MonitorizacindeentornosVMware

Syste m HA agent disabled on {host.name} in cluster {computeResource.name} in Syste {datacenter.name} m HA is being disabled on {host.name} in cluster {computeResource.name} Syste in datacenter {datacenter.name} m HA agent enabled on {host.name} in cluster {computeResource.name} in Syste {datacenter.name} m Enabling HA agent on {host.name} in cluster {computeResource.name} in Syste Warning {datacenter.name} m HA agent on {host.name} in cluster {computeResource.name} in Syste {datacenter.name} has an error {message}: Critical m {reason.@enum.HostDasErrorEvent.HostDasErrorReason} HA agent on host {host.name} in cluster {computeResource.name} in Informati Syste {datacenter.name} is configured correctly onal m Disconnected from {host.name} in {datacenter.name}. Reason: Informati Syste {reason.@enum.HostDisconnectedEvent.ReasonCode} onal m Syste Cannot restore some administrator permissions to the host {host.name} Critical m Host {host.name} has the following extra networks not used by other hosts Syste for HA communication:{ips}. Consider using HA advanced option Critical m das.allowNetwork to control network usage Cannot complete command 'hostname -s' on host {host.name} or returned Syste Critical incorrect name format m Maximum ({capacity}) number of hosts allowed for this edition of vCenter Syste Critical Server has been reached m The virtual machine inventory file on host {host.name} is damaged or Informati Syste unreadable. onal m Informati Syste IP address of the host {host.name} changed from {oldIP} to {newIP} onal m Configuration of host IP address is inconsistent on host {host.name}: Syste Critical address resolved to {ipAddress} and {ipAddress2} m Syste Cannot resolve IP address to short name on host {host.name} Critical m Syste Host {host.name} could not reach isolation address: {isolationIp} Critical m Syste A host license for {host.name} has expired Critical m Host {host.name} does not have the following networks used by other Syste hosts for HA communication:{ips}. Consider using HA advanced option Critical m das.allowNetwork to control network usage Host monitoring state in {computeResource.name} in {datacenter.name} Informati Syste changed to {state.@enum.DasConfigInfo.ServiceState} onal m Host {host.name} currently has no available networks for HA Syste Critical Communication. The following networks are currently used by HA: {ips} m Host {host.name} has no port groups enabled for HA communication. Critical Syste dvPort connected to host {host.name} in {datacenter.name} changed status

Informati onal Informati onal Informati onal Informati onal

All All All All All All All All All All All All All All All All All All All All All All
315

MonitorizacindeentornosVMware

Host {host.name} currently has no management network redundancy Host {host.name} is not in compliance with the attached profile Host {host.name} is not a cluster member in {datacenter.name} Insufficient capacity in host {computeResource.name} to satisfy resource configuration in {datacenter.name} Primary agent {primaryAgent} was not specified as a short name to host {host.name} Profile is applied on the host {host.name} Cannot reconnect to {host.name} in {datacenter.name} Removed host {host.name} in {datacenter.name} Host names {shortName} and {shortName2} both resolved to the same IP address. Check the host's network configuration and DNS entries

Critical Critical Critical Critical Critical Informati onal Critical Informati onal Critical

Cannot resolve short name {shortName} to IP address on host {host.name} Critical Shut down of {host.name} in {datacenter.name}: {reason} Configuration status on host {computeResource.name} changed from {oldStatus.@enum.ManagedEntity.Status} to {newStatus.@enum.ManagedEntity.Status} in {datacenter.name} Cannot synchronize host {host.name}. {reason.msg} Cannot install or upgrade vCenter agent service on {host.name} in {datacenter.name} The userworld swap is not enabled on the host {host.name} Informati onal

m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m

All All All All All All All All All All All

Informati Syste All onal m Syste All m Syste Critical All m Syste Warning All m Critical

Host {host.name} vNIC {vnic.vnic} was reconfigured to use dvPort Informati Syste {vnic.port.portKey} with port level configuration, which might be different All onal m from the dvPort group. Syste WWNs are changed for {host.name} Warning All m The WWN ({wwn}) of {host.name} conflicts with the currently registered Syste Critical All WWN m Host {host.name} did not provide the information needed to acquire the Syste Critical All correct set of licenses m Informati Syste {message} All onal m Insufficient resources to satisfy HA failover level on cluster Syste Critical All {computeResource.name} in {datacenter.name} m

316

MonitorizacindeentornosVMware

The license edition '{feature}' is invalid License {feature.featureName} has expired License inventory is not compliant. Licenses are overused Unable to acquire licenses due to a restriction in the option file on the license server. License server {licenseServer} is available License server {licenseServer} is unavailable Created local datastore {datastore.name} on {host.name} in {datacenter.name} The Local Tech Support Mode for the host {host.name} has been enabled

Critical Critical Critical Critical Informati onal Critical Informati onal Informati onal

Datastore {datastore} which is configured to back the locker does not exist Warning Locker was reconfigured from {oldDatastore} to {newDatastore} datastore Unable to migrate {vm.name} from {host.name} in {datacenter.name}: {fault.msg} Unable to migrate {vm.name} from {host.name} to {dstHost.name} in {datacenter.name}: {fault.msg} Migration of {vm.name} from {host.name} to {dstHost.name} in {datacenter.name}: {fault.msg} Cannot migrate {vm.name} from {host.name} to {dstHost.name} and resource pool {dstPool.name} in {datacenter.name}: {fault.msg} Migration of {vm.name} from {host.name} to {dstHost.name} and resource pool {dstPool.name} in {datacenter.name}: {fault.msg} Migration of {vm.name} from {host.name} in {datacenter.name}: {fault.msg} Created NAS datastore {datastore.name} on {host.name} in {datacenter.name} Cannot login user {userName}@{ipAddress}: no permission No datastores have been configured on the host {host.name} A required license {feature.featureName} is not reserved Unable to automatically migrate {vm.name} from {host.name} Non-VI workload detected on datastore {datastore.name} Informati onal Critical Critical Warning Critical Warning Warning Informati onal Critical Informati onal Critical Informati onal Critical

Not enough resources to failover {vm.name} in {computeResource.name} Informati

Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste

All All All All All All All All All All All All All All All All All All All All All All All
317

MonitorizacindeentornosVMware

in {datacenter.name} The vNetwork Distributed Switch configuration on some hosts differed from that of the vCenter Server. Permission created for {principal} on {entity.name}, role is {role.name}, propagation is {propagate.@enum.auth.Permission.propagate} Permission rule removed for {principal} on {entity.name} Permission changed for {principal} on {entity.name}, role is {role.name}, propagation is {propagate.@enum.auth.Permission.propagate} Profile {profile.name} attached. Profile {profile.name} was changed. Profile is created. Profile {profile.name} detached. Profile {profile.name} reference host changed. Profile was removed. Remote Tech Support Mode (SSH) for the host {host.name} has been enabled Created resource pool {resourcePool.name} in compute-resource {computeResource.name} in {datacenter.name} Removed resource pool {resourcePool.name} on {computeResource.name} in {datacenter.name} Moved resource pool {resourcePool.name} from {oldParent.name} to {newParent.name} on {computeResource.name} in {datacenter.name} Updated configuration for {resourcePool.name} in compute-resource {computeResource.name} in {datacenter.name} Resource usage exceeds configuration for resource pool {resourcePool.name} in compute-resource {computeResource.name} in {datacenter.name} New role {role.name} created Role {role.name} removed Modifed role {role.name} Task {scheduledTask.name} on {entity.name} in {datacenter.name} completed successfully Created task {scheduledTask.name} on {entity.name} in {datacenter.name} Task {scheduledTask.name} on {entity.name} in {datacenter.name} sent

onal Warning Informati onal Informati onal Informati onal Informati onal Informati onal Informati onal Informati onal Informati onal Informati onal Informati onal Informati onal Informati onal Informati onal Informati onal Critical Informati onal Informati onal Informati onal Informati onal Informati onal Informati

m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m

All All All All All All All All All All All All All All All

Syste All m Syste m Syste m Syste m Syste m Syste m Syste All All All All All All
318

MonitorizacindeentornosVMware

email to {to} Task {scheduledTask.name} on {entity.name} in {datacenter.name} cannot send email to {to}: {reason.msg} Task {scheduledTask.name} on {entity.name} in {datacenter.name} cannot be completed: {reason.msg} Reconfigured task {scheduledTask.name} on {entity.name} in {datacenter.name} Removed task {scheduledTask.name} on {entity.name} in {datacenter.name} Running task {scheduledTask.name} on {entity.name} in {datacenter.name} A vCenter Server license has expired vCenter started A session for user '{terminatedUsername}' has stopped Task: {info.descriptionId} Task: {info.descriptionId} time-out Upgrading template {legacyTemplate} Cannot upgrade template {legacyTemplate} due to: {reason.msg} Template {legacyTemplate} upgrade completed The operation performed on {host.name} in {datacenter.name} timed out There are {unlicensed} unlicensed virtual machines on host {host} - there are only {available} licenses available {unlicensed} unlicensed virtual machines found on host {host} The agent on host {host.name} is updated and will soon restart User {userLogin} was added to group {group} User {userName}@{ipAddress} logged in User {userName} logged out Password was changed for account {userLogin} on host {host.name} User {userLogin} removed from group {group}

onal Critical Critical Informati onal Informati onal Informati onal Critical Informati onal Informati onal Informati onal Informati onal Informati onal Informati onal Informati onal Warning Informati onal Informati onal Informati onal Informati onal Informati onal Informati onal Informati onal Informati onal

m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m

All All All All All All All All All All All All All All All All All All All All All All

319

MonitorizacindeentornosVMware

{message} Created VMFS datastore {datastore.name} on {host.name} in {datacenter.name} Expanded VMFS datastore {datastore.name} on {host.name} in {datacenter.name} Extended VMFS datastore {datastore.name} on {host.name} in {datacenter.name} A vMotion license for {host.name} has expired Cannot uninstall vCenter agent from {host.name} in {datacenter.name}. {reason.@enum.fault.AgentInstallFailed.Reason} vCenter agent has been uninstalled from {host.name} in {datacenter.name} Cannot upgrade vCenter agent on {host.name} in {datacenter.name}. {reason.@enum.fault.AgentInstallFailed.Reason} vCenter agent has been upgraded on {host.name} in {datacenter.name} VIM account password was changed on host {host.name} Remote console to {vm.name} on {host.name} in {datacenter.name} has been opened A ticket for {vm.name} of type {ticketType} on {host.name} in {datacenter.name} has been acquired Invalid name for {vm.name} on {host.name} in {datacenter.name}. Renamed from {oldName} to {newName} Cloning {vm.name} on host {host.name} in {datacenter.name} to {destName} on host {destHost.name} Cloning {vm.name} on host {host.name} in {datacenter.name} to {destName} on host {destHost.name} Creating {vm.name} on host {host.name} in {datacenter.name} Deploying {vm.name} on host {host.name} in {datacenter.name} from template {srcTemplate.name} Migrating {vm.name} from {host.name} to {destHost.name} in {datacenter.name} Relocating {vm.name} from {host.name} to {destHost.name} in {datacenter.name} Relocating {vm.name} in {datacenter.name} from {host.name} to {destHost.name} Cannot clone {vm.name}: {reason.msg} Clone of {sourceVm.name} completed Configuration file for {vm.name} on {host.name} in {datacenter.name}

Informati onal Informati onal Informati onal Informati onal Critical Critical Informati onal Critical Informati onal Informati onal Informati onal Informati onal Informati onal Informati onal Informati onal Informati onal Informati onal Informati onal Informati onal Informati onal Critical Informati onal Informati

Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste

All All All All All All All All All All All All All All All All All All All All All All All
320

MonitorizacindeentornosVMware

cannot be found

onal m Informati Syste Virtual machine {vm.name} is connected All onal m Informati Syste Created virtual machine {vm.name} on {host.name} in {datacenter.name} All onal m dvPort connected to VM {vm.name} on {host.name} in {datacenter.name} Informati Syste All changed status onal m {vm.name} on {host.name} in cluster {computeResource.name} in Informati Syste {datacenter.name} reset by HA. Reason: All onal m {reason.@enum.VmDasBeingResetEvent.ReasonCode} {vm.name} on {host.name} in cluster {computeResource.name} in {datacenter.name} reset by HA. Reason: Informati Syste All {reason.@enum.VmDasBeingResetEvent.ReasonCode}. A screenshot is onal m saved at {screenshotFilePath}. Cannot reset {vm.name} on {host.name} in cluster Syste Warning All {computeResource.name} in {datacenter.name} m Syste Unable to update HA agents given the state of {vm.name} Critical All m Informati Syste HA agents have been updated with the current state of the virtual machine All onal m Disconnecting all hosts as the date of virtual machine {vm.name} has been Syste Critical All rolled back m Syste Cannot deploy template: {reason.msg} Critical All m Informati Syste Template {srcTemplate.name} deployed on host {host.name} All onal m Informati Syste {vm.name} on host {host.name} in {datacenter.name} is disconnected All onal m Informati Syste Discovered {vm.name} on {host.name} in {datacenter.name} All onal m Syste Cannot create virtual disk {disk} Critical All m Informati Syste Migrating {vm.name} off host {host.name} in {datacenter.name} All onal m Informati Syste End a recording session on {vm.name} All onal m Informati Syste End a replay session on {vm.name} All onal m Cannot migrate {vm.name} from {host.name} to {destHost.name} in Syste Critical All {datacenter.name} m Cannot complete relayout {vm.name} on {host.name} in Syste Critical All {datacenter.name}: {reason.msg} m Cannot complete relayout for virtual machine {vm.name} which has disks Syste Critical All on a VMFS2 volume. m vCenter cannot start the Secondary VM {vm.name}. Reason: Syste Critical All {reason.@enum.VmFailedStartingSecondaryEvent.FailureReason} m
321

MonitorizacindeentornosVMware

Cannot power Off {vm.name} on {host.name} in {datacenter.name}: {reason.msg} Cannot power On {vm.name} on {host.name} in {datacenter.name}. {reason.msg} Cannot reboot the guest OS for {vm.name} on {host.name} in {datacenter.name}. {reason.msg} Cannot suspend {vm.name} on {host.name} in {datacenter.name}: {reason.msg} {vm.name} cannot shut down the guest OS on {host.name} in {datacenter.name}: {reason.msg} {vm.name} cannot standby the guest OS on {host.name} in {datacenter.name}: {reason.msg} Cannot suspend {vm.name} on {host.name} in {datacenter.name}: {reason.msg} vCenter cannot update the Secondary VM {vm.name} configuration Failover unsuccessful for {vm.name} on {host.name} in cluster {computeResource.name} in {datacenter.name}. Reason: {reason.msg} Fault Tolerance state on {vm.name} changed from {oldState.@enum.VirtualMachine.FaultToleranceState} to {newState.@enum.VirtualMachine.FaultToleranceState} Fault Tolerance protection has been turned off for {vm.name}

Critical Critical Critical Critical Critical Critical Critical Critical Warning

Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m

All All All All All All All All All

Informati Syste All onal m Informati Syste All onal m Syste All m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m All All All All All All All All All All
322

The Fault Tolerance VM ({vm.name}) has been terminated. Informati {reason.@enum.VmFaultToleranceVmTerminatedEvent.TerminateReason onal } Informati Guest OS reboot for {vm.name} on {host.name} in {datacenter.name} onal Informati Guest OS shut down for {vm.name} on {host.name} in {datacenter.name} onal Informati Guest OS standby for {vm.name} on {host.name} in {datacenter.name} onal VM monitoring state in {computeResource.name} in {datacenter.name} Informati changed to {state.@enum.DasConfigInfo.VmMonitoringState} onal Informati Assign a new instance UUID ({instanceUuid}) to {vm.name} onal The instance UUID of {vm.name} has been changed from Informati ({oldInstanceUuid}) to ({newInstanceUuid}) onal The instance UUID ({instanceUuid}) of {vm.name} conflicts with the Critical instance UUID assigned to {conflictedVm.name} Informati New MAC address ({mac}) assigned to adapter {adapter} for {vm.name} onal Changed MAC address from {oldMac} to {newMac} for adapter {adapter} Warning for {vm.name} The MAC address ({mac}) of {vm.name} conflicts with MAC assigned to Critical {conflictedVm.name}

MonitorizacindeentornosVMware

Reached maximum Secondary VM (with FT turned On) restart count for {vm.name} on {host.name} in cluster {computeResource.name} in {datacenter.name}. Reached maximum VM restart count for {vm.name} on {host.name} in cluster {computeResource.name} in {datacenter.name}. Error message on {vm.name} on {host.name} in {datacenter.name}: {message} Message on {vm.name} on {host.name} in {datacenter.name}: {message} Warning message on {vm.name} on {host.name} in {datacenter.name}: {message} Migration of virtual machine {vm.name} from {sourceHost.name} to {host.name} completed No compatible host for the Secondary VM {vm.name} Not all networks for {vm.name} are accessible by {destHost.name} {vm.name} does not exist on {host.name} in {datacenter.name} {vm.name} was powered Off on the isolated host {isolatedHost.name} in cluster {computeResource.name} in {datacenter.name} {vm.name} on {host.name} in {datacenter.name} is powered off {vm.name} on {host.name} in {datacenter.name} is powered on

Warning Warning Critical Informati onal Warning Informati onal Critical Warning Warning Informati onal Informati onal Informati onal

Syste All m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m Syste m All All All All All All All All All All All

Virtual machine {vm.name} powered On with vNICs connected to dvPorts Informati Syste that have a port level configuration, which might be different from the All onal m dvPort group configuration. VM ({vm.name}) failed over to {host.name}. Syste Critical All {reason.@enum.VirtualMachine.NeedSecondaryReason} m Informati Syste Reconfigured {vm.name} on {host.name} in {datacenter.name} All onal m Informati Syste Registered {vm.name} on {host.name} in {datacenter.name} All onal m Informati Syste Relayout of {vm.name} on {host.name} in {datacenter.name} completed All onal m {vm.name} on {host.name} in {datacenter.name} is in the correct format Informati Syste All and relayout is not necessary onal m {vm.name} on {host.name} reloaded from new configuration Informati Syste All {configPath}. onal m Syste {vm.name} on {host.name} could not be reloaded from {configPath}. Critical All m Syste Cannot relocate virtual machine '{vm.name}' in {datacenter.name} Critical All m Informati Syste Completed the relocation of the virtual machine All onal m
323

MonitorizacindeentornosVMware

Remote console connected to {vm.name} on host {host.name} Remote console disconnected from {vm.name} on host {host.name} Removed {vm.name} on {host.name} from {datacenter.name} Renamed {vm.name} from {oldName} to {newName} in {datacenter.name} {vm.name} on {host.name} in {datacenter.name} is reset Moved {vm.name} from resource pool {oldParent.name} to {newParent.name} in {datacenter.name} Changed resource allocation for {vm.name} Virtual machine {vm.name} was restarted on {host.name} since {sourceHost.name} failed {vm.name} on {host.name} in {datacenter.name} is resumed A Secondary VM has been added for {vm.name} vCenter disabled Fault Tolerance on VM '{vm.name}' because the Secondary VM could not be powered On. Disabled Secondary VM for {vm.name} Enabled Secondary VM for {vm.name} Started Secondary VM for {vm.name} {vm.name} was shut down on the isolated host {isolatedHost.name} in cluster {computeResource.name} in {datacenter.name}: {shutdownResult.@enum.VmShutdownOnIsolationEvent.Operation} Start a recording session on {vm.name} Start a replay session on {vm.name} {vm.name} on host {host.name} in {datacenter.name} is starting Starting Secondary VM for {vm.name} The static MAC address ({mac}) of {vm.name} conflicts with MAC assigned to {conflictedVm.name} {vm.name} on {host.name} in {datacenter.name} is stopping {vm.name} on {host.name} in {datacenter.name} is suspended

Informati Syste All onal m Informati Syste All onal m Informati Syste All onal m Syste Warning All m Informati Syste All onal m Informati Syste All onal m Informati Syste All onal m Informati Syste All onal m Informati Syste All onal m Informati Syste All onal m Syste Critical All m Informati Syste All onal m Informati Syste All onal m Informati Syste All onal m Informati Syste All onal m Informati onal Informati onal Informati onal Informati onal Syste m Syste m Syste m Syste m Syste Critical m Informati Syste onal m Informati Syste onal m All All All All All All All

324

MonitorizacindeentornosVMware

Informati Syste All onal m Syste Starting the Secondary VM {vm.name} timed out within {timeout} ms Critical All m Unsupported guest OS {guestId} for {vm.name} on {host.name} in Syste Warning All {datacenter.name} m Informati Syste Virtual hardware upgraded to version {version} All onal m Syste Cannot upgrade virtual hardware Critical All m Upgrading virtual hardware on {vm.name} in {datacenter.name} to version Informati Syste All {version} onal m Assigned new BIOS UUID ({uuid}) to {vm.name} on {host.name} in Informati Syste All {datacenter.name} onal m Changed BIOS UUID from {oldUuid} to {newUuid} for {vm.name} on Syste Warning All {host.name} in {datacenter.name} m BIOS ID ({uuid}) of {vm.name} conflicts with that of Syste Critical All {conflictedVm.name} m Informati Syste New WWNs assigned to {vm.name} All onal m Syste WWNs are changed for {vm.name} Warning All m The WWN ({wwn}) of {vm.name} conflicts with the currently registered Syste Critical All WWN m Syste {message} Warning All m Booting from iSCSI failed with an error. See the VMware Knowledge Syste Warning All Base for information on configuring iBFT networking. m com.vmware.license.AddLicenseEvent|License {licenseKey} added to Informati Syste All VirtualCenter onal m com.vmware.license.AssignLicenseEvent|License {licenseKey} assigned Informati Syste All to asset {entityName} with id {entityId} onal m com.vmware.license.DLFDownloadFailedEvent|Failed to download license information from the host {hostname} due to Syste Warning All {errorReason.@enum.com.vmware.license.DLFDownloadFailedEvent.DL m FDownloadFailedReason} com.vmware.license.LicenseAssignFailedEvent|License assignment on the Informati Syste host fails. Reasons: All onal m {errorMessage.@enum.com.vmware.license.LicenseAssignError}. com.vmware.license.LicenseExpiryEvent|Your host license will expire in Syste {remainingDays} days. The host will be disconnected from VC when its Warning All m license expires. com.vmware.license.LicenseUserThresholdExceededEvent|Current license Syste usage ({currentUsage} {costUnitText}) for {edition} exceeded the userWarning All m defined threshold ({threshold} {costUnitText}) com.vmware.license.RemoveLicenseEvent|License {licenseKey} removed Informati Syste All {vm.name} on {host.name} in {datacenter.name} is being suspended
325

MonitorizacindeentornosVMware

from VirtualCenter com.vmware.license.UnassignLicenseEvent|License unassigned from asset {entityName} with id {entityId} com.vmware.vc.HA.ClusterFailoverActionCompletedEvent|HA completed a failover action in cluster {computeResource.name} in datacenter {datacenter.name} com.vmware.vc.HA.ClusterFailoverActionInitiatedEvent|HA initiated a failover action in cluster {computeResource.name} in datacenter {datacenter.name} com.vmware.vc.HA.DasAgentRunningEvent|HA Agent on host {host.name} in cluster {computeResource.name} in datacenter {datacenter.name} is running com.vmware.vc.HA.DasFailoverHostFailedEvent|HA failover host {host.name} in cluster {computeResource.name} in {datacenter.name} has failed com.vmware.vc.HA.DasHostCompleteDatastoreFailureEvent|All shared datastores failed on the host {hostName} in cluster {computeResource.name} in {datacenter.name} com.vmware.vc.HA.DasHostCompleteNetworkFailureEvent|All VM networks failed on the host {hostName} in cluster {computeResource.name} in {datacenter.name} com.vmware.vc.HA.DasHostFailedEvent|A possible host failure has been detected by HA on host {host.name} in cluster {computeResource.name} in datacenter {datacenter.name} com.vmware.vc.HA.DasHostMonitoringDisabledEvent|No virtual machine failover will occur until Host Monitoring is enabled in cluster {computeResource.name} in {datacenter.name} com.vmware.vc.HA.DasTotalClusterFailureEvent|HA recovered from a total cluster failure in cluster {computeResource.name} in datacenter {datacenter.name} com.vmware.vc.HA.HostDasAgentHealthyEvent|HA Agent on host {host.name} in cluster {computeResource.name} in datacenter {datacenter.name} is healthy com.vmware.vc.HA.HostDasErrorEvent|HA agent on {host.name} in cluster {computeResource.name} in {datacenter.name} has an error: {reason.@enum.HostDasErrorEvent.HostDasErrorReason} com.vmware.vc.VCHealthStateChangedEvent|vCenter Service overall health changed from '{oldState}' to '{newState}' com.vmware.vc.cim.CIMGroupHealthStateChanged|Health of [data.group] changed from [data.oldState] to [data.newState]. com.vmware.vc.datastore.UpdateVmFilesFailedEvent|Failed to update VM files on datastore {ds.name} using host {hostName} com.vmware.vc.datastore.UpdatedVmFilesEvent|Updated VM files on datastore {ds.name} using host {hostName} com.vmware.vc.datastore.UpdatingVmFilesEvent|Updating VM files on datastore {ds.name} using host {hostName}

onal m Informati Syste All onal m Informati Syste All onal m Warning Syste All m

Informati Syste All onal m Critical Syste All m Syste All m Syste All m Syste All m Syste All m Syste All m

Critical

Critical

Critical

Warning

Warning

Informati Syste All onal m Critical Syste All m

Informati Syste All onal m Informati Syste All onal m Syste Critical All m Informati Syste All onal m Informati Syste All onal m

326

MonitorizacindeentornosVMware

com.vmware.vc.ft.VmAffectedByDasDisabledEvent|VMware HA has been disabled in cluster {computeResource.name} of datacenter {datacenter.name}. HA will not restart VM {vm.name} or its Secondary VM after a failure. com.vmware.vc.npt.VmAdapterEnteredPassthroughEvent|Network passthrough is active on adapter {deviceLabel} of virtual machine {vm.name} on host {host.name} in {datacenter.name} com.vmware.vc.npt.VmAdapterExitedPassthroughEvent|Network passthrough is inactive on adapter {deviceLabel} of virtual machine {vm.name} on host {host.name} in {datacenter.name} com.vmware.vc.vcp.FtDisabledVmTreatAsNonFtEvent|HA VM Component Protection protects virtual machine {vm.name} on {host.name} in cluster {computeResource.name} in datacenter {datacenter.name} as non-FT virtual machine because the FT state is disabled com.vmware.vc.vcp.FtFailoverEvent|FT Primary VM {vm.name} on host {host.name} in cluster {computeResource.name} in datacenter {datacenter.name} is going to fail over to Secondary VM due to component failure com.vmware.vc.vcp.FtFailoverFailedEvent|FT virtual machine {vm.name} on host {host.name} in cluster {computeResource.name} in datacenter {datacenter.name} failed to failover to secondary com.vmware.vc.vcp.FtSecondaryRestartEvent|HA VM Component Protection is restarting FT secondary virtual machine {vm.name} on host {host.name} in cluster {computeResource.name} in datacenter {datacenter.name} due to component failure com.vmware.vc.vcp.FtSecondaryRestartFailedEvent|FT Secondary VM {vm.name} on host {host.name} in cluster {computeResource.name} in datacenter {datacenter.name} failed to restart com.vmware.vc.vcp.NeedSecondaryFtVmTreatAsNonFtEvent|HA VM Component Protection protects virtual machine {vm.name} on host {host.name} in cluster {computeResource.name} in datacenter {datacenter.name} as non-FT virtual machine because it has been in the needSecondary state too long com.vmware.vc.vcp.TestEndEvent|VM Component Protection test ends on host {host.name} in cluster {computeResource.name} in datacenter {datacenter.name} com.vmware.vc.vcp.TestStartEvent|VM Component Protection test starts on host {host.name} in cluster {computeResource.name} in datacenter {datacenter.name} com.vmware.vc.vcp.VcpNoActionEvent|HA VM Component Protection did not take action on virtual machine {vm.name} on host {host.name} in cluster {computeResource.name} in datacenter {datacenter.name} due to the feature configuration setting com.vmware.vc.vcp.VmDatastoreFailedEvent|Virtual machine {vm.name} on host {host.name} in cluster {computeResource.name} in datacenter {datacenter.name} lost access to {datastore}

Warning

Syste All m

Informati Syste All onal m Informati Syste All onal m

Informati Syste All onal m

Informati Syste All onal m Syste All m

Critical

Informati Syste All onal m Syste All m

Critical

Informati Syste All onal m

Informati Syste All onal m Informati Syste All onal m Informati Syste All onal m Syste All m

Critical

327

MonitorizacindeentornosVMware

com.vmware.vc.vcp.VmNetworkFailedEvent|Virtual machine {vm.name} on host {host.name} in cluster {computeResource.name} in datacenter {datacenter.name} lost access to {network} com.vmware.vc.vcp.VmPowerOffHangEvent|HA VM Component Protection could not power off virtual machine {vm.name} on host {host.name} in cluster {computeResource.name} in datacenter {datacenter.name} successfully after trying {numTimes} times and will keep trying com.vmware.vc.vcp.VmRestartEvent|HA VM Component Protection is restarting virtual machine {vm.name} due to component failure on host {host.name} in cluster {computeResource.name} in datacenter {datacenter.name} com.vmware.vc.vcp.VmRestartFailedEvent|Virtual machine {vm.name} affected by component failure on host {host.name} in cluster {computeResource.name} in datacenter {datacenter.name} failed to restart com.vmware.vc.vcp.VmWaitForCandidateHostEvent|HA VM Component Protection could not find a destination host for virtual machine {vm.name} on host {host.name} in cluster {computeResource.name} in datacenter {datacenter.name} after waiting {numSecWait} seconds and will keep trying com.vmware.vc.vmam.AppMonitoringNotSupported|Application monitoring is not supported on {host.name} in cluster {computeResource.name} in {datacenter.name} com.vmware.vc.vmam.VmAppHealthMonitoringStateChangedEvent| Application heartbeat status changed to {status} for {vm.name} on {host.name} in cluster {computeResource.name} in {datacenter.name} com.vmware.vc.vmam.VmDasAppHeartbeatFailedEvent|Application heartbeat failed for {vm.name} on {host.name} in cluster {computeResource.name} in {datacenter.name} esx.clear.net.connectivity.restored|Network connectivity restored on virtual switch {1}, portgroups: {2}. Physical NIC {3} is up. esx.clear.net.dvport.connectivity.restored|Network connectivity restored on DVPorts: {1}. Physical NIC {2} is up. esx.clear.net.dvport.redundancy.restored|Uplink redundancy restored on DVPorts: {1}. Physical NIC {2} is up. esx.clear.net.redundancy.restored|Uplink redundancy restored on virtual switch {1}, portgroups: {2}. Physical NIC {3} is up. esx.clear.net.vmnic.linkstate.up|Physical NIC {1} linkstate is up. esx.clear.storage.connectivity.restored|Connectivity to storage device {1} (Datastores: {2}) restored. Path {3} is active again. esx.clear.storage.redundancy.restored|Path redundancy to storage device {1} (Datastores: {2}) restored. Path {3} is active again. esx.problem.apei.bert.memory.error.corrected|A corrected memory error occurred in last boot. The following details were reported. Physical Addr: {1}, Physical Addr Mask: {2}, Node: {3}, Card: {4}, Module: {5}, Bank: {6}, Device: {7}, Row: {8}, Column: {9} Error type: {10}

Critical

Syste All m

Critical

Syste All m

Informati Syste All onal m Syste All m

Critical

Critical

Syste All m

Warning

Syste All m Syste All m Syste All m Syste m Syste m Syste m Syste m Syste m Syste m Syste m All All All All All All All

Warning

Warning Informati onal Informati onal Informati onal Informati onal Informati onal Informati onal Informati onal Critical

Syste All m

328

MonitorizacindeentornosVMware

esx.problem.apei.bert.memory.error.fatal|A fatal memory error occurred in the last boot. The following details were reported. Physical Addr: {1}, Physical Addr Mask: {2}, Node: {3}, Card: {4}, Module: {5}, Bank: {6}, Device: {7}, Row: {8}, Column: {9} Error type: {10} esx.problem.apei.bert.memory.error.recoverable|A recoverable memory error occurred in last boot. The following details were reported. Physical Addr: {1}, Physical Addr Mask: {2}, Node: {3}, Card: {4}, Module: {5}, Bank: {6}, Device: {7}, Row: {8}, Column: {9} Error type: {10} esx.problem.apei.bert.pcie.error.corrected|A corrected PCIe error occurred in last boot. The following details were reported. Port Type: {1}, Device: {2}, Bus #: {3}, Function: {4}, Slot: {5}, Device Vendor: {6}, Version: {7}, Command Register: {8}, Status Register: {9}. esx.problem.apei.bert.pcie.error.fatal|Platform encounterd a fatal PCIe error in last boot. The following details were reported. Port Type: {1}, Device: {2}, Bus #: {3}, Function: {4}, Slot: {5}, Device Vendor: {6}, Version: {7}, Command Register: {8}, Status Register: {9}. esx.problem.apei.bert.pcie.error.recoverable|A recoverable PCIe error occurred in last boot. The following details were reported. Port Type: {1}, Device: {2}, Bus #: {3}, Function: {4}, Slot: {5}, Device Vendor: {6}, Version: {7}, Command Register: {8}, Status Register: {9}. esx.problem.iorm.nonviworkload|An external I/O activity is detected on datastore {1}, this is an unsupported configuration. Consult the Resource Management Guide or follow the Ask VMware link for more information. esx.problem.net.connectivity.lost|Lost network connectivity on virtual switch {1}. Physical NIC {2} is down. Affected portgroups:{3}. esx.problem.net.dvport.connectivity.lost|Lost network connectivity on DVPorts: {1}. Physical NIC {2} is down. esx.problem.net.dvport.redundancy.degraded|Uplink redundancy degraded on DVPorts: {1}. Physical NIC {2} is down. esx.problem.net.dvport.redundancy.lost|Lost uplink redundancy on DVPorts: {1}. Physical NIC {2} is down. esx.problem.net.e1000.tso6.notsupported|Guest-initiated IPv6 TCP Segmentation Offload (TSO) packets ignored. Manually disable TSO inside the guest operating system in virtual machine {1}, or use a different virtual adapter. esx.problem.net.migrate.bindtovmk|The ESX advanced configuration option /Migrate/Vmknic is set to an invalid vmknic: {1}. /Migrate/Vmknic specifies a vmknic that vMotion binds to for improved performance. Update the configuration option with a valid vmknic. Alternatively, if you do not want vMotion to bind to a specific vmknic, remove the invalid vmknic and leave the option blank. esx.problem.net.proxyswitch.port.unavailable|Virtual NIC with hardware address {1} failed to connect to distributed virtual port {2} on switch {3}. There are no more ports available on the host proxy switch. esx.problem.net.redundancy.degraded|Uplink redundancy degraded on virtual switch {1}. Physical NIC {2} is down. Affected portgroups:{3}. esx.problem.net.redundancy.lost|Lost uplink redundancy on virtual switch

Critical

Syste All m

Critical

Syste All m

Critical

Syste All m

Critical

Syste All m

Critical

Syste All m

Informati Syste All onal m Syste m Syste Critical m Syste Warning m Syste Warning m Critical Critical All All All All

Syste All m

Warning

Syste All m

Warning Warning

Syste All m

Syste All m Warning Syste All


329

MonitorizacindeentornosVMware

{1}. Physical NIC {2} is down. Affected portgroups:{3}. esx.problem.net.uplink.mtu.failed|VMkernel failed to set the MTU value {1} on the uplink {2}. esx.problem.net.vmknic.ip.duplicate|A duplicate IP address was detected for {1} on the interface {2}. The current owner is {3}. esx.problem.net.vmnic.linkstate.down|Physical NIC {1} linkstate is down. esx.problem.net.vmnic.watchdog.reset|Uplink {1} has recovered from a transient failure due to watchdog timeout esx.problem.scsi.device.limitreached|The maximum number of supported devices of {1} has been reached. A device from plugin {2} could not be created. esx.problem.scsi.device.thinprov.atquota|Space utilization on thinprovisioned device {1} exceeded configured threshold. Affected datastores (if any): {2}. esx.problem.scsi.scsipath.limitreached|The maximum number of supported paths of {1} has been reached. Path {2} could not be added. esx.problem.storage.connectivity.devicepor|Frequent PowerOn Reset Unit Attentions are occurring on device {1}. This might indicate a storage problem. Affected datastores: {2} esx.problem.storage.connectivity.lost|Lost connectivity to storage device {1}. Path {2} is down. Affected datastores: {3}. esx.problem.storage.connectivity.pathpor|Frequent PowerOn Reset Unit Attentions are occurring on path {1}. This might indicate a storage problem. Affected device: {2}. Affected datastores: {3} esx.problem.storage.connectivity.pathstatechanges|Frequent path state changes are occurring for path {1}. This might indicate a storage problem. Affected device: {2}. Affected datastores: {3} esx.problem.storage.redundancy.degraded|Path redundancy to storage device {1} degraded. Path {2} is down. Affected datastores: {3}. esx.problem.storage.redundancy.lost|Lost path redundancy to storage device {1}. Path {2} is down. Affected datastores: {3}. esx.problem.vmfs.heartbeat.recovered|Successfully restored access to volume {1} ({2}) following connectivity issues. esx.problem.vmfs.heartbeat.timedout|Lost access to volume {1} ({2}) due to connectivity issues. Recovery attempt is in progress and outcome will be reported shortly. esx.problem.vmfs.heartbeat.unrecoverable|Lost connectivity to volume {1} ({2}) and subsequent recovery attempts have failed. esx.problem.vmfs.journal.createfailed|No space for journal on volume {1} ({2}). Opening volume in read-only metadata mode with limited write support. esx.problem.vmfs.lock.corruptondisk|At least one corrupt on-disk lock was detected on volume {1} ({2}). Other regions of the volume might be damaged too. esx.problem.vmfs.nfs.mount.connect.failed|Failed to mount to the server

Warning Warning Informati onal Informati onal Critical

m Syste m Syste m Syste m Syste m

All All All All

Syste All m Syste All m Syste All m Syste All m Syste All m Syste All m Syste All m

Warning Critical Warning Critical Warning

Warning Warning

Syste All m Syste Warning All m Informati Syste All onal m Informati Syste All onal m Critical Critical Syste All m Syste All m Syste All m

Critical

Critical Syste All


330

MonitorizacindeentornosVMware

{1} mount point {2}. {3} esx.problem.vmfs.nfs.mount.limit.exceeded|Failed to mount to the server {1} mount point {2}. {3} esx.problem.vmfs.nfs.server.disconnect|Lost connection to server {1} mount point {2} mounted as {3} ({4}). esx.problem.vmfs.nfs.server.restored|Restored connection to server {1} mount point {2} mounted as {3} ({4}). esx.problem.vmfs.resource.corruptondisk|At least one corrupt resource metadata region was detected on volume {1} ({2}). Other regions of the volume might be damaged too. esx.problem.vmfs.volume.locked|Volume on device {1} locked, possibly because remote host {2} encountered an error during a volume operation and could not recover. vim.event.LicenseDowngradedEvent|License downgrade: {licenseKey} removes the following features: {lostFeatures} vprob.net.connectivity.lost|Lost network connectivity on virtual switch {1}. Physical NIC {2} is down. Affected portgroups:{3}. vprob.net.e1000.tso6.notsupported|Guest-initiated IPv6 TCP Segmentation Offload (TSO) packets ignored. Manually disable TSO inside the guest operating system in virtual machine {1}, or use a different virtual adapter. vprob.net.migrate.bindtovmk|The ESX advanced config option /Migrate/Vmknic is set to an invalid vmknic: {1}. /Migrate/Vmknic specifies a vmknic that vMotion binds to for improved performance. Please update the config option with a valid vmknic or, if you do not want vMotion to bind to a specific vmknic, remove the invalid vmknic and leave the option blank. vprob.net.proxyswitch.port.unavailable|Virtual NIC with hardware address {1} failed to connect to distributed virtual port {2} on switch {3}. There are no more ports available on the host proxy switch. vprob.net.redundancy.degraded|Uplink redundancy degraded on virtual switch {1}. Physical NIC {2} is down. {3} uplinks still up. Affected portgroups:{4}. vprob.net.redundancy.lost|Lost uplink redundancy on virtual switch {1}. Physical NIC {2} is down. Affected portgroups:{3}. vprob.scsi.device.thinprov.atquota|Space utilization on thin-provisioned device {1} exceeded configured threshold. vprob.storage.connectivity.lost|Lost connectivity to storage device {1}. Path {2} is down. Affected datastores: {3}. vprob.storage.redundancy.degraded|Path redundancy to storage device {1} degraded. Path {2} is down. {3} remaining active paths. Affected datastores: {4}. vprob.storage.redundancy.lost|Lost path redundancy to storage device {1}. Path {2} is down. Affected datastores: {3}. vprob.vmfs.heartbeat.recovered|Successfully restored access to volume {1} ({2}) following connectivity issues. vprob.vmfs.heartbeat.timedout|Lost access to volume {1} ({2}) due to

m Syste Critical All m Syste Critical All m Informati Syste All onal m Critical Syste All m Syste All m

Critical Warning

Syste All m Syste Critical All m Critical Syste All m

Warning

Syste All m

Warning

Syste All m Syste All m

Warning Warning

Syste All m Syste Warning All m Syste Critical All m Warning Warning Syste All m

Syste All m Informati Syste All onal m Informati Syste All


331

MonitorizacindeentornosVMware

connectivity issues. Recovery attempt is in progress and outcome will be onal m reported shortly. vprob.vmfs.heartbeat.unrecoverable|Lost connectivity to volume {1} ({2}) Syste Critical All and subsequent recovery attempts have failed. m vprob.vmfs.journal.createfailed|No space for journal on volume {1} ({2}). Syste Critical All Opening volume in read-only metadata mode with limited write support. m vprob.vmfs.lock.corruptondisk|At least one corrupt on-disk lock was Syste detected on volume {1} ({2}). Other regions of the volume may be Critical All m damaged too. vprob.vmfs.nfs.server.disconnect|Lost connection to server {1} mount Syste Critical All point {2} mounted as {3} ({4}). m vprob.vmfs.nfs.server.restored|Restored connection to server {1} mount Informati Syste All point {2} mounted as {3} ({4}). onal m vprob.vmfs.resource.corruptondisk|At least one corrupt resource metadata Syste region was detected on volume {1} ({2}). Other regions of the volume Critical All m might be damaged too. vprob.vmfs.volume.locked|Volume on device {1} locked, possibly because Syste remote host {2} encountered an error during a volume operation and could Critical All m not recover.

15.3.MonitorizacindeentornosRHEV
RedHatEnterpriseVirtualization(RHEV)esunadelastecnolog asmsusadasporempresasque tienencomobaseelsistemaoperativoRedHatensuDataCenter. PandoraFMSEnterpriseofrece laposibilidaddemonitorizarlasarquitecturasvirtualesbasadasenRHEVmedianteelplugin RHEV MonitoringPluginquepermitecontrolardeformasencillatodoslosaspectosrelacionadosconla arquitecturavirutalRHEV.

15.3.1.Arquitecturaamonitorizar
ConelpluginesposiblemonitorizarlaarquitecturacompletadeunsistemaRHEV:DataCenters, HostClusters,StorageDomains,Networks,HostsyVirtualMachines,ofreciendounavisi nglobal delestadodelentornovirtual. ParaelloPandorausaelAPIoficialqueproveeelsistemadevirtualizacinRHEV.

15.3.2.MonitorizacinconRHEVMonitoringPlugin
LamonitorizacindeentornosvirtualesRHEVsebasaendoscomponentes: 1. Unplugindeagentequerealizalastareasdeautodescubrimientoyrecogidadatos.Elplugin deagenteeselencargadodeenviarlainformacinaPandoraFMS. 2. Unscripdereconocimientoqueactualizadiversosvaloresparalasentidadesdescubiertas. Estescriptesnecesarioparaelcorrectofuncionamientodelasextensionesdelplugin. 3. ExtensinRHEVVieweryRHEVManager.Sonextensionesqueaportanunvalora adido permitiendoverlainfraestructuramonitorizadayoperarapadando/encendiendomquinas virtualestodoellodesdelaconsolawebdePandoraFMS.

332

MonitorizacindeentornosRHEV

Para poder usar el script de reconocimiento es necesario tener activados el reconserver

Para que ciertas variables del API reflejen el valor real de la mquina virtual asociada es necesario instalar el Agente de RHEV podr encontra todo al respecto en la documentacin de su versin de RHEV

Para la monitorizacin del sistema operativo instalado en las mquinas virtuales se recomienda usar un agente de Pandora FMS en lugar del API RHEV

15.3.2.1.Funcionamientointernodelplugin
ElpluginRHEVMonitoringPluginextraelainformacinmedianteelAPIwebquesirveelentorno devirtualizacinRHEV. Sislonecesitalainformacindemonitorizacinlo nicoquetienequeconfigurareselpluginde agentequerealizarestatarea. ElplugindeagenterealizaundescubrimientodedispositivosycomponelosXMLconlosm dulos para cada uno de ellos. La configuracin del plugin permite escoger qu elementos van a ser monitorizados y la configuracin de sus mdulos. Los mdulos creados por el plugin son configurablesyesposible:cambiarelnombreyladescripci nyaadirvaloresmximosymnimos paralosestadosWarningyCriticaldelmdulo.

La actualizacin de valores para los estados Warning y Critical a travs de XML est disponible para versiones 4.0 y posteriores de Pandora FMS, en versiones anteriores ser necesario realizar esta configuracin mediante la consola web

UnavezcreadoslosXMLselplugindeagenteenvalosarchivos,bienusandotentacleobienlos copiaaundirectoriolocal,segnelmtododetransferenciaescogido. Siademsvaausarlasextensin RHEVViewer y RHEVManager necesitar usarelscriptde reconocimiento. El script de reconocimiento es el encargado de actualizar unas variables para cada uno de los agentes detectados en Pandora segn los valores configurados en RHEV. Estas variables son necesarias para poder visualizar las entidades correctamente en la extensi n RHEV Viewer y gestionaradecuadamentelasmquinasvirtualesconlaextensinRHEVManager.

15.3.3.Requisitospreviosalainstalacin
Elplugindeagenterequiereelsiguientesoftware: curl perlXMLSimple agentesoftwaredePandoraFMS
333

MonitorizacindeentornosRHEV

tentacle_client(sisequiereusartentacleparaenviarlosarchivos,tentacle_clientseinstala juntoconelAgenteSoftwaredePandoraFMS)

15.3.3.1.RedHat
EnsistemasbasadosenRedHatpuedeinstalarlasdependenciasconelcomando:
yum install perl-XML-Simple curl

15.3.3.2.SLES
EnsistemasbasadosenSUSEpuedeinstalarlasdependenciasconelcomando:
zypper install perl-XML-Simple curl

15.3.3.3.Debian/Ubuntu
EnsistemasbasadosenDebiand/Ubuntupuedeinstalarlasdependenciasconelcomando:
apt-get install libxml-simple-perl curl

15.3.3.4.InstalacindelagentesoftwaredePandoraFMS
LainstalacindelagentesoftwaredePandoraFMSseexplicaenlasecci nInstalacindePandora FMS,ahencontrartodolonecesariopararealizarlainstalacindedichoagenteensuplataforma.

15.3.4.DescargadelcertificadodeRHEV
AntesdeusarelpluginsernecesariodescargarelcertificadoquepermitelaconexinporHTTPSal APIdeRHEV.Paraelloejecuteelsiguientecomando:
curl -o rhevm.cer http://[RHEVM-HOST]:8080/ca.crt

Donde[RHEVMHOST]eselnombredelservidorquesirveelAPIdeRHEV.Unejemploconcreto podraser:
curl -o rhevm.cer http://rhevm.server:8080/ca.crt

Unavezdescargadoelcertificadopodemoscomprobarquelaconexi nalAPIserealizadeforma correctaconelsiguientecomando:


curl -X GET -H "Accept: application/xml" -u [USER:PASS] --cacert [CERT] https:// [RHEVM-HOST]:8443/api

Conlossiguientesvalores: USER:usuario@dominioparaconectarsealAPI PASS:contraseadelusuarioconelqueseconectaralAPI


334

MonitorizacindeentornosRHEV

CERT:rutaalcertificadodescargadoenelpasoanterior RHEVMHOST:direccindelhostquesirveelAPI Unejemplocondatosconcretosdelcomandoseracomoelsiguiente:


curl -X GET -H "Accept: application/xml" -u [user@testdomain:12345] --cacert /home/user/ca.crt https://rhevm.server:8443/api

SitodofuebienelcomandodevolverunasalidaenformatoXMLconinformacingeneralsobreel APIdeRHEV.

15.3.5.ConsideracionespreviassobrelaconfiguracindeRHEV
EnelentornodevirutalizacinRHEVesposiblequevariasentidadestenganunmismonombre. EstosuponeunproblemayaqueenPandoraFMSesasentidadessetransformarnenagentesenlos quenosepermiteduplicidadenlosnombres.Adem stambingenerar problemasalahorade parsearelresultadodevueltoporelAPIenformatoXMLmostrandounerrorparecidoalsiguiente:
Warning: <data_center> element has non-unique value in 'name' key attribute: Default at ./plugin-rhev.pl line 199

Parasolucionarelproblemalo niconecesarioesseguirunanomenclaturadenombresparalas entidadesdelentornodevirutalizacinRHEVenelquenoserepitanlosnombres.

15.3.6.Instalacindelplugindeagente
Para instalar el plugin de agente slo tiene que copiar el script rhevplugin.pl y el archivo de configuracinrhevplugin.confenundirectoriodelamquinadondeest instaladoelagentede Pandoraqueejecutar elplugin.Elpluginsepuedeejecutarenunagenteinstaladoenlasmisma mquinaqueelservidordePandoraFMSoenotramquinadistinta. Para ejecutar el plugin debe aadir al archivo de configuracin del agente (por defecto /etc/pandora/pandora_agent.conf)lasiguientelnea:
module_plugin /root/rhev-plugin.pl /root/rhev-plugin.conf

Aadiendoestalneaelplugindeagenterealizarsusfuncionesencadaejecucindelagente.

15.3.7.MonitorizandolaarquitecturavirtualRHEV
Paraverelresultadodelaejecucindelplugindeagenteentramosenelsubmen AgentDetail dentrodelmenMonitoring.

335

MonitorizacindeentornosRHEV

Comosepuedever,elpluginhacreadounagenteenPandoraFMSporcadaunadelasentidades detectadaseneldescubrimientodelaarquitecturaRHEV.

Sipulsamossobreelnombredeunagentepodremosverlosmdulosdemonitorizacincreadospor elplugin,ademsdeotrosdatosrelativosalagentecomosepuedeverenlasiguienteimagen:

336

MonitorizacindeentornosRHEV

Para cada tipo de entidad se crean automticamente una serie de mdulos determinados monitorizandolainformacinimportantedecadaunadeellas.Porejemploenlasiguienteimagen sepuedenveralgunosdelosmdulosquesecreanparamonitorizarlasMquinasVirtuales.

337

MonitorizacindeentornosRHEV

SielagenteseleccionadocorrespondieraaunHostenlugardeunaM quinaVirtual,losmdulos demonitorizacinserandistintos.Lasiguienteimagenmuestraunejemplodelosm dulosque contieneunagentereferenciadoaunHost.

El plugin RHEV tambin monitoriza los eventos ocurridos dentro de la arquitectura virtual. El plugincrearunmduloparacadaeventomonitorizadodentrodecadaentidadafectada,comose puedeverenlasiguienteimagen.

Losdatospara los mdulos creadosa partir deeventos son datos delevento: hora del suceso, descripcindelevento.Unejemplodedatossepuedeverenlasiguienteimagen.

338

MonitorizacindeentornosRHEV

AdemsdelosagentesylosmdulosrelativosalaarquitecturaRHEVpropiamentedicha,segenera unmduloenelagentequeejecutaelplugin.Estemdulosellama,pordefecto, RHEVPluginun ejemplodelresultadodeestemduloseveenlasiguienteimagen.

Elcontenidodelmduloserelresultadodeejecucindelplugin,podrser OKsitodoescorrecto o mostrar una cadena de error con la explicacin del mismo si algo inesperado ocurre. Esta informacinademsdeenelmdulodelpluginsepodrconsultarenunarchivodelog.

15.3.7.1.Monitorizandoelestadodelasentidades
Los mdulos de estado de las diferentes entidades devuelven los valores predefinidos en la arquitecturaRHEV.Estosignificaquelosvaloresserncadenasdetextocuyocontenidoser:up, down,error,maintenance,non_operational,etc.dependiendodelestadoylaentidadmonitorizada. Para asignar valores warning y critical ser necesario definir una expresin regular en la configuracin del mdulo. Por ejemplo, para definir un estado crtico en un mdulo que est determinadoporlosvalores error, down y non_operational,insertamosenelcampo Str. delvalor criticaldelmdulolasiguienteexpresinregular:
error|down|non_operational

EnversionesanterioresaPandoraFMS4.0noest disponibleestaopcin,peropodr definiruna alertaquesedispareusandolamismacondicin.Paracrearunaplantillaconelmismoejemplo anteriorrealizaramoslossiguientespasos: 1. Crearemos una plantilla de alerta con prioridad crtica y en el campo Condition Type usaremoseltipoRegularexpresion.
339

MonitorizacindeentornosRHEV

2. En el campo value insertaremos una expresion regular como la siguiente: error|down| non_operational.Estoquieredecirquelaalertaser disparadacuandoelmdulotomelos valoreserror,downonon_operational. 3. Completaremoslospasosrestantesdecreacindelaplantillanormalmente. Una vez definida la plantilla podremos escoger cualquier accin a ejecutar cuando la alerta se dispare:crearunevento,enviarunemailoSMS,etc.

15.3.8.MdulosdeagentedelaarquitecturavirtualRHEV
AcontinuacinsedetallanlosmdulosdisponiblesparacadaelementodelaarquitectureRHEV.

15.3.8.1.DataCenter
Status:EstadodelDataCenter.

15.3.8.2.StorageDomain
AvailableSpace:EspaciodisponibleenelStorageDomain. CommittedSpace:EspaciocomprometidoenelStorageDomain. UsedSpace:EspaciousadoenelStorageDomain. PercentFreeSpace:ProcentajedeespaciolibreenelStorageDomain.

15.3.8.3.Network
Status:Estadodelaredvirtual. STPStatus:EstadodelafuncionalidadSpanningTreeProtocol

15.3.8.4.Cluster
OvercommitPercent:Porcentajedesobreasignacindelcluster. TransparentHugePages:EstadodelafuncionalidadTransparentHugePages. Highthreshold:Lmitesuperiorenlaspolticasdeplanificacin. Lowthreshold:Lmiteinferiorenlaspolticasdeplanificacin. Thresholdduration:Duracindeloslmitesenlaspolticasdeplanificacin.

15.3.8.5.Host
Status:EstadodelHost. Bufferssize:Tamaodelosbuffers. Cachesize:Tamaodelacache. Cachedswap:CantidaddememoriaSwapcacheada(enbytes). Freememory:Cantidaddememorialibre(enbytes). Percentfreememory:Porcentajedememorialibre. Swapcachedpercent:ProcentajedememoriaSwapcacheada. Swapfree:CantidadememoriaSwaplibre(enbytes). Swapfreepercent:PorcentajedememoriaSwaplibre. TotalMemory:CantidadtotaldememoriadelHost(enbytes). TotalSwap:CantidadtotaldememoriaSwap(enbytes). Usedmemory:Cantidadtotaldememoriausada(enbytes). UsedSwap:CantidadtotaldememoriaSwapusada(enbytes). Nic[x]TX:Ratiodetransferenciaparaelnicx(enbytes/segundo).Segeneraunoporcada
340

MonitorizacindeentornosRHEV

interfazdereddetectada. Nic[x]RX:Ratioderecepcinparaelnicx(enbytes/segundo).Segeneraunoporcada interfazdereddetectada. Nic[x]errosTX:Nmerodeerroresdetransmisinparaennicx.Segeneraunoporcada interfazdereddetectada. Nic[x]errosRX:Nmerodeerroresderecepcinparaennicx.Segeneraunoporcada interfazdereddetectada. UserCPU:PorcentajedeCPUusadaporelusuario. SystemCPU:PorcentajedeCPUusadaporelsistema. CPUIdle:PorcentajedeCPUociosa. CPULoad:CargamediadeCPUdelosltimos5minutos. KSMCPU:PorcentajedeCPUusadoporKSM. ActiveVM:NmerodemquinasvirtualesactivasenelHost. MigratingVM:NmerodemquinasvirtualesenmigracinenelHost. TotalVM:NmerototaldemquinasvirtualesdelHost. FenceStatus:Estadodelfencingdelhost.

15.3.8.6.VirtualMachine
Status:Estadodelamquinavirtual. Disk[x]read:Tasadelecturadeldiscox(bytes/segundo).Segeneraunoporcadadisco detectado. Disk[x]write:Tasadeescrituradeldiscox(bytes/segundo).Segeneraunoporcadadisco detectado. Disk[x]size:Tamaodeldiscox(enbytes).Segeneraunoporcadadiscodetectado. Disk[x]status:Estadodeldiscox.Segeneraunoporcadadiscodetectado. Nic[x]TX:Ratiodetransferenciaparaelnicx(enbytes/segundo).Segeneraunoporcada interfazdereddetectada. Nic[x]RX:Ratioderecepcinparaelnicx(enbytes/segundo).Segeneraunoporcada interfazdereddetectada. Nic[x]errosTX:Nmerodeerroresdetransmisinparaennicx.Segeneraunoporcada interfazdereddetectada. Nic[x]errosRX:Nmerodeerroresderecepcinparaennicx.Segeneraunoporcada interfazdereddetectada. Installedmemory:Cantidaddememoriainstalada(enbytes). Percentfreememory:Porcentajedememorialibre. Usedmemory:Cantidaddememoriausada(enbytes). Stateless:EstadodelafuncionalidadStateless. HAStatus:EstadodelafuncionalidaddeHA. TotalCPU:PorcentajetotaldeCPUusadaporlamquinavirtual. HypervisorCPU:PorcentajedeCPUdelHypervisorusadoporlamquinavirtual. GuestCPU:PorcentajedeCPUdelHostqueusalamquinavirtual.

15.3.8.7.Eventos
Event[x]:Descripcindeleventoxocurridoenelsistema.Secrearanunoporcadaevento detectadoenlosagentesafectados.

15.3.9.GestinyvisualizacindelaarquitecturaRHEV
Enestaseccinseexplicalainstalacin,configuracinyfuncionamientodelasextensindesRHEV
341

MonitorizacindeentornosRHEV

ViewyRHEVManager.

Las extensiones RHEV View y RHEV Manager slo funcionan correctamente con versiones de Pandora FMS 4.0.2 o superiores

15.3.9.1.Instalacindelarecontask
Acontinuacinsedetallalainstalacindelscriptdereconocimientoylacreacindelatareade reconocimientoqueactualizanlasvariablesusadasenlasextensiones.
Instalacin del Recon Script

Antes de crear la recon task, debemos registrar el Recon Script que actualiza las variables necesariasparaelfuncionamientodelasextensiones.Paraelloseleccionamoselsubmen Manage reconscriptdentrodelmenManageServers.

UnavezquevemoslapantallainicialdelsubmenManagereconscriptpulsamosenelbotnAdd.

Despusveremoslaventanapararellenarlosdatosdelnuevo ReconScript,enlaquerellenaremos losdatosdemaneraoportunacomoelejemploqueseveenlasiguienteimagen.Enelcampo Script fullpath es necesario especificar el interprete o programa con el que se ejecutar el script (en nuestrocasoperl)ylarutacompletadondeest situadoelscript.Unavezrellenoelformulario pulsamosenelbotnCreate.

342

MonitorizacindeentornosRHEV

Unavezregistradoelscriptveremosunapantallaqueinformadelcorrectofuncionamientodela operacinymuestraelscriptregistradoenlalista.

Creacin de Recon Task

Paraquelasvariablesnecesariasparalasextensionesseactualicendeformaperiodicacrearemos una ReconTask queseejecutar cadaciertotiempo.Paracrearuna ReconTask pulsamosenel submenReconTaskdentrodelmenManageServers.

Al pulsar veremos la siguiente imagen que muestra la vista general de Recon Task, en ella pulsamosenelbotnCreateparacrearunanuevatarea.
343

MonitorizacindeentornosRHEV

DespusdepulsarenelbotnCreateaparecerunformulariocomoeldelasiguienteimagen.Enel rellenaremos los campos de forma apropiada. En el campo Mode es importante seleccionar la opcin CustomScript yaquenospermitir seleccionarenelcampo ReconScript elscriptque registramosenelpasoanterior(ennuestrocasoRHEVReconScript).

LoscamposScriptfieldestnreservadosparalosparmetrosdelscriptquehemosregistrado.En concretoelscriptparalatecnologaRHEVnecesitalossiguientesparmetros: server:direccinhostdelservidorquesirveelAPI. user:usuarioparaaccederalAPI,enformato"user@domain". pass:contraseaparaaccederalAPI. cert:localizacindelcertificadoparaaccederalAPI. pandoraconf:PathdondeseencuentraelarchivodeconfiguracindePandoraFMS.

344

MonitorizacindeentornosRHEV

El parmetro cert ser usado por tanto Recon Task como por la extensin RHEV Manager por lo que es importante asegurar que tanto el servidor web como el servidor de Pandora FMS pueden acceder la locaclizacin del fichero

PorltimopulsamoselbotnAddparacrearlanuevaReconTask. Alpulsarelbotnaparecerlasiguientepantallainformandoquelaoperacinhasidorealizadacon xitoysemostraralanuevaReconTaskenlalista.

En este momento tenemos una tarea de reconocimiento Recon Task que se ejecutar con el intervaloseleccionadoyactualizartodaslasvariablesdelosagentesasociadosalaarquitecturade virtualizacindeRHEV.

15.3.9.2.InstalacindeextensionesRHEVViewyRHEVManager
Parainstalarlasextensionessimplementedebecopiarelcontenidodelacarpetaextensionsque encontrar aldescomprimirelpluginenlacarpetaextensionsdelaparteenterprisedelaconsola dePandoraFMS,elcomandoaejecutareselsiguiente:
cp -R extensions/* <pandora_console_dir>/enterprise/extensions/

DesdeestemomentoyaestndisponibleslasextensionesdemonitorizacinRHEV.

15.3.9.3.UsadolaextensinRHEVView
Para usar la extensin RHEV View slo tiene que pulsar en la opcin RHEV View dentro del submenMonitoring.

345

MonitorizacindeentornosRHEV

Laextensinmostrar unmapacomoelsiguientecontodosloscomponentesdelaarquitectura RHEVdescubiertosporelplugn.

EnelmapaaparecenrepresentadoslosdiferenteselementosdelaarquitecturaRHEV(DataCenters, StorageDomains,Clusters,Networks,HostsyVirtualmachines).Cadaelementoest representado porunicono,distintoparacadatipodeelementodelaarquitectura.Tambi nquedanrepresentadas lasrelacionesentrelosdiferenteselementosdelaarquitecturaRHEV.Conestavistaesmuysencillo verelestadodeloselementosycmoseinterrelacionan. Laextensincuentaconunmenquepermiteconfigurarlavistaocultandoomostrandoentidades, ampliandooreduciendoeltamaodeltextoyrealizandozoomparaverlaimagenconmsdetalle.

Por ejemploenlasiguienteimagendelmapa hemosocultado loselementosNetworks,Hostsy VirtualMachinedelaarquitecturaporquenecesitamosverendetallelasrelacionesdeClustersy StorageDomainsconlosDataCenter.

15.3.9.4.UsadolaextensinRHEVManager
LaextensinRHEVManagerestdisponibleenlavistadeoperacindelosagentesdePandoraFMS quesecorrespondanconmquinasvirtualesdentrodelaarquitecturadevirtualizacinRHEV.

Esta extensin usa el comando curl por lo que ser necesario que est instalado y sea accesible para el servidor web que soporte la consola de Pandora FMS

ParaaccederalaextensinpulseenelbotnconellogodeRedHatqueencontrarnjuntoconlos
346

MonitorizacindeentornosRHEV

demstabsdelagente.

Laextensinpermitegestionarmquinasvirtuales(encender,apagerysuspender)sinnecesidadde abrirlaconsoladegestindeRHEV.Enlaextensinsemuestraelestadoactualdelamquina virtualconuncdigodecolores(verde=encendida,naranaja=suspendidaygris=parada),yun comboconlosestadosdisponiblesalosquepodemosllevarlam quinavirtualalpulsarelbotn ChangeStatus.

Siporescogemoselestado Stop parapararlamquinavirtual,laextensinconectar conelAPI RHEV y mandar la orden. El resultado ser el cambio de estado en la mquina virtual y las opcionesdelcombo,comosepuedeverenlasiguienteimagen.

Elpasoentrealgunosestadonoesautomtico,comoporejemplodelestado StopaStart.Eneste caso la extensin ir mostrando el estado de la mquina virtual segn vaya cambiando en la arquitecturadevirtualizacin.PorejemploparapasardeStopaStartlamquinavirtualpasapor lossiguientesestados:

347

MonitorizacindeentornosRHEV

15.3.10.Configuracindelplugindeagente
Laconfiguracindelplugindeagenteserealizamedianteunarchivodeconfiguraci ncuyonombre pordefectoesrhevplugin.conf. Por defecto el plugin de agente selecciona todas las entidades y crea todos los m dulos correspondientesconunosvalorespredeterminadosparaelnombreyladescripci n.Todosestos aspectos as como variables generales del plugin se pueden configurar a travs del archivo de configuracin.

15.3.10.1.Archivodeconfiguracin
El archivo de configuracin tiene dos eras bien diferenciadas: las variables de globales y la configuracindelamonitorizacin. Laseccindevariablesglobalescomienzaconeltoken Configurationycontienelainformacinde configuracindelplugin.Losparmetrospermitidosenestaseccinson: module_name:nombredelmdulodelagenteconelestadodelaejecucindelplugin. server:nombredelhostquesirveelAPIdeRHEV. user:usuarioenformatousuario@dominioparaconectarsealAPI. pass:contraseaparaconectarsealAPI. cert:rutadelcertificadoparaconectarsealAPI. temporal:directoriotemporal. logfile:archivodelog. transfer_mode:mododetransferencia.Puedetomarloscalores:localotentacle. tentacle_ip: IP del servidor de tentacle al que enviar la informaci n. Tpicamente estar situado en la misma mquina que el servidor de Pandora. Esta opcin slo se usa si transfer_modetieneelvalortentacle. tentacle_port:puertodelservidordetentacle.Estaopcinsloseusasitransfer_modetiene elvalortentacle. tentacle_opts: opciones de envo de datos para tentacle. Esta opcin slo se usa si transfer_modetieneelvalortentacle. La seccin de configuracin de la monitorizacin se divide en varias subsecciones. La primera subseccintienecomotoken Reject ysirveparalistarlasentidadesdelentornodevirtualizaci n queserndescartadasdelamonitorizacin.Paradescartarunaentidadser necesarioponerel nombredelamismaenestalista.Porejemplo:
#Dismissed entities Reject mv1

348

MonitorizacindeentornosRHEV

mv_WindowsXP mv_WebServer1 ...

Esposibledescartartodaslasentidadesdeunmismotipo,porejemplotodosloshosts,todaslas mquinasvirtuales,etc.Lostokenparacadaentidadson:all_dc(DataCenter),all_host(Hosts), all_network (Networks), all_storage (Storage Domain), all_cluster (Cluster), all_vm (M quinas Virtuales).Unejemplodeusodeestostokenssera:
#Dismissed entities Reject all_dc all_host all_network all_storage all_cluster all_vm

Lasegundaseccintienecomotoken Rename ysirveparacambiarlosnombresdelasentidades monitorizadas a travs del plugin. Esta funcionalidad es muy til si se quiere combinar la monitorizacindeagentessoftwarecondatosextraidosdelAPIenelmismoagentedePandora FMS. La configuracin de esta seccin se realiza poniendo primero el nombre antiguo y a continuacinelnuevoseparadoporunespacio,porejemplo:
#Rename entities Rename mv_WebServer1 WebServer1 mv_WindowsXP WindowsXP Test ...

Las siguientes subsecciones se corresponden con la configuracin de monitorizacin para cada entidad.Cadaentidadtienesupropiotokensiendolossiguientes: DataCenter, StorageDomain, Network,Cluster,HostyVM.Paracadaunadeestasentidadesesposibledefinirlosm dulosque estarndeshabilitadosodefinirunosvalorespersonalizadosparaelnombre,ladescipci nylos rangosdemximosymnimosparalosestadosWarningyCritical.Unejemploseraensiguiente:
#VM Modules VM status disabled errors_total_tx name = Errores TX Net [%s]; desc = Errores totales TX de red; limits = 60 70 71 100 memory_used name = Memoria en uso; desc = Memoria usada por la maquina virtual; limits = 256 1024 1025 2048 ...

Cada lnea de configuracin de los mdulos de monitorizacin se corresponde dos opciones disponibles: <modulo>disabled:ElmduloNOsecrear <modulo> name = <nombre>; desc = <descripcion>; limits = <min_warning> <max_warning><min_critical><max_critical>:Elm dulosecrear conelnombreyla descripcinproporcionadosyademssedefinirnlosumbralesparalosmximosymnimos delosvaloresWarningyCritical.

349

MonitorizacindeentornosRHEV

Esmuyimportantetenerencuenta laestructuradelaslneasdelarchivodeconfiguraciny sobretodoverqueelcaracter;vapegadoalnombreyladescripcindelmdulo.Estasdoslneas NOSONEQUIVALENTES(veanselosespaciosantesdelcaracter;):


errors_total_tx name = Errores TX Net [%s]; desc = Errores totales TX de red; limits = 60 70 71 100 #Correcto errors_total_tx name = Errores TX Net [%s] ; desc = Errores totales TX de red ; limits = 60 70 71 100 #Incorrecto

Los mdulos estn referenciados por su nombre corto, un nombre equivalente ms sencillo de escribirenlalneadecomandos.Latabladecorrespondenciaentrenombrescortosyexpandidos estenlasiguienteseccin. Analicemoselejemplodeconfiguracinparalasmquinasvirtuales,seccinVM. Paralasmonitorizacindelasmquinasvirtualessehandefinidounaseriedemduloshabiliadoso noenlaseccinVMdelarchivodeconfiguracin.Msconcretamente:elmdulo status hasido deshabilitado y para los mdulos errors_total_tx y memory_used se ha definido unos valores personalizados.Losdemsmdulosquenoaparecenenellistadosecrearnconlosvalorespor defecto.Conestaconfiguracin,elmdulomemory_usedtomarlossiguientesvalores: Nombre:Memoriaenuso Descripcin:Memoriausadaporlamaquinavirtual MinWarning:256 MaxWarning:1024 MinCritical:1025 MaxCritical:2048

Losmdulossegenerandinamicamenteporejemplodosrelativosadiscosointerfacesdeloscuales secreaunoporcadaelementodetectadotienenunasintaxisespecialparaelnombredelm dulo queeslasiguiente:


errors_total_tx name = Errores TX Net [%s]; desc = Errores totales TX de red; limits = 60 70 71 100

Enestoscasoscomoelnombretienepartedinmicaloquesepermiteesusarlamacro %squeser sustituidaporelpluginporlapartevariabledelnombredelmdulo. Porejemploelmduloerrors_total_txtienepornombrepordefecto:


Nic [nic1] errors TX

Pasarallamarse
Errores TX Net [nic1]

Siendonic1lapartedinmicadelnombredelmdulo.

Todos los errores relativos al archivo de configuracin son presentados en el log definido en el archivo de configuracin y adems son enviados como un mdulo asncrono a Pandora FMS que quedar reflejado como un mdulo dentro del agente que ejecuta el plugin
350

MonitorizacindeentornosRHEV

Ademsdelasseccionespropiasdecadaelementodelaarquitecturaelarchivodeconfiguraci n tieneunaseccincomnparalosEventos.Estaseccinsedefineconeltoken EventCodesyenelse listarnloscdigosdeloseventosamoniorizar,porejemplo:


EventCodes 30 920 980 509 956

Sinodefineestaseccin,noserealizarlamonitorizacindeeventos.

15.3.10.2.DividirlacargadelamonitorizacinentrevariosAgentesSoftware
Mediante el archivo de configuracin del plugin de agente es posible dividir la carga de monitorizacindelainfraestructuradevirtualizacinRHEV. Paraelloserepartirnlasentidadesamonitorizarentrelosdistintosagentes.Supongamosque tenemoslasiguientearquitectura:
DC1 | |- Cluster 1.1 |- c1.1mv1 |- c1.1mv2 |- c1.1mv3 |- Cluster 1.2 |- c1.2mv1 |- c1.2mv2 |- c1.2mv3 DC2 | |- Cluster 2.1 |- c2.1mv1 |- c2.1mv2 |- c2.1mv3 |- Cluster 2.2 |- c2.2mv1 |- c2.2mv2 |- c2.2mv3

UnaformadedividirlacargaseraasignandounaDatacenteracadaunodelosagentessoftware, paraellousaramoslafuncionalidadparadescartarentidadesamonitorizar(token Reject). ElprimeragentesoftwaremonitorizaelDatacenterDC1ydescartalasentidadesdeDC2


Reject DC2 Cluster 2.1 Cluster 2.2 c2.1mv1 c2.1mv2

351

MonitorizacindeentornosRHEV

c2.1mv3 c2.2mv1 c2.2mv2 c2.2mv3

ElsegundoagentesoftwaremonitorizarelDatacenterDC2ydescartalasentidadesdeDC1
Reject DC1 Cluster 1.1 Cluster 1.2 c1.1mv1 c1.1mv2 c1.1mv3 c1.2mv1 c1.2mv2 c1.2mv3

Tambin podramos dividir la carge basndonos en los clusters por ejemplo. El primer cuatro agentessoftwareunoparacadaclusterdelosdosDatacenters. Agentesoftware1,monitorizarCluster1.1ydescartalasdemsentidades
Reject DC1 Cluster 1.2 c1.2mv1 c1.2mv2 c1.2mv3 DC2 Cluster 2.1 Cluster 2.2 c2.1mv1 c2.1mv2 c2.1mv3 c2.2mv1 c2.2mv2 c2.2mv3

Agentesoftware2,monitorizarCluster1.2ydescartalasdemsentidades
Reject DC1 Cluster 1.1 c1.1mv1 c1.1mv2 c1.1mv3 DC2 Cluster 2.1 Cluster 2.2 c2.1mv1 c2.1mv2 c2.1mv3 c2.2mv1 c2.2mv2 c2.2mv3

Agentesoftware3,monitorizarCluster2.1ydescartalasdemsentidades
352

MonitorizacindeentornosRHEV

Reject DC1 Cluster 1.1 Cluster 1.2 c1.1mv1 c1.1mv2 c1.1mv3 c1.2mv1 c1.2mv2 c1.2mv3 DC2 Cluster 2.2 c2.2mv1 c2.2mv2 c2.2mv3

Agentesoftware4,monitorizarCluster2.2ydescartalasdemsentidades
Reject DC1 Cluster 1.1 Cluster 1.2 c1.1mv1 c1.1mv2 c1.1mv3 c1.2mv1 c1.2mv2 c1.2mv3 DC2 Cluster 2.1 c2.1mv1 c2.1mv2 c2.1mv3

Laconfiguracindeentidadesdescartadasestotalmenteflexibleysepodrallegaradividirlacarga asignandovariasentidadesacadaagentesoftware.

15.3.10.3.Ejemplosdearchivosdeconfiguracin
Archivo con todos los mdulos deshabilitados
#These lines are comments #Plugin configuration parameters Configuration server rhevm.server user user@testdomain pass 12345 cert /home/user/rhevm.cer temporal /tmp logfile /tmp/plugin-rhev.log transfer_mode local tentacle_ip 127.0.0.1 tentacle_port 41121 tentacle_opts #Dismissed entities Reject

353

MonitorizacindeentornosRHEV

#Data Center modules DataCenter status disabled #StorageDomain modules StorageDomain available disabled used disabled committed disabled free_percent disabled #Networks modules Network status disabled stp disabled #Clusters modules Cluster overcommit disabled hugepages disabled threshold_low disabled threshold_high disabled threshold_duration disabled #Host Modules Host status disabled vm_active disabled vm_migrating disabled vm_total disabled data_current_rx disabled data_current_tx disabled errors_total_rx disabled errors_total_tx disabled memory_cached disabled memory_total disabled swap_free_percent disabled swap_cached_percent disabled swap_free disabled cpu_current_idle disabled cpu_current_user disabled memory_used disabled ksm_cpu_current disabled memory_free_percent disabled swap_total disabled memory_buffers disabled cpu_current_system disabled cpu_load_avg_5m disabled swap_cached disabled swap_used disabled memory_free disabled fence_status disabled #VM Modules VM status disabled stateless disabled ha disabled cpu_current_guest disabled cpu_current_hypervisor disabled memory_free_percent disabled memory_installed disabled memory_used disabled cpu_current_total disabled

354

MonitorizacindeentornosRHEV

data_current_read disabled data_current_write disabled size disabled disk_status disabled data_current_rx disabled data_current_tx disabled errors_total_rx disabled errors_total_tx disabled

15.3.10.4.Tablacorrespondencianombresdemdulos
Data Center

Nombre Expandido Nombre Corto Status status


Storage Domain

Nombre Expandido Available Space Used Space Committed Space Percent Free Space
Network

Nombre Corto available used committed free_percent

Nombre Expandido Nombre Corto Status status STP Status stp


Cluster

Nombre Expandido Overcommit Percent Transparent HugePages Low Threshold High Threshold Threshold duration
Host

Nombre Corto overcommit hugepages threshold_low threshold_high threshold_duration

Nombre Expandido Status Active VM Migrating VM Total VM Nic [x] RX Nic [x] TX

Nombre Corto status vm_active vm_migrating vm_total data_current_rx data_current_tx

355

MonitorizacindeentornosRHEV

Nic [x] errors RX Nic [x] errors TX Cache size Total memory Swap free percent Swap cached percent Swap free CPU Idle User CPU Used memory KSM CPU Percent free memory Total swap Buffers size System CPU CPU Load Cached swap Used swap Free memory Fence Status
Virtual Machine

errors_total_rx errors_total_tx memory_cached memory_total swap_free_percent swap_cached_percent swap_free cpu_current_idle cpu_current_user memory_used ksm_cpu_current memory_free_percent swap_total memory_buffers cpu_current_system cpu_load_avg_5m swap_cached swap_used memory_free fence_status

Nombre Expandido Status Stateless HA Status Guest CPU Hypervisor CPU Percent free memory Installed memory Used memory Total CPU Disk [x] read Disk [x] write Disk [x] size Disk [x] status Nic [x] RX Nic [x] TX Nic [x] errors RX Nic [x] errors TX

Nombre Corto status stateless ha cpu_current_guest cpu_current_hypervisor memory_free_percent memory_installed memory_used cpu_current_total data_current_read data_current_write size disk_status data_current_rx data_current_tx errors_total_rx errors_total_tx

356

MonitorizacindeentornosRHEV

16MONITORIZACINDEEXPERIENCIADE USUARIOWEB

357

Introduccin

16.1.Introduccin
EstaesunacaractersticadelaversinEnterprise.quepermitemonitorizarlaexperienciadeusuario deunaWeb.Estabasadoenelusodetransaccionesparacomprobarlosdistintospasososaltos producidosalahoradenavegarporunsitioweb.Reproducefielmenteel"proceso"denavegaci n completoquepuedeincluiraspectoscomoautenticarseenunformulario,hacerclickenunaopci n delmen,rellenarunformulario,verificandoquecadapasodevuelveunacadenadetextoconcreta. Cualquierfalloenunpuntodelproceso,daracomoresultadounfalloenlacomprobacin.La transaccin completa incluye la descarga de todos losrecursos (grficos, animaciones, etc) que contemplalanavegacinreal.Ademsderealizarcomprobacionesdefuncionamientoydetiempo derespuesta,esposibleextraervaloresdelaspginaswebparaluegoprocesarlos. Goliateselnombre"enclave"usadoparadenominaralservidordepruebasWEB.Goliatescapaz de monitorizar tanto HTTP como HTTPS de forma transparente para el usuario, mientras se encuentreninstaladasenelsistemalaslibrerasOpenSSL.

16.2.Creacindemdulosweb
Para monitorizar de forma remota una pgina web, primero se deber crear el agente correspondienteparamonitorizarelservicio,porelloseempezarporah. EnlaseccindeadministracindelaconsoladePandoraFMSpulsesobre Manageagentsdelmen Managemonitoring.

EnlasiguientepantallapulseelbotnCreateagent:

RellenelosdatosparasunuevoagenteypulseelbotnCreateagent:

358

Creacindemdulosweb

Unavezquehayacreadoelagente,pulsesobrelasolapasuperiordelosm dulos(Modules).En ella,seleccionecrearunnuevomduloderedypulseelbotnCreate:

Unavezquesepulseelbotn Create,semostrar unformularioenelquesehanderellenarlos camposnecesariosparapodermonitorizarunaweb.

Acontinuacinsedetallanloscamposdelformulario:
359

Creacindemdulosweb

Name Nombredelacomprobacin Type Tipodelacomprobacin: Remote HTTP module to check latency : obtiene el tiempo total que transcurre desde la primerapeticinhastaquesecompruebala ltima(enunapruebaWEBexisteunaovarias peticionesintermediasquecompletanlatransaccin).Sienladefinicindelchequeoexisten variaspeticiones,seutilizalamediadeltiempodecadapeticin. Remote HTTP module tocheckserverresponse :obtieneun1 (OK)oun0(FALL) como resultadodecomprobartodalatransaccin.Siexistenvariosintentosyalgunodeellosfalla, seconsideraquelapruebaensuconjunto,tambinfalla. RemoteHTTPmoduletoretrievenumericdata :devuelveunvalornumricodelarespuesta HTTPutilizandounaexpresinregular. Remote HTTP module to retrieve string data : devuelve una cadena de la respuesta HTTP utilizandounaexpresinregular. Webchecks Eltotaldecomprobacioneswebquerealizar(pordefectoslouna). LacomprobacinWEBsedefineporvariospasos,opeticionessimples. Esaspeticiones simples sedeben escribiren un formato especial en elcampo Web checks. Las comprobacionesseinicianconlaetiquetatask_beginyfinalizanconlaetiquetatask_end. Se puede comprobar si existe una cadena en una pgina web, para ello est la variable check_string.EstavariablenopermitecomprobarHTMLens.Unejemplodelusodeestavariable podra ser el siguiente: buscar en la pgina web http://www.example.com si existe la cadena Section3.Lavariableseconfiguraraas:
check_string Section 3

Paralacomprobacindeformulariosexistenvariasvariablesadicionales: resource(10):descargatodoslosrecursosdelaweb(imgenes,vdeos,etc) cookie(10):mantieneunacookie,ounasesinabiertaparacomprobacionesposteriores variable_name:nombredeunavariableenunformulario variable_value:valordelavariableanteriorenelformulario

Conestasvariablessepodrnenviardatosaformulariosycomprobarquefuncionancorrectamente.

En algunos casos de redireccin de dominios los chequeos podran no funcionar, para solucionarlo tendr que crear el mdulo apuntando al dominio final.

16.3.Comprobacindecadenaenunapginaweb
Lacomprobacinparaconsultarlacadena Section3 enlapginaweb http://www.example.com seralasiguiente:

360

Comprobacindecadenaenunapginaweb

task_begin get http://www.example.com check_string Section 3 task_end

ElformulariocompletoenPandoraFMSquedaraas:

Ylacomprobacin,unavezejecutada,semostraraenelmen View,alpulsarsobrelasolapa,yen ellaenlapartedeabajo,dondesemostrarnlosdatosunavezseempiecenarecibir.

Los argumentos que toma la sintaxis de "check_string" no son cadenas de texto normales, son expresiones regulares. Es decir, si busca la cadena "Pandora FMS (4.0)" tendr que buscarla con una expresion regular, p.e: Pandora FMS \(4.0\). Esto le permite hacer bsquedas mucho ms potentes, pero debe tener en cuenta que cualquier caracter que no sea una letra o un nmero tendra que ser escapado con \.

16.4.Comprobartiempodecargadeunaweb
Siqueremoscomprobareltiempoderespuestaolatenciadeunapginawebslotenemosque
361

Comprobartiempodecargadeunaweb

seleccionareltipodemduloRemoteHTTPmoduletochecklatency.Porejemploqueremossaberla latenciadelawebhttp://pandorafms.comchequeandolapalabrapandora,elcdigosera:
task_begin get http://pandorafms.com check_string pandora task_end

ElformulariocompletoenPandoraFMSquedaraas:

Yelresultadodelmduloconlalatenciasera:

16.5.ChequeosatravsdeunProxy
Loschequeoswebtambinsoportanelusodeproxy.Paraconfigurarlotienequea adirlaURLdel proxyenlacasillaqueestencontraralpulsarenAdvancedoptions:

362

ChequeosatravsdeunProxy

PorejemplolaURLpodraser:
http://proxy.domain.com:8080

SielproxyrequiereautenticacinlaURLseracomolasiguiente:
http://my_user:my_pwd@proxy.domain.com:8080

16.6.ObteniendoelvalorenbolsadeGoogle
ParaobtenerelvalorenbolsadeGoogletenemosquecrearunm dulo RemoteHTTPmoduleto retrievenumericdataconlaexpresinregularadecuada:
task_begin get http://finance.google.com/finance/info?client=ig&q=NASDAQ%3aGOOG get_content \d+\.\d+ task_end

Lasalidaseralgoparecidoaesto:

Desde Pandora FMS 4.1 se puede especificar la parte de la expresi n regular a devolver para recogerdatosderespuestasHTTPmscomplejas:
task_begin get http://finance.yahoo.com/q?s=GOOG get_content_advanced <span id="yfs_l10_goog">(\S+)</span> task_end

La parte de la expresin regular (definida en get_content_advanced) a devolver debe estar encerrada entre parntesis. .

363

Comprobacindeformularioenunapginaweb

16.7.Comprobacindeformularioenunapginaweb
Una comprobacin ms interesante es la comprobacin de un formulario web. No obstante es mucho ms compleja que la simple comprobacin de un texto en una pgina web. Esta comprobacin de ejemplo usar una pgina de demostracin pblica de Pandora FMS, iniciar sesin,ycomprobar queefectivamentehasidocapazdeello.Parapoderrealizarestetipode comprobacionessehadetenerlascredencialesnecesariasparapoderiniciarsesin.Adems,se deberiralapginayobtenerelcdigoHTMLparapoderverlosnombresdelasvariables. Lapginawebes http://firefly.artica.es/pandora_demo/index.php?login=1,yunavezenella,se observaquelasvariablesson: nick:nombredelusuario pass:contraseaparaelusuario Se debern usar las variables variable_name y variable_value conjuntas para poder validar el formulario.Elejemplocompletosera:
task_begin post http://firefly.artica.es/pandora_demo/index.php?login=1 variable_name nick variable_value demo variable_name pass variable_value demo cookie 1 resource 1 task_end

Con la tarea anterior se habra logrado acceder a la pgina web y validarse en ella, ahora se comprobar queefectivamenteseest registradoenlapginabuscandoalgoenellaqueslose puedeverestandoregistrado:
task_begin get http://firefly.artica.es/pandora_demo/index.php? sec=messages&sec2=operation/messages/message cookie 1 resource 1 check_string Read messages task_end

Yansepodrahacerotracomprobacin,queserafinalizarlasesinenlapginaysalir:
task_begin get http://firefly.artica.es/pandora_demo/index.php?bye=bye cookie 1 resource 1 check_string Logged Out task_end

ConlocuallacomprobacintotalquedaraenPandoraFMScomosigue:

364

Comprobacindeformularioenunapginaweb

Unavezquesehanaadidolascomprobaciones,stassepuedenverenlalistademdulos:

Paraverelestadodelascomprobaciones,iralmenView,alpulsarsobrelasolapa,yenellaenla partedeabajo,dondesemostrarnlosdatosunavezseempiecenarecibir.

Tambinsepuedenvermsdatossobrelosmdulos,paraestecasosedebepulsarsobrelasolapa Datayenellasemostrarunalistacomolasiguiente:

365

Comprobacindeformularioenunapginaweb

Enestaimagensepuedenapreciarlasdoscomprobaciones,sunombre,elintervaloenelquese ejecutacadauna(quepuedediferirdelintervalodelagente),ylosdatos.Enlascomprobaciones weblacolumnaDatahacereferenciaaltiempototalquesehatardadoenrealizarlacomprobaci n. Enlasiguientepantallasemuestranlasopcionesavanzadasparalamonitorizaci nweb,quees parcialmentedistintoalresto:

Loscamposdelaspropiedadesavanzadassonsimilaresalosdeotrostiposdem dulos,aunque existenalgunoscamposdiferentesypropiosdeloschequeosWEB: Timeout Eseltiempodeexpiracindurantelapeticin,sisesuperastetiempolapeticindecomprobacin sedescartar. Agentbrowserid Eselidentificadordenavegadorwebqueusar,yaquedeterminadasp ginassloaceptanalgunos navegadoresweb(consultarzytrax.comparaobtenermsinformacin). Requests Pandorarepetirlacomprobacinelnmerodevecesqueseindiqueenesteparmetro.Siunade lascomprobacionesfalla,lacomprobacinsedar comoerrnea.Dependiendodelacantidadde comprobaciones en el mdulo, se obtendr un nmero determinado de pginas; es decir, si el mduloconstadetrescomprobaciones,sedescargarntrespginas,ysienelcampoRequestsseha establecidoalgnvalor,entonceselnmerodedescargassemultiplicar por ste.Esimportante tenerloencuentaparasabereltiempototalquetardarelmduloencompletarlasoperaciones.

366

UtilizandoautenticacinHTTPSimple

16.8.UtilizandoautenticacinHTTPSimple
AlgunaspginaspuedenrequerirautenticacionsimpleHTTP.Esonotienenadaqueverconun usuarioypasswordenunformulario.LaautenticacionHTTPesaquellaque"salta"unaventanadel navegador,informandoqueelsitio"xxxx"nospideunascredenciales. EstosecodificaalahoradeespecificarunatareaHTTPdelasiguientemanera:
http_auth_serverport artica.es:80 http_auth_realm Private area http_auth_user admin http_auth_pass xxxxxx

http_auth_serverportDominioyelpuertoweb http_auth_realmNombredelazona(realm)deautenticacin. http_auth_userUsuario http_auth_passPassword Unejemplocompletoseriaelsiguiente:


task_begin get http://artica.es/pandoraupdate4/ui/ cookie 1 resource 1 check_string Pandora FMS Update Manager \(4.0\) http_auth_serverport artica.es:80 http_auth_realm Private area http_auth_user admin http_auth_pass xxxx task_end

16.9.Monitorizaciondewebservices
ConPandoraFMSyGoliatsepuedenmonitorizarAPI'sREST,noas API'smascomplejasbasadas enprotocoloscomoSOAPoXMLRPC. Por ejemplo, supongamos que quiero comprobar una API con esta llamada, que devuelve un numeroentero(de0ainfinito)enelcasodequefuncione.NOdevolvernadaseriaunerror:
task_begin get http://artica.es/integria/include/api.php? user=slerena&pass=xxxx&op=get_stats&params=opened,,1 check_string \n[0-9]+ task_end

Estomedevuelveunarespuetadeltipo:
HTTP/1.1 200 OK Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: close Date: Mon, 13 May 2013 15:39:27 GMT Pragma: no-cache Server: Apache Vary: Accept-Encoding

367

Monitorizaciondewebservices

Content-Type: text/html Expires: Thu, 19 Nov 1981 08:52:00 GMT Client-Date: Mon, 13 May 2013 15:39:27 GMT Client-Peer: 64.90.57.215:80 Client-Response-Num: 1 Client-Transfer-Encoding: chunked Set-Cookie: a81d4c5e530ad73e256b7729246d3d2c=pcasWqI6pZzT2x2AuWo602; path=/ 0

Mediantelacomprobaciondelasalidaconunaexpresionregular,puedeverificarqueestatodook. Pararespuestasmascomplejas,deberiausarotrasexpresionesregulares.

16.10.Monitorizacinhttps
Goliatpuedecomprobartantohttpcomohttps.Parapoderhacercomprobacionessobrewebseguro (https)bastaconespecificaresteprotocoloenlaURL,porejemplo:
task_begin get https://www.google.com/accounts/ServiceLogin? service=mail&passive=true&rm=false&continue=https%3A%2F%2Fmail.google.com%2Fmail%2F %3Fui%3Dhtml%26zy%3Dl&bsv=zpwhtygjntrz&ss=1&scc=1&ltmpl=default&ltmplcache=2 cookie 1 resource 0 check_string Google task_end

16.11.SoporteIPv6
Desde la version 4.0.3, Goliat (la libreria que soporta la monitorizacion transaccional WEB de PandoraFMS),soportaIPv6.ElsoporteparaIPv6,necesitausardireccionesFQDN. Esto significa que las 'URL's deben tener nombres completos (p.e: ipv6.google.com). La representacionnumericadedireccionesIPv6(pe:[::1],[2404:6800:4004:803::1014]etc..)nose puedenrealizar.EstalimitacindependelalibreriabaseLWP.

16.12.Opcionesavanzadas
16.12.1.ModificandocabecerasHTTP(Disponibleenlasiguienteversion4.0.2)
Con la opcin header se pueden modificar campos de la cabecera HTTP o crear campos personalizados.Porejemplo,paracambiarelcampo HostdelacabeceraHTTP:
task_begin get http://192.168.1.5/index.php header Host 192.168.1.1 task_end

368

Opcionesavanzadas

16.12.2.Depurandochequeosweb(Disponibleenlasiguienteversion4.0.2)
Sepuedendepurarloschequeoswebaadiendolaopcin debug<log_file>.Secrearndosficheros log_file.reqylog_file.resconloscontenidosdelapeticinHTTPylarespuestarespectivamente.Por ejemplo:
task_begin get http://192.168.1.5/index.php debug /tmp/request.log task_end

Elanteriorchequeowebcrearlosficheros/tmp/request.log.reqy/tmp/request.log.res.

369

Opcionesavanzadas

17MONITORIZACINTRANSACCIONAL DISTRIBUIDACONSELENIUM

370

MonitorizacintransaccionaldistribuidaconSelenium

AdemsdelafuncionalidadqueofreceGoliat,integradoenPandoraFMS,existe( Enlaversion enterprise) otra forma de realizar una monitorizacin transaccional con Pandora FMS, pero desplegadaamodode"agente"ensistemasdiferentesalservidor,inclusoenredesnoaccessibles. SeutilizaSelenium[1]comomotorenvezdegoliat,yestesoportaunanavegaci n"porclicks", muchomasfinaquelaqueofreceGoliat.ElplugindeagentedeSeleniuminteractuaconelservidor de Selenium. y este a su vez con el navegador del sistema. Esto hace que se puedan realizar navegacionesusandoChrome,FirefoxoIEindistintamente.FuncionaenWindowsoenLinux,y permite realizar calculos de latencia, comprobacion de cadenas y soporta la navegacin con javascriptpesado,appletsjava,flashocualquierotratecnologasoportadaenelnavegador. LadocumentacindeSelenium,porserextensayespecficadedichatecnologa,estdisponibleen el plugin enterprise de Selenium, que puede encontrar en la libreria de modulos de pandorafms.com.

371

MonitorizacintransaccionaldistribuidaconSelenium

18MONITORIZACINDESERVICIOS

372

Introduccin

18.1.Introduccin
18.1.1.Elconceptodemonitorizacindeservicio
UnservicioesunaagrupacinderecursosITbasadandoseensusfuncionalidades.Porejemploun servicio puede ser su sitio web oficial, su CRM, su aplicaci n de soporte o incluso todas sus impresoras.Losserviciossonagrupacioneslgicasqueincluyenhosts,routers,switches,firewalss, CRM,ERP,websyporsupuestootrosservicios.Puedeverelconceptodeserviciodeformam s claraconelsiguienteejemplo. Chip Company esuna empresa que sededica a vender ordenadores a travs de Internet. Chip Companytienetresgrandesdepartamentos:TiendaOnline,Soporte,Gestin.

Como puede ver los servicios que se ofrecen al cliente son tres: Tienda Online, Soporte e, indirectamente,Gestin. Todoslosserviciossoncrticosparaelnegocioya quesiunofallalos demssepuedenverafectadosylaempresapodraperdermuchodinero,inclusoclientes.Alfinal comoustedsabeunclientesatisfechopuedesignificarmsclientesporesolosserviciossontan importantes. ParamonitorizarlosserviciosdeChipCompanynecesitamosconocermsafondocadaunode ellos. ElserviciodelaTiendaOnlineeselresponsabledegarantizarqueelsitiowebdelatiendaest online, que todos los precios de los productos son correctos, gestionar las categor as de los productos.Engeneral,asegurarsedequetodalainformacinsobreproductosymtodosdepagoes correcta en el sitio web para facilitar la compra. De este servicio nos interesan los siguientes parmetros:

373

Introduccin

Elserviciodesoportetienequeresolvertodoslosproblemasquetenganlosconsumidoresconlos ordenadoresquehancomprado.Algunastareasdeestedepartamentoson:ayudaralosclientesa configurarsusconfiguraciones,gestionarlosreemplazosdeordenadoresysuspiezas,adem sde gestionar las devoluciones de equipos. Este servicio junto con el de Tienda Online son los directamenterelacionadosconelcliente,porloquesonmuyimportantesparaquelaimagendela compaa desdeelpuntodevista delcliente. De estedepartamentosequierenmonitorizarlos siguientesparmetros:

EltercerservicioeseldeGestindentrodelcualseencuentranlosdepartamentosde:Marketing, Comercial,HHRRyotrosrelacionadosconlagestin.Suprincipaltareaesasegurarsedequetodos los procesos internos de la compaa funcionan correctamente. Los servicios que ofrece este departamento son cruciales ya que coordinan los dems departamentos. Los parmetros ms importantesdelserviciodeGestinson:

374

Introduccin

Para monitorizar los servicios realizamos varios mapas con la ayuda de la Consola Visual de PandoraFMSylasimgenesquedescribenlajerarquadeChipCompany.Losdatosdeestosmapas son calculados en tiempo real, as que siempre sabremos el estado de los servicios en todo momento.Loprimeroquehicimosfuerealizarelmapadecadaservicioindependientemente. La siguiente imagen muestra el mapa del servicio Tienda Online con el estado de todos sus parmetros. Como puede ver el parmetro Contenido Actualizado tiene un punto rojo lo que quieredecirquetienealgnproblema.Sobrelosotrosparmetrospodemosdecirquesoncorrectos ya quetienenpuntos verdes.La flechahaciaatrssirvepara iralmapa generalquever ms adelante.

Siquiereconocermssobreelproblemapuedehacerclicksobreelpuntorojoyverlavistatcnica conlaquepuedesabermsacercadelproblema.Estavistatcnicamuestralosdatosrecogidospor PandoraFMSdesdefuentescomo:CRM,ERP,SAP,Basesdedatos(MySQL,Oracle,etc),incluso dispositivoscomoPC,servidoresorouters.

375

Introduccin

TambinhicimosotrosmapasparaelServiciodeSoportequepuedeverenlaimageninferior. ComopuedevertodoslosparmetrosimportantesdelServiciodeSoportesoncorrectosyaque todostienenpuntosverdes.

ParaterminarconlosmapasdeservicioscreamosunmapaparaelServiciodeGesti n,elcual puedeverenlasiguienteimagen.Denuevoelmapamuestralospar metrosmsimportantescon suscorrespondientespuntos,enestecasotodoslospuntossondecolorverdeloquesignificaque todoslosparmetrosdelserviciosoncorrectos.

376

Introduccin

Adems, creamosunmapageneralcontodoslosserviciosdeChipCompanycomoseveenla siguiente imagen. En este mapa puede ver la jerarqua de servicios de Chip Company con los estadosdecadaunodeellos.Sihaceclickenunodelospuntosqueinformandelestadoverael mapa especfico de cada servicio. Con todos estos mapas hemos creado una completa vista navegabledelosserviciosdeChipCompany.Elestadodecadaservicioeselmismoquesemuestra enlosmapasespecficosdecadauno,comopuedeverGestinySoportesoncorrectos,peroTienda Onlinetieneproblemas.Comopuedeverelestadodelosserviciosescaladentrodelajerarqu a hastalacima,propagandoelestado.

18.2.ServiciosenPandoraFMS
18.2.1.ComofuncionanlosserviciosenPandoraFMS
Adiferenciadelamonitorizacin"especfica"dondeserecogenvaloresconcretosdeindicadores
377

ServiciosenPandoraFMS

concretos,lamonitorizacindeserviciosconPandoraFMSestideadaparamonitorizar"grupos"de elementos, de diferente ndole, con ciertos "margenes" de error, basados en la acumulaci n de fallos. Paraentendermejorenqu consistelamonitorizacindeservicios,vamosaponerunpequeo ejemplo. Queremosmonitorizarsielservicioqueestamosdando,atrav sdeunclusterWEB,est "bien". Esteclustersecomponedelossiguienteselementos: DosrouterenHA. DosswitchenHA. VeinteservidoresWEBApache. CuatroservidoresdeAplicacionesWeblogic UnclusterMySQLdedosnodosdealmacenamientoydosnodosdeprocesamientoSQL.

Monitorizar de forma individual cada elemento es posible y de hecho es lo primero que necesitaremos para habilitar la monitorizacin del servicio "en global". Cada elemento incluido dentrodelserviciohadeserunmonitor"standard"delosmonitorizadosconPandora,esdecir,es algoPREVIOalamonitorizacindeservicios. Lanecesidaddemonitorizarservicioscomoalgo"abstracto"surgecuandotenemoslapregunta: Qu pasasisecaeunelementoqueenprincipionoescr tico?,comoporejemeplo,unodelos veinteservidoresApache.Enprincipiopodramosnoavisar,dehechopuedeserquetengaca das frecuentes,yalfinyalcabohay20nodos,nodeberaavisarnosporlacadadeunsolonodo (imaginemosqueeseavisodespiertaaalguiendelacama .Alfinyalcabo,unserviciocontanta redundanciaest paradarmstranquilidad,nomstrabajo.Slodeberaavisarnossisecaeun elementomscrtico(p.e:unrouter)osisecaen"unoscuantos"servidoresWEB,p.e.4o5. Deestaforma,sileponemos"pesos"acadaelementodenuestroejemplo: Switchesyrouters:5puntosacadaunocuandoestnencritical,y3puntossiestnen warning. ServidoresWEB:1.2puntoacadaunoencritical,nocontemplamoselestadowarning. ServidoresWebLogic:2puntosacadaunoencritical. ClusterMySQL:5puntosacadanodo,3puntosenwarning. Establecemosunumbraldewarningparaelserviciode4,yunumbraldecriticalde6.Deesta forma,ysuponiendoquetodovabienelservicioestara"OK"sitodosloselementosmonitorizados estnOK. AhorasupongamosquesecaeUNservidorWEBApache: 1xServidorApacheenCRITICALx1.2pto=1.2Dadoque1.2<4(Warning),elservicio sigueenestadoOK. VeamosquepasasisecaeunservidorWEByunWeblogic: 1xServidorApacheenCRITICALx1.2pto=1.2 1xServidorWeblogicenCRITICALx2=2 Total,3,2siguesiendo<4asiqueelserviciosigueenestadoOKysinlevantaraloperadordela cama. VeamosquepasasisecaendosservidoresWEByunWeblogic: 2xServidorApacheenCRITICALx1.2pto=2.4 1xServidorWeblogicenCRITICALx2=2 Total,4,4ahorayaes>4yelservicioparaaestadoWARNING,puedequetodav anolellegueun SMSdeurgenciaaloperador,peroseguroqueporlomenoslellegaunmailaalguien.Sigamoscon
378

ServiciosenPandoraFMS

elejemplo. SupongamosqueademasdeloanteriorsecaeunRouter: 2xServidorApacheenCRITICALx1.2pto=2.4 1xServidorWeblogicenCRITICALx2=2 1xRouterenCRITICALx5=5 Tenemosyaun9,4superioralumbralde8paraCRITICAL,asiqueelservicioest encriticaly nuestrooperadornotienemsremedioquelevantarse. LamonitorizacindeserviciosesunacaractersticanicamentedelaversinEnteprisedePandora FMS.

18.2.2.Creandounnuevoservicio
18.2.2.1.EnPandoraversin4einferiores
Los servicios representan la asociacin de mdulos de agentes y sus valores son calculados en tiempodeejecucin.Porelloantesdenadaesnecesariotenertodoslosdispositivosqueformanel servicio monitorizados y los valores de sus mdulos normalizados a tres estados: Normal, Advertencia o Critico. Si quiere saber ms sobre como hacerlo puede visitar las secciones: MonitorizandoconPandoraFMSyPolticasdemonitorizacin. Unavezquetienetodoslosdispositivosmonitorizadospuedecrearungrupoconellosdentrodeun servicio.Dentrodecadaserviciopuedeaadirtodoslosmdulosquenecesiteparamonitorizarel servicio.PorejemplosiquieremonitorizarelserviciodelaTiendaOnlinenecesitaunmodulopara elcontenido,otroquemonitoriceelestadodelascomunicacionesyas losdems.Atravsdelos siguientespasospuedevercomocrearunservicioconPandoraFMS. ParacrearunnuevoserviciohagaclickeneltabServiciodelmenudeOperacinypulseelbotnde configuracin.

Aparecerunalistacontodoslosservicios,enlaimageninferioraparecedichalistavaca.

379

ServiciosenPandoraFMS

ParacrearunanuevoserviciosimplementehagaclickenelbotonCreate,yentoncespuedecrearel serviciorellenandoelformularioqueapareceenlaimagendeabajo.

En este punto hemos creado un servidor sin items, as que tenemos que aadir los items que componenelservicio.Paraaadirunnuevoitempulseenlaherramientanaranjadelaesquina superior derecha del tab Gestin deServicio y luego en el botn Crear. Aparecer el siguiente formulario.Enesteformulariodebeelegirelmdulodeagentequequiereaadir.Ademsdebe rellenarloscampospesos,quedictanlospesosquetieneelm dulodentrodelservicioparalos estadosNormal,AdvertenciayCrtico.Cuantomspesotengaelmdulomsimportanteesdentro delservicio.

CuandotodosloscamposestnrellenospulseenelbotnCrearyaparecerunaimagenparecidaa lainferiormostrandoqueelmduloseaadiconxito.

380

ServiciosenPandoraFMS

Puede aadir todos los elementos que necesite para monitorizar sus servicios. En este ejemplo hemos aadido todos los elementos necesarios para monitorizar el servicio con los pesos correspondientes,yelresultadoquedacomopuedeverenlasiguienteimagen.

UnavezquehacreadoelserviciopuedecomprobarsuestadoactualpulsandoeneltabServicio dentrodelmenOperacin

381

ServiciosenPandoraFMS

Aparecerlalistacontodoslosserviciosenelmodooperacin,parecidaalaimageninferior.Estos datossoncalculadosentiemporealmostrandolossiguientesparmetros: Name:nombredelservicio. Description:descripcindelservicio. Group:Grupoalqueperteneceelservicio. Critical:Valorlmiteapartirdelcualelservicioestenestadocrtico. Warning:Valorlmiteapartirdelcualelservicioestenestadowarning. Value:Valordelservicio.Secalculaentiemporeal. Status:Estadodelservicioenfuncindelvaloryloslmitescriticalywarning.

Sihaceclickenelnombredeunserviciover lavistaespecficadeeseservicio.Comosabeel estadodelserviciosecalculacomolasumadelospesosasociadosacadam dulo.Losservicios,al igualquelosmdulos,tienenasociadounestadodependiendodesuvalor.Estavistamuestrael estadodecadaitemdelservicioconlossiguientesparmetros: AgentName:nombredelagentealqueperteneceelmdulo. ModuleName:nombredelmdulo. Description:descripcinlibre. WeightCritical:pesocuandoelmduloestenestadocrtico. WeightWarning:pesocuandoelmduloestenestadowarning. WeightOk:pesocuandoelmduloestenestadonormal. Data:valordelmdulo. Status:estadodelmdulo.

382

ServiciosenPandoraFMS

Tambin se pueden crear mdulos asociados a servicios con las ventajas que esto implica (periodicidaddeclculo,integracinconelsistemadealertasetc.)Laformadeasociarunm dulo aunservicioesseguirlossiguientespasos: 1. Crearlosmonitoresindividualesquecomponenelservicioyasegurarsedequefuncionan correctamente. 2. EstablecerlosumbralesindividualesparacadamonitorparadefinirestadosCRITICALy/o WARNING. 3. Crearunservicioconaquellosmonitorresqueconsideremos,ydefinirumbralestantoparael serviciocomopesosparacadamonitorincluidoenelservicio. 4. Iralagentedondequeremos"ubicar"elmonitorasociadoalservicio. 5. Crearunnuevomodulodetipo"prediction"asociadoaeseagente,utilizandoeleditorde modulosdelservidorPrediction,paraasociarloaunodelosserviciosdelalista. 6. Si queremos asociar alertas al servicio, debemos hacerlo sobre el modulo asociado al servicio.Elserviciocomotalnotieneposibilidaddeagregaralertas,nigr ficasniinformes, tododebeserhechoatravsdelmonitorvinculadoalservicio,talycomosehadescrito.

383

ServiciosenPandoraFMS

DespusdehabercreadotodoslosserviciospuedecrearlosMapasVisualesparaverelestadodelos servicios en todo momento de una forma ms viusal. Tiene ms informacin sobre los Mapas VisualesdePandoraFMSenlaseccin:Visualizacinypresentacin. Conestaherramientahemoshecholosmapasquehavistoenlaintroducci nyquerepresentanlos serviciosdeChipCompany.AbajopuedeverelmapageneralquemuestralosserviciosdeChip Company.

AdemssinecesitaunmapamstcnicopuedecrearmapasmsdetalladosconlaConsolaVisual dePandoraFMS.Puedeaadiriconos,grficas,puntosdeestado,etiquetasydatoscomotexto simple.LaimagendeabajomuestraunavistatcnicadelserviciodeTiendaOnlineconlosestados detodoslosdispositivos.

384

ServiciosenPandoraFMS

18.2.3.Agrupacionesdeservicios
Losserviciossonagrupacioneslgicasqueconformanpartedelaestructuradenegociodeuna organizacin. Por ello puede tener cierto sentido la agrupacin de servicios ya que a veces los servicios por si slos no tienen un significado completo. Para agrupar servicios es necesario asignarloscadaunodelosserviciosquequeramosagruparcomom duloaunagente,creandoas unanuevaagrupacinlgica. Estasagrupacionesnosayudaranaporejemplo:crearmapasvisuales,configuraralertas,aplicar polticasdemonitorizacin,etc.Detalmaneraquepodemoscrearalertasqueavisencuandola compaaestenestadocrticoporqueloscomercialesnopuedenrealizarsutrabajo,ocuandouna delassedesnoestaplenorendimientoporproblemastcnicosconsuserviciodeERP. Paradeformamsclaraquesonagrupacionesdeserviciosseproponendosejemplos.

18.2.3.1.Variosserviciosenunamismacompaia
Continuando con el ejemplo anterior, supongamos que adems de dar una servicio en nuestra compaatenemoscomercialesquelovendenyestosdebenconectarseaunCRMparagestionar susclientes. NuestroserviciodeCRMsecomponede: DosrouterenHA. DosservidoresWEBApache. UnclusterMySQLdedosnodosdealmacenamientoydosnodosdeprocesamientoSQL. ParaesteejemplopodemossuponerquetenemosconfiguradoelserviciodelCRMconlospesos adecuados.

385

ServiciosenPandoraFMS

Enestemomentotenemosdosservicios: 1. ServiciodeClusterWeb(conelquedamosserviciosalosclientes) 2. ServiciodeCRM(conelquenuestroscomercialesgestionanlosclientes)

Paracontinuarconlaagrupacindeservicioloidealseracrearunanuevoagentequesellamepor ejemplo"Compaia"yquecontengacomomduloslosserviciosClusterWebyCRM.Deestaforma tendramoslosserviciosquedaranagrupadosdelasiguientemanera.

18.2.3.2.Distintosserviciosenvariassedes
Otroejemplopodraserlasituacinenlaquequeremosmonitorizarlasdiferentessedesdeuna empresa,enlaquecadasedetienesuspropiosserviciosinternos. Para este ejemplo supondremos que contamos con tres sedes con los siguientes servicios ya configuradosencadaunadeellasCRM,ERPyWebInterna.Paracadasedeseconfigurar los diferentes servicios con sus necesidades especficas. Hasta aqu tenemos monitorizadas todos serviciosdelasdiferentessedesdemaneraindependiente.Resultandoelsiguientegrfico.

386

ServiciosenPandoraFMS

Peropuedesurgirlanecesidaddecrearagrupacioneslgicasquerepresentenalasdiferentessedes de la empresa parapodertenerenPandora FMSuna estructura msfiel alaqueexisteenla realidad.Paraellopodemoscrearunagenteporsedecuyosmdulosseanlosdiferentesserviciosde dichasede,obteniendolossiguientesgrupos.

Conestamaneradeagruparlosserviciossepuedecrearlaestructural gicapresenteenelmundo realenPandoraFMSobteniendounamonitorizacindeservicioscompleta.

387

ServiciosenPandoraFMS

19OPERACINCONTRAPSSNMP

388

Introduccin

19.1.Introduccin
PandoraFMStieneunaconsoladerecepcindetrapsquepermitevisualizarlostrapsqueenv an losobjetosmonitorizadosyaadiralertasadichostraps.LostrapsSNMPserecibenatrav sdel demoniodelsistemaoperativoqueelservidorSNMPdePandoraFMSarrancacuandoelservidorde Pandora se inicia. Este servidor, generalmente almacena los traps en un log en /var/log/pandora/pandora_snmpconsole.log . Lostrapsserecibengeneralmenteenformato"crudo",esdecir,conOID'snum ricos,anoserque unaMIBinstaladaenelSistemaOperativoseacapazderesolverlos.LaconsolaSNMPdePandora FMS Enterprise, permite crear reglas para renombrar OID's num ricas a OID's alfanumricas o simplescadenasdetextodescriptivas(p.e:Sehaca dolainterfaz)deformaqueseamsintuitivo trabajarconTRAPS.PandoraFMStambinpermitecargarMIB'sdeTrapsdecualquierfabricante paradefinirautomticamenteesasreglas.

19.2.Accesoalaconsoladerecepcindetraps
ParaaccederalaconsoladerecepcindetrapssevaaOperacin>ConsolaSNMPdondeaparece la lista de traps que se han recibido. Existe un icono (el ojo) que permite desplegar toda la informacindeltrap,igualqueocurreconloseventos.Aquipodemosverlainformaci ndetallada deuntrapSNMP.

Paracadatrapaparecenlassiguientescolumnas: Status Cuadradoverdesieltrapsehavalidadoyrojosinosehavalidado. SNMPAgent Agentequehaenviadoeltrap. OID OIDdeltrapenviado.Untrapsolopuedeenviarundatoenestecampo. Value Campovaluedeltrapenviado.Untrapsolopuedeenviarundatoenestecampo. CustomOID,CustomValue Campospersonalizadosenviadoseneltrap.Puedenserdatosmuycomplejos,quetenganunalgica especficaenfuncindeldispositivoqueenvaeltrap.Untrappuedeenviarvariosdatoseneste campo. TimeStamp Tiempoquehapasadodesdequeseharecibidoeltrap. Alerta
389

Accesoalaconsoladerecepcindetraps

Cuadradoamarillosisehalanzadoalgunaalertaconestetrapocuadradogris,sinosehalanzado ningunaalerta. Accin Campoparaborrarovalidareltrap. Ademslostrapstieneuncolor(vistocomocolordefondodelal neadeltrap)diferentesegnel tipodetrap. Azul:lostrapsdetipomantenimiento. Morado:lostrapsdetipoinformacin. Verde:lostrapsdetipoNormal. Amarillo:lostrapsdetipoWarning. Rojo:lostrapsdetipoCrtico.

19.2.1.Filtrartraps
Enlapartesuperiordelaconsoladetrapsaparecelaopci nToogleFilter.Pulsandosobredicha opcinaparecenodesaparecenloscamposparafiltrartraps.

Esposiblefiltrarenlaconsoladetrapsporlossiguientescampos: Agent:combodondeaparecenlosagentesdePandora. OID:combodondeaparecenlasOIDsrecibidas. Alert:combodondeseeligeporalertaslanzadasonolanzadas. Searchvalue:combodondesepuedebuscarporvalordelTrap. Severity:combo donde aparecen losdiferentes tipos detrap: Maintenance, Information, Severity,Warning,NormalyCritical. Status:SeleccionaentrealertasSNMPvalidadas,novalidadasotodas. Freesearch:buscaporcualquiercampoalfanumricodeltrap. Type:filtralasalertasSNMPportipo.Pudiendoser:Coldstart,Warmstart,Linkdown,Link up,AuthenticationfailureoOther. Ademsdeestoscamposdebsqueda,estlaopcinBlocksizeofpagination,quepermitedefinir elnmerodetrapsquehabrencadapgina.

19.2.2.Validartraps
Conelfinderealizarunagestinefectivadelostraps,esposiblevalidarlosmismosparaqueel administradorpuedadiscriminarentrelostrapsquehavistoyaylosquenohavisto. Paravalidaruntrapsepulsasobreelcrculoverdequehayalaizquierdadeltrap.

Tambinesposiblevalidarmltiplestrapsmarcndolosypinchandoenelbotndevalidate.

390

Accesoalaconsoladerecepcindetraps

19.2.3.Borrartraps
Esposibleborrartrapsunavezquelosmismossehantratado. Paraborraruntrapsepulsasobrelacruzrojaquehayalaizquierdadeltrap.

19.3.AlertasdeTrapsSNMP
EsposibleasociarunaalertaauntrapparaquePandoraFMSnosavisesillegauntrapespecifico. EstoestenelmenudeSNMP>AlertasSNMP.LostrapsdeSNMPnotienennadaqueverconel restodealertasdelsistema,aunquereutilizarnelsistemadeacciones.Tengaencuentaquealno existir"plantilladealertas"aqui,lascondicionesyloscampospasadoscomopar metroalcomando funciona diferenteacomofunciona unaalertanormal.Loscamposdedatosdelaalertasobre escribenaloscamposdelaaccinynoexistenalertasderecuperacin(nosepuederecuperarun trap),yaqueencasodequeserecibaotrotrapparaadvertirdequealgodejadeestarmal,hayque tratarlocomountrapdiferente.

19.4.PersonalizarTrapsSNMP
Conelfindefacilitarlacomprensindelostraps,queenvanlosdispositivosmonitorizados,por partedeloperadoresposiblesubirlasMIBsdelfabricanteaPandoraFMSobieneditarlostrapsde formapersonalizada.

Las siguientes, son caractersticas de la version Enterprise nicamente

19.4.1.Renombrar/Personalizartraps
Llamamos"editaruntrap"alprocesodondesepermite"personalizar"elaspectoquetieneuntrap enlaconsola.Sisefijaenlacapturasiguiente,puedequetodossustrapsseandif cilesdedistinguir debidoalainformacincrpticaquecontienen.Podramosrenombrarlosparaquepusiera"Caja
391

PersonalizarTrapsSNMP

azul"envezdeunchurroindescifrable?. Paraeditaruntrap,vayaaOperacion>ConsolaSNMP.HagaclickenelcampoOIDdeltrapquese quiereeditar.

Aparecerunapginasimilaralasiguiente:

Deestaforma,alencontrartrapsconelOID".1.3.6.1.4.1.2789.2005"losvisualizar como"Bluebox sample".Ysermasfcilparaelojonormal,diferenciarlos.Sucontenido(incluidalaOIDoriginal) novariar. Tenga en cuenta que todos los traps anteriores no cambiarn su aspecto, esto entrar en funcionamientoconlosnuevostrapsqueentrenenelsistemaapartirdeestemomento. Desdeelmismositiopuedecrearnuevostrapsdesde0,conlaopcion"creartrap".Paraellos lohay queiraleditordetraps,comosepuedeverenestacaptura.Enesasecci npodemosalterarla definicindeuntrap,oborrarla.

392

PersonalizarTrapsSNMP

Finalmente,asescomoseverauntrapredefinidoporelusuario:

19.4.2.SubirlasMIBsdelfabricante
EstaopcinsirveparasubirMIBSdetraps(exclusivamente)yampliarlabasededatosinternade traduccindePandora,deformaquecuandollegueuntrap,seaautomticamentetraducidoporsu descripcin. ParasubirlasMIBsdelFabricantesepinchaenExaminar,seeligeelarchivoquedebedeestar conextensintxtysepinchaenUploadMIB.

Unavezquesehasubidoelsistemaloincorporaasulibreradetraps.

19.5.AlertascontrapsSNMPcomplejos
Lasalertasdescritasanteriormentesonparaocasionesdondeeltrapest biendefinido,essiempre elmismo,ynotieneunainformacinrelevantequedebamosrescatar. Enotrasocasionesnospodemosencontrarconuntrapquetienelasiguientefisionom a:
OID: .1.3.6.1.4.1.2789.2005 Value: 666 Custom data: 1.3.6.1.4.1.2789.2005.1 = STRING: "ID-00342" .1.3.6.1.4.1.2789.2005.2 = STRING: "Automated check" .1.3.6.1.4.1.2789.2005.3 = STRING: "NIC Offline"

393

AlertascontrapsSNMPcomplejos

.1.3.6.1.4.1.2789.2005.4 = STRING: "4897584AH/345"

Esteesuntrap"complejo",queademasdeunOIDyunvalor,contieneunainformaci ncompleja, basadaenvariosOIDyvariosvalores.Untrappuedetener,ensupartecompleja,unaestructura completamente libre, basada en pares de OID y valores (contadores, numericos, alfanumericos, fechas....). Estetrapsevisualizaraenlaconsoladetrapsdelasiguientemanera:

Si nos fijamos en detalle en la informacin extendida (Custom data) existen varios trozos de informacinutil.Concretamente,elprimercampo,conelOIDqueterminaen2005.1pareceun identificador,eltercercampoconOIDacabadoen2005.3pareceunmensajedeerror.Loscampos 2y4noparecendemuchautilidad,yaqueel4porejemplo,esuncdigoquedesconocemos. Pensemosquepodramoscrearuneventoapartirdeuntrap,colocandopartesespec ficasdeltrap eneltexto,porejemplo,supongamosquequeremosconstruiruneventoquecontengalasiguiente informacin:
Chassis Alert: <mensaje de error> en dispositivo <identificador>

El reto consiste en crear una alerta que haga "match" en esos campos, obtenga el trozo de informacinylouseposteriormenteparacomponerunamensajeenunaalerta.Podemoshaceresto con Pandora FMS, usando expresiones regulares avanzadas, usando selectores. Puedeencontrar msinformacinsobreexpresionesregularesaqu:[1]. Losselectores,queusanloscaracteres()permite"copiar"informaci n,usandounaexpresinde bsqueda. Laexpresinregularparaobtenerelidentificadorseralasiguiente:
.*.1.3.6.1.4.1.2789.2005.1 \= STRING\: \"([0-9\-\_A-Za-z]+)\"

Laexpresinregularparaobtenerelmensajedeerrorseralasiguiente:
.*.1.3.6.1.4.1.2789.2005.3 \= STRING\: \"([\sA-Za-z]+)\".*

Unavezqueyatenemosloscamposdeinformacin,debemosusarlosenlaalerta.Paraesoseusan lasmacrosespeciales_snmp_f1_,_snmp_f2_,_snmp_f3_(etc)queslotienensentidoenlasalertas detrapsSNMP. Paraconstruirelmensaje,utilizaramoslasiguientecadena:

394

AlertascontrapsSNMPcomplejos

Chassis Alert: _snmp_f2_ en dispositivo _snmp_f1_

Enresumen,assecrearalaalertacompleta:

Yassevisualizaraenelvisordeeventos.

Parahacerestetipodealertas,esnecesariotenerbuenosconocimientosdeExpresionesRegulares, yaqueunsimpleespacio,unacomillaouncarcterenelsitioequivocadopuedehacerqueno funcione. Recuerde siempre que las alertas SNMP llevan implcito el uso de expresiones regulares.Laformadeestablecerunaalertamssencilla,usandoexpresionesregulares,serala siguiente:
395

AlertascontrapsSNMPcomplejos

Estaalertaseria"Compatible"conlaanterior,deformaqueparaelmismotrap,podr ansaltardos eventosdiferentes:

19.5.1.Ejemploadicional
Estootroejemplo,utilizaunaalertadetipoemailparaenviarinformaci nsobreelnombredel interfazcadavezqueserecibeuntrapespecficoquenotificaproblemasendichainterfaz.Deforma quealemailmellega lainformacion del dispositivoylainterfaz, sacandoesa informaci ndel interiordeltrap. Esteeseltraprecibidodelswitch:

Asiescomoquieroquemellegueelmail

396

AlertascontrapsSNMPcomplejos

Asescomodefinoeltrap.

19.6.AsociaruntrapalrestodealertasdePandora/SNMPAgenttrap forwarding
Las alertas definidas sobre traps son completamente independientes del motor de alertas de Pandora, por lo que no se pueden establecer correlaciones del tipo salta una alarma si la temperatura sube a 29 grados y salta el trap de ca da de fuente secundaria de alimentacin. Tampocosepuedenrepresentaralertasdeestetipo(yaquenoest nenprincipioasociadasa ningunmodulodePandoraFMS,conloquenosepuederelacionarlamonitorizaci ndelaconsola detrapsconelementostalescomoinformesomapas.

397

AsociaruntrapalrestodealertasdePandora/SNMPAgenttrapforwarding

ModuloespecialSNMPTrap,conteniendoeltrapreenviadodesdelaconsolaSNMP :

Para poder hace esto, existe un mtodo llamado "Agent SNMP Trap Forwarding". Esta opcin (generalalservidor)reenviaeltrapaunmoduloespecialdelagentellamado"SNMPTrap"como cadenadetexto,siysolosi,ladireccionIPorigendeltrapest definidacomoIPdeunagente. Cuandoestoocurre,eltrapllegacomounalineadetextoalagentedentrodeesemodulo,queesun moduloquesedefinesolocuandollegaelprimertrap. Sobreesemdulosepuedenespecificaralertasdetexto,siendoestascompletamenteestandard, comolasdecualquiermodulo.Estopermitepersonalizarlamonitorizaci nSNMPparaqueciertos traps,deciertosorgenespuedansertratadoscomounmduloms,yasintegrarloenelrestode lamonitorizacin,incluyendolacorrelacindealertas. Aspectoquetieneelmodulo"SNMPTrap":

Esta es una caracterstica Enterprise y se configura en la seccin principal de configuracin de PandoraFMS,conunaopcincomoladelaimagen: Opcindeconfiguracinparahabilitarelreenvodetrapsalosagentes:

Sisecambiaestaopcin,hayquereiniciarelservidordePandoraFMSparaqueempiezeaactuar. Otrasolucinesmontarunaalertasobreeltrapqueactiveunmdulodeunagente.Porejemplo,el
398

AsociaruntrapalrestodealertasdePandora/SNMPAgenttrapforwarding

trapesescribirenunficherodelogs,ysetieneunagentequeleaeseficheroysaltecuandohayun "1"escrito.Deestaforma,elmdulosaltarcuandoserecibaeltrapdeseadoysepodrestablecer lacorrelacinenbasealtraprecibido.

19.7.Filtradodetrapsenelservidor
Algunossistemasrecibenunnmeroelevadodetrapsdeloscualesslointeresamonitorizarun pequeoporcentaje.Desdelaversin3.2dePandoraFMSesposiblefiltrarlostrapsquerecibeel servidorparaevitarcargarlaaplicacindemanerainnecesaria. DesdeAdministration>ManageSNMPConsole>SNMPFilterssepuedendefinirdistintosfiltros.Un trapquecaseconcualquieradeellosserautomticamentedescartadoporelservidor.

Elfiltroseaplicacomounaexpresinregularsobrelaentradacorrespondientealtrapenellogde SNMP(pordefecto/var/log/pandora/pandora_snmptrap.log),quetieneelsiguienteformato:
%4y-%02.2m-%l[**]%02.2h:%02.2j:%02.2k[**]%a[**]%N[**]%w[**]%W[**]%q[**]%v\n

Siendo: %y:Aoactual. %m:Mesactual(numrico). %l:Dadelmesactual. %h:Horaactual. %j:Minutoactual. %k:Segundoactual. %a:Direccindeorgen(slotrapsversin1). %N:OID. %w:Tipodetrap(numrico). %W:Descripcindeltrap. %q:Subtipodeltrap(numrico). %v:Listadevariablesseparadasportab(customOID).
399

Filtradodetrapsenelservidor

Por ejemplo, para filtrar todos los traps enviados por el host 192.168.1.1 podr amos definir el siguientefiltro:

19.8.GestordeTRAPSexterno
LaconsoladeSNMPest limitadaarecibirtraps,yaquesoloprocesaTRAPcomoenteindividual, perountrappuedecontenermuchisimainformacion.Avecesocurrequelaunicamonitorizacion quepodamoshacerestbasadaentraps.Paraellopodemosoptarpor"postprocesar"lainformacion recogidaenuntrapatravesdeunscriptexterno,queactuaamododeplugin. Paraprocesarlosdatosdeuntrapcondetalle,sepuedeenviartodalainformaciondeuntrapaun script,comoresultadodeunaalerta.Heusadoestetrapparaelejemplo,eslavistadeltraptalcual estariaenellogdelaconsoladesnmpdePandora: 20100826 12:01:46 pandora 10.201.246.2 .1.3.6.1.4.1.1722 .1.3.6.1.4.1.1722.2.10.1.1.1 233 . 1.3.6.1.4.1.1722.2.10.1.1.3 = STRING: AIX_Software_Failure .1.3.6.1.4.1.1722.2.10.1.1.2 = STRING:0825201008:23:43:697685.1.3.6.1.4.1.1722.2.10.1.1.8=STRING:1:Asoftwareerror PERMwithlabelCORE_DUMP,identifierC69F5C9BoccurredatWedAug2510:22:28DFT2010on dvs02 for resource SYSPROC. Cause is SOFTWARE PROGRAM ABNORMALLY TERMINATED. . 1.3.6.1.4.1.1722.2.10.1.1.6=STRING:8.1.3.6.1.4.1.1722.2.10.1.1.11=STRING:Anapplication may not work properly .1.3.6.1.4.1.1722.2.10.1.1.10 = STRING: An application may not work properly.1.3.6.1.4.1.1722.2.10.1.1.12=INTEGER:4.1.3.6.1.6.3.1.1.4.3.0=OID:.1.3.6.1.4.1.1722

400

GestordeTRAPSexterno

Enlascapturassepuedevercomosecreariaunaalertaespecial,queejecutaunscriptconlos contenidoscompletosdeltrap(_data_)ycomosecrealaalertadetipoSNMP.Enestecasoseha mapeadoparalaOIDEspecifica(.1.3.6.1.4.1.1722.2.10.1.1.1)peropodrahabersidomasgenrica, porejemplo(.1.3.6.1.4.1.1722)parainvocaralscriptantecualquiertipodetrapsdeestatipologia (.1.3.6.1.4.1.1722imaginoquesernpartedelaMIBespecificadeAIX). Seejecutaunscriptqueprocesaesosdatosy"analiza"eltrapparaescribirdatosenPandoraFMS directamente, generando unXML y dejandolo en /var/spool/pandora/data_in a modo de datos como si vinieran de un agente. Un script basico para este caso podr a por ejemplo, generar inforamacioncomplejayaquetenemosbastanteinformacionenestetrap,asaber: IPOrigen. Eventoprincipal(Coldstart) Eventossecundarios(descriptivos):AIX_Software_Failure,1:AsoftwareerrorPERMwith labelCORE_DUMP,identifierC69F5C9BoccurredatWedAug2510:22:28DFT2010on dvs02 for resource SYSPROC. Cause is SOFTWARE PROGRAM ABNORMALLY TERMINATED, An application may not work properly, An application may not work properly. Aldisearunscriptque"parsee"cadaunodeesosdatos,porejemplo"miscript.pl"yqueguarde en /var/spool/pandora/data_in el XML con un nombre generico mas un numero aleatorio p.e snmp_gateway.31415.data ElXMLgeneradodeberiatenerelsiguienteaspecto.
<?xml version='1.0' encoding='ISO-8859-1'?> <agent_data description='' group='' os_name='aix' os_version='' interval='300' version='3.1(Build 100608)' timestamp='2010/08/26 12:20:26' agent_name='10.201.246.2'> <module> <name><![CDATA[Critical_Event]]></name> <description><![CDATA[]]></description> <type>async_proc</type> <data><![CDATA[1]]></data> </module> <module> <name><![CDATA[events]]></name> <description><![CDATA[]]></description> <type>generic_string</type> <datalist> <data><value><![CDATA[AIX_Software_Failure]]></value></data> <data><value><![CDATA[A software error PERM with label CORE_DUMP, identifier C69F5C9B occurred at Wed Aug 2 5 10:22:28 DFT 2010 on dvs02 for resource SYSPROC.]]></value></data>

401

GestordeTRAPSexterno

<data><value><![CDATA[Cause is SOFTWARE PROGRAM ABNORMALLY TERMINATED, An application may not work properly, An application may not work properly.]]></value></data> </datalist> </module> </agent_data>

Laaplicacionesinfinita,peroesosi,cadascriptdebeserparticularizadoyaquepuedeteneruna estructuramuydinmica,enmuchossistemaslainformacionqueserecibeesnosolodetextosino tambiennumrica,conloquepuedealimentaramdulosdeinformacinnumericaparapoder representargraficasetc,esosi,losdatossiempresonasincronos.

19.8.1.Ejemploprctico:MonitorizacinESXutilizandotraps
Unadelascosasmsproblemticasdemonitorizareslainfraestructura"distribuida",mssicada versincambiasuimplementacinparareunirinformacin,comoVmWareESX.Enestepequeo captulointentaremosexplicarcmomonitorizarlossistemasESXutilizandoungestorexternode TrapsSNMP. LostrapsESXsoncomoestos: .1.3.6.1.4.1.6876.4.3.301 = STRING: "host" .1.3.6.1.4.1.6876.4.3.302 = STRING: "c700006 01.tsm.inet" .1.3.6.1.4.1.6876.4.3.303 = "" .1.3.6.1.4.1.6876.4.3.304 = STRING: "Green" . 1.3.6.1.4.1.6876.4.3.305=STRING:"Yellow".1.3.6.1.4.1.6876.4.3.306=STRING:"Hostcpuusage MetricUsage=1%" .1.3.6.1.4.1.6876.4.3.301 = STRING: "host" .1.3.6.1.4.1.6876.4.3.302 = STRING: "dl360 00.tsm.inet" .1.3.6.1.4.1.6876.4.3.303 = "" .1.3.6.1.4.1.6876.4.3.304 = STRING: "Yellow".1.3.6.1.4.1.6876.4.3.305=STRING:"Green".1.3.6.1.4.1.6876.4.3.306=STRING:"Host memoryusageMetricUsage=84%" .1.3.6.1.4.1.6876.4.3.301 = STRING: "host" .1.3.6.1.4.1.6876.4.3.302 = "" . 1.3.6.1.4.1.6876.4.3.303="".1.3.6.1.4.1.6876.4.3.304=STRING:"Red".1.3.6.1.4.1.6876.4.3.305 =STRING:"Green".1.3.6.1.4.1.6876.4.3.306=STRING:"DatastoreusageondiskMetricStorage spaceactuallyused=55%" Talcomopuedesvr,lostrapspuedenserutilizadospararecolectarinformaci ndelCPU,elDisco,o laMemoria.Laideageneraldetrasdelgestordetrapsesescribirunpeque oscriptqueseacapaz de"entender"eltrapycrearunXMLsimulandounagentedesoftware.Deestemodo,paracada tecnologa deberas escribirun gestor de trap, pero todo elproceso es comn. El proceso para entenderestoestexplicadoencuatropasos: 1. Crearelhandlerscript.Puedesbasartutrabajoenelscriptqueteproporcionamosm s abajo. 2. Crearuncomandodealerta 3. Crear una accin de alerta utilizando comandos anteriores. Algunas veces, con opciones personalizadasparacadaagente"destinatario"quedesees(sitienesvariosgruposdeESX,te gustarseguramentetenerdatosendiferentesagentes). 4. CrearunaalertadeTrapSNMPquemapeeelOIDenterprise(lainformaci ndeltrappara todoslostiposdeestatecnologaespecficay/oladireccinIPdeltrapfuente. Veamoselprimerpaso:crearelscriptdemanipuladordetraps:

402

GestordeTRAPSexterno

19.8.1.1.Paso1:Traphandler:esx_trap_manager.pl
#!/usr/bin/perl # (c) Sancho Lerena 2010 <slerena@artica.es> # Specific Pandora FMS trap collector for ESX use POSIX qw(setsid strftime); sub show_help print print print print exit; } { "\nSpecific Pandora FMS trap collector for ESX\n"; "(c) Sancho Lerena 2010 <slerena@artica.es>\n"; "Usage:\n\n"; " esx_trap_manager.pl <destination_agent_name> <TRAP DATA>\n\n";

sub writexml { my ($hostname, $xmlmessage ) = @_; my $file = "/var/spool/pandora/data_in/$hostname.".rand(1000).".data"; open (FILE, ">> $file") or die "[FATAL] Cannot write to XML '$file'"; print FILE $xmlmessage; close (FILE); } if ($#ARGV == -1){ show_help(); } $chunk = ""; # First parameter is always destination host for virtual server $target_host = $ARGV[0]; foreach $argnum (1 .. $#ARGV) { if ($chunk ne ""){ $chunk .= " "; } $chunk .= $ARGV[$argnum]; } my $hostname = ""; my $now = strftime ("%Y-%m-%d %H:%M:%S", localtime()); my $xmldata = "<agent_data agent_name='$target_host' timestamp='$now' version='1.0' os='Other' os_version='ESX_Collectordime ' interval='9999999999'>"; if ($chunk =~ m/.1.3.6.1.4.1.6876.4.3.302 \= STRING\: ([A-Za-z0-9\-\.]*)\s\.1/){ $hostname = "_".$1; } if ($chunk =~ m/Host cpu usage \- Metric Usage \= ([0-9]*)\z/){ $value = $1; $module_name = "CPU_OCUPADA$hostname"; } if ($chunk =~ m/Host memory usage \- Metric Usage = ([0-9\.]*)\z/){ $value = $1; $module_name = "MEMORIA_OCUPADA$hostname"; } if ($chunk =~ m/Datastore usage on disk \- Metric Storage space actually used \= ([0-9\.]*)\z/){ $value = $1; $module_name = "DISCO_OCUPADO$hostname"; }

403

GestordeTRAPSexterno

$xmldata .= "<module><name>$module_name</name><type>async_data</type><data>$value</data></module >\n"; $xmldata .= "</agent_data>\n"; writexml ($target_host, $xmldata);

19.8.1.2.Paso2:Crearelcomandodealerta
En este ejemplo, he puesto el script del comando en /tmp, ponlo en un lugar m s seguro, y asegratedequesepuedaejecutar(chmod755):

19.8.1.3.Paso3:Crearlaaccindelaalerta
Creaunaaccinespecficaparaenviartodalainformacinatrapsdeagentesespecficos.Eneste caso,lainformacinserenviadaaunagentellamadoWINN1247VSR.Elcomandodearribaacepta comoparmetroselnombredelagentequellevar todalainformacin(ESXVirtualCenter),y "trozos"dedatosdelTRAP,quepuedeserilimitadoeincluyetodalainformacinqueenviasaltrap.

404

GestordeTRAPSexterno

19.8.1.4.Paso4:CrearlaalertaSNMP
Configuralostrapsdealertautilizandolaaccinqueacabasdecrear.

405

GestordeTRAPSexterno

ParaprocesartodoslostrapsdeTecnologaESX,queesteencontrar,utilizandoelOIDespecfico. 1.3.6.1.4.1.6876.4.3.301paramapearlostrapsESX.TambinpodemosfiltrarporfuentedeIPpara cadaCentroVirtual,medianteelfiltradopordireccinIPdeorigen(enviadoenelTrap)

19.8.1.5.VisualizacindeDatos
Esto es un ejemplo de cmo se ver la informacin. Con estos datos, podrs gestionarla como mdulosestandar.

406

GestordeTRAPSexterno

20OTROTIPODEMONITORIZACIN

407

Introduccin

20.1.Introduccin
Ademsdelascaractersticacomolamonitorizacinremota,basadaenagentesoweb,Pandora FMSofrecerecursosavanzadosparamejorarlamonitorizaci n.Conestosrecursospuederealizar estimacionessobreelhistricodedatosocrearnuevosmdulosbasadosenoperacionesaritmticas demdulosexistentes.

20.2.Monitorizacinconmdulossintticos
EstaesunacaractersticadelaversinEnterprise.Unmdulosintticoesunmduloqueobtienesu valordedatosyaexistentesenotrosmdulos.Veamosunpardeejemplos: Unmdulollamado"Sumadetrfico"quesumalosvaloresdeltrficodeentradayeltrfico desalidadeunrouter,generandounnuevomduloconeltrficototaldelainterfaz. Un mdulo llamado "Usuarios totales" que suma los valores de diez m dulos llamados "Usuariosconectados"encadaunodeloscincoservidoresdondesemonitorizaelnde usuariosqueseconectan. Losmdulossintticossonensuma,mdulosfabricadosapartirdedatosdeotrosmdulos,que puedenestarenelmismoagenteoenagentesdiferentes.Lasoperacionesquesepuedenrealizar sonaritmticas(Sumar,restar,multiplicarydividir)entremdulosy/oconvaloresabsolutos. Elprimerpasoparacrearunmdulosintticoesiralaseccindeadministracindeunagente,ya lasolapademdulos,ahescogeremoslaopcindecrearunmdulodetipopredictivo.

Ennuestroprimerejemplo,crearemosunmduloficticioquecontendrlamediaaritmticadedos mdulosdedosagentesdiferentes:CPUUse(SanchoXP)ycpu_user(garfio).Esem duloencada mquina mide el% de uso de CPU y son dos mquinas Windows y Linux respectivamente. El resultado final ser un mdulo almacenado en SanchoXP que contendr la media de los dos valores.

408

Monitorizacinconmdulossintticos

Elsegundoejemplo,creaunmdulollamado"Totalaccesses"conlamediadelosvaloresdelos mdulos"Apache_accesses"dedosagentesdiferentes,llamadosSanchoXPySanchoXP_2

Otroejemplomssencillo,peroquepuedeser til,eselquesehautilizadoparacrearelm dulo "Totalaccesses"enSanchoXP2.Simplemente"copia"elvalordeunm duloconelmismonombre enSanchoXPparaproducirelvalor.

Paraoperarconotrasoperacioneslgicas(Multiplicacin,resta,divisin),simplementehayque tenerencuentaelordendelosoperadores.Juegueconlainterfazparavercomosepuedehacer cualquieroperacinaritmticaentrediferentesmdulos.Porotroladopuedeutilizarunvalorfijo (Fixedvalueenlacaptura)paraagregarloasusoperacioneslgicas.

409

Monitorizacinconmdulossintticos

Puedeseleccionarvariosagentesenlacajadelaizquierda(usandocontrol)yselemostrar nenla cajadelcentro,todoslosmdulos"comunes"delosagentesseleccionados.Puedesermuy tilpara hacer"medias"demduloscomunesdeungrupodeservidores(p.e:CPUoespacioendisco).

20.3.Monitorizacinpredictiva
Para monitorizar un elemento con un mdulo de prediccin se necesita tener un mdulo anteriormente sobre el que realizar las predicciones. Un buen m dulo para ello podra ser la cantidaddediscooRAMlibreenunequipo,yaquelafaltadelosmismospuedecausarunmal funcionamientoenelmismo.Otromdulointeresantepodraserlalatenciaqueexisteentreel servidordePandora FMSyunservidordeInternet,Googleporejemplo.Por ello secrear un agenteydentrodeste,unmdulodeprediccinquemonitoricelalatenciaqueexisteconGoogle. Consultelaseccindecreacindemdulosderedparaello.Paraquelaprediccintengasentido, esnecesarioquelainformacinapredecirtengaalgnpatrn,preferiblementequeserepitaenel tiempo,deformadiariaosemanal. Conpredictionserverpodemostrabajarendoslineas: Predecircualseraunvaloraceptable,enunmargendetiempode510minutos(om s, peroconunaaproximacinpeorcuantomastiempoenelfuturoestimemos). Decirsiexisteunaanomalaonoenelvalorrecogidoporelmodulo"origen"queseest analizando. Veamoscomosepuededefinirunmdulodetipopredictivo. EnlaseccindeadministracindelaconsoladePandoraFMSpulsesobreManageagents.

EnlasiguientepantallapulseelbotnCreateagent:

RellenelosdatosparasunuevoagenteypulseelbotnCreateagent:

410

Monitorizacinpredictiva

Unavezquehayacreadoelagente,pulsesobrelasolapasuperiordelosm dulos(Modules).En ella,seleccionecrearunnuevomduloderedypulseelbotnCreate:

Unavezquesepulseelbotn Create,semostrar unformularioenelquesehanderellenarlos camposnecesariosparapodercrearunmdulodeprediccin.

411

Monitorizacinpredictiva

Acontinuacinsedetallanloscamposdelformulario: Name:nombredelmdulo Disabled:indicasielmduloestdesactivado. Type:tipodedatosquemonitorizar elmdulo; stospuedenserbooleanosynumricos. Enfuncindecualseaeltipo,actuaremoscomodetectordeanomal as(Mdulodetipo booleano) o como "predictor" del valor del mdulo en el futuro (Mdulo de tipo dato numrico). ModuleGroup:grupoparaelmdulo. Sourcemodule:Losmdulospredictivospuedenoperarenvariosmodosdetrabajo,aqu estamos operando con modulos de tipo predictivo simple, y seleccionaremos el tipo "Modulo".Aqutenemostrescamposparaseleccionarlafuentedelainformacin: Agente.Bastaconponeruntrozodelnombreybuscar agentesconesetrozoenel nombre. Mdulo.Unavezseleccionadoelagente,nosmostrarquemodulostiene. Periodo.Laversin4.0dePandora,permiteelegirperodosdiferentesalahorade calcularlaprediccin,siendoposibleenciclosdiarios,mensualesosemanales. Porltimonodebemosolvidarnosdeuncampoqueapareceenpropiedadesavanzadas: Intervalo(enlaspropiedadesavanzadas):Elintervaloaqureflejarelnmerodesegundos enelfuturo(siesdetipopredictivo,nodetectordeanomal as),delcualsequiereobtenerel dato. Comoseve,sehaseleccionadoelmduloHostLatencydeunagentepreviamentecreadollamado Google.stossonlosdatosdelagenteGoogle:

Ylosdatosquesehanobtenidoparalosdosmdulos,enunmomentodado,sonlossiguientes:

Haciendounseguimientodelosdatosdelatencia,pulsandosobreelcuadroconuna D bajola columnaRawData,veremoslosdatosrecibidosenestadocrudoparaelltimoda:

412

Monitorizacinpredictiva

Aunquesedisponedepocosdatos,enestecasosevequeentre13y15segundosvaaestar,m so menos,lamedia.Sisedesviasedeestosvalores,entonceselm dulodeprediccinadvertirade ello.Noobstantesenecesita,almenos,unasemanadedatosparaquelapredicci nfuncione. Acontinuacinseexplicaendetallecmotrabajaelmdulo: ElservidordeinteligenciaartificialyprediccindePandoraFMSimplementadeformaestadstica unaprevisindedatosenbaseadatospasados(conunaprofundidaddehasta30d asencuatro referenciastemporales). Se ha diseado un modelo de datos complementario al de Pandora FMS que permite que los mdulosquecontienendatosdeprediccinsealimentendedatosdemdulosreales.Losmdulos detipopredictivosonprocesadosporunservidorquetrabajas locondatosdetipopredictivode formacompletamentemodular,deformaqueesfcilimplementar(inclusoendiferenteslenguajes) diferentesmotoresdeprocesadodelainformacinparagenerarprediccionesmuchomascompletas enbasealtratamientoderedesneuronalesoredesbayesianas. Actualmentelaprediccinsoportadostiposdemdulos.Unaprediccinnumricadeldatobasado enunmargentemporal(definidocomointervaloenelnuevom dulopredictivo),ounadeteccin deladesviacindelcomportamientonormaldentrodeunmargentemporaldefinidocomo1/2 delintervalodefinido.Cuandomsamplioseaelmargentemporal,maserrortienelapredicci ny msrangodevaloresposiblessoncontemplados.Estosdosm dulosseimplementanporunlado conmodulosbooleanos,quepertenecenalsegundotipodepredicci n(anomalas);numricosy numricosincrementales,perteneciendoestosdosltimosalsegundotipodeprediccin. Paraquelaprediccinfuncionehadeteneralmenosdatosdeunasemanadeantig edad.Delo contrarionopuedepredecir.Laprediccinsehacemedianteelclculodelosvaloresmediosdel valordelmduloenunintervalodado,encuatromomentosdeltiempo,t1,t2,t3,t4.Siendot1el valor hace una semana, t2 el valor hace dos semanas, y as hasta t4. Si trabajamos en ciclos mensualest1eselvalorhaceunmesyt2elvalorhacedosmeses,lomismosilosciclossondas. Paraelclculodelasanomalas,secalculatambinladesviacintpicaparaaquellasmuestrascon valoresdiferentesde0,ysecomparaelvalorrealsobreelvalorpredicho+/ladesviacintpica. Lacantidaddemuestrassepuedeajustar,dadoquepordefectoPandoraFMSborradatosdem s de45das. Unparmetroesencialenla prediccin eselintervalodela misma,disponibleenlasopciones avanzadasdelmdulo:

413

Monitorizacinpredictiva

Elrestodecamposdelaspropiedadesavanzadassonigualesalrestodemdulos.

20.3.1.MonitorizacinNetflow
Esuncasoespecialdemonitorizacinconelpredictionserver,sloparalaversionEnterprise. LosmdulosdeNetflowenterprisepermitencalcularlamediadetr ficoenunintervaloparaun patrndetrficoIPdefinidoenunfiltrodeNetflow.Lamediasecalculaenbitsporsegundo. Elprimerpasoesdefinirelfiltro.Porejemplo,paraconfigurarunm duloquedevuelvaeltrfico Webmediocada10minutosvamosa Administration>Netflow>Filters ycreamosunfiltronuevo conlasiguienteconfiguracin:

Hayquetenerencuentaqueloscampos AggregatebyyOutputformatsloafectanalasgrficasde Netflow,noalosmdulos. A continuacin hay que crear el mdulo, para ello vamos a Administration>Manage agents y seleccionamoselagentedeseadohaciendoclickenModules:

414

Monitorizacinpredictiva

SeleccionamosCreateanewpredictionservermoduleyhacemosclickenCreate:

Por ltimoconfiguramoscomofuente Netflow,seleccionamoselfiltroqueacabbamosdecreary configuramosunintervalode600segundos(10minutos).

415

Monitorizacinpredictiva

21PARMETROSCOMUNESDELOS
MDULOS

416

Tags

21.1.Tags
Lostagssonetiquetasasociadasacadamduloqueluegosepropagarnaloseventosqueeste mdulogenereysepodrnusarenlasalertasdeeventosdeestemdulo. Para poder crearlas se puede hacer desde la interfaz de gesti n >> Gestionar mdulos >> Gestionartags:

Despussepuedencreartagsintroduciendoelnombre,ladescripcinyunaopcionalmenteuna URLcompleta(http://somewebpage.com)asociadaaestetag.

Cabedestacarquesepuedeasociarunoovariostagsacadam dulo.Paraelloprimerodebenser creadoscomosedescribeanteriormente.Unavezcreadosestar ndisponiblesparaserasignadosa cadamdulo. Dentrodelasopcionesavanzadasdeunmdulosemostrarnenlacolumnadelaizquierdalostags disponiblesyenlacolumnadeladerechalostagsyaasociadosalm dulo.Pudiendosemoverde unacolumnaaotra.

417

Tags

22DESCUBRIMIENTODEREDAUTOMTICO CONRECONSERVER

418

Introduccin

22.1.Introduccin
ElservidorRecondePandoraFMSseintrodujoporprimeravezenlaversin1.3.Desdeentoncesha sufridomuchasactualizacionesymejoras.Reconserverseutilizaparaexplorarlared,utilizando ICMP (Ping) por medio de tareas definidas por el usuario para encontrar nuevos sistemas (identificados por una direccin IP) y los aade a la supervisin, utilizando las Plantillas de componentesparaasignarmdulosautomticamentealnuevoagente,yaquedeestaforma,un nuevo sistema escatalogado y se leasigna una conjunto de modulos dered, de forma que se monitoriza"solo". Es importante sealar que ste utiliza las direcciones IP para identificar qu agentes estn ya supervisadosporPandoraFMS,estaeslaraznporlaquedesdePandoraFMS1.3,losagentes puedentenermsdeunadireccinIP. Reconserverpermitetambindetectarlatopologadelossistemasdetectados,yenganchaestos sistemas,al ltimohostconocidoenlarutadesdePandoraFMSalnuevohost,identificando(por IP)todosloshostsintermedios,definiendocomohostpadredelnuevosistemamonitorizado,como elltimohostconocidoantesdellegaralnuevosistema. ReconademsimplementaunsistemadedeteccindeSistemaOperativopormediodeXprobe2(si est instalado)quejuntoconladeteccin(opcional)depuertosabiertos(realizadoconNmap), permiteidentificaryreconocerslodeterminadossistemasconcretos(p.e:Solarisconpuerto23,o Windowsconel139yel445abierto).

22.2.Tareasdereconocimiento
Las tareas Recon aparecen definidas en el men Administration > Manage servers > Manage recontask..

Unavezenlapantalla,puedecrearunatareanueva,pulsandoelbot nCreate,opuedeeditarlas existentespulsandosobresunombre:

Sidecideeditarocrearunanuevatareadereconocimientodered,deber rellenarloscampos necesariosparaquelatareaseproceseadecuadamente:


419

Tareasdereconocimiento

Taskname Nombredelatareadedescubrimiento,espuramenteunvalordescriptivoparadiferenciarlatarea porsitienevariascondiferentesvaloresdefiltradooplantilla. Reconserver Servidordereconocimientoasignadoalatarea.Sitienevariosservidoresrecon,aquidebeasignar cualdeellosquierequerealicelatareadereconocimiento. Mode Mododelatareaaescogerentre"Networksweep"y"Customscript".Elprimermodoeselmodo convencionaldetareadereconocimientodered,ylasegundaeselmodoenelqueseasociaala tarea un script personalizado cuyo funcionamiento junto a un ejemplo se ver n en sucesivos apartados. Network Redsobrelaquerealizarlaexploracin.Utilizaelformatodered/mascaradebits.Porejemplo 192.168.1.0/24esunaclaseCqueincluiralasdirecciones192.168.1.0al192.168.1.255. Interval Intervaloderepeticindelabsquedadeequipos.Noutiliceintervalosmuycortosyaquerecon exploraunaredenviandounPingacadadireccin,siutilizaredesdeexploracionmuyamplias(por ejemplo una clase A) combinado con intervalos muy cortos (6 horas) estar provocando que PandoraFMSestconstantementebombardeandolaredconpings,cargandolaeinnecesariamente sobrecargandoPandoraFMS. Moduletemplate Plantilladecomponentesqueaadiralosequiposdescubiertos.Cuandodetecteunsistemaque encaje con la espeficiacin de esta tarea (OS, puertos) lo dar de alta y le asignar todos los mdulosincluidosenlaplantilladecomponentesdefinida. OS Sistema operativo para reconocer. Si se selecciona uno en lugar de cualquiera (Any) s lo se aadirnlosequiposconesesistemaoperativo.PiensequeendeterminadassituacionesPandora FMSpuedeequivocarsealahoradedetectarsistemas,yaqueestetipode"adivinaci n"serealiza con patrones estadsticos que en funcin de algunos factores ajenos pueden fallar (redes con filtrados,softwaredeseguridad,versionesmodificadasdelossistemas).Parapoderutilizarcon seguridadestemtododebetenerinstaladoXprobe2ensusistema. Ports Defineunospuertosespecficosounrangodeterminado,p.e:22,23,21,8090,443,8080.Siutiliza este campo, slo aquellos hosts detectados que tengan al menos uno de los puertos aqui enumerados,serdetectadoyaadidoalsistema.Sisedetectaunhostperonotienealmenosuno delospuertosabiertos,ser ignorado.EstoencombinacionconelfiltradoportipodeOSpermite detectar aquellos sistemas que nos interesan exclusivamente, p.e: detectando que es un router porquetienelospuertos23y57abiertosyelsistemalodetectacomodetipo"BSD". Group Eselgrupodondeaadir losequiposdescubiertos.Obligatoriamentedeber asignarlosnuevos equiposaungrupo.Siyadisponedeungrupoespecialparaubicaralosagentesnoclasificados, puedeserunabuenaideaasignarloah. Incident
420

Tareasdereconocimiento

Indicasialdescubrirequiposnuevoscreaunincidenteono.Crear unincidenteportarea,nouno por mquina detectada, haciendo un resumen de todos los sistemas nuevos detectados, y automticamentelocreardentrodelgrupodefinidoanteriormente. SNMPdefaultcommunity ComunidadSNMPpordefectoparalosequiposdescubiertos. Comments Comentariosacercadelatareadedescubrimientodered. DeteccindeSO AlelegirestaopcinlaexploracindetectarelSO. Nameresolution Al elegir esta opcin el agente se crear con el nombre del equipo, siempre y cuando est configuradoenelpropioequipo,sinocrearelagenteconelnombredelaIP. Parentdetection Alseleccionarestaopcindetectarenlaexploracinsihayequiposconectadosaotrosyloscrear comohijos. Parentrecursion Indicaelnumeromximoderecursinconlaquesepodrangenerarlosagentescomopadrese hijos,despusderealizarlaexploracin.

Unavezquehayafinalizado,pulseelbotnUpdatesiesteditandounatareayacreada,obienel botnCreatesiestcreandouna. Antesdedefinirunanuevatarea,debehaberunservidorReconiniciadoenelsistema.Paraasignar


421

Tareasdereconocimiento

nuevosagentesautomticamenteaunservidordered,tambinsenecesitainiciarunservidorde red. Las plantillas de componentes y de grupos asignados a nuevos host en este barrido permiten desplegarunreconocimientoderedqueexploregrandesredesenminutosoenhoras.Sepodr n detectarycomenzaramonitorizartodaunaredconslounoscuantospasos. Una vez definidas las tareas Recon se deben lanzar para poder obtener la informaci n de los equiposdelared.Paraello,vayaalmenOperation>Pandoraservers:

Paraverelestadodelosservidores.Tambinpuedepulsarsobreelelementodelacabecera All systems,quelellevaralamismapantalla:

LasiguientepantallamuestraelestadodelosservidoresdePandoraFMS:

422

Tareasdereconocimiento

Busqueenlaconsolalosdetallesdeconfiguracindelservidor Recon ypulsesobre l.Ver una pantallaconelestadodelastareasreconcomolaadjunta.

Sedebepulsarelbotndeladerechadelaconsolaparainiciarlastareasrecon.Unavezhecho esto,llevaruntiempolafinalizacindelasmismas.

22.2.1.Topologadered
Reconpermiterealizarnosloundescubrimientodeloshostdeunaorganizacinsinohacerlode formaquepuedadetectarcomoestnrelacionadosentresi.Esosupone,quebienimplementado, PandoraFMSpuededetectar,monitorizaryrepresentarconexactitudsured,independientemente delndesistemasquetengasured. EstaesunacapturadelossistemasmonitorizadosporPandoraFMSenunodenuestrosservidores dedesarrolloquemonitorizacercade1000sistemas:

Parapoderhacerestoconxitonecesitaplanificarlamonitorizacin,porniveles,comosifuerauna cebolla,deformaquesedetectenprimerolosnivelesmscercanosaPandora,paraqueestelos conozcacuandodetectealossistemasquehaydetrsdeellosyaspuedaasociarlosalosnodosya


423

Tareasdereconocimiento

detectados. Paraellocreeprimerotareasderedparalosequiposdecomunicacionesmasinmediatos,yluego para los siguientes. Una vez que ya tenga detectados los sistemas mas b sicos, cree tareas de reconocimientomscomplejasbasadasenarquitecturasy/osistemas(poraplicaci noporSO), asignandoles plantillas predefinidas de red, adaptadas lo mejor posible a los sistemas que encuentre:P.e:creandounaplantillaparaservidoreswebquemonitoriceelestadodelservidor mediante un chequeo avanzado TCP, verificando tiempo de latencia y respuesta de red, y monitorizandopuertosdeserviciocomoelSSHoelFTP,sihadefinidochequeosWMIoPlugin aplicables,tambinpuedeaadirlos. Siaunsistemadetectadoporprimeravezseleaplicaunaplantillaquecontieneunm duloqueno esaplicable,estepermanecer "noinicializado"hastaqueseeliminedelsistemaautom ticamente medianteelscriptdiariodemantenimiento,dondeseeliminanlosmodulosquenuncahanpodido obtenerdatos(deahilode"noinicializados").

22.2.2.Ejemplodeuso
SihaycuatroclasesCparaservidoresdered,yunaclaseBconmuchasestacionesdetrabajo,se podrdefinirunaPlantilladecomponentesparacadaunadeesascincoredes. Porejemplo: Plantillanmero#1:SeempleaparaunservidorWindows.Estepuedetenercincomdulos: SNMPparasaberelusodeCPUenelservidorWindows.SNMPparasaberlamemoriadisponibleen elservidorWindows.SNMPparasaberlaentradadedatosdelainterfazdered.SNMPparasaber lasalidadedatosdelainterfazdered.ICMPcomprobarquesigueenfuncionamiento. Plantillanmero#2:SeempleaparacomprobarlosservidoresUNIXHTTP: ICMP comprueba si est en funcionamiento. TCP comprueba si el puerto 80 est operativo y respondealoscomandosHTTP.TCPcompruebasielpuerto22est operativoyrespondeaSSH. SNMPparasaberelusodelaCPU.SNMPparasaberlaentradadedatosdelainterfazdered. SNMPparasaberlasalidadedatosdelainterfazdered. Plantillanmero#3:EmpleadoparacomprobarservidoresUNIXOracle: ICMP comprueba si est en funcionamiento. TCP comprueba si un puerto especfico TCP est funcionandoyrespondiendoaloscomandosOracle.TCPcompruebasiunpuertoespec ficoest abierto.SNMPparasaberelusodelaCPU.SNMPmduloparasaberlamemoriadisponible. Plantillanmero#4:EmpleadoparacomprobarservidoresWindowsCIFS: ICMPcompruebasiestenfuncionamiento.SNMPparasaberelusodelaCPU.SNMPm dulopara saberlamemoriadisponible.VariosTCPparacomprobarladisponibilidadCIFS.SNMPparasaber laentradadedatosdelainterfazdered.SNMPparasaberlasalidadedatosdelainterfazdered. Plantilla nmero #5: Empleado para comprobar la actividad de todas las estaciones de trabajo: ICMPcomprobarquefuncione.TCPcompruebaquelospuertosespec ficamenteprohibidosestn cerrados,comoel21,22,80,8080,5900,P2Petc. Crearcincotareasdesupervisin,cuatroparacadatipodeservidorencadaredosubredasignadaa estetipodeservidores.Asignarcadatareaaungrupodiferenteyasignarsuperfildered.La ltima, paralaestacindetrabajo,asignaatodalaclaseByaotrogrupodiferente.Useunintervalom s cortodeanlisis(medioda,unda)paralasestacionesdetrabajoymslargoparalosservidores (23dasounasemana).

424

Tareasdereconocimiento

LosservidoresdesupervisinutilizanunanalizadorICMPinternoparacomprobarsilam quina funciona.Cuandosecreaunagente,intentaresolverladirecci nIPparaponerhostnamecomo nombredelagente.

22.3.ReconScripts
22.3.1.Introduccin
Lanuevafuncionalidad"ReconScripts"permitehaceralgomuchom sflexiblequelamonitorizacin deredyeldescubrimientoautomticoquehacaelreconserverclsico.Losscriptsdelreconse desarrollandeformaindividualconobjetivostotalmentespec ficos,comopuedanserlolosplugins deredolosplugindeagente.CadaReconScriptesdiferenteytieneunpropsito. Suideabsicamenteconsisteen"detectar"cosasdentrodelsistemaquereconoceydardealta automticamente una monitorizacin (de red, plugin, wmi...) de forma que de una forma totalmentepersonalizadapodemosdardealtaautomticamenteinstanciasenunabasededatos oracle, nuevos host virtuales dentro de un VmWare gestionado con VirtualCenter, o podemos detectarnuevasinstanciasenunservidordeaplicacionesWebLogic.Puededesarrollarseunscripto aplicacionquerealicelastareasquequierarealizaryprogramarsuejecuci nmedianteelRecon Server. CadaReconScriptespersonalizadoymuyespecfico,parauna nicatecnologa.Nosotroshemos desarrolladounocompletamenteOpenSource,lohemosllamadoSnmpDevices.Estescriptsepuede encontraren/usr/share/pandora_server/util/plugin_reconserver/snmpdevices.pl . EstesistemapermiterastrearunintervalodeIPsdadoycrearagentesporcadasistemaSNMPque leresponda(dadaunacomunidadSNMP),ademscrearautomticamenteciertosmdulosdered (SNMP)segnlosresultadosqueobtenga,deformaqueporcadahostquereconocecrear cuatro mdulosSNMP: SysUptime:Uptimedelsistema(ndesegundosdesdequeseinicielsistema) SysName:Nombredelsistema. LocalInReceives:Bytesrecibidosenelsistema/seg. LocalOutRequests:Bytestransmitidosdesdeelsistema/seg.

Yporcadainterfazreconocida(automticamentedetectarelnombredelainterfaz)enunhostse crearnotrostresmdulosSNMP: Status:Estado(operativaonooperativa). Inboundbps:Bytesdeentradaenlainterfaz/seg. Outboundbps:Bytesdesalidaenlainterfaz/seg.

22.3.2.Ejemplosdeutilizacin
Estescriptsepuedeutilizardedosmaneras:desdelaconsoladePandoraFMSydesdelashell.

22.3.2.1.Utilizacindesdelashell
Sintaxisdeutilizacin: ./snmpdevices.pl <task_id> <snmp_community> Ejemplodeutilizacin: ./snmpdevices.pl380192.168.100.0/24community2010
425

<group_id>

<create_incident_flag>

<netmask>

ReconScripts

HabiendounrecontaskconID3alqueseasociar .Losagentescreadosseasignarnalgrupo conId8(Databases).Sehadesactivadolacreaci ndeIncidentesconeltercerparmetroa0.Se rastrear en la red 192.168.100.0 con mscara 24, por lo que se buscar desde la direccin 192.168.100.1 hasta 192.168.100.254. Este rastreo se har con la community SNMP "community2000".

22.3.2.2.UtilizacindesdelaconsoladePandoraFMS
ElprimerpasoparautilizarunreconscriptdesdelaconsoladePandoraesaccederalasecci n Gestionarservidores>>Gestionarscriptsrecon.Enesteapartadoasociaremostodoslosscriptsque deseemosutilizaraadiendodeunaenunalasrutasabsolutasdelosscripts.

Unavezaadidoelscriptdeejemplo,procederemosacrearunatareareconasociadaalmismo.Si enelformulariodecreacindelatareareconseleccionamoselmodo"Customscript"deberemos escogeralgunosdatoscomunesconunatareadereconocimiento normal,comosonelservidor asociado,elintervalodeejecucindelatarea,elgrupoalquepertenecernlosagentesquese creen, si se crearn o no incidentes y comentarios adicionales. Adems de esta informacin, deberemosconfigurarunaseriedeparmetrospropiosdelscript,comosonelscriptquequeremos utilizar de los aadidos con anterioridad (en nuestro caso Snmpdevices) y los campos personalizadosquepasaremosadichoscript(hastauntotalde4). AnuestroscriptselepasaautomticamentedesdelaconsolaelIddeltaskcreadoyrespectoalos controlesdelformulariodecreacinelgruposeleccionadoyelflagquedeterminasisecrearnono incidentes.Adems,deloscuatroposiblescampospersonalizadosutilizarlosdosprimeros,siendo elprimerolaredenlaquerastrearyelsegundolacommunitySNMPdelosdispositivosdelosque seesperanresultados.

426

ReconScripts

Unavezrellenadosestosdoscampospersonalizadosyopcionalmenteloscomentariospertinentes, sehabacreadolatareareconasociadaalscriptdepruebaSnmpdevices,porloquecomenzar el rastreoyseirncreandolosagentesymdulosanteriormenteexplicados.

427

ReconScripts

23GUARPIDADECONFIGURACINDE ALERTASPARAPANDORAFMS

428

Introduccin

23.1.Introduccin
UnaalertaeslareaccindePandoraFMSaunvalorfueraderangodeunmdulo.Dichareaccin esconfigurableypuedeconsistirenenviaruncorreoelectrnicoounSMSaladministrador,enviar untrapSNMP,redactarelincidenteenelregistrodelsistema,etc.Unaalertaes,b sicamente, cualquieraccinquepuedaserdesencadenadaporunscriptconfiguradoenelSistemaOperativo dondecorreelservidordePandoraFMSqueprocesaelmdulo. Existenvariostiposdealertas:lasalertassimples,lasalertassobreeventos,ylasalertassobretraps SNMP.Enestecaptulovamosatratarelsistemadealertaenconjunto,yhablarendetalledelas primeras.

23.2.Introduccinalsistemadealertasactual
Unodelosproblemasmsfrecuentesyqueocasionamayornmerodequejasporpartedelos usuarioseslacomplejidaddedefiniralertasenPandoraFMS.Antes,hastalaversion2.0,lasalertas eranbastantemssencillasdeconfigurar.Paracadaalerta,sedefinalacondicinyloquehaca cuandolaaccinnosecumpla,paracadacaso.Eramsintuitivo(aunas habiacamposcomoel alert"threshold"quedabandoloresdecabezaamsdeuno).Erasencillo,peromerecalapena?. Uno de nuestros mejores usuarios (cuando digo mejor, es porque ten a muchsimos agentes instalados,yademsconocamuybienelfuncionamientodePandoraFMS),noscoment quecrear una alerta en 2000 modulos, era enormemente complicado, especialmente cuando habia que modificar algoentodas ellas.Debido principalmente aesteyotrosproblemas, modificamosel sistemadealertasparaquefueramodular,paraquesepudierasepararladefinici ndelacondicin dedisparodelaalerta(Alerttemplate),delaaccinaejecutarcuandoestasedispara(Alertaction) y del comando que se ejecuta dentro de la accin (Alert comnmand). La combinacin de una plantilladealerta(Alerttemplate)conunmdulodesencadenalaalertaens. Deestaforma,siyotengo1000mquinasconunmodulollamado"Hostalive"ytodosellastienen asociadaunaplantilladealertallamada"Hostdown"queejecutapordefectounaacci nllamada "Avisaraloperador",yquierocambiarelnmeromnimodealertasquesedebendispararantesde avisaraloperador,slotengoquehaceruncambioenladefiniciondelaplantilla,noirunapor una,enlas1000alertasparamodificaresacondicin. Muchosusuariosslogestionanalgunasdecenasdemquinas,peroexistenusuariosconcientos, inclusomilesdesistemasmonitorizadosconPandoraFMS,ytenemosqueintentarhacerposible queconPandoraFMSsepuedangestionartodotipodeentornos.

429

Introduccinalsistemadealertasactual

23.2.1.Estructuradeunaalerta

Lasalertassecomponende: Comandos Acciones Plantillas Un comando definedlaoperacinarealizarcuandosedisparalaalerta.Ejemplosdecomandos puedenser:escribirenunlog,envarunemailoSMS,ejecutarunscriptoprograma,etc. Una accin relaciona un comando con una plantilla y permite personalizar la ejecuci n del comandousandotresparmetrosgenricosField1,Field2yField3.Estosparmetrospermiten personalizarlaejecucindelcomandoyaquesonlosquesepasarnenelmomentodelaejecucin comoparmetrosdeentrada. Enla plantilla sedefinenparmetrosgenricosdelaalertasqueson:lascondicionesdedisparo, accionesdedisparoyrecuperacindelaalerta. Condiciones de disparo: son las condiciones bajos las que se disparar la alerta, por ejemplo:superarciertoumbral,estarenestadocrtico,etc. Accionesdedisparo:eslaconfiguracindelasaccionesqueserealizarnaldispararla alerta. Recuperacindealerta:eslaconfiguracindelasaccionesqueserealizarncuandoel sistemaserecuperedelaalerta.

23.2.2.Flujodeinformacinenelsistemadealertas
AldefinirlasaccionesylasplantillasdisponemosdeunoscamposgenricosllamadosField1,Field2 yField3quesonlosquesepasarncomoparmetrosdeentradaenlaejecucindelcomando.Los valores de estos parmetros se propagan de plantilla a la accin y por ltimo al comando. La propagacindelaplantillaalaaccinsloserealizasielcampocorrespondientedelaaccinno tieneunvalorasignado,silaaccintieneunvalorasignadoseconserva.

430

Introduccinalsistemadealertasactual

Esteseriaunejemplodecomosesobreescribenlosvaloresdelaplantillausandolosdelaaccin.

Porejemplocreamosunaplantillaquedisparalaalertayenvaunemailconlossiguientescampos: Plantilla: Field1:myemail@domain.com Field2:[Alert]Thealertwasfired Field3:Thealertwasfired!!!SOS!!!


431

Introduccinalsistemadealertasactual

Accin: Field1:myboss@domain.com Field2: Field3: Losvaloresquellegaranalcomandoseran: Comando: Field1:myboss@domain.com Field2:[Alert]Thealertwasfired Field3:Thealertwasfired!!!SOS!!! ParaloscamposField2yField3seconservan losvaloresdefinidosenlaplantilla,peroparael campoField1usaelvalordefinidoenlaaccin.

23.3.Plantilladealerta
Lasplantillassonalertascontodoslosparmetrosdefinidosenlasqueslofaltaporasignarel agentealqueseleasignanyelmduloqueseusaparahacersaltarelcomandooreacci nanteun valorfueraderango.Lasplantillassirvenparafacilitarlagesti ndelosadministradoresyaque unavezhechassepuedenasignardeformasencillaalosagentesnecesarios.

23.3.1.CreacindeunaPlantilla
Las Plantillas nuevas se crean pinchando en el botn Create dentro de Templates, en el menu ManageAlerts,enelmendeAdministracin.

UnavezsehapinchadoenCreate,apareceunapantallacomolasiguiente.

432

Plantilladealerta

Acontinuacinsedetallanloscamposquehayquerellenar: Name:Elnombredeltemplate. Description:Describelafuncindelaplantilla,yresulta tilparaidentificarlaplantilla entreotrasenlavistageneraldealertas.. Priority:Campoinformativoacercadelaalerta.Sirveparafiltraralahoradebuscaralertas. Sepuedeelegirentrelassiguientesprioridades: Maintenance Informational Normal Warning Critical

CondicionType:Campodondesedefineeltipodecondicinqueseaplicaralaalerta.Se aadirnloscombosnecesariossegneltipoelegido,existenlossiguientestipos: Regular Expresion: Se usa una expresin regular. La alerta saltara cuando el valor del mdulocumplaunacondicinestablecida.

AlelegirlacondicinregularaparecelaposibilidaddemarcarlacasillaTriggerwhenmatchesthe value.Encasodemarcar,lalaalertaselanzarcuandocoincidaelvalory,encasodenomarcarla, laalertaselanzarcuandonocoincidaelvalor. MaxandMin:Seusaunvalormximoyotromnimo.

433

Plantilladealerta

AlalegirlacondicinregularaparecelaposibilidaddemarcarlacasillaTriggerwhenmatchesthe value.Encasodemarcarla,laalertaselanzarcuandoelvalorestefueradelrangomarcadoentre elmximoyelmnimoy,encasodenomarcarla,laalertaselanzar cuandoelvalorestedentro delrangomarcadoentreelmximoyelmnimo. Max:Seusaunvalormximo.Laalertasaltaracuandoelvalordelmduloseamayorqueel valormximomarcado.

Min:Seusaunvalormnimo.Laalertasaltaracuandoelvalordelmduloseamenorqueel valormnimomarcado.

Equalto:Usadoparadispararlaalertacuandoseproporcionaunvalordedebeserigualal datorecibido.Estacondicin,igualquelasdemax/minseusasloparavaloresnumricos, p.e:234o124.35.

NotEqualto:Igualqueelanteriorperonegandolacondicin(operadorlgicoNOT).

434

Plantilladealerta

WarningStatus:Seusaelestadodelmdulo.Laalertasaltar cuandodichoestadosea Warning.

Critical Status: Se usa el estado del mdulo. La alerta saltar cuando dicho estado sea Critical.

UnavezsehanrellenadoloscampossepinchaenelbotnNextyseaccedealasiguientepantalla .

Acontinuacinsedetallanloscamposquehayquerellenar: DaysofWeek Establecelosdasenlosquelaalertapodrdispararse. Usespecialdayslist


435

Plantilladealerta

Habilitar/deshabilitarelusodelalistadedasespeciales(festivosydaslaborablesespeciales). TimeFrom Horaapartirdelacualseejecutalaaccindelaalerta. TimeTo Horahastalaqueseejecutalaaccindelaalerta. TimeThreshold Defineelintervalodetiempoenelcualsegarantizaqueunaalertanosevaadispararm sveces delnmeroestablecidoenNumeromximodealertas.Pasadoelintervalodefinido,unaalertase recuperasillegaunvalorcorrecto,salvoqueestactivadoelvalorRecuperacindealerta,encuyo caso se recupera inmediatamente despus de recibir un valor correcto independientemente del umbral. Minnumberofalerts Nmeromnimodevecesquetienequellegarunvalorfueraderango(contandosiempreapartir delnmerodefinidoenelparmetroFlipFlopdelmdulo)paraempezaradispararunaalerta.El valorpordefectoes0,loquesignificaquelaalertasedisparar cuandollegueelprimervalorque cumplalacondicin.Funcionacomounfiltro,necesarioparaeliminarfalsospositivos. Maxnumberofalerts Mximonmerodealertasquesepuedenenviarconsecutivamenteenelmismointervalodetiempo (TimeThreshold). Field1 Define el valor para la variable "_eld1_". Aqui se pueden utilizar una serie de macros que se describenacontinuacin. Field2 Defineelvalorparalavariable"_eld2_". Field3 Defineelvalorparalavariable"_eld3_". DefaultActionEnestecombosedefinelaaccinpordefectoquevaatenereltemplate.Estaesla accion que se crear automticamente cuando asigne la plantilla al mdulo. Puede no poner ningunaoponeruna,peronosepuedenponervariasaccionespordefecto UnavezsehanrellenadoloscampossepinchaenelbotnNextyseaccedealasiguientepantalla .

436

Plantilladealerta

Acontinuacinsedetallanloscamposquehayquerellenar: AlertRecovery Combodondesepuededefinirsiestahabilitadoonolarecuperaci ndealertas.Enelcasodeque esthabilitadalarecuperacindealertas,cuandoelmdulovuelveatenervaloresfueradelrango dealerta,seejecutarlaaccincorrespondienteconelcampoField1quesehadefinidoenlaalerta yloscamposField2yField3quesedefinenacontinuacin. Field2 Defineelvalorparalavariable"_eld2_".enlarecuperacindelaalerta. Field3 Defineelvalorparalavariable"_eld3_".enlarecuperacindelaalerta. UnavezsehanrellenadoloscampossepinchaenelbotnFinish.

23.3.2.MacrossustituiblesenloscamposField1,Field2yField3
Entodaslasinstanciasdeloscamposfield1,field2,yfield(tantoenlaplantilladealerta,comoen elcomandoyenlaaccin)sepuedenemplearlassiguientesmacros,queson"palabras"queson reemplazadasenelmomentodeejecucinporunvalor,quevaraenfuncindelmomento,valor, agentequedisparalaalerta,etc. _field1_:Campo1definidoporelusuario. _field2_:Campo2definidoporelusuario. _field3_:Campo3definidoporelusuario. _agent_:Nombredelagentequedisparlaalerta. _address_:Direccindelagentequedisparlaalerta. _agentgroup_:Nombredelgrupodelagente. _timestamp_:Horayfechaenquesedisparlaalerta. _data_:Datoquehizoquelaalertasedisparase. _alert_description_:Descripcindelaalerta. _alert_threshold_:Umbraldelaalerta. _alert_times_fired_:Nmerodevecesquesehadisparadolaalerta. _module_:Nombredelmdulo _modulegroup_:Nombredelgrupodelmdulo.
437

Plantilladealerta

_moduledescription_:Descripciondelmodulo. _alert_name_:Nombredelaalerta. _alert_priority_:Prioridadnumricadelaalerta. _id_agent_:IDdelagente,utilparaconstruirURLdeaccesoalaconsoladePandora. _id_alert_:IDdelaalerta,utilparacorrelarlaalertaenherramientasdeterceros. _policy_:Nombredelapolticaalaqueperteneceelmdulo(siaplica). _interval_:Intervalodelaejecucindelmdulo. _target_ip_:DireccinIPdelobjetivodelmdulo. _target_port_:Puertodelobjetivodelmdulo. _plugin_parameters_:ParmetrosdelPlugindelmdulo.

23.3.2.1.Ordendelasustitucindelasmacrosyloscampos_field*_
Despusde describirloqueesuncomando, unaaccinyuna plantilla,probablementeaestas alturasyaseest preguntandoporqu hayquedefinirencadaunadeellas,loscamposfield1, field2yfield3yqusentidotienetodoesto. Cuandosedisparaunaalerta,losvaloresfield*seacarreandesdelaacci nalcomando,ydesdela plantilla al comando. Es decir, si en la accin el valor _field1_ es diferente de cadena vaca, entoncesignorar elvalorqueselepasedesdelaplantilla,yestanotendr efecto.Sienelvalor _field1_ del comando, es un valor diferente de _field1_ significa que directamente ignorar cualquierparmetroqueselapaseenelcampo1(field1)desdelaacci nodesdelaplantilla,yque nilaaccinnilaplantillapodrnredefinirlo.Altenercomovalor_field1_,significaqueseleest diciendoalcomando,quemetaenesecampo,loquelelleguedesdelaaccinodesdelaplantilla. Enlaaccinocurrelomismo,perodeunaformamssutil.Siesecampoest vaco,significaque cualquiercosaqueselepasedesdelaplantilladealerta,selepasar alcomando,sinembargo,si esecampoesdiferentedecadenavaca,utilizarlosvaloresdeesecampoyseignorarnlosvalores quevengandesdelaplantilla. Esto se ha concebido as para dar la posibilidad de establecer algunos parmetros "fijos" por comandooaccin,ytenersiemprelaposibilidaddehacerlosflexibles.

23.4.DefiniendounaAlerta
Bien,ahoravamosaponernosenelcasoanterior.Tenemosunanecesidad:monitorizarunm dulo quecontienevaloresnumricos.Ennuestrocaso,esunmoduloquemidelaCPUdelsistema,en otrocasopuedeserunsensordetemperatura,queengregaelvalorengradoscent grados.Veamos primeroquenuestromdulorecibedatoscorrectamente:

Bien.Enestacapturavemosquetenemosunmodulollamado sys_cpuconunvaloractualde7.En nuestrocasoqueremosquesalteunaalertacuandosuperelos20.Paraellovamosaconfigurarel mduloparaquesepongaenestadoCRITICALcuandosuperelos20.Paraellohacemosclickenla llaveinglesaparaconfigurarelcomportamientodelmonitor:

438

DefiniendounaAlerta

Paraello,modificamoselvalormarcadoenrojoenlacapturasiguiente:

Aceptamosygrabamoslamodificacin.AhoracuandoelvalordelmduloCPUsea20omayor, cambiarsuestadoaCRITICALyseverencolorrojo,talycomovemosaqu.

Yahemoshechoqueelsistemasepadiscriminarcuandoalgoest bien(OK,colorVERDE)ycuando estmal(CRITICAL,colorrojo).Ahoraloquedebemoshaceresquenosenv eunemailcuandoel modulosepongaenesteestado.ParaelloutilizaremoselsistemadealertasdePandoraFMS. Paraesto,loprimeroquedebemoshaceresasegurarnosdequeexisteuncomandoquehaceloque necesitamos (enviar un email). Este ejemplo es fcil porque existe un comando predefinido en PandoraFMSparaenviarmails.Asiqueyalotenemos.

23.5.Configurandolaaccin
Ahoratenemosquecrearunaaccinquesea"Enviarunemailaloperador".Vamosaello:Vamosal menudeadministracion>Alertas>Accionesyledamosalbotnparacrearunanuevaaccin:

439

Configurandolaaccin

Estaaccinutilizaelcomando"Enviaremail",yesrealmentesencillo,yaques lorellenouncampo (Field1)dejandolosotrosdosvacos.Estaesunadelaspartesmsconfusasdelsistemadealertas dePandoraFMS:Qusonloscamposfield1,field2,yfield3?. Esoscampossonlosqueseusanpara"pasar"lainformaci ndelaplantilladealertaalcomando,y a su vez, de ste al comando. De forma que tanto Plantilla como Comando, puedan aportar diferenteinformacinalcomando.Enestecasoelcomandosloestableceelcampo1,ydejaremos elcampo2yelcampo3alaplantilla,comoveremosacontinuacin. Elcampo1eselqueusamosparadefinirelemaildeloperador,enestecasounsupuestomaila "sancho.lerena@notexist.com".

23.6.Configurandolaplantilla(Alerttemplate)
Ahoratenemosquecrearunaplantilladealertalomsgenricaposible(parapoderlareutilizarms adelante,comoveremos)quesea"Estoestmal,porquetengounmduloenestadoCrtico"yque pordefecto,enveunemailaloperador.Vamosaello:Vamosalmenudeadministracion>Alertas >Templatesyledamosalbotnparacrearunanuevaplantilla(template)dealerta:

440

Configurandolaplantilla(Alerttemplate)

Loquedefinelacondicineselcampo"Condition",enestecasoestmarcadoa"Estadocrtico",de formaqueestaplantilla,cuandoseasocieaunm dulo,sedisparar cuandoelmoduloasociado est en estado crtico. Antes hemos configurado el modulo "cpu_sys" para que entre en estado crticocuandovalga20oms. Laprioridaddefinidaaqui"Critical"eslaprioridaddelaalerta,quenotienequeverconelestado "Critico"delmdulo.Lascriticidadesdelasalertassonparavisualizarlasluego,enotrasvistas, comolavistadeeventos,condiferentescriticidades. Pasemosalpaso2,pulsandoelboton"next":

441

Configurandolaplantilla(Alerttemplate)

Elpaso2definetodoslos"valores"deconfiguracin"finos"delaplantilladealerta,delacondicin de disparo. Algunos de ellos, los primeros, son bastante sencillos, restringen el momento de actuacindeestaalertaaciertosdasentrediferenteshoras. Losparmetrosmscrticosaqusonlossiguientes: Timethreshold:Pordefectoesunda.Siunmdulopermanecetodoelratocado,durante, por ejemplo un da, y tenemos aqu un valor de 5 minutos, significa que nos estar a mandandoalertascada5minutos.Silodejamosenund a(24horas),slonosenviar la alertaunavez,cuandosecaiga.Sielmoduloserecupera,yluegosevuelveacaer,nos enviar unaalertadenuevo,perosisiguecadadesdela2caida,noenviar masalertas hastadentrode24horas. Min.Nmerodealertas:Elnmnimodevecesquesetendrquedarlacondicin(eneste caso,queelmoduloest enestadoCRITICAL)antesdequePandoraFMSmeejecutelas accionesasociadasalaplantilladealerta.Esunaformadeevitarquefalsospositivosme "inunden"aalertas,oqueuncomportamientoerrtico(ahorabien,ahoramal)hagaquese disparenmuchasalertas.Siponemosaqu1,significaquehastaquenoocurraalmenosuna vez,nolotendrencuenta.Sipongo0,laprimeravezqueelmoduloest mal,dispararla alerta. Max.Numerodealertas:1significaquesloejecutar laaccinunavez.Sitenemosaqu 10,ejecutar10veceslaaccin.Esunaformadelimitarelnmerodevecesqueunaalerta sepuedeejecutar. Denuevovolvemosaverloscampos:"campo1,campo2ycampo3".Ahorapodemosverqueel
442

Configurandolaplantilla(Alerttemplate)

campo1estenblanco,queesjustamenteelquehemosdefinidoalconfigurarlaacci n.Elcampo2 yelcampo3seusanenlaaccindeenviarunmailparadefinirelsubjectyeltextodelmensaje, mientrasqueelcampo1seusaparadefinirelolosdestinatarios(separadosporcomas).Asiquela plantilla,usandoalgunasmacros,estdefiniendoelsubjectyelmensajedealertadeformaqueen nuestrocasonosllegaraunmensajecomoelquesigue(suponiendoqueelagentedondeest el modulosellama"Farscape":


To: sancho.lerena@notexist.ocm Subject: [PANDORA] Farscape cpu_sys is in CRITICAL status with value 20 Texto email: This is an automated alert generated by Pandora FMS Please contact your Pandora FMS for more information. *DO NOT* reply this email.

Dadoquelaaccinpordefectoeslaquehedefinidopreviamente,todaslasalertasqueusenesta plantilla,usarnesaaccinpredeterminadapordefecto,anoserquelamodifique. Enelcaso3,veremosquesepuedeconfigurarelsistemadealertasparaquenotifiquecuandola alertahacesado.

Escasiigual,peroelcampo1noest definido,porqueseusar elmismoquevengadefinidoenla accin ejecutada previamente (al disparar la alerta). En este caso solo enviar unmailcon un subjectqueinformaquelacondicinenelmodulocpu_sysseharecuperado. Larecuperacindealertasesopcional.Esimportantedestacarquesienlosdatosderecuperaci n delaalerta,haycampos(field2yfield3)definidos,estos ignoranysobreescribenloscamposdela accin,esdecir,tienenpreferenciasobreellos.El nicocampovlidoquenosepuedemodificares elcampo1.

23.7.Asociandolaalertaalmdulo
Yatenemostodoloquenecesitbamos,ahoraslotenemosqueasociarlaplantilladealertaal
443

Asociandolaalertaalmdulo

mdulo.Paraellovamosalasolapadealertasdentrodelagentedondeestelmdulo:

Es sencillo, en esta captura vemos una alerta ya configurada para un m dulo llamado "Last_Backup_Unixtime"asociadoalmismotemplatequehemosdefinidoantes"Modulecritical". Ahoraenloscontrolesquehaydebajo,vamosacrearunaasociaci nentreelmodulo"cpu_sys"yla plantilladealerta"Modulecritical".Pordefectomostrar laaccinquetenemosdefinidaenesa pantilla"EnviaremailaSanchoLerena".

23.8.Escaladodealertas
Losvaloresquehayenlaopcionde"Numberofalertsmatchfrom"sonparadefinirelescaladode alertas.Estopermite"redefinir"unpocomselcomportamientodelaalerta,deformaquesihemos definidounmximode5veceslasvecesquesepuededispararunaalerta,ys loqueremosquenos envieunemail,pondremosaquun0yun1,paradecirlequeslonosenvieunemaildesdelavez 0ala1(osea,unavez). Ahoraveremosquepodemosaadirmsaccionesalamismaalerta,definiendoconestoscampos "Number of alerts match from" el comportamiento de la alerta en funci n de cuantas veces se dispare. Porejemplo,podemosquererquemandeunemailaXXXXXlaprimeravezqueocurra,ysisigue cadoelmonitor,enveunemailaZZZZ.Paraello,despuesdeasociarlaalerta,enlatablade alertasasignadas,puedoaadirmasaccionesaunaalertayadefinida,talycomopodemosverenla siguientecaptura:

444

Escaladodealertas

23.9.AlertasenStandby
Las alertas pueden estar activadas, desactivadas o en standby. La diferencia entra las alertas desactivadasylasqueestnenstandbyesquelasdesactivadassimplementenofuncionar nypor lotantonosemostrarnenlavistadealertas.Encambio,lasalertasenstandbysemostrar nenla vistadealertasyfuncionarnperosolamenteaniveldevisualizacin.Estoes,semostrarsiestno nodisparadasperonorealizarnlasaccionesquetenganprogramadasnigenerarneventos. Lasalertasenstandbysontilesparapodervisualizarlassinquemolestenenotrosaspectos.

23.10.Utilizandocomandosdealertasdistintosdelemail
Elemail,comocomandoesinternoaPandoraFMSynosepuedeconfigurar,esdecir,field1,field2 yfield3soncamposqueestndefinidosqueseusancomodestinatario,subjectytextodelmensaje. Pero,queocurresiyoquieroejecutarunaaccindiferente,definidapormi?. Vamos a definir un nuevo comando, algo totalmente definido por nosotros. Imaginemos que queremosgenerarunficherologconcadaalertaqueencontremos.Elformatodeeseficherolog tienequeseralgocomo:

445

Utilizandocomandosdealertasdistintosdelemail

FECHA_HORA - NOMBRE_AGENTE - NOMBRE_MODULO - VALOR - DESCRIPCION DEL PROBLEMA

DondeVALOReselvalordelmoduloenesemomento.Habrvariosficheroslog,dependiendodela accinquellamealcomando.Laaccindefinirladescripcionyelficheroalquevanloseventos. Paraello,primerovamosacrearuncomandocomosigue:

Yvamosadefinirunaaccin:

446

Utilizandocomandosdealertasdistintosdelemail

Sivemoselficherodelogquehemoscreado:
2010-05-25 18:17:10 - farscape - cpu_sys - 23.00 - Custom alert for LOG#1

Laalertasedispar alas18:17:10enelagente"farscape",enelmodulo"cpu_sys"conundatode "23.00"yconladescripcionquepusimosaldefinirlaaccin. Dadoquelaejecucindelcomando,elordendeloscamposyotrosasuntospuedenhacerqueno entendamosbiencmoseejecutaalfinalelcomando,lomssencilloesactivarlastrazasdedebug del servidor de pandora (verbose 10) en el fichero de configuracion de pandora server en /etc/pandora/pandora_server.conf, reiniciemos el servidor (/etc/init.d/pandora_server restart) y que miremos el fichero /var/log/pandora/pandora_server.log buscando la lnea exacta con la ejecucindelcomandodelaalertaquehemosdefinido,paravercomoelservidordePandoraFMS estlanzandoelcomando.

23.10.1.Ejemplocompletodealertaconmacrosdesustitucin
SupongamosqueloquequiereesgenerarunaentradaenunLOGdondeencadal neaaparezcael siguienteformato: 2009122400:12:00pandora [CRITICAL]Agent<agent_name>Data<module_data>Module <module_name>inCRITICALstatus Configuraciondelcomando
echo _timestamp_ pandora _field2_ >> _field1_

447

Utilizandocomandosdealertasdistintosdelemail

Configuracindelaaccin
Field1 = /var/log/pandora/pandora_alert.log Field2 = <En blanco> Field3 = <En blanco>

Configuracindelaplantilla
Field1 = <En blanco> Field2 = [CRITICAL] Agent _agent_ Data _data_ Module _module_ in CRITICAL status Field3 = <En blanco>

Enlaseccinderecuperacin:
Field2 = [RECOVERED] [CRITICAL] Agent _agent_ Data _data_ Module _module_ in CRITICAL status Field3 = <En blanco>

Asialejecutarunaalerta,seinsertaralasiguientelineaenelLOG:
2009-10-13 13:37:00 pandora [CRITICAL] Agent raz0r Data 0.00 Module Host Alive in CRITICAL status

Ylasiguientelneaalrecuperarlaalerta:
2009-10-13 13:41:55 pandora [RECOVERED] [CRITICAL] Agent raz0r Data 1.00 Module Host Alive in CRITICAL status

23.11.Proteccinencascada
LaproteccinencascadaesunacaractersticadePandoraFMSquepermiteevitaruna"lluvia"de alertascuandoungrupodeagentesnoesaccesible,debidoaunaconexi nprincipalquefalla.Este tipodecosasocurrencuandounelementodelaredintermediocomounrouterounswitchfallan,y sedejainaccesibleaunagranpartedelaredgestionadaconPandoraFMS.Probablementevaya todo bien, pero como Pandora FMS no puede verlos, los considera como ca dos o en estado desconocido,locualpuedegenerarderepenteunagrancantidaddeeventos/alertas.

448

Proteccinencascada

La proteccin en cascada se activa desde la configuracin del agente. Haga click en la opcion "proteccionencascada".

Cuando la proteccin en cascada se activa en el agente, las alertas con estado CRITICO son contrastadadasantesdeejecutarseeneseagente,estosignifica,quenosedisparar sielagente "padre"deeseagentetienealgnmduloenestado"CRITICO"quetengaunaalertadisparada.Solo sedispararncuandoelpadre(yelpadredeesteyassucesivamente)estnenestadoNORMALen todossusmodulos/alertas.EsonoaplicaaalertassobreestadosWARNINGoUNKNOWNenel padre,quenoserntenidasencuenta.
449

Proteccinencascada

Paraquelaproteccinencascadafuncionebien,esconvenienteconfigurarentodoslospadresuna alerta asociado a la condicin CRITICAL en al menos un mdulo, para poder evitar que si se disparara,nogeneraraalertasningunodeloshijosdeeseagente.

23.11.1.Ejemplos
Tienelossiguientesagentes: ROUTER:moduloICMPcheckymodulodeSNMPcheck,usandounOIDest ndardparaverificar elestadodeunpuertoATM.Podemostambienverificarlalatenciacontraelrouterdenuestro proveedor. WEB SERVER: tienevariosmodulos ejecutadosporelagente:CPU, Memoria, verificaciondel procesoapache.TambientieneunchequeodelatenciaWEBdecuatropasos. DATABASESERVER:tienevariosmodulosejecutadosporelagente:CPU,Memoria,verificacion delprocesoMySQL.AdemastienealgunoschequeosadicionalesdeintegridaddelaBBDDTambien tieneverificaciondelaconectividadremotaaotrabasededatos,usandounpluginespec ficoquese logea,haceunaqueryysale,midiendoeltiempototal. EnWEBSERVERyenDATABASESERVER,definimoscomopadreaROUTER.Activamoslacasilla decascadeprotectionenWEBSERVERyDATABASESERVER. Ahoradefinimosvariasalertassencillas: ROUTER: SNMPCheck/CRITICAL>Action,sendMAIL.Latency>200ms/WARNING>Action,send MAIL. WEBSERVER CPU / WARNING MEM / WARNING PROCESS / CRITICAL > Action, send MAIL. HTTP LATENCY/CRITICAL>Action,sendMAIL. DATABASESERVER CPU/WARNINGMEM/WARNINGPROCESS/CRITICAL>Action,sendMAIL.SQLLATENCY/ CRITICAL>Action,sendMAIL. SisecaelaconexiondelROUTER,queesatravsdedondepandoraseconectaaWEBSERVERy DATABASE;sinactivarlaproteccinencascada,recibiraseisalertas,tratedeimaginarelefecto queocasionaraestosienvezdedosservidores,tienedoscientos.Aesteefectoseleconocepor "tormentadeeventos",enelpeorescenario,puedetumbarsuservidordecorreo,elservidorde monitorizacinysupropiomovil,inundndolodeSMS's. Sitienelaproteccinencascada,solorecibiraunaalerta,diciendoquelainterfazATMdelrouter estcaida.SinembargoyoveraloselementosdeWEBSERVERyDATABASESERVERenrojo,pero nomellegaranlasalertas.

450

Proteccinencascada

24EVENTOS

451

Introduccin

24.1.Introduccin
PandoraFMSutilizaunsistemadeeventospara"informar"detodoloquehaidosucediendoenlos sistemasmonitorizados.Pandoratieneunvisordeeventosdondesereflejacuandounmonitorse hacado,cuandounaalertasehadisparado,ocuandoelpropiosistemadePandoraFMStiene algnproblemadeterminado. Estesistemapermiteuntrabajoenequipo,yaqueloseventospuedenservalidadosyborradospor usuarios.Enelcasodelavalidarunincidente,semuestraelusuarioquelohavalidado. LoseventossegestionanenOperation>Viewevents,dondeseveelsiguientemen.

Esteesunejemplodelvisordeeventospordefecto.Loscamposmostradosenestavistasepueden personalizar(verapartadoPersonalizarvistadeeventos):

Enelvisordeeventos,pordefecto,semuestraeleventoens,queesuntextodescriptivodel problema,elorigen(agente)quelogener,yporsupuestolafechadeeseevento.Enocasiones, hay otros datos asociados, como el mdulo del agente que gener el evento, el grupo, tags asociadosalmdulo,etc.Sipinchamoseneliconodelojo,podremosvertodoslosdetallesdel evento:

452

Introduccin

Por defecto, los eventos se muestran mediante una bsqueda determinada, y esta se puede modificar,mostrandolainformacinfiltrada,msantigua,porunagentedeterminado,buscando unapalabra,etc.Paraello,sacamoslaventanadefiltrado,haciendoclickenlasecciondefiltrado: Como podemos ver aqu, por defecto (aunque se puede modificar en las opciones del setup), PandoraFMSmuestraeventosquetengancomomximoochohorasdeantigedadomenos,los muestraagrupadosymuestra nicamenteaquellosquenoestnvalidados.Unusuarioqueslo tengaaccesoaungrupo,sloverloseventosdeesegrupo. Existe la posibilidad de guardar las bsquedas como filtros o bien aplicar un filtro creado previamente(verapartadoCreacindefiltrosdeevento). Loseventossonelncleodeunsistemademonitorizacin Los operadores, viendo esta pantalla, pueden conocer el estado actual (eventos activos) y el histrico(viendotodosloeeventosvalidados),sintenerquemiraragenteporagente,mirarcifras globales,rbolesdedatosynombresopantallasvisuales. Los operadores, deberan ver una consola de eventos "limpia" que muestre slo los problemas activos.Deestaforma,nisiquieraharfaltacrearalertas,sinoquemirandounapantalla,sabremos entodomomentoqueocurre.

24.2.Creacindefiltrosdeevento
EnlaseccinAdministration>Manageeventssepuedencrear,borraryeditarlosfiltrosquese aplicanenlavistadeeventos.

453

Creacindefiltrosdeevento

Alpulsarencrearfiltrosemuestralasiguientevistaenlaquesepuedenrellenarloscamposporlos quedeseamosfiltrar.

24.3.Datosdeunevento
EnlaseccinOperation>Vieweventssepuedenvisualizarloseventos.Hayquetenerencuenta queestoseventosestnsujetosaunfiltropredefinidoynicamentesevisualizarnlosquenoestn resueltosyaquellosconunaantigedadmximade8horas. Semuestralalistacontodosloseventosquetieneelsistema.

Lalistadeeventos,tieneinformacindistribuidaenlassiguientescolumnas: Status
454

Datosdeunevento

Estadodelevento.Puedeser:nuevo,enproceso,novalidadoyvalidado. EventName Campo que muestra el nombre del evento. Pulsando sobre el nombre establece un filtro que muestratodosloseventosconelmismonombre.AlpincharenelEventname,elsistemaejecutaun filtroparamostraresosdoseventos. AgentName Campoquemuestraelagentequehaoriginadoelevento.Pulsandosobreelcamposeaccedeala pestaaMaindelagente. Timestamp Muestraeltiempoquehapasadodesdequeseharecibidoelevento. Agentmodule Muestraelmdulodelagentequehaoriginadoelevento.Esunlinkalos ltimosdatosdelos mdulosdelagente. Action permitevalidareventosoaadircomentarios. paraborrarevento. muestralavistadedetalle. permiteabrirunaincidenciaconelevento. Cuadroparamarcarelevento Permitemarcareleventoparaejecutarborradoovalidacinmltipledeeventos.

24.4.Filtrareventos
Desdelapginadevistadeeventosesposiblefiltrarenlalistadeeventosconelfindebuscar eventosespecficos. Parafiltrareventos,seaccedealalistadeeventosenOperation>Viewevents;sepulsaenevent controlFilter

ApareceelfiltroquehaypordefectoalabrirlalistadeEventos.

455

Filtrareventos

Loscamposporlosquesepuedefiltrasonlossiguientes: Group:combodondesepuedeelegirelgrupoalqueperteneceelagenteorigendelevento. EventType:combodondesepuedeelegireltipodeevento.Existenlossiguientestipos: AlertCeased:Alertasdesactivadas. Alertfired:Alertasdisparadas. AlertManualValidation:Alertasquehansidovalidadasporunusuario. AlertRecovered:Alertasquehancumplidolacondicinderecuperacin. Error:Eventogeneradoporunerror. MonitorDown:Cuandounmdulopasadenormalawarningocritical. Monitorup:Cuandounmdulopasadewarningocriticalanormal. Recon host Detected: evento generado cuando dentro una tarea de recon se encuentraunnuevonodoenlared. System:eventogeneradoporPandora. Unknown:eventodetipodesconocido. Severity:combodondesepuedeelegirporlagravedaddelevento.Existenlassiguientes opciones: Critical Informational Maintenance Normal Warning EventStatus:combodondesepuedeelegirporelestadodelevento.Existenlassiguientes opciones: Allevent Onlyinprocess Onlynew Onlynotvalidated Onlyvalidated Freesearch:campoquepermiteunalabsquedalibredeuntexto. AgentSearch:combodondesepuedeelegirelagenteorigendelevento. Maxhourold:campodondesemuestralashoras UserAck:combodondesepuedeelegirentrelosusuariosquehanvalidadounevento. Repeated:combodondesepuedeelegirentremostrarloseventosrepetidosomostrartodos loseventos. AdemsdeloscamposdebsquedaenelmenudeEventControlfilter,aparecelaopci n Block
456

Filtrareventos

sizeforpagination,dondesepuedeelegirentreelnmerodeeventosquehabrencadapginaa lahoradepaginar. Sepuedeguardarlaconfiguracindelfiltroconelbotn'Savefilter'.

24.5.Crearunincidentedesdeunevento
ParacrearunincidentedesdeuneventoseaccedealalistadeeventosenOperation>Vieweventsy sepulsaelbotnquesesealaenlaimagen.

Alpulsarelbotn,elsistemanosllevaalapginadecreacindeincidentesdondealgunoscampos aparecenyacompletados.

24.6.Validacinyestadosdeunevento.Autovalidacin.
Uneventopuedeestarentresestados:Validado,novalidadooasignado(pendiente). Un evento puede tener diferentes criticidades: Normal, Critical, Warning. Estas tambi n correspondenalosposiblesestadosdeunmonitorenPandora, quesonlasquegeneranensu mayora,loseventos. Uneventopordefecto,segnllegaalsistema,est enelestado"Novalidado".Puedeocurrir,que hayasidogeneradoporunmonitor,porejemplo,"Espacioendisco",alpasardeestadonormala estadoCritical. Sielmismomonitordelmismoagente,pasadenuevo,sinquehagamosnadaaestado"Normal"; automticamente se recibir un evento informando sobre esto, y tendremos dos eventos, uno informandoqueeldiscoestabaenestadoCriticalyluegounoinformandoqueeldiscoestabaen estadoNormal.
457

Validacinyestadosdeunevento.Autovalidacin.

Cuando ocurre algo as, el sistema automticamente "valida" el evento que nos deca que algo pasaba, cuando recibeinformacin de que ese problema ya se ha resuelto. Aestolellamamos autovalidacindeeventos.Sloocurrecuandoeleventoquelleganuevoesdetipo"normal"y encuentrauneventodetipowarningocriticalSINvalidar.

24.7.Asignacindeeventos
Cuandoencontramosunevento,podemosvalidarlo:Estoharqueelsistemamemoricelafechayel usuario que valid el evento. Tambin es posible dejar un comentario, p.e: "Lo revisamos y vaciamosalgodediscoenelservidor":

Aldaralbotondevalidar,lapantallaserefrescayeleventovalidado"desaparece".Estoesporque lavistadeeventos pordefectosolomuestra loseventos novalidadosoasignados, perono los validados.

Sicargodenuevolavistadeeventos,filtrandoymostrandotodosloseventos,ver mievento, validado(conunaspaverdealaizquierda)conlainformaci ndequienlovalid,cuando,yconel textoqueintrodujoenesemomento. Porotrolado,sialvalidarunevento,envezdevalidarlo,lomarcocomo"enproceso",talycomose puedeveraquiabajo:

458

Asignacindeeventos

Puedotenerunevento"parado",obloqueado,deformaquenoseautovalide,yquesesigaviendo enlasvistasdeeventos,comopendientedetrabajo.Ir"argupando"alrestodeeventosquelleguen iguales(veragrupacindeeventos)peronoseautovalidar.Elaspectodeleventoser similaral siguiente:

24.8.Agrupacindeeventos
Algunos sistemas pueden llegar a generar un volumen muy elevado de eventos. Pandora FMS permiteagruparestoseventosparapodertrabajarconellosdeunaformac moda.Acontinuacin sedescribelaformaenqueseagrupanloseventos:

Loseventosigualesdeunmismoagentesemuestrancomounsoloevento.
459

Agrupacindeeventos

Elestadodeesteeventoser enprocesosialgunodeloseventosagrupadosestenestado enproceso,normalsialgunodeloseventosagrupadosestenestadonormalovalidadosi todosloseventosagrupadosestnenestadovalidado. Loseventosenestadoenprocesosiempresemuestran,aunquequedenfueradelaventana detiempodelfiltro. Cuandosetrabajaconeventosagrupados,loscambiosdeestadofuncionandelasiguientemanera: Al validar eventosagrupados,se validan todosloseventos(incluyendoaquellosquehan quedadofueradelaventanadetiempodelfiltro). Alponerenestadoenprocesoeventosagrupados,solamentesemarcacomo enprocesoel eventomsrecienteenrepresentacindelresto.

24.9.BorrarEventos
Otraformadeadministrarloseventosestenerlacapacidaddeborraraquellosquenointeresan ms.Paraestatareausaremoslaopcindeborrareventos.Existendosmanerasdeborrarunevento delalistadeOperation>ViewEvents. Clickenla"X"rojaenlacolumna"Action".

Seleccionar el o los eventos que se quieren eliminar haciendo click en la casilla de la ltima columnayentoncespresionarelbotn"Delete".

24.10.Otrasformasdevereventos
AdemsdelavistaclsicadeeventosquehayenOperation>Viewevents,loseventossepuedenver publicadosenuncanaldenoticiasocomoMarquesinadeslizante(listaquevamovi ndoseenla partesuperiordelnavegadorconelrestodelaapantallaennegro).

24.10.1.EventosenRSS
PandoraFMStieneunproveedordeeventosRSSparaquepuedasuscribirsea ldesdesulectorde
460

Otrasformasdevereventos

noticiasfavorito.ParaverloseventosenuncanaldenoticiasoRSSsepulsaenOperation>View events>RSSysesuscribealdesdeellectordenoticias.

Para poder acceder al feed RSS de los eventos es necesario configurar las IPs que tiene permitido el acceso en campo IP list with API access dentro de Setup

24.10.2.EventosenMarquee
Muestralosultimoseventosenformatodelneadetextodeslizante.Estaopcinsepuedeemplear paravisualizarenunmonitorlos ltimoseventosamododepantalladetexto.Puedepersonalizar fcilmenteelndeeventosvisualizadosoeltama o,coloryfiltradodelosmensajes,modificando elcdigoenoperation/events/events_marquee.php.

Para poder acceder al feed RSS de los eventos es necesario configurar las IPs que tiene permitido el acceso en campo IP list with API access dentro de Setup

24.10.3.Eventossonoros
Apartirdedelanuevaversin3.2,Pandoratendr unaformamsdecomunicarloseventos.Esta nuevaformaessonoradesdelaconsola,siendoas muchomsfcildeadministrarunsistemasin tener que estar observando constantemente la consola de Pandora, simplemente teniendo unos altavocesconectadosconsuficientevolumen,podr orlasdistintasmelodassonorascuandose produzcaunevento,inclusoestandolejosdelordenador.Lamelodaseoir continuamentehasta quepauseeleventosonoroopulseelbotndeOK.

461

Otrasformasdevereventos

Lalistadeeventossonorosquegeneransonidoson: Eldisparodecualquieralerta Elpasodeunmduloaestadowarning. Elpasodeunmduloaestadocritical. Ademssepuedenfiltrarloseventosporgrupo.

24.10.3.1.Configuracin
Comohemosdichoanteshaytrestiposdeeventosquevavigilarloseventossonoros,portanto desdeelsetupdePandoraConsolesepuedeconfigurarlamelodaquesenecesitaparacadatipode evento.

Inclusodesdelapropiapginadesetuppodrorlameloda( "ytestearsielnavegadorescompatible concontenidosmultimedia")pulsandoenelbotndeplayqueencontrarsaladerechadecadatipo deevento.

24.10.3.2.Configuracinavanzada
Se puede ampliar la lista de melodas a reproducir por los eventos sonoros, para ello hay que acceder al servidor de Pandora Console y en el directorio de Pandora Console ( normalmente /var/www/pandora_console/)ydentroaldirectorio include/sounds/,dondepodr depositarlos ficheros con las nuevasmelodas. Pero hay que tener en cuenta varios puntos para elcorrecto funcionamiento: ElficherotienequeestarenformatoWAV. Intentarqueelficherosealomspequeoposible,porqueparaquesueneenlaventanade sunavegadorestefichero,tienequesertrasmitidoalnavegador.Hayvariostrucospara conseguiresto: Seleccionarslounfragmentodeunossegundos(omenos)comomelodaprincipal, yaquecomohemosdicholamelodasevareproducirenbucle. Convertirlamelodaamono. Cambiarlacodificacina"16bitssigned"oinclusomenos,sevaperdercalidadpero sevaganarespacio. Para editar o crear las melodas aconsejamos usar herramientas como Audacity que es softwarelibre,multiplataformaymuysencillodeusar.

24.10.3.3.Uso
Loseventossonorossescaneancada10segundosdeformaasncrona,ycuandollegauneventola
462

Otrasformasdevereventos

ventanaademsdesonarlamelodaconfigurada(previamenteopordefecto)paraeseevento,la ventanacomenzaraaparpadearenrojoyatemblar,yademsdependiendodelaconfiguracinde sunavegadorosistemaoperativolaventanamantendr elfocoyseposicionarapordelantedel restodeventanasabiertas. Paraaccederala ventana de eventossonoros, solotienequeiralmen izquierdodePandora ConsoleyelegirlaopcinVieweventsenOperation.Allenlaventanadeeventos,enlacabecera sipulsaenelbotnquecontienelanotamusicalaparecerunanuevaventanamspequea.

Y esta ventana pequea ser la que gestione todo los eventos sonoros, por eso es necesario mantenerlaabiertaparaquesuenecuandosaltealgnevento.Dentrodelaventanatenemos3 controlesdistintos: Group:elgrupodelcualqueremosvigilarlasalertas,recuerdaquehayquetenerencuenta quetuusuariotienequetenerpermisosparaesegrupo. Type:eltipodeeventoavigilar,comohemosrepetidoantessepuedevigilareventos "alerta disparada","mdulopasaestadoacritical" y"mdulopasaestadowarning".Deestossepuede activarodesactivarunoovariospormediodeloscajasdechequeo. BotnPlay:estebotncuandosemuestralaflechaenverdenoseescanealoseventos(es decirestaenpausa),perocuandosepulsaseactivalavigilanciadeeventosysecambiael botn a naranja con el smbolo de pause. Un uso normal de este es cuando tienes que ausentartedelasaladetrabajoynoesnecesarioquesuenenloseventosmientrastuestas ausente. BotnOK:estebotnrojoconlasletrasOKseusaparapararlamelod aqueestasonando porque ha saltado una alarma, pero hay que destacar que esto no valida alertas, ni eventos,paraellohayquehayquehacerloatravsdePandoraConsolecomosiempre. Tampocosirveparalavigilanciadeloseventos,simplementeparaelsonidodemaneraque continuavigilante.

463

Otrasformasdevereventos

24.10.4.ExportarEventosaunCSV
EsposibleexportarlalistadeeventosquehayaunficheroCSVparaquepuedanserprocesadoso integradosenotrasaplicaciones. ParaexportarloseventosaCSV,sepulsaenOperation>Viewevents>CSVFile

24.10.5.EstadsticasdeEventos
EsposibleaccederalasestadsticasdeeventosdesdeOperation>Viewevents>Statistics

464

Otrasformasdevereventos

24.11.Alertasdeeventos.Correlacindeeventos
Desdelaversin4.0dePandoraFMSsepuedendefiniralertassobreloseventos,loquepermite trabajar desde una perspectiva completamente nueva y mucho m s flexible. Esta es una caractersticaEnterprise. LasAlertasdeeventonuevassecreanpinchandoenelbot nCreateenelmen Eventalertsenel mendeAdministracin.

Unaalertadeeventosest compuestapordistintasreglas,relacionadasentres poroperadores lgicos(and,or,xor,nand,nor,nxor).

465

Alertasdeeventos.Correlacindeeventos

Parahacermsfciltrabajarconellas,losparmetrosdeconfiguracindeunaalertadeeventos sonidnticosalosdeunaalertademdulo.Aqusepuedeencontrarunaexplicacindetalladade cadaunodeellos.nicamenteexistendosparmetrosespecficosdelasalertasdeeventos: Ruleevaluationmode:HaydosopcionesPassyDrop.Passsignificaqueencasodequeun eventocoincidaconunaalertasesiganevaluandoelrestodealertas.Dropsignificaqueen casodequeuneventocoincidaconunaalertanoseevaluenelrestodealertas. Groupby:Permiteagruparlasreglasporagente,m dulo,alertaogrupo.Porejemplo,sise configuraunareglaparaquesaltecuandoserecibandoseventoscr ticosyseagrupapor agente,debernllegardoseventoscrticosdeunmismoagente.Sepuededesactivar. Cada regla se configura para saltar ante un determinado tipo de evento, cuando se cumple la ecuacinlgicadefinidaporlasreglasysusoperadores,laalertasedispara.

Losposiblesparmetrosdeconfiguracindeunareglason: Name:Nombredelaregla. Usercomment:Comentariolibre. Event:Expresinregularquecasaconeltextodelevento. Window: Los eventos que se hayan generado fuera de la ventana de tiempo ser n descartados.* Count:Nmerodeeventosquetienenquecasarconlareglaparaquestasedispare. Agent:Expresinregularquecasaconelnombredelagentequegenerelevento. Module:Expresinregularquecasaconelnombredelmduloquegenerelevento. Modulealerts:Expresinregularquecasaconelnombredelaalertaquegenerelevento. Group:GrupoalqueperteneceelAgente. Criticity:Criticidaddelevento. Tag:Tagsasociadosalevento. User:Usuarioasociadoalevento. Eventtype:Tipodeevento.

Porejemplo, podramosconfiguraruna regla quecaseconloseventos generadosporcualquier mduloquesellamecpu_loaddecualquieragentedelgrupoServersquelleveasociadoeltag Systemcuandoelmdulopasaalestadocrtico:

466

Alertasdeeventos.Correlacindeeventos

Dado el elevado nmero de eventos que puede llegar a albergar la base de datos de Pandora FMS, el servidor trabaja sobre una ventana de eventos que se define en el fichero de configuracin pandora_server.conf mediante el parmetro event_window. Los eventos que se hayan generado fuera de esta ventana de tiempo no sern procesados por el servidor, de modo que no tiene sentido especificar en una regla una ventana de tiempo superior a la configurada en el servidor

467

Alertasdeeventos.Correlacindeeventos

25PLANTILLASYCOMPONENTES

468

Introduccin

25.1.Introduccin
PandoraFMSrealizatodaslascomprobacionesatravsdemdulos.Estospuedenserdediferentes tiposparalosdiferentestiposdedatosquePandora FMSpuedeprocesar. La listacompletade mdulos predeterminados que contiene Pandora FMS se puede consultar en la seccin Administration>Managemodules:

Alpulsarsobreestemen,enlapartederechadelaconsolawebdePandoraFMSsemostrarnlos mdulosdisponibles:

Comoseve,existendiversostiposydiversosgruposdemdulos: async:datosasncronos. generic:datosgenricos. keep_alive:mduloespecialkeepalive,sirveparacontrolarelestadodel ltimocontacto conunagente. icmp:comprobacinICMP(ping). snmp:comprobacinSNMP.


469

Introduccin

tcp:comprobacinTCP. web:comprobacinweb Lamayoradeellospuedetenerdiversostiposdecomprobaciones: data:datosnumricos. proc:valorbooleano.Paralascomprobacioneswebsignificaquesielvalorexistedevuelve1 y0delocontrario. string:cadenadetexto. inc:datosincrementales(porejemplo,elnmerodepaquetesenviadosporunainterfaz siemprecrecer).

25.1.1.Quesuncomponente?
Uncomponenteesun"mdulogenrico"quesepuedeaplicarrepetidamentesobreunagente,como sifuerauna"copiamaestra"deunmdulo,generandounmoduloasociadoaunagente.Deesta forma,teniendounabasededatosdeloscomponentesquem sutilizamosennuestraorganiacin, alahorademonitorizarnuevosagentesesmuysencilloyaquedisponemosdenuestrospropios componentesadaptadosalastecnologasquesolemosutilizar,ysimplementetenemosqueaplicar estoscomponentesalosagentesnuevos. Existendostiposdecomponentes,componentesdered,queagrupanatodoslosm dulosdetipo remoto(wmi,tcp,snmp,icmp,plugin,web,etc),ycomponenteslocales,quesonladefinici nde losmdulosdefinidosenlaconfiguracindelosagentessoftware,definidoscomo"trozos"detexto quesepuedencortarypegarenlaconfiguracindelosagentes.

25.1.2.Quesunaplantilladecomponentes?
Unaplantillanoesmsqueunconjuntodecomponentesderedquesepuedeaplicardirectamente sobreunagente,facilitandolalabordemonitorizaci n,yaquecreamosvariosmdulosdeforma simultneaatravsdeloscomponentesasociadosaunaplantilladered.ElservidorReconutiliza lasplantillasderedparacrearsobreunhostdetectadounaseriedem dulosdeformaautomtica, permitiendoasundesplieguedelamonitorizacinmuyrpidoyautomtico.

25.2.Componentesdered
Como decamos antes, los componentes de red son los elementos que permiten hacer comprobaciones remotas de red. Pandora FMS tiene alrededor de 40 comprobaciones de red predeterminadas,mientrasquelaversinEnterprisecuentaconmsde400. LoscomponentesdereddePandoraFMSsepuedenconsultarycreardesdelapginadegestinde losmismos,enAdministration>Managemodules>Networkcomponents .

470

Componentesdered

Enellapodr buscarloscomponentesyaexistentes(filtrandoporgruposoportextodeb squeda libre),versuconfiguracinydetalles,modificarloseinclusocrearnuevos. Paraverlaspropiedadesdeunmdulocualquiera,simplementepulsesobresunombre, stetiene unenlacequelellevarasupginadedetalles:

Comosepuedever enlaimagen,seventodoslosdetalles delcomponente deredHostAlive. Cuandoseaplicaaunmdulo,steobtendrlosdetallesdelcomponentedered,exceptoelcampo dedireccinIP,dondeautomticamenteescribir ladireccionIPprincipaldelagentealquese aplicaelcomponente.Todoslosparmetrospuedenserposteriormenteeditados(p.e:cambiarel usuario/passworddelosmodulosWMI). Si se modifica la plantilla, sus valores se aplicarn a los mdulos que se creen desde ese instante,noalosyacreados. Puedemodificarlosvaloresdeloscomponentes,simplementepulsesobreelnombredeunodelos ellosymodifiquelosvaloresquedesee,porejemploelintervalo.Unavezhechoestopulseelbot n Updatealfinaldelapgina.Suscambiosseguardarnyseaplicarnapartirdeesemomentoalos agentesalosqueaadadichomdulo.

25.2.1.Crearcomponentesderednuevos
Puedecreartrestiposdecomponentesdered: Network(dered). Plugin(decomplementodelservidor). WMI.
471

Componentesdered

EnestaversintodavanopuedecrearcomponentesdetipoWEB. Para crear un componente de red nuevo, vaya a la pgina principal de administracin de componentesdered, Administration>Managemodules>Networkcomponents ,vayaalaparte inferiordelapgina,enelmendesplegableseleccioneuncomponentedereddelostresposibles (WMI,RedoPlugin):ypulseelbotnCreate.

Despusselepresentarunapantallaparaquepuedaconfigurartodosloscamposdelcomponente. RellenelosnecesariosypulseelbotnCreate.Acontinuacinsepresentalapantalladecreacinde componenteWMI:

Alahoradecompletarloscamposqueselepide,considerequeest completandoladescripcinde unmdulo"genrico"queseaplicar sobrediferentesagentes.Algunosparmetroscomosnmp community,usuarioopasswordpuedenserdiferentessegunlosagentesalosqueleapliqueel moduloynecesitarmodificarlosmanualmenteparaqueoperen,perosidisponedeunapol ticade usuarioscomunesparasussistemas,puedeaprovecharloparadejarconfiguradocompletamentelos modulosintroduciendoaquilosusuarios,passwordsyotrosdatosqueseancomunesparatodoslos agentes,obviamentetambinpuededejarlosenblanco.

472

Componentesdered

ElmismoprocesoserealizaparacomponentesdetipoPlugin.

473

Componentesdered

25.3.Componenteslocales
Loscomponenteslocaleshacenreferenciaaloscomponentesquesepuedenaplicaralosagentes software.SisedisponedelaversinEnterprisedePandoraFMS,estoscomponentessepueden aplicardeformaautomticayremotaatravsdelaspolticasodeformamanual(unoauno)enel editordeconfiguracinremotadelagente.Consultelaseccindepolticasparasabercmoaplicar componenteslocalesaagentessoftwaredeformaremotaensuPandoraFMSEnterprise. LoscomponenteslocalestambinsepuedenusarenlaversinOpendePandoraFMS,sloqueno seaplicarndeformaautomtica,sinoquesedeber copiarelcdigoypegarlodirectamente.La versin Enterprise de Pandora FMS dispone de decenas de mdulos locales para aplicar a las polticasyalosagentesdeformaautomtica,ordenadosporcategoras. Loscomponenteslocalesfuncionandeformamuyparecidaaloscomponentesdered,unavezque sevaasupginadegestin,Administration>Managemodules>Localcomponents:

474

Componenteslocales

Esta pantalla muestra los mdulos locales ya existentes, que se pueden filtrar por diversos parmetros(grupo,sistemaoperativo,consultadetextolibre)ytambi nsepuedever,modificary crearnuevoscomponentes. Paraverlaspropiedadesdeunmdulocualquiera,simplementepulsesobresunombre, stetiene unenlacequelellevarasupginadedetalles:

Como se ve, la configuracin de los componentes locales es muy sencilla. Los elementos de configuracinson: Name: nombre del componente. Este nombre ser el visible a la hora de seleccionar el componentealcrearunmduloparaunagente. OS:sistemaoperativoparaelqueeselcomponente. Group:elgrupoenelqueestar elmdulo. tilparafiltraryordenarportecnologasde monitorizacin. Description:descripcindelmdulo.Deformapredeterminadayaexisteunadescripcin, quesepuedecambiar. Configuration:configuracindelcomponente,igualalaconfiguracindelosmdulospara losagentessoftware.Paravermsejemplosuobtenerinformacincomplementariaconsulte laseccinDefinicindelosmdulosenelcaptulodeConfiguracin.

25.3.1.Crearcomponenteslocalesnuevos
Para crear un componente local nuevo, vaya a la pgina principal de administracin de componentes de locales, Administration > Manage modules > Local components y pulse el botnCreateenlaparteinferiorderechadelapgina. Aparecerlapginaconelformulariodecreacindelcomponentelocalnuevo:
475

Componenteslocales

Simplementesehabr derellenarelformularioconlainformacinantesmencionadaypulsarel botnCreate.

25.4.Plantillasdemdulos
Lasplantillasdemdulossonplantillasquecontienenmdulosdecomprobacionesdered.Estas plantillas,unavezcreadas,sepuedenaplicardirectamenteaagentes,evitandotenerquea adirlos mdulosdeunoenuno,obienaplicarlasplantillasalrealizarunatareadereconocimientodered, descritasenelcaptulo9. Paragestionarlasplantillasdemdulos,pulseenAdministration>Managemodules>Module templates.

476

Plantillasdemdulos

Semostrarlapantalladegestindeplantillas,queyatienevariasdeformapredeterminada.

Puedepulsarsobrecualquieradelasplantillasparaversusdetalles,opuedepulsarsobrelaXenla columnadeladerechaparaborrarla,obienpuedecrearunaplantillanuevapulsandoelbot n Create. Pulsandosobreelnombredeunaplantillasevernsusdetalles,porejemplo,lacapturainferior muestralosdetallesparalaplantillademdulosdemonitorizacinderedbsica( BasicNetwork Monitoring). En ella se puede ver el nombre, la descripcin de la plantilla en los dos primeros campos del formulario. Msabajoestlalistademdulosincluidosenestaplantilla. Por ltimoest elformulariodeadicindemdulos,pudiendofiltrarporgrupodemdulos,para despusseleccionarelmduloyaadirlo.

477

Plantillasdemdulos

Paraborrarunmdulo,simplementeseleccineloenlacolumnadeladerecha(siseleccionala casillasuperiordeladerechaseleccionartodos)ypulseelbotnDelete.

478

Plantillasdemdulos

25.4.1.Crearplantillasdemdulosnuevas
Paracrearunaplantillademdulosnueva,vayaalapginaprincipaldegestindeplantillasde componentes,Administration>Managemodules>Moduletemplatesypulseelbot nCreateen laparteinferiorderechadelapgina. Aparecerlapginaconelformulariodecreacindelcomponentelocalnuevo:

IntroduzcaunnombreyunadescripcinparalaplantillanuevaypulseelbotnCreate. Acontinuacinsemostrarlapginadondepodraadirmdulosalaplantilla:

479

Plantillasdemdulos

Seleccionelosmdulosenlapartedeabajo,filtrandoporgruposiesnecesario,ypulseelbot n Add. RecuerdequepuedeborrarlosmdulosquenoquieraseleccionndolosypulsandoelbotnDelete.

25.4.2.Aplicarunaplantillademdulosaunagente
Paraaplicarunadelasplantillasdemdulosdemonitorizacinyaexistentesounacreada,sedebe iralaconfiguracindeunagenteenAdministration>Manageagents:

Yseleccionarlosmdulosdeunodelosagentes:

Unavezenestapantalla,sedeber pulsarsobrelasolapadelasplantillas,Templates,enlaparte superiordelapgina.

Enlasiguientepantallasemuestranlosmdulosqueyatieneelagenteylasplantillasdem dulos existentes,parapoderseleccionarunayaplicarlaalagente:

480

Plantillasdemdulos

SeleccioneunaplantillaypulseelbotnAssign,automticamenteseaadirnlosmdulosque contengaesaplantilla.Unavezaplicadalaplantillapuedeborraralgunodelosm dulospulsando sobrelaXenlacolumnadeladerecha,opuedeeditarlospulsandosobrelaeliconodeherramienta tambinaladerecha.

No se muestran las plantillas que se han aplicado sobre el agente, slo los mdulos que stas contienen

25.5.Gruposdecomponentes
Para ayudar a ordenar y clasificar los componentes existen los grupos de componentes. Los componentesseasocianengruposdecomponentesalahoradecrearlos. Para ver los grupos de componentes existentes vaya a Administration > Manage modules > Componentgroups:

Enlapantallasemostrarnlosgruposexistentesysudescripcin:

481

Gruposdecomponentes

Puedeverlosdetallesdelosgrupospulsandosobresunombre,borrarlospulsandosobrelaXala derecha,ycrearnuevospulsandoenelbotninferiorCreate. Siquierecrearungrupodecomponentesnuevo,pulseelbot nCreate,yrelleneloscamposenel formulario:

Slotienequeproporcionarunnombreparaelgrupoyseleccionarsitieneunpadredentrodelos gruposexistentes.DespuspulseelbotnCreate. Ahorayapuedeaadircomponentesnuevosasurecincreadogrupodecomponentes.

482

Gruposdecomponentes

26INVENTARIO

483

Introduccin

26.1.Introduccin
La versin Enterprise de Pandora FMS permite mantener un inventario de los dispositivos que tienenlosservidoresmonitorizadosporPandoraFMS.Condichoinventarioesposiblemantenerun listado con la CPU, tarjetas, Memoria RAM, parches, software, etc de los servidores de la compaa. Elinventarioesindependientedelamonitorizacinypuedeserobtenidodeformalocal(atravs delosagentesdePandoraFMS)odeformaremota.

26.2.Recogidadedatosparaelinventario
Larecogidadelosdatosparaelinventariodelossistemasserealizadedosmanerasdeforma remota mediante mdulos de inventario, a travs de scripts integrados en Pandora FMS que ejecutanqueriesWMI,oscriptsejecutadosatravsdeSSHconExpectomtodossimilares. Cuandolarecogidadedatoseslocal,conelagentedePandoraFMS,serealizamediantepluginsen elagenteountipodemduloespecial,enelcasodelossistemasWindows.

26.2.1.Mdulosdeinventario
Losmdulosdeinventariosonmdulosremotosqueejecutaruncomandocontraunamquina remota,dichosmdulosfuncionandeformasimilaraunplugin.Losmismosm dulossepueden definircomo"locales"cuandoobtienenlosdatosatravsdeunagente.

26.2.2.Inventarioremoto
26.2.2.1.Creacindemdulosremotos
Lacreacinporpartedeladministradordeunmodulodeinventarioremotonoeshabitual,estos vienen "precargados" ya con Pandora FMS Enterprise. No obstante Pandora FMS le permite construirsuspropiosmdulosdeinventarioomodificarlosqueyaexistepormediodeleditorde mdulosdeinventario. ParacrearunmduloremotosevaaAdministration>Managemodules>Inventorymodulesdonde aparecentodoslosmdulosdeinventarioquesehancreado.

484

Recogidadedatosparaelinventario

ParaCrearunmdulonuevosepulsaenCreate.

Acontinuacinsedescribenloscamposquehay:
485

Recogidadedatosparaelinventario

Name CampodondeseponeelnombredelMdulo Description CampodondeseponeladescripcindelMdulo OS CombodondeeseeligeelSistemaOperativoparaelquesecreaelm dulo.Esmuyimportante elegir bien el sistema operativo porque al a adir mdulos de inventario en un agente slo aparecernaquellosmdulosenlosquecoincideelsistemaoperativodelm duloconelsistema operativodelagente Interpreter Campodondeseponeelinterpretedecomandosqueseusaenelm dulo.PuedeserShellscript, PerluotrointrpretevlidoparaelservidordeinventarioqueseejecutasobreunsistemaLinux. Format Campodondeseponenloscamposseparadospor;quedevolverelmdulo. Code Cdigodelmdulo,generalmenteescdigoPerloShellScript.Sifueracdigobinarionecesitara unprocedimientodecargadiferentequehadeserintroducidomediantescriptsauxiliares. UnavezsehacreadoelmdulosepulsaenCreate.

486

Recogidadedatosparaelinventario

26.2.2.2.Edicindemdulosremotos
Para editar un mdulo remoto se va a Administration> Manage modules> Inventory modules dondeaparecentodoslosmdulosdeinventarioquesehancreado.Sepulsasobreelm duloque sequiereeditarosobreeliconoquehayaladerechadelaxroja.

Aparecedenuevolapginadecreacindemdulo.

487

Recogidadedatosparaelinventario

SecambianloscamposquesedebancambiarysepulsaenUpdate

26.2.2.3.Eliminacindemdulosremotos
Para borrar un mdulo remoto se va a Administration> Manage modules> Inventory modules dondeaparecentodoslosmdulosdeinventarioquesehancreado.Sepulsaenlaxrojaquehaya laderechadelmduloquesequiereborrar.

26.2.2.4.Asignarmdulosremotos
La asignacin de mdulos de Inventario se realiza en el propio agente en la pesta a de administracindelAgente. EnAdministracin>ManageAgentsepinchasobreelnombredelagentealquesequiereasignar mdulosdeinventario.

SepulsasobrelapestaaInventory.

488

Recogidadedatosparaelinventario

AparecelapaginadondesepuedenaadirlosmdulosdeInventario.

A continuacin se describen los campos que hay que completar para a adir un mdulo de inventario. Module: Combo donde se elige el mdulo de inventario que se quiere aadir. Slo aparecernlosmduloscuyoSistemaOperativocoincideconeldelagente. Target:IPonombredelservidordelquesequieresacarelinventario. Interval:Combodondeseeligeelintervalodetiempoenqueseejecutar elmdulode inventario. Username:Usuarioqueseusaraparaejecutarelmdulodeinventario. Password:Passworddelusuarioqueseusaraparaejecutarelmdulodeinventario. UnavezcompletadoelformulariosepulsaenAddparaqueelm duloseaadaalosmdulosde inventario.

489

Recogidadedatosparaelinventario

26.2.2.5.Edicindeunmdulodeinventarioasignado
Esposibleeditarlosmdulosdeinventario,estaedicinserealizaenlamismapaginadondese crean. Paraeditarunmdulodeinventariosepulsaenelnombredelmdulooeneliconoquesemarca enlaimagen.

26.2.2.6.Eliminacindeunmdulodeinventarioasignado
Esposibleborrarlosmdulosseinventario,elborradoserealizaenlamismapaginadondese crean. Paraborrarunmdulodeinventariosepulsaenlaxrojaquehayaladerechadelnombredel mdulo.

26.2.2.7.Ejemplocompletodelprocesodecreaciondeunmoduloremotodeinventario
Supongamosquenecesitamossacarlalistadedireccionesfisicasdeunadaptadordeunservidor,en estecasodeunservidorUnix.Estecomandosesacageneralmenteviaelcomando"arpan",quesi loejecutamosenelservidornosdaalgoparecidoaesto:
artica@galaga:~$ arp -a -n ? (192.168.70.74) at 08:00:27:39:BF:6F [ether] on eth2 ? (192.168.70.162) at B4:74:9F:94:98:84 [ether] on eth2 ? (192.168.50.30) at 08:00:27:10:D1:1A [ether] on eth0

490

Recogidadedatosparaelinventario

? ? ? ?

(192.168.70.90) at 98:0C:82:54:2F:DE [ether] on eth2 (192.168.50.2) at 08:00:27:EA:B2:FF [ether] on eth0 (192.168.70.135) at C8:60:00:4B:96:67 [ether] on eth2 (192.168.60.182) at FE:26:C5:91:B1:DA [ether] on tap0

LoquebuscamosesladireccinIP,laMACyelnombredeladaptador. Enshellscriptestosepodrahacerdelasiguientemanera,usando""parasepararloscampos:
arp -a -n | sort | grep -v incomplete | awk '{ print $2,$4,$7 }'

Ya tenemos prcticamente lo necesario para "importar" esta informacion en el servidor de InventarioRemotodePandora.Paraellousaremosdebaseelmodulodeinventarioremoto"CPU"y lomodificaremosligeramente.EstescriptseconectaviaSSHconelservidordestino,yleejecutael comando.Lasalidadelcomando,debedevolvercadacamposeparadoporelcarcter";" Llegadoaestepunto,necesitaconoceralgodeprogramci nparahacersesusscripts.Losscriptsde inventarioremotosibiennosoncomplejos,necesitaalgodeconocimientodeperl,shellscriptuotro lenguageinterpretado:tambienlospodrahacerenjava,c++,einvocarsuejecucindesdeel modulo,siempreycuandodevuelvalosvaloresdecadacamposeparadospor";"yunsaltodelinea paracadadato.
#!/usr/bin/perl ########################################################################## # pandora_linux_arptable.pl ########################################################################## # Copyright (c) 2012 Sancho Lerena <slerena@artica.es> # (c) 2012 Artica Soluciones Tecnologicas S.L # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; version 2. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ########################################################################## use strict; use warnings; # Check for ssh my $ssh_client = "ssh"; if (system("$ssh_client -v > /dev/null 2>&1") >> 8 != 255) { print "[error] $ssh_client not found.\n"; exit 1; } if ($#ARGV < 1) { print "Usage: $0 <target ip> <username>\n"; exit 1; } my $target_ip = $ARGV[0]; my $username = $ARGV[1];

491

Recogidadedatosparaelinventario

# Retrieve ARP table my ($ip, $mac, $iface); my $command = '/usr/sbin/arp -a -n | sort | grep -v incomplete | awk \'{ print \ $2,\$4,\$7 }\''; my @info = `$ssh_client $username\@$target_ip "$command" 2> /dev/null`; foreach my $line (@info) { if ($line =~ /^(.+)\s(.+)\s(.+)/) { $ip = $1; $mac = $2; $iface = $3; print "$ip;$mac;$iface\n"; } } exit 0;

ParaquelaconexionSSHfuncionedeformaautomtica,debecopiarlallavepublicadelusuario "root"delservidordepandoraenelservidordedestino.Imaginequevaaejecutarestecomandoen 192.168.50.10,realiceestospasos: 1.Creelallaveenelservidordepandoracomoroot.


ssh-keygen

2. Utilice el comando sshcopyid para copiar la llave publica el el servidor de destino (192.168.50.10)conelusuariodedestino(enestecasoelusuarioartica):
ssh-copy-id -i /root/.ssh/id_rsa.pub artica@192.168.50.10

(Tendraquemeterunavezlapassworddelusuario"artica"en192.168.50.10parainstalarlallave publicaenelservidordestino) 3.Pruebeaconectar,deberaconectarsinquelepreguntelapassword:


ssh artica@192.168.50.10

4.Sihallegadohastaaqui,elmismoprocesoser elquesigaelmodulodeinventario,asique pruebeaejecutarlodesdelneadecomando,grabandoelscriptanterioradisco(temporal.pl)y ejecutandoloconlaIPyelusuariocomoparametro:


perl temporal.pl 192.168.50.10 artica (192.168.50.1);00:0f:ea:27:ba:f0;eth0 (192.168.50.3);08:00:27:98:f8:48;eth0

Fjeseenqueelscriptllamaremotamentea /usr/sbin/arp.Elcomandodebeestarenesepath,sino cambieelscript.Tambinpuedeadvertirquellamamosanuestroscriptconelcomando"perl",que usualmenteestaen/usr/bin/perl.Estoesloquedebeconfiguraralahoradedefinirelmodulo, comopuedeveracontinuacin:

492

Recogidadedatosparaelinventario

Alahoradeaplicarloaunagente,fijesequeelSOcoincide.Sitienediferentessistemasoperativos, debercrearunmodulodiferenteparacadaunodeellos,porqueelmismocdigonofuncionara.

Unavezejecutadoestemodulo,dejaunavisualizacinsimilaralasiguiente:

493

Recogidadedatosparaelinventario

26.2.3.Inventariolocal,atravsdelosagentessoftware
Mediantelosagentessoftwareesposibleobtenerlosdatosdeinventariodeunam quina.Bastara conaplicarlosmdulosdeinventariocorrespondienteenlaconfiguracindelagentesoftware.Al igualqueenlosmdulosremotostambinesnecesarioaadirestosmduloscomomdulode inventarioenOperacin>Managemodules>Inventorymodules.

26.2.3.1.Creacindemduloslocales
ParacrearunmdulolocalsevaaAdministration>Managemodules>Inventorymodulesdonde aparecentodoslosmdulosdeinventarioquesehancreado.Sedebencreartodoslosm dulosque hayadefinidosenelAgente.

ParaCrearunmdulonuevosepulsaenCreate.

494

Recogidadedatosparaelinventario

Paralosmdulosremotosnoesnecesariocompletartodosloscampos.Acontinuaci nsedescriben loscamposquehayquecompletar: Name:CampodondeseponeelnombredelMdulo Description:Campodondeseponeladescripcindelmdulo OS:CombodondeeseeligeelSistemaOperativoparaelquesecreaelm dulo.Paralos mdulolocalesedebeelegirlaopcinAgent. Format:Campodondeseponenloscamposseparadospor;quedevolverelmdulo. UnavezsehacreadoelmdulosepulsaenCreate.

495

Recogidadedatosparaelinventario

26.2.3.2.Ejemplocompletodelprocesodecreaciondeunmodulolocaldeinventario
Supongamosquenecesitamos

26.2.3.3.MdulodeInventarioensistemasWindowsmedianteagentesoftware.
ElmdulodelagentesoftwaredeWindowsusa,deformalocal,queriesWMIpredefinidaspara recogerinformacinsobrediferentesaspectosdelamquina,tantodeSoftwarecomodeHardware. Lasintaxisdelmduloeslasiguiente:

496

Recogidadedatosparaelinventario

Acontinuacinsedescribenloscamposquehayquecompletarparaa adirelmdulodeinventario ensistemasWindows: module_begin Comienzodecualquiermdulodeunagentesoftware modulenameInventory CampodondeseestableceelnombrequesedaalmduloenestecasoesInventory. module_interval3 Campoqueestableceelintervalodeejecucindelmdulo(endas).Establececadacuantosdasse ejecutar el mdulo. En este ejemplo son 3 das (OJO: No es module_inventory_interval, sino module_interval).Sielvalorescero,seenvalainformacindeinventarioencadaejecucindel agente. module_typegeneric_data_string ValorquedefineeltipodedatodentodePandoraFMS,eltipodedatodelmoduloinventarioes generic_data_string. module_inventoryCDROMPatchesSoftware Campodondesedefinenlosobjetosdeinventarioquesequierenrecoger.Enesteejemploserecoge elCDROM,losparchesyelSoftware.Enestecamposedefinenlosdiferentespar metrosdondese configuranlosobjetosdeinventarioquesequierenrecoger.Paraa adirmsobjetossimplemente hayqueaadirelnombredelosmismosenlalneademdulo_inventory.Esposiblerecogerlos siguientesobjetos: CPU:RecogeinformacinsobrelasCPUs RAM::RecogeinformacinsobrelosmdulosdeRAM. CDROM:RecogeinformacinsobrelosdispositivosdeCDROM Video:RecogeinformacinsobrelastarjetasdeVideo. Hd::Recogeinformacinsobrelosdiscosduros. Patches:Recogeinformacinsobrelosparchesinstalados. Software:Recogeinformacinsobreelsoftwareinstalado. Services:Recogeinformacinsobrelosserviciosinstaladosenlamquina(corriendoono). NIC:recogeinformacinsobrelastarjetasdered,NetworkInterfaceControlers.

module_descriptionInventory Campodondeseponeladescripcindelmdulo.EnesteejemploesInventory. module_end


497

Recogidadedatosparaelinventario

Findecualquiermdulodeunagentesoftware. Paraactivarelmdulodeinventariosimplementehayquecopiarelcdigodescritoanteriormente enelficheropandora_agent.confdelagentesoftware.Estaactivaci nsepuedehacerdeformalocal enlamquinaodeformaremotadesdelaconfiguracinremotadelagente.

26.2.3.4.MdulodeInventarioensistemasUnixmedianteagentesoftware.
ElmdulodelagentesoftwaredeUnixusa,deformalocal,unpluginpararecogerinformaci n sobrediferentesaspectosdelamquina,tantodeSoftwarecomodeHardware. Lasintaxisdelmduloeslasiguiente:

Elmdulosecomponedeunalneaconlossiguientesparmetros: Activacindelmdulo

Campodondeseestablececadacuntosdasseejecutarelmdulo.Sies0elinventarioes devueltoencadaejecucindelagente.

498

Recogidadedatosparaelinventario

Campodondesedefinenlosobjetosdeinventarioqueserecogen.

AligualqueenelagenteWindows,esposiblerecogerlossiguientesobjetos: CPU:recogeinformacinsobrelasCPUs cdrom:recogeinformacinsobrelosdispositivosdeCDROM video:recogeinformacinsobrelastarjetasdeVideo. hd:recogeinformacinsobrelosdiscosduros. nic:recogeinformacinsobrelastarjetasdered,NetworkInterfaceControlers. patches:recogeinformacinsobrelosparchesinstalados. software:recogeinformacinsobreelsoftwareinstalado. process':procesosenejecucinenesemomentoenelservidor. ram:recogeinformacinsobrelosmdulosdeRAM. filesystem:recogeinformacinsobrelasparticionesdelsistema. users:recogeinformacinsobreusuarios. init_services:recogeinformacinsobrelosprocesosdeautoinicio.

Elpluginquerecogeelinventarioesteneldirectorio/etc/pandora/plugins

Tambin se puede especificar simplemente que recoja toda la informaci n disponible. En este ejemplo,recogerdiariamentetodalainformacindeinventario:
# Plugin for inventory on the agent (Only Enterprise) module_plugin inventory 1

Paraactivarelmdulodeinventariosimplementehayquecopiarelcdigodescritoanteriormente enelficheropandora_agent.confdelagentesoftware.Estaactivaci nsepuedehacerdeformalocal enlamquinaodeformaremotadesdelaconfiguracinremotadelagente.

499

Recogidadedatosparaelinventario

26.2.3.5.Asignarmduloslocales
NoesnecesarioactivarlosmdulosenlosAgentesdefinidosenlaconsola.Silosm dulossehan creadoenOperation>ManageModules>Inventorymodulesyestnconfiguradosenelagente Software,entoncesaparecerndirectamenteenelAgentedelaconsola.

500

Recogidadedatosparaelinventario

26.2.3.6.Creacindemodulosdeinventariolocales(queseejecutanenelagente)
Ademas de los sistemas de inventario que vienen "de serie" en el agente, usted puede crear fcilmente(muchomsfacilmentequelosmodulosremotos),modulosdeinventarioparasistemas UnixyWindows. Bsicamente,tienequecrearunscriptquegenereunXMLconlasiguienteestructura:
<inventory> <inventory_module> <name>INVENTORY_MODULE_NAME</name> <type>generic_data_string</type> <datalist> <data>DATA1;DATA2;DATA3....</data> </datalist> </inventory_module> </inventory>

Donde pone "INVENTORY_MODULE_NAME" debera poner el mismo nombre del modulo que registreenpandora. DondeponeDATA1;DATA2...sonlosdatosquedeseasacar. SupongamosquedesasacarunatabladeARP,eIPconsusinterfaces(verelejemploanterior,de modulos de inventario remotos). Esto es basicamente la salida del comando arp a un poco "modificada". EstavezlovamosadesarrollarenWindows,elpequeoscriptquenecesita,queguardaremosen "C:\tmp\windows_arp_inventory.bat"eselsiguiente:
@echo off echo ^<inventory^> echo ^<inventory_module^> echo ^<name^>ARP_Table^</name^> echo ^<type^>generic_data_string^</type^> echo ^<datalist^> arp -a | sort | grep "[0-9]" | grep -v ":" | gawk "{ print \"^<data^>\" $1\";\"$2\";\"$3 \"^</data^>\" }" echo ^</datalist^> echo ^</inventory_module^> echo ^</inventory^>

Ahoranecesitamodificarpandora_agent.conf,yaadirlasiguientelinea:
module_plugin cmd.exe /C C:\tmp\windows_arp_inventory.bat

Este script se ejecutar cada 5 minutos (por defecto el intervalo del agente). Si desea que se ejecute cada X tiempo tendr que implementar esa lgica en el propio script.

Noolvide,antesdereiniciarelagentedepandora,paraquecojaloscambios,crearelmodulode inventarioenPandora:

501

Recogidadedatosparaelinventario

Fijesequealserunmodulolocal,notienerellenoelcampo"interprete"nielde"codigo",aunquesi eldeSistemaOperativo. Losresultadosobtenidos,sonigualesquelosqueobtuvimosparaelequivalentedemoduloremoto sobrelinux:

En la libreria online de modulos de Pandora (http://pandorafms.com) hay ms modulos de inventario,tantoremotoscomolocales,yporsupuesto,siempredesarrollarsef cilmentelossuyos comohapodidoverenestecaptulo.

26.3.Visualizacindedatosparaelinventario
Los datos de inventario que se han recogido de unsistema, ya sea de forma local o deforma remota,sepuedenverdesdeelpropioagenteodesdeelmendeInventariodelaconsola.

26.3.1.VerdatosdeInventarioenelagente
Paraverlosdatosrecogidosdeunagenteconinventariodesdeelpropioagente,sevaalmen de operacindelagenteysepulsaenlapestaadeinventario.

502

Visualizacindedatosparaelinventario

Apartirdelaversion4.0.xlasbusquedasincluyencampospersonalizados,deformaqueesmuy til parabuscar,porejemplo,unaversiondesoftwaredeterminada:

503

Visualizacindedatosparaelinventario

26.3.2.VerdatosdeInventarioenelmendeInventario
DesdeOperation>Inventoryesposibleverlosdatosdeinventariodetodoslosagentes,realizar bsquedasyexportarlosdatosaunCSV.

Loscamposquesepuedenusarparalasbsquedassonlossiguientes. Group:combodondesepuedeelegirelgrupodeagentesporlosquesequierefiltrar. Module:combodondesepuedeelegirelmdulodeinventarioporelquesequierefiltrar. Agent:campodondesepuedeescribirelnombredelagenteporelquesequierefiltrar. Search:campodondesepuedeescribiruntextopararealizarunab squedaportodoslos camposdelinventario.

Conlasbsquedasesposibleverlosmdulosdetodoslosagentesquetieneninventario,eligiendo allenlasopcionesdebsquedaypulsandoenSearch.

Ounmduloconcretodetodoslosagentesconinventario,eligiendoelm duloypulsandoen Search.

504

Visualizacindedatosparaelinventario

26.3.3.ExportarlosdatosdeinventarioaCSV
DesdeOperation>Inventoryesposibleexportarlosdatosdelinventario,resultadodeunfiltro,a unarchivoCSV. SeeligeelfiltroyunavezquehayadatossepinchaenExportCSV.

Secreaunarchivoconlosdatosdeinventarioseparadosporpuntoycoma.

505

Visualizacindedatosparaelinventario

27PRESENTACINDELOSDATOS: GRFICAS,INFORMES,MAPASVISUALESY LISTADODEMDULOS

506

Introduccin

27.1.Introduccin
PandoraFMSrecogeelestadooniveldecualquierparmetrodeundispositivo,aplicacin,sensor, red,etc.PandoraFMSalmacenadichoestadooniveldurantemuchotiempo(elqueelusuario defina)enunaBasedeDatos.PandoraFMSescapazderepresentargrficamentetodosesosdatos dediferentesmaneras. PandoraFMStienevariasopcionesquepermitenalusuarioversussitemasyaseaelestadoenun instante dado como su evolucin a lo largo del tiempo. Dichas opciones son grficas simples, grficascombinadas,informespersonalizados,mapasvisualesolistadodemdulos

27.2.Tipografaeidiomas
PandoraFMSincluyeunacoleccindefuentesutilizablesengrficas,mapaseinformes.Entrelas fuentesincludas,pordefectoseutiliza( code.ttf),lacualsoportajuegosdecaractrestalescomo latino,arbigo,hiragana,katakanaymuchosms. Lasfuentesestncontenidasen/include/fonts,dondesepodrancopiarnuevasfuentesencasode necesitarlo.

27.3.Grficas
Las grficas muestran los datos recogidos por pandora en una escala temporal definida por el usuario.LasgrficasdePandoraFMSmuestrandatosentiemporeal,esdecir,songeneradascada vezqueeloperadorrequiereunadeellasymuestranelestadomsactualizado(elltimoestado). Haydostiposdegrficaslasgrficasautomticasdelagenteygrficasqueelusuarioconstruyea medidaconunoomsmdulos.

27.3.1.Grficasdelagente
Lasgrficasdelosagentessonlasgrficasdelosmdulosquesepuedenverdesdeelmen de operacindeloagentes. Para acceder a estas grficas se debe elegir un agente desde Operation>view agents> Agents Details

Despusdefiltrarsepulsaenelnombredelagente,porejemploFarscape,paraaccederalmenude
507

Grficas

operacindelagente.Dentrodelmensepulsaenlapestaadata.

Enlapestaadedatatenemosunalistacontodoslosmdulosdelagente.Unadelascolumnasde dichalistaponeGraphyencadamdulotieneunlinkparaaccederalagficamensual(M), semanal(W),diaria(D)ydehoras(H).

SisepulsaenalgunodelosiconosconlaM,W,DoHseaccedeaunanuevaventanaconlagr fica delmdulo,dichagrficatendrelrangotemporalsegneliconoquesehapulsado. Tambinexisteunavistarpidaalosdatosyalagrficade24hr(ltimas24horas~1da),desde lavistaprincipal,eneliconodelagrfica,aladerechadelacolumnadedatos.

LasgrficasestnhechasenFlashoenformatoPNG(sisehadeshabilitadoelFlash).Enelcasode lasgrficasflash,estassoniteractivas,porloqueposicionandoenrat nenalgnpuntodelaparre


508

Grficas

posteriordelagrficamuestarneldatoconcretodeesepunto.Lasgrficastienenunmen de configuracinquepermite(pasandoelratnporencimadelasolapaalaizquierdadelaventanade lagrfica),reconfigurarlagrfica.Enlaleyendapodrverdatosestadsticos(ltimovalor,Media, MximoyMnimo)paracadaunadelasseriesmostradas.

Elmendeconfiguracindelagrficaeselsiguiente:

Acontinuacinsedetallanloscampos: Refreshtime:Campodondesedefineeltiempoderefrescodelagrfica. Avg.Only;Sisemarca,mostrar slolosdatosmedios,sinelmnimoymximo.(Esta funcionalidadnoestdisponibleparamdulosdetipobooleano).


509

Grficas

BeginDate:Medianteuncalendarioesposibleestablecerelmomentoenquecomienzana mostrarsedatos. ZoomFactor:Medianteuncombosepuedeampliaroreducirlagrfica. Timerange:Medianteuncomboseeligeelrangodetiempodelagrfica. ShowEvents:Sisemarca,mostrarloseventosdelmdulo. ShowAlerts:Sisemarca,mostrarlasalarmasdelmdulo. Draw baseline (A partir de la versin 4.0.2): Si se marca, mostrar la grfica de estimacindelmdulo.Estaopcinsoloest disponibleenlosmdulosnumericosenla versinenterprise.

La grfica Baseline utiliza datos de un mes anterior al periodo seleccionado , por lo que si no se disponen de datos la grfica Baseline se pintar pero con valor cero

Unavezsehancambiadolosvalores,sepinchaenGOparaqueestosseapliquen. Esposiblecambiarlaresolucindelgrficaparamejorarlavisualizacin,comopuedeverenla siguienteimagen.Losvaloresentrelosquesepuedeconfigurarlaresoluci nson1(msbaja)y5 (msalta).

510

Grficas

Puede configurar todos los aspectos de las grficas en el men Administracion>Setup>Visual Configuration.

27.3.2.GrficasCombinadas
Lasgrficascombinadas,permitenalusuariodefinirgrficasdeuntamaovariable,quecontengan valoresdediferentesmdulospertencientesaunoomsagentes.Deestaformasepuedecomparar visualmenteinformacinprovenientedevariasfuentes.

27.3.2.1.CrearGrficascombinadas
ParaaadirunagrficacombinadasevaaAdministration>ManageReports>GraphBuilder.

511

Grficas

Acontinuacinsedetallanloscampos: Width Seponevalorquetendrelanchodelagrfica. RenderNow Medianteuncomboseeligesisemuestralagrficaonosemuestra. height Seponevalorquetendrelaltodelagrfica. Period Medianteuncombosedefineelperiodotemporalusadoparacrearlagrfica. ViewEvents Medianteuncombosemarcasisevernloseventosocurridosenelmduloonosemarcan. Stacked MedianteuncombosemarcaeltipodegrficaeligiendoentreArea,Line,StackedAreayStacked Line. Factor SepulsaenelbotnPreviewparaqueaparezcalagrfica.

512

Grficas

Aparecelagrficadefinida,conunmenparaaadirmsmdulosyparaguardarlagrficacreada. ParaaadirnuevosmdulosslotienequepresionarenelbotonGraphEditoryverunformulario quelepermitiraadirnuevosmdulosdecualquieragente.

Laopcinfactorpermitemarcarelvalordelfactordenormalizaci ndedatosenelcasodequese quiera utilizar. La normalizacin se usa para poder comparar grficas de ordenes diferentes y multiplicalosdatosporelfactordefinido.Porejemplosiqueremosponerenlamismagr ficaCPU convaloresentre0y100ynmerodeconexionesconvaloresentre1000y10000,esconveniente multiplicarlaCPUpor10. No hay lmite en el nmero de elementos a visualizar, pero a partir de cinco la cantidad de informacin mostrada hace difcil interpretarla, a no ser que se usen grficos de gran tamao (800x600,etc). Debidoalasencillezquetienelacreacindegrficascombinadas, stasnosepuedeneditarsalvo enelmomentodecrearlas.Ymientrasseestncreando,lo nicoquesepuedehaceresborrarun mduloquesehaaadidoparaaadirlodenuevoconotraconfiguracin.
513

Grficas

Unavezsehacreadolagrficaesimportanteguardarlaparapoderverladenuevoousarlaenun informe.Paraguardarlagrficaseleponeelnombre,unadescripcinysemarcasiser ono privadaysepulsaenStore. Enlaimagendeabajoseveunagrficacombinadacondosmdulos,cpu_serdelAgentefarscapey cpu_userdelAgenteARTK_galaga.LagrficasehaguardadocomoEjemplocpu_user

27.3.2.2.Vergrficascombinadasguardadas
Paraverunagrficacombinadaquesehaguardado,sevaaOperation>Reporting>CustomGraph dondeapareceunalistacontodaslasgrficasguardadas.Paraverunagrficasepulsasobreel nombredelamisma.

Seaccedealagrficaqueserecalculaconlosvaloresquehayenesemomento.

514

Grficas

Desdeestapginaesposiblemodificarciertosparmetrosdevisualizacincomosonelperiodode tiempo,eltipodegrfica(line,area,stacklineystackarea)yelzoom(Graphdefines,Zoomx1, Zoomx2yZoomx3). Acontinuacinsevenunejemploconlosdiferentestiposdegrfica(Eltipoareaestaenlaimagen anterior). TipoLine Mostradacomogrficaesttica(Png)

TipoStackarea MostradaenestecasocomogrficatipoFlash(interactiva):

515

Grficas

TipoStackline Mostradacomogrficaesttica(Png)

27.3.2.3.Borrargrficascombinadasquesehanguardado
Paraborrarunagrficacombinadaquesehaguardado,sevaaOperation>Reporting>Custom Graphdondeapareceunalistacontodaslasgrficasguardadas.Sepulsaenlaxrojaquehayala derechadelagrficaystaseborra.

516

Grficas

27.4.ConsolaNetworkEnteprise
EnPandoraFMSEnterprisetenemoslaposibilidadaadidadecrearmapasderededitablesymas interactivosfrentealaversinOpenqueexisteactualmenteenelsubmenude"Veragentes". Frentealaversinopen,elNetworkmapEnterprisenosproveedemasfuncionalidadescomo: Networkmapsmuchomasgrandes,demasde1000agentesamonitorizar. Monitorizacinentiemporealdetodalatopologadered,desusistemas. Distintas vistas de su topologa de red, definidas de forma manual o generada automaticamentegruposdeagentes. Enlazardistintasvistasdesutopologapormediodepuntosficticios. Manipularlatopologarepresentadaenlavista: Aadiendonuevosnodos,unoporunoodeformamasiva. Editandolaspropiedadesdelosnodos. Organizandolosdentrodelavista: Laposicindelosnodos. Lasrelacionesentrelosnodos.

517

ConsolaNetworkEnteprise

ElNetworkmapenterprisesepuedeaccederaelatravsdelmendelaizquierdayseencuentraen laseccindeOperacionesconelnombredeConsoladered.

518

ConsolaNetworkEnteprise

Losmapasderedpuedencontener: Nodosreales,loscualesrepresentandeforma nicalosagentesall aadidosenelmapa. Estosnodostienenuniconoquerepresentaelsistemaoperativodelagente,yunaaureola (conlaformacircularpordefecto,peropuedeescogerseentreotrasdistintasformas)de estadodelagentequepuedeser: Verde,estaenestadocorrecto. Rojo,estaenestadocrticoalgunodesusmdulos. Amarillo,estaenestadowarningalgunodesusmdulos. Naranja,enelagentehasidodisparadaalgunadelasalarmas. Gris,elagenteestaenestadodesconocido. Nodosficticios,loscualesrepresentanunenlaceaotromapaderedosimplementeunpunto parausopersonaldentrodelmapa,puedetenercualquierformadelasdisponibles(circulo, rombo,cuadrado),cualquiertamaoyeltextoporsupuesto.Ysiesunenlaceaotromapa elcolorsiguelasiguientesreglas,sinoselepuedepersonalizarelcolor: Verde,sitodoslosnodosdelmapaenlazadoestncorrectos. Rojo,sialgunodelosnodosdelmapaenlazadoestaenestadocritico. Amarillo,sialgunodelosnodosdelmapaestaenestadowarningynohayninguno enestadocritico. Naranja,Grissiguiendolamismareglaquelosotroscolores. Lineasdeparentescoentrelosnodos.

27.4.1.1.Minimapa
Elminimapanosproveedeunavistaglobalquemuestratodalaextensi ndelmapa,peroenuna
519

ConsolaNetworkEnteprise

vistamuchomaspequea,ademsquefrentealavistadelmapasemuestracompletamentetodos losnodosperosinestadoysinlasrelaciones.ExceptoelpuntoficticiodePandoraquesemuestra enverde.Yademssemuestraunrecuadrorojodelapartedelmapaqueseestamostrando. Seencuentraenlaesquinasuperiorizquierda,ysepuedeocultarpulsandoeneliconodelaflecha.

27.4.1.2.Paneldecontrol
Desdeelpaneldecontrolpuedesrealizartareasmascomplejassobreelmapadere

520

ConsolaNetworkEnteprise

Se encuentra oculto en la esquina superior derecha, como en el minimapa se puede mostrar pulsandoenlaflecha. Ylasopcionesdisponiblesson: Cambiarlafrecuenciaderefrescodelosestadodelosnodos. Forzarelrefresco. Aadir agente, por medio delcontrol inteligente que permite buscar de forma r pida el agenteyaadirlo,elnuevonodoapareceenelpunto(0,0)delmapaqueestaenlaparte superiorizquierdadelmapa. Aadirvariosagentes,pormediodelfiltradoporgrupoquemostrar losagentesdeese grupoenunalistadeseleccinmltipleyquenoestnyaenelmapa. Hacerunacapturadelapartevisibledelmapa. Aadir un punto ficticio, donde puedes elegir, el texto como nombre de este punto, el tamaodefinidoporelradio,laformadelpunto,colorpordefectoysiquieresqueelpunto ficticioseaunlinkaunmapa. Buscaragente,pormediodetambindeuncontrolinteligente,unavezelegidoelmapava automticamentealpuntodondeestaelnododelagente. Zoom,cambiarelniveldezoomdelmapadered.

27.4.1.3.Ventanavistadetalle
Laventanavistadetalleesunavistavisualdeunagente,lacualserefrescaalamismavelocidad queelmapadelqueseabri,ylasventanassontotalmenteindependientesporloquepuedestener variasventanasdeestasabiertas.

521

ConsolaNetworkEnteprise

Muestraunacajaqueelbordeseponedelcolordelestadodelagente. ElnombredelagenteesunlinkalapginadelagentedePandora. Dentrodelacajaaparecentodoslosmdulosquenoestnenestadodesconocido,loscuales segnsielestadodelmoduloestarverdeorojo. Estos mdulos son clickables y muestran un tooltip con los datos principales del mdulo. EnelbordedelacajaaparecelosmdulosdetipoSNMPProc,quesuelencorrespondera interfacesderedcuandosemonitorizaunagenterelacionadoconsistemasdered.
Paleta de punto ficticio

Siseleccionasverdetallessobreunpuntoficticio,estetemostraraunaventanaemergenteconuna paletadeopcionesparamodificarelpuntoficticio.

522

ConsolaNetworkEnteprise

Disponemosdeunformularioconlasopcionesde: Nombredelpuntoficticio. Radiodelpuntoficticio. Formadelpuntoficticio. Colordelpuntoficticio. Mapaquelinkaelpuntoficticio.

27.4.2.Creacindeunmapadered
Paralacreacindeunmapaderedpuedeshacerlocomo: Desplieguedetodoslosagentescontenidosenungrupo. Creacindeunmapaderedenblanco.

Vamosahacerunavistarpidadeloscamposquetieneelformulariodecreacin: Nombre:nombredelmapadered.
523

ConsolaNetworkEnteprise

Grupo:elgrupoalqueperteneceelmapaderedparalasACL,yadem selgrupodelque generarelmapaapartirdelosagentesquehaycontenidosenesegrupo. Generacindelmapadereddesde:opcinsolodisponibleenlacreacinyeslaformade crearelmapadered,siapartirdelosagentesqueexistenenelgrupoelegidopreviamenteo porelcontrarioqueremosunmapaderedvaco. Tamaodelmapadered:enelcualsepuededefinireltamaodelmapadered,pordefecto es3000pixelesdeanchopor3000pixelesalto. Mtodo de generacin del mapa de red: el mtodo de distribucin de los nodos que formarnelmapadered,pordefectoesradial,peroexistenlossiguientes: Radial: en el cual todos los nodos se dispondrn alrededor del nodo ficticio que simbolizaelPandora. Circular:enelcualsedispondrlosnodosencrculosconcentricos. Flat:enelcualsedispondrlosnodosdeformaarborescente. spring1,spring2:sonvariacionesdelFlat. Refrescodelnetworkmap:lavelocidadderefrescodelosestadosdelosnodoscontenidosen elnetworkmap,pordefectoescada5minutos. Elrestodeloscamposqueestndeshabilitadoscomoporejemplo"redimensionarmapa"esporque soloestnactivosenlaedicindeunmapayacreado.

27.4.3.Edicindeunmapadered

ParaaccederaeditarunmapaademasdetenerpermisosdeACLdeltipo"IW",tendr scomose muestrasealadoenlaimagenelaccesodeedicinatravsdeliconodela"llaveinglesa".

524

ConsolaNetworkEnteprise

Elformulariodeedicindelosmapasderedsonexactamentealdecreacin,salvoporque: Generacindelmapadereddesde:yaqueelmapaestagenerado. Mtododegeneracin:porlamismaraznqueelanterior. Perotenemosotroscamposactivos: Redimensionadodelmapadered:elcualenvaunapeticinasncronaalservidorparaque analiceelmapaderedyageneradoybusquelaformamasoptimadeencogerlohaciendo que si hay partes en blanco (sin nodos) fuera de un encuadre mnimo, reduzca las dimensionesdelmapaaesteencuadre.

27.4.4.Duplicadodeunmapadered
DesdelalistademapasderedyteniendolospermisosACLde"IW"puededuplicarunmapadered con todo su contenido y todas sus configuraciones, excepto el nombre que es "Copia de..." y posteriormentesihaymasdeuno"Copiade...N".

27.4.5.Interaccinconelmapadered
Lainteraccindelmapaderedsepuederealizaratravsde: Elratn,aceptandoaccionesdearrastrarysoltar,dobleclick,bot nprincipalysecundario, yruedadelratn. Teclado,pormediodelateclascontrolsepuedemodificariniciarseleccinmltiple.

525

ConsolaNetworkEnteprise

27.4.5.1.Accionessobreelmapa
Movimiento por el mapa

Manteniendolopulsadosobreunapartevacademapasepuedearrastrarydeplazarseporel mapadered. Sobre el minimapa, con el ratn arrastrando manteniendo pulsado el botn principal o haciendoclickenlazonaquequieresver. Enelpaneldecontroldisponedeuncuadrodebsquedaqueunavezintroducidoelagente, elmapasemueveautomaticamentealpuntodondeseencuentraelnododeeseagente.
Forzar el refresco del mapa

ConelbotnSecundariodelratn,pulsandosobreunespaciovacoapareceunmen contextual, eligeslaopcin"Refrescar",elcualfuerzaarefrescarlosestadosdelosnodos.

526

ConsolaNetworkEnteprise

Centrar el mapa

ConelbotnSecundariodelratn,pulsandosobreunespaciovacoapareceunmen contextual, eligeslaopcin"Centraraqu"fijaelcentrodelmapaderedenelpuntoclickado,paraposteriores vecesqueabraestemapavuelvaaaparecerenestepunto.Adem spordefectosinoseeligeningn centro,elcentropordefectoeselnodoficticiodePandora.


Edicin de los nodos

27.4.5.1.1.1.

Cambiar la posicin

Manteniendolopulsadosobreunnododelmapasepuedecambiarsuposicin
27.4.5.1.1.2. Relacionar un nodo con otro

ConelbotnSecundariodelratn,pulsandosobreunnodoapareceunmen contextual,eligesla opcin"Elegircomohijo".

527

ConsolaNetworkEnteprise

Inicias la operacin de enlazado un nodo con otro. Para lo cual debes pulsar con el bot n secundariosobreotronodo(ficticioono)ytendrsunmen contextualquetemuestra"elegir comopadre"o"cancelarlaoperacin".

Yalfinalizarlaoperacinaparecerenlazadoelnodoconelotronodo,ydesaparecernlasmarcas sobrelosnodos.

27.4.5.1.1.3.

Apilar los nodos

ConelbotnSecundariodelratn,pulsandosobreunnodoapareceunmen contextual,eligesla opcin"Mandaralfrente,traerelnodoalfrenteparasiestaapiladososepisanvariosdeellos,el elegidosepinteporencimadelresto.

528

ConsolaNetworkEnteprise

Siemprequesepinteelmapa,aparecerporencima.

27.4.5.1.1.4.

Borrar los nodos

ConelbotnSecundariodelratn,pulsandosobreunnodoapareceunmen contextual,eligesla opcin"Borrar".

529

ConsolaNetworkEnteprise

27.4.5.1.1.5.

Cambiar la forma de la aureola estado

ConelbotnSecundariodelratn,pulsandosobreunnodoapareceunmen contextual,tienesla listadesplegabledeformadelaaureola,conellapuedeselegirlaformadelaaureola..

27.4.5.1.1.6.

Borrar las relaciones entre los nodos

ConelbotnSecundariodelratn,pulsandosobreunnodoapareceunmen contextual,muestra alfinaldelmen contextuallalistadelasrelacionesdeparentesco,unalistadelasrelacionesde parentescoquepuedetenerelnodo,einclusopuedesborrarlospulsandoenlaX.

530

ConsolaNetworkEnteprise

Edicin masiva de nodos

Manteniendo pulsada la tecla "control", te aparecer un rectngulo traslucido para poder seleccionarvariosnodosalavez.Yunavezseleccionadosvarios,puedeshacer: Conelbotnprincipal,puedesarrastrarlostodosalavez. Conelbotnsecundario,disponesdeunmen conlasopciones,enlazarporrelacinde parentescoconotronodo,mandaralfrente,borrarlo,abrirventanadedetallesycambiarla formadelaaureoladeestado(ysiesunnodoficticiolaformadeeste).

Ver informacin de los nodos

Conelbotnprincipaldelratn,haciendodobleclicksobreunnodo.
531

ConsolaNetworkEnteprise

ConelbotnSecundariodelratn,pulsandosobreunnodoapareceunmen contextual, eligeslaopcin"Mostrardetalles"muestraenunaventanaindependienteemergenteuna vista de detalle del agente. Si es un nodo ficticio que abre una ventana emergente independientemostrandounapaletadeopcionesparaeditarelnodoficticio.
Creacin de nodos de agente

Lacreacindenodosdeagenteapartedelacargainicialsiseeligealg ngrupoenlacreacindel mapa,sepuedeunavezcreadoaadirnuevosnodosdeagente,desdeelpaneldecontrol,habiendo dosformasquetrataremosacontinuacin.


27.4.5.1.1.7. Creacin nica de un nodo

Enelpaneldecontrolenlapartedeaadiragente,disponedeuncontrolinteligenteporelcual filtraymuestralalistadeagentesposiblesdeacuerdoaloescrito. Unavezelegido,sehaceclickenelbotnde"Aadirelagente"enelpanelyaparecer unnuevo nododeesteagenteenelcentrodelapartequeestamostrandoelmapaactualmente.

27.4.5.1.1.8.

Creacin masiva de un nodo

Tambinenelpaneldecontrol,enlalistadesplegablequesellama"Filtergroup"seelijeah el grupodelquesequierecargarenlalistadedesplegadadeabajolosagentesaa adir,enestalista aparecernlosagentesdeesegrupoyquenoestnenelmapa.

532

ConsolaNetworkEnteprise

Unavezseleccionadosalpulsarenelbotn"aadir",estosaparecernapiladosenelpunto(0,0)del mapa,queseencuentraenlaesquinasuperiorizquierda.
Creacin de nodos de ficticios

Ademsdesdeelpaneldecontrolsepuedencrearnodosficticios,enelformulariosepuededefinir desdelaforma(circulo,cuadradoorombo),darleuncolor,ponerleunnombre,darleuntama oe inclusoenlalistademapasderedsepuedeelegirunmapaconelcuallinkar.

Modificar el nivel de zoom

Almostrarelmapasemuestrasiempreanivel0,queeselnivelmascercano. Ruedadelratn,conellaruedadelratnpuedesvariarelniveldezoomsobreelmapa,que pordefectosiempreseabreenelmximoniveldezoom,elmximonivelsemuestrael iconodesistema,ennivelessuperioresnosemuestrayeltextodecadanodoesdeuna fuentemenor.Hay5nivelesdezoom. Atravsdelpaneldecontrolpuedeselegirelniveldezoom,queestaalfondodeelpanel.

533

ConsolaNetworkEnteprise

27.5.Mapadered(VersinOpen)
ExisteunaversinOpendelmapadered.Estafuncionalidadpermitemostrardeformagr fica mediantenodosyrelacioneslosagentes,mdulosygruposdisponiblesparaelusuario.Existentres tiposdemapadered: mapatopolgico mapadegrupos mapadepolticas ElmapaderedestdisponibleenelsubmenViewagents>Networkmap:

Crearunmapaderedessencillo,porejemplo,paracrearunmapadereddetopolog asedebe seguirlossiguientespasos: Pulsarenaadirnuevomapa.

Quedarunapantallacomolasiguiente:
534

Mapadered(VersinOpen)

Despus de pulsar en el desplegable, se podr modificar el nombre, filtrar por grupo, mostrar/ocultarlasinterfaces,modificarlaformadelmapadered,configurarsisequierequelos nombressesolapenono,mostrarlosnodosdeformasencilla,regenerarelmapacadavezquese recarguelapginayeltamaodelafuente.Unavezconfiguradostodosestosparmetrossepulsa enupdate.

535

Mapadered(VersinOpen)

Paraterminarsepulsaelbotndeguardarmapa.

Losdemstiposdemapasecreandeunamanerasimilar.

27.5.1.Mapatopolgico
Muestralosagentessegnlatopologadered,mostrandolasrelacionesentrepadresehijos.Estose puedeusarencombinacinconelreconscriptquejuntoconelmapaderedpermitir mostrar grficamentelatopologadelaredelegida.Asociadoacadaunodelosagentessever coloreadoel estadodelagente.

536

Mapadered(VersinOpen)

27.5.2.Mapadegrupo
Muestralosagentesysusmdulosclasificadosporsusgrupos(deagentesydem dulos).Sepuede filtrarlavistaporgruposdeagentes,gruposdem dulos,sepuedemodificarlaformadelmapade red(radial,plana,circular,etc),laprofundidad(agentesom dulos),silosnombressesolapan,si semuestranlosmdulosconalertas,silosmdulosdepolticasseocultan,sisequierelosnodos simples,sisequierequeseregenereelmapacadavezquesecargalap ginayeltamaodela fuente.

27.5.3.Mapadepolticas
Muestraunavistasobrelaspolticas,susagentesymdulos.Sepuedefiltrarlavistaporgruposde agentes,gruposdemdulos,sepuedemodificarlaformadelmapadered(radial,plana,circular, etc),laprofundidad(agentesomdulos),silosnombressesolapan,sisemuestranlosmduloscon alertas,sisequierelosnodossimples,sisequierequeseregenereelmapacadavezquesecargala pginayeltamaodelafuente.

27.5.4.Modopantallacompleta
Por ltimo,sepuededesplegarelmapaderedenvistaPantallacompletapulsandoenelbot n correspondiente.

27.6.Informes
ConPandoraFMSesposiblecrearinformespersonalizadosconinformaci ndelosagentes,relativa aelloscomoclculosderivadosdeellosoinclusoimportardatosotablasde3sitioscontipoUrl import. Se puede seleccionar igual que con las grficas de usuario diferentes mdulos de diferentesagentes.Losdatossevisualizandediferentesformasenfunci ndeltipodeelementode informequedeseamosaadir.

27.6.1.Creacindeuninforme
ParaaadirunInformesevaaOperation>Reporting.Apareceunalistacontodoslosinformes creados,paracrearuninformesepinchaenCreateReport

537

Informes

Aparecer unformulariodondepuedeponerelnombredelinformeyseleccionarelgrupoalque pertenece,tambinsielinformeesprivadoonoyladescripcindelmismo.Cuandoloscampos estenrellenospulseenelbotn"Create".

27.6.2.Edicindeuninforme
Paraeditarun InformesevaaOperation>Reporting.Apareceunalistacontodoslosinformes creados,paraeditaruninformesepulsaenelnombredelinforme.

538

Informes

27.6.3.Borradodeuninforme
ParaborrarunInformesevaaOperation>Reporting.Apareceunalistacontodoslosinformes creados,paraborraruninformesepulsaenlaxrojaquehayaladerechadelnombredelinforme.

539

Informes

27.6.4.Pestaas
Elnuevoformularioparacrearinformessehadivididoparasufacilidadenlassiguientespesta as.

27.6.4.1.PestaaMain
Enlapestaamainesla nicadisponibleenunInformenuevo,yaqueenestadefineslosdatos bsicos del informe (nombre, grupo de acceso y descripcin). Y ya despus de guardarlo correctamentetendrsaccesoalrestodelaspestaas.

Loscamposquetienesenesteformularioes: Nombre,dondedefineselnombredelformulario. Grupo,dondedefineselgrupodeaccesoquepuedevisionarelinforme. Descripcin,estadescripcinparadarlemasinformacinalosusuariossobreelinforme,se mostraraenlalistadeinformes,tambinsemostrar enlavisualizacindelinformecomo XMLycomoPDF.

27.6.4.2.PestaaListItems
Enestapestaatendrsunavisinglobaldetodoslositemsquecomponenelinforme.Lositemsen lalistaaparecernconelordenenquesemostrarneninforme.Desdeestapestaasepuede: modificarelitem(haciendoclickenlallaveinglesa). modificarelordenpormediodelasflechasverdesdelaizquierdadeformamanual. modificarelordendeformaautomticaenlasceldasdelacaberaconlasflechasblancas, ordenandoalfabticamenteportipodeelemento,alfabticamentepornombredelagenteo alfabticamenteporelnombredelagente. eliminarelitemhaciendoclickenelasparoja. Siesuninformeextensoconmultituddeitems,disponeenlapartedearribaunformulariopara filtrarpordistintoscriterios.

540

Informes

Lascolumnasquemuestraestapestaason: S.:columnaenlaqueaparecenlasflechasverdesdeordenacinmanual. Type:columnaenlaqueapareceeltipodelositems. Agent:columnaenlaqueapareceelnombredelagente,puedeestarenblancoparatiposde itemscomoS.L.A.,CustomGraph,ImporttextfromURL,SQLQuery,SimpleGraphyText. Module:columnaenlaqueapareceelnombredelmoduloqueseextraer losdatospara hacerelinforme,puedeestarenblancoparatiposdeitemscomoAgentdetailedview,Alert reportagent,CustomGraph,Eventreportagent,ImporttextfromURL,S.L.A.,SQLqueryy Text. Period:elperiododetiempoquecogerhaciaatrsenelpuntotemporalenquesegenereel informe. Description:columnaquemuestraladescripcinquelehayasdadoalitemesteparafacilitar sutrabajosobreel. Options:columnaquemuestralosbotones/iconosparaeditarelitemoborrarlo.

27.6.4.3.PestaaItemeditor
LapestaaItemeditor,eslamascomplejadelresto,porquedesdeestasepodr crearlositemsdel formulario o editarlos. Adems el formulario es dinmico segn el tipo de item a crear. En la edicinsepuedeeditartodosloscamposexceptoeltipo,sinecesitascambiarleeltipo,laformade hacerloeseliminandoelactualycrearlodenuevoconlasmismasconfiguraciones. Loscamposcomunesatodoslostiposson: Type:listadesplegableconlostiposdeitemsparaelinforme,elcualalelegireltipohabilita ydeshabilitaloscamposnecesariosparaconfigurarestetipodeitem,ylostiposdisponibles son:Agents/Modules,Agentdetailedview, Alertreportagent,Alert reportmodule,Avg. Value, Custom graph, Event report agent, Event report module, Import text from URL, MTBF,MTTR,Max.Value,Min.Value,Monitorreport,S.L.A.,SQLquery,Serializedata, Simplegraph,Sumatory,TTO,TTRTyText. Description:cajadetextodondedescribirelitemdeinforme.
Tipos de items

27.6.4.3.1.1.

Agents/Modules

Muestraunamatrizdeagentesymodulesdeundeterminadogrupodem dulosconsuestado asociado.

541

Informes

27.6.4.3.1.2.

Alert report agent

Muestraunlistadoconlasalertaslanzadasporlosagentesdelgrupodelinformeenelperiodo definido.

Loscamposdeesteformularioson: Period:elperiododetiempoquecogerhaciaatrsenelpuntotemporalenquesegenereel informe. Agent:elcontrolinteligenteparaelegirelagenteparaesteitem. YenlaversindelinformeenHtmlsegeneraunitemdeestetipoporejemplo

542

Informes

27.6.4.3.1.3.

Alert report module

Muestraunlistadoconlasalertaslanzadasporelmoduloenelinformeenelperiododefinido.

Loscamposdeesteformularioson: Period:elperiododetiempoquecogerhaciaatrsenelpuntotemporalenquesegenereel informe. Agent:elcontrolinteligenteparaelegirelagenteparaesteitem. Module: lista desplegable que se carga de forma dinmica con los modulos del agente seleccionadoenelcontrolprevio.
Avg. Value

Valormediounmduloenelperiododefinido.Esteperiodosecalculaenelmomentodeverel informe.EnelmendeconfiguracinseaadenloscamposSourceAgent,dondeseeligeelAgente yModuley,despus,elmdulodelquesemuestranelvalormedio.

543

Informes

Loscamposdeesteformularioson: Period:elperiododetiempoquecogerhaciaatrsenelpuntotemporalenquesegenereel informe. Agent:elcontrolinteligenteparaelegirelagenteparaesteitem. Module: lista desplegable que se carga de forma dinmica con los modulos del agente seleccionadoenelcontrolprevio. YenlaversindelinformeenHtmlsegeneraunitemdeestetipoporejemplo:

27.6.4.3.1.4.

Custom graph

Grficacombinadadefinidaporelusuario.Seaadeuncampoconuncomboparaseleccionarla grficaquesequiereaadir.

544

Informes

Loscamposdeesteformularioson: Period:elperiododetiempoquecogerhaciaatrsenelpuntotemporalenquesegenereel informe. Customgraph:unalistadesplegableconlosgrficosdefinidosporelusuario,estosgrficos lospuedescreardesdeAdministration,ManagereportsenGraphbuilder. YenlaversindelinformeenHtmlsegeneraunitemdeestetipoporejemplo:

27.6.4.3.1.5.

Event report agent

Muestraunlistadoconloseventosocurridosenelagentesenelperiododefinido

Loscamposdeesteformularioson: Period:elperiododetiempoquecogerhaciaatrsenelpuntotemporalenquesegenereel informe. Agent:elcontrolinteligenteparaelegirelagenteparaesteitem. YenlaversindelinformeenHtmlsegeneraunitemdeestetipoporejemplo:

545

Informes

27.6.4.3.1.6.

Event report group

Muestraunlistadoconloseventosocurridosenlosagentesdelgrupodelinformeenelperiodo definido

Loscamposdeesteformularioson: Period:elperiododetiempoquecogerhaciaatrsenelpuntotemporalenquesegenereel informe. Grupo:comboparaseleccionarelgrupo. YenlaversindelinformeenHtmlsegeneraunitemdeestetipoporejemplo:

546

Informes

27.6.4.3.1.7.

Event report module

Muestraunlistadoconloseventosocurridosenelmodulodeunagenteenelinformeenelperiodo definido.

Loscamposdeesteformularioson: Period:elperiododetiempoquecogerhaciaatrsenelpuntotemporalenquesegenereel informe. Agent:elcontrolinteligenteparaelegirelagenteparaesteitem. Module: lista desplegable que se carga de forma dinmica con los modulos del agente seleccionadoenelcontrolprevio.
27.6.4.3.1.8. Exception

Muestravaloresdediversosmdulosquecumplenoperacioneslgicas(mayoroigual,menor,OKo No OK) ordenado ascendentemente, descendentemente o por nombre de m dulo dentro del
547

Informes

periododado.

27.6.4.3.1.9.

General

Muestra valores de diferentes mdulos ordenados (ascendentemente, descendentemente o por nombredeagente)o/yagrupadosporagente.

Tenga en cuenta que si un mdulo cambia de intervalo a lo largo de su vida til, las cuentas del sumatorio pueden no ser correctas

27.6.4.3.1.10.

Group report

Muestraunatablaconlasiguienteinformacindeungrupodeterminado: Agentes Nmerototal Nmerodeagentesenestadodesconocido Mdulos Nmerototal Nmerodemdulosenestadonormal Nmerodemdulosenestadocrtico Nmerodemdulosenestadodeadvertencia Nmerodemdulosenestadodesconocido Nmerodemdulosnoiniciados Alertas Nmerodealertasdefinidas Nmerodealertasdisparadas Eventos Nmerodeeventosenesegrupodelasltimas8horas

548

Informes

Loscamposdeesteformularioson: Grupo:comboparaseleccionarelgrupo. YenlaversindelinformeenHtmlsegeneraunitemdeestetipoporejemplo:

27.6.4.3.1.11.

Import text from URL

EsteitemmuestraeltextoextradodesdeunservidorexternoalquetengaaccesoPandoraConsole, hayquetenerencuentaqueenformatoinformeHtmllomostrar talcual,peroenlaversinen PDFinformesolomostraraeltextoenformatoplano.

Loscamposdeesteformularioson: URL:campodetextodondeintroducirladireccindelserverexternoaextraereltexto.
Inventory

Este item muestra el inventario seleccionado de una o varias m quinas correspondiente a un momentoconcretoobienelltimoconocido.

549

Informes

Loscamposdeesteformularioson: Descripcin:Campodetextocondescripcindelitem Grupo:Comboquefiltralosagentesqueaparecenenelsiguientecampo.Nosereflejaenel informe,essolounautilidaddelformulario. Agentes:Agentesdelasmquinasdelasquesetomar elinventario.Soloaparecernlos agentesconmdulosdeinventario. Mdulos:Losmdulosdeinventariocomunesalosagentesseleccionados. Fecha:Fechadelosdatosmostrados.Siseescoge ltimo,setomarnlos ltimosdatosde inventarioconocidodelosmdulosseleccionados.
27.6.4.3.1.12. Inventory changes

Esteitemmuestraloscambiosdeinventarioregistradosenunaovariasm quinasdentrodeun periodoseleccionado.

550

Informes

Loscamposdeesteformularioson: Descripcin:Campodetextocondescripcindelitem Periodo:Periodoenelqueseregistraronloscambios Grupo:Comboquefiltralosagentesqueaparecenenelsiguientecampo.Nosereflejaenel informe,essolounautilidaddelformulario. Agentes:Agentesdelasmquinasdelasquesetomar elinventario.Soloaparecernlos agentesconmdulosdeinventario. Mdulos:Losmdulosdeinventariocomunesalosagentesseleccionados.

Los datos para este item son recogidos de los eventos de cambios en el inventario. Si el item fuese demasiado grande, puedes eliminar algunos de esos eventos manualmente para reducirlo.

27.6.4.3.1.13.

MTBF

Tiempomedioentrefallas Secalcula:MTBF=TTO/#F

Donde: TTO=Tiempo total de operacin en el periodo. #F= nmero total de fallas.


Proporcionaeltiempopromediodeoperacinnormalentrefallas IndicadordeCONFIABILIDAD.

551

Informes

Loscamposdeesteformularioson: Period:elperiododetiempoquecogerhaciaatrsenelpuntotemporalenquesegenereel informe. Agent:elcontrolinteligenteparaelegirelagenteparaesteitem. Module: lista desplegable que se carga de forma dinmica con los modulos del agente seleccionadoenelcontrolprevio.
27.6.4.3.1.14. MTTR

Eseltiempopromediopararestaurarlafuncindeunequipo,maquinaria,lneaoprocesodespus deunafallafuncional. Incluye tiempo para analizar y diagnosticar la falla, tiempo para conseguir la refacci n, tiempodeplaneacin,etc. Esunamedicindelamantenibilidaddeunequipo. Eselintervalodetiempoobtenidodividiendoeltiempototaldelasreparacionesentreel nmerototaldefallasenunsistema.

Loscamposdeesteformularioson:
552

Informes

Period:elperiododetiempoquecogerhaciaatrsenelpuntotemporalenquesegenereel informe. Agent:elcontrolinteligenteparaelegirelagenteparaesteitem. Module: lista desplegable que se carga de forma dinmica con los modulos del agente seleccionadoenelcontrolprevio.
27.6.4.3.1.15. Max. Value

Valormximounmduloenelperiododefinido,esteperiodosecalculaenelmomentodeverel informe.

Loscamposdeesteformularioson: Period:elperiododetiempoquecogerhaciaatrsenelpuntotemporalenquesegenereel informe. Agent:elcontrolinteligenteparaelegirelagenteparaesteitem. Module: lista desplegable que se carga de forma dinmica con los modulos del agente seleccionadoenelcontrolprevio. YenlaversindelinformeenHtmlsegeneraunitemdeestetipoporejemplo:

27.6.4.3.1.16.

Min. Value

Valormnimounmduloenelperiododefinido,esteperiodosecalculaenelmomentodeverel informe.

553

Informes

Loscamposdeesteformularioson: Period:elperiododetiempoquecogerhaciaatrsenelpuntotemporalenquesegenereel informe. Agent:elcontrolinteligenteparaelegirelagenteparaesteitem. Module: lista desplegable que se carga de forma dinmica con los modulos del agente seleccionadoenelcontrolprevio. YenlaversindelinformeenHtmlsegeneraunitemdeestetipoporejemplo:

27.6.4.3.1.17.

Monitor report

Muestraelporcentajedetiempoqueunmdulohaestadomalyhaestadobienenelperiodo definido.

554

Informes

Loscamposdeesteformularioson: Period:elperiododetiempoquecogerhaciaatrsenelpuntotemporalenquesegenereel informe. Agent:elcontrolinteligenteparaelegirelagenteparaesteitem. Module: lista desplegable que se carga de forma dinmica con los modulos del agente seleccionadoenelcontrolprevio. YenlaversindelinformeenHtmlsegeneraunitemdeestetipoporejemplo:

27.6.4.3.1.18.

S.L.A.

Permitemedirelniveldeservicio(ServiceLevelAgrement)decualquiermonitordePandoraFMS.

555

Informes

Loscamposdeesteformularioson: Period:elperiododetiempoquecogerhaciaatrsenelpuntotemporalenquesegenereel informe. Esteformularioesmascomplejoyademsdeloscamposcomunesmasomenosenlosotrositems, tieneabajounalistadelossubitemsdemodulosacalcularelS.L.A.conlassiguientescolumnas: Agent:EnuncomboseeligeelagentequesevaautilizarenelSLA. Module:EnuncomboseeligeelmduloquesevaautilizarenelSLA. SLAmin(value):SeestableceelvalormnimodelSLA.Losvaloresmenoresdeestevalor harnsaltarelSLA. SLAmax(value):SeestableceelvalormximodelSLA.Losvaloresmayoresdeestevalor harnsaltarelSLA. SLALimit(%):SeestableceelporcentajedetiempocorrectoparaelSLA.Cuandoelm dulo haestadodentrodeloslmitesdevaloresmnimoymximo,duranteeseporcentajede tiempo,elSLAaparecercomocorrecto,encasocontrarioaparecercomofallido. EsposibleaadirnuevosmdulosalSLAparahacerSLAscombinadosdemdulosdelamismaode distintasmquinas. EnelcasodelosSLAscombinadoselcumplimientodelSLAdepender delcumplimientodetodos losSLAsquesehanconfigurado.
27.6.4.3.1.19. Consultas SQL

EsteitemmuestraenlosinformesdatosdelaBDdedatosdePandoradeentablaparadisponeren elinformededatospersonalizadosextraidosdirectamentedelaBD. HaydosformasdedescribirlaconsultaSQL: unaescritaamanoenlacajadetexto:

556

Informes

laotraseleccionadapormediodeldesplegabledeCustomSQLtemplate,quesolopormedio delaversinEnterprisesepuedeeditardeformacomoda:

Loscamposdeesteformularioson: QuerySQL:cajadetextodondeescribirlaconsultaSQLparaextraerlosdatosdelaBDde Pandora. Serializedheader:campodetextodondeponerseparadospor|paradefinirlascabecerasde


557

Informes

latablaquesemostrar enelinforme,porcadacolumnaquesalieraderesultadoenla consultaSQL. Custom SQL template: lista desplegable que contiene las plantillas de SQL de consultas guardadasparasufciluso.EstassepuedengestionarpormediodeAdministration,Manage reportsenCustomSQL. Debidoarestriccionesdeseguridad,hayalgunaspalabrasreservadasquenosepuedenusar:*, DELETE,DROP,ALTER,MODIFY,UNION,password,pass,INSERTUPDATE.

Este tipo de items han de usarse con cuidado ya que pueden sobrecargar en exceso Pandora FMS

27.6.4.3.1.20.

Grficas definidas desde SQL

Estetipodeelementodeinformepermitequesepuedandefinirgrficaspersonalizadasparausarlas enlosinformes.EstasgraficassecrearnusandocdigoSQLintroducidoporelusuario.Estecdigo SQLdeberdevolversiempreunavariablellamada "label"paralasetiquetasdetextoonombrede los elementos a visualizar y un campo llamado "value" para almacenar el valor numrico a representarl.EsteesunejemplodeSQLusadoparacreargrficasdeestetipo:
SELECT tagente.nombre AS label, datos AS value FROM tagente, tagente_estado, tagente_modulo WHERE tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo AND tagente_modulo.nombre = "module_1" AND tagente_modulo.id_agente = tagente.id_agente

Esteesunejemplodecomosedefiniraunagrficadeestetipo.Esbastantesimilaraunaconsula SQL,peronoutilizacabeceras,yslonecesitaelcdigoSQL:

Estossonalgunosejemplosdecadaunodelostrestiposdegraficasquesepuedendibujarconesta herramienta:Informesdetipo"quesito",detipobarrasverticalesydebarrashorizontales.Eneste ejemploseusanvariosjuegosdecaracteresUTF(westernlatin,JapaneseandArabic)simplemente paramostrarlascapacidadesmultiidiomadePandoraFMS.

558

Informes

Debido a restricciones de seguridad, hay algunas palabras reservadas que no se pueden usar: *, DELETE, DROP, ALTER, MODIFY, UNION, password, pass, INSERT UPDATE

Este tipo de items han de usarse con cuidado ya que pueden sobrecargar en exceso Pandora FMS

559

Informes

27.6.4.3.1.21.

Simple baseline graph

Conestegrficosepuedenverfuturosvaloresestimacionesdelmduloseleccionado.Porejemplosi seseleccionaunperiododeunasemanayhoyesMartes,sever nlosdatosrealesdelLunesyel Martesylasestimacionesparalosdemsdas.

Loscamposdeesteformularioson: Period:elperiododetiempoquecogerhaciaatrsenelpuntotemporalenquesegenereel informe. Agent:elcontrolinteligenteparaelegirelagenteparaesteitem. Module: lista desplegable que se carga de forma dinmica con los modulos del agente seleccionadoenelcontrolprevio. YenlaversindelinformeenHtmlsegeneraunitemdeestetipoporejemplo:

Este tipo de grficas pueden sobrecargar en exceso Pandora FMS si se usan muchos datos para realizar las estimaciones futuras

560

Informes

27.6.4.3.1.22.

Serialize data

Muestra un item en el informe en formato tabla a partir de los datos guardados en la tabla tagente_datos_stringenlabasededatosdePandora.Elagenteparaellodeberserializarlosdatos separandolosconuncarcterseparadorlineayotroseparadordecampo,ytodaslasl neasdeben contenertodosloscampos.Estetipodeitemporejemploseusaparaelagentequeextraedatosde gestindelaplataformaSAP(http://en.wikipedia.org/wiki/SAP_AG).

Loscamposdeesteformularioson: Period:elperiododetiempoquecogerhaciaatrsenelpuntotemporalenquesegenereel informe. Agent:elcontrolinteligenteparaelegirelagenteparaesteitem. Module: lista desplegable que se carga de forma dinmica con los modulos del agente seleccionadoenelcontrolprevio. Serializedheader:campodetextodondeponerseparadospor|paradefinirlascabecerasde latablaquesemostrar enelinforme,porcadacolumnaquesalieraalsepararelcampo compactado. Fieldseparator:separadorendistintoscamposlacadenadetextoserializada. Lineseparator:separadorendistintaslineas(compuestasporcampos)delacadenadetexto serializada.
27.6.4.3.1.23. Simple graph

Muestralagrficasimpledeunmdulo.

561

Informes

Loscamposdeesteformularioson: Period:elperiododetiempoquecogerhaciaatrsenelpuntotemporalenquesegenereel informe. Agent:elcontrolinteligenteparaelegirelagenteparaesteitem. Module: lista desplegable que se carga de forma dinmica con los modulos del agente seleccionadoenelcontrolprevio. YenlaversindelinformeenHtmlsegeneraunitemdeestetipoporejemplo:

27.6.4.3.1.24.

Sumatory

Muestralasumadelosvaloresdeunmduloenunperiododeterminado.

562

Informes

Loscamposdeesteformularioson: Period:elperiododetiempoquecogerhaciaatrsenelpuntotemporalenquesegenereel informe. Agent:elcontrolinteligenteparaelegirelagenteparaesteitem. Module: lista desplegable que se carga de forma dinmica con los modulos del agente seleccionadoenelcontrolprevio. YenlaversindelinformeenHtmlsegeneraunitemdeestetipoporejemplo:

27.6.4.3.1.25.

TTO

TTOeseltiempototaldeoperacin(lasumadetiempoqueelmonitorhaestadoOK).

563

Informes

Loscamposdeesteformularioson: Period:elperiododetiempoquecogerhaciaatrsenelpuntotemporalenquesegenereel informe. Agent:elcontrolinteligenteparaelegirelagenteparaesteitem. Module: lista desplegable que se carga de forma dinmica con los modulos del agente seleccionadoenelcontrolprevio.
27.6.4.3.1.26. TTRT

EslasumadetodoslostiemposdondeelmonitornohaestadoOK.

Loscamposdeesteformularioson: Period:elperiododetiempoquecogerhaciaatrsenelpuntotemporalenquesegenereel informe. Agent:elcontrolinteligenteparaelegirelagenteparaesteitem. Module: lista desplegable que se carga de forma dinmica con los modulos del agente seleccionadoenelcontrolprevio.
27.6.4.3.1.27. Text

Esteitemmuestraenlosinformesuntextoformateado,paraporejemploa adirmasinformacin delaempresaalinforme.

564

Informes

Loscamposdeesteformularioson: Text: caja de texto enriquecida que permite formatear el texto, e incluso a adir links e imgenesdesdeunservidorremoto. Capturadeejemplodelaventanaparaaadirlink:

Capturadeejemplodelaventanaparaaadirimagen:

565

Informes

27.6.4.3.1.28.

Top n

MuestraNvaloresdiscriminadospormximo,mnimoomediasobreeltotaldemdulosaadidos, ordenadosascendente,descendentementeopornombredeagente.

27.6.4.3.1.29.

Projection graph

Estetipode tem permite proyectar en el futuro una estimacin delos valores que tomar un mdulo. Esta estimacin se basa en una regresin lineal [1] y est implementada siguiendo el mtododelosmnimoscuadrados[2].

566

Informes

Paraconfigurarestetipodetemsedebecompletarlossiguientesparmetros:

Period:Elperiododetiempoquesetomardebaseparalaestimacin. Projectionperiod:Elperiododetiempoafuturoenelcualseproyectarnlosdatos.

27.6.4.3.1.30.

Prediction date

Estetipodetempermiteutilizandounaproyeccindelosdatosdeunmduloafuturo,devolverla fechaenlacualelmdulotomarunvalorentreunrango.AligualqueelProjectiongraphutiliza elmtododelosmnimoscuadrados[3].

Paraconfigurarestetipodetemsedebecompletarlossiguientesparmetros:
567

Informes

Period:Elperiododetiempoquesetomardebaseparalaestimacin. DataRange:Elintervalodentrodelquedebernestarlosdatosdelmduloparadevolverla fecha. Porejemplo,paraelmdulodisk_temp_freeyeligiendounperiodode2mesessisebuscalafecha enlaqueelmduloalcanzar elintervalo[50]elresultadoser 04Dec201118:36:23.Vistode unamaneragrficasera:

27.6.4.4.PestaaWizard
EstapestaapertenecealaversinEnterprisedePandora,estapestaanospermiterealizardeuna forma automtica con unos pocos click, y de una vez multitud de items para un informe, con configuracionescomunesperoaplicadasamultituddeagentesyomdulos. Unavezelegidoeltipo,elperiodo,losagentesysiesnecesariolosmodulos,cuandosepulsaenel botndeaddsegenerarantantositemsenelinformecomoagentesyomdulosseleccionados.

568

Informes

Loscamposquecomponenelformulariodelapestaa: Type:listadesplegabledondeeligeseltipodeitemquesegeneradadeformamasiva,no estntodosporrazonesobviasyaquehaytiposdeitemsquenecesitanunaconfiguraci n mas fina, pero de los tipos disponibles que tienes son: Alert report agent, Alert report module,AVGModule,Eventreportagent,Eventreportmodule,MonitorreportySimple graph. Period:controlinteligenteparadarleelperiododetiempoosegmentodetiempodedatosa representarenelitemdelinformedesdeelmomentoquesegenera,esdecirsielperiodoes unmes,ygeneraselinformeparaelmomentoactual,lositemssacaransusdatosdesdeun meshaciaatras. Agents:lalistadeagentesquetienesaccesibleseg ntugrupodepermisos,deestalistase puede seleccionar uno o varios agentes, y por cada seleccin, en el control de mdulos aparecernloscomunesalosseleccionados. Modules: esta lista de mdulos comunes de los agentes seleccionados tambin es seleccionableunoovarios.

27.6.4.5.PestaaWizardSLA
EstapestaapertenecealaversinEnterprisedePandoraFMS,nospermitecrearuninformeSLA medianteelasistente.Deestaformasepodrnaadirvariosmdulosquetenganencomnvarios agentesdeunamaneramssencilla.

569

Informes

27.6.4.6.PestaaGlobal
EstapestaapertenecealaversinEnterprisedePandoraFMS,nospermitecrearuninformede tipoException,GeneraloTopndeunamanerasencillamedianteelusodeunWizard.Deesta forma se podr aadir diferentes mdulos de diferentes agentes, pudiendo elegir adems la operacindecadamdulo:sumatorio,media,mnimo,mximo.

27.6.4.7.PestaaAdvanceoptions
Esta pestaa pertenece a la versin Enterprise de Pandora, en esta se puede darle mucha mas personalizacion a los informes, entre otrascosas se puede elegirla fuente enquesegenera el informeenPDF,elegirellogoqueapareceraenlascabeceradePDF,editarlacabecerayelpiedel PDF,yeditarlaportadadelinforme.

570

Informes

Yloscamposquecomponenesteformularioson: Fontfamily:esunalistadesplegabledetodaslasfuentesquetienesinstaladoentuPandora Console en el directorio <pandoraconsole>/enterprise/include//mpdf50b/ttfonts. , la fuentepordefectoeslafuenteTimesRoman.Ysiquieresampliareljuegodefuentes,tienes quetenerencuentaquetienenqueteneraccesodelecturaparaelgrupodeapacheyque son en formato TTF. Si sequieren representarcaracteres de tipojapons, chino, etc, es necesariousarunafuenteTTFconesoscaracteres.Pandoraincluyelafuente"code"que visualizatodosloscaracteresexistentesenUTF8. Customlogo:esunalistadesplegableconlosposibleslogosquepuedenirenlacabecerade cada pgina de PDF. Las imgenes de logo se guardan en <pandora_console>/images/custom_logo/.Yladepordefectoes pandora_logo.jpg.Al seleccionarlosepuedeverunaprevisualizacindebajodeesteformulario. Header: es un editor rico en el que puedes copiar y pegar texto formateado de una aplicacinofimticaoeditarlopormediodelabotonera,estetextoseraelqueaparecer en lacabecera. Firstpage:comoelcampoHeader,esteesotroeditordetextoricoparacrearyeditarla pginadelaportadadelPDF. Footer:Igualquelosotrosdoscampos,peroorientadoaeditarycrearlospiesdecada pginadelPDF.

571

Informes

Macros

Demomentoestassonlasmacrosimplementadas: (_DATETIME_):quesesustituyeporlafechaenelmomentoenquesegeneraelinforme, enelformatodefechaconfiguradoenlasopcionesdePandoraConsole. (_REPORT_NAME_):quesesustituyeporelnombredelinforme.

27.6.4.8.PestaaPreview
EstapestaamuestraelinformetalcomosecuandosegeneraenformatoHtml,parapoderir viendolosresultadosdeunaformacmoda.Elinformesevetalcualloveraunusuarioenla secciondeverinforme.

27.6.5.Visualizacindeuninforme
ParapoderveruninformeyacreadosevaaOperation>Reporting>CustomReporting.

LosinformessepuedenverenHTML,XML,PDFoCSV. ParaveruninformeenHTMLsepinchaenelicono. UnavezseabreelinformeenHTMLposibleelegirdesdequefechayhorasegenera.

572

Informes

ParaveruninformeenXMLsepinchaenelicono

ParaveruninformeenPDFsepinchaenelicono

27.6.6.Envoautomticodeuninformeporcorreoelectrnico
En la versin Enterprise de Pandora FMS existe un extensin que permite enviar, de forma programada,losinformesgeneradosporcorreoelectrnico.Elinformeseenvaenformatopdf. ParaaccederalaextensinsevaaOperation>Extensiones>CronJobs. Paraaadirunatareadeenviaruninformedecorreoelectrnicosedebederellenarlossiguientes
573

Informes

campos: Task:Sedebeelegirlaopcinsendcustomreportbyemail. Scheduled:Enestecamposeeligelafrecuenciaconqueseenviaraelinforme. FirstExecution:Enestecamposeeligelafechayhoradelaprimeraejecucin. Reportbuild:EnestecamposeeligeelinformequesequiereenviarSendtomail:Eneste camposeponeladireccindemailalaqueseenviarelinforme.

Una vez se han rellenado los datos se pulsa en create y aparece la tarea en la lista de tareas programadas.

Unavezsehacreadolatareaprogramada,esposibleforzarsuejecuci npulsandoenelcrculo verdequehayaladerechadelatareaoborrarlapulsandoenlaxrojaquehayalaizquierda.

27.6.6.1.Configuracin
Para que funcione elenvo delemail, hay que configurar con los datos bsicosdeconexin al servidordecorreoelfichero/enterprise/extensions/cron/email_config.php,quepordefectoestar vaco:
<?php //Please setup your config to send emails in cron job $cron_email_from = array('pandora@pandorafms.org' => 'Pandora FMS'); $cron_email_smtpServer = 'mail.artica.es'; $cron_email_smtpPort = 25; $cron_email_username = 'info@artica.es'; $cron_email_password = ; ?>

Entoncestenemosqueconfigurar: From:conlacuentadeemailcompleta,ydespusentrelascomillaselNombredecontacto SMTPServer:aquescribestuservidorSMTP. username:usuariodeconexin.


574

Informes

password:passworddeconexin. Porejemplounficherodeconfiguracinficticio:
<?php //Please setup your config to send emails in cron job $cron_email_from = array('bot_report@company.cat' => 'Bot report'); $cron_email_smtpServer = 'mail.company.cat'; $cron_email_smtpPort = 25; $cron_email_username = 'bot_report@company.cat'; $cron_email_password = 'abretesesamo'; ?>

Recuerda, este fichero es legible por cualquier persona que tenga acceso al servidor de Pandora Console, no uses tu cuenta personal de email, crea una por ejemplo una para este tipo de tarea

27.7.Mapasvisuales
Pandora FMS permite construir mapas visuales donde cada usuario construye su mapa de monitorizacin. El nuevo editor de la consola visual es mucho ms funcional, aunque hay que reconocerlosmritosdelantiguoeditordelaconsolavisual.Enlanuevaconsolavisualseintentay seconsigueimitarlasensacinyeltactodeunaaplicacindedibujo(comoelGIMP),ademsde simplificar el editor separando en varias pestaas temticas: pestaa "Data", pestaa "Preview", pestaa"Editor",pestaa"Wizard"ypestaa"Listofelements". Elmapavisualpermiterepresentarlainformacindemonitorizacin,entiemporeal,delaforma queelusuariodecide,deunaformatotalmentegr fica.ELusuarioeligeelfondoylosiconosque representanelestado.ConPandoravienenunaseriedeiconos,peroelusuariopuedef cilmente personalizarlossuyos. Losmapaspuedeninteractuarentres,visualizandodeformajerrquica,elestadodemapasque estn "por debajo" en un mapa superior, pudiendo abstraer de esta forma, la monitorizaci n y visualizandoaaltonivel,todaunaseriedeelementos. Loselementosquepuedecontenerunmapason:Imagenest tica,etiquetas,itemdeporcentaje (burbujaobarradeporcentaje),grficadeunmduloyvalorsimpleogrficoesttico.

27.7.1.Crearunmapavisual
ParacrearunmapavisualsevaaReporting>Visualconsole.Apareceunalistacontodoslosmapas creados,paracrearunonuevosepulsaenelbotnCreate.

575

Mapasvisuales

Apareceunaventanadondeseponeelnombredelmapa,seelijeelgrupoyseseleccionaelmapa quesevaausar.Unavezsehanrellenadoloscampossepinchaencreate.

Unavezcreadoelmapaaparecelaventanadondesecreaelmapa.Lagestion/edici ndelosmapas visualeshacambiadocompletamenteenlaversion3.1,hemosintentadohaceruneditortotalmente grficoymuchomasfcildeusar.

27.7.2.Verunmapavisual
ParaverlosMapasvisualesquesehancreadosevaaReporting>VisualConsole.Apareceunalista contodoslosMapascreados. Losmapasconunnombrequesuprimeraletrasea" _",",","["o"("sernmostradosenmendela izquierdaenelsubmenudela"ConsolaVisual".

576

Mapasvisuales

ParaaccederaverelMapasepinchasobreelnombredelmapaquesequierever.

Debajodelmapahayuncombodondeseeligeeltiempodertefrescodelmapa.Elmapasepuede ponerenpantallacompletapulsandosobreelsiguienteicono Esposibleaccederalapaginadeedicindelmapapulsandosobreelsiguienteicono Desdeestamismaventanaesposibleaccederaunenlacepblicodelmapavisualquenospermitir verelcontenidodeestesinlanecesidaddeentrarenlaconsola .

27.7.3.Borrarunmapavisual
Para borrar un Mapa visual seva a Reporting>Visualconsole. Aparece una lista con todos los Mapascreados.ParaborrarelMapasepulsaenelaspacorrespondientealafiladelmapaaborrar.

577

Mapasvisuales

27.7.4.Pestaasdeleditordemapas
Laorganizacindeleditorest compuestaporvariaspestaas:Lapestaadata,quecontienelos datosgeneralesdelmapaens mismo,lapestaapreviewquesirveparaprevisualizarelmapa,la pestaawizardquesirveparaaadirdeformarpidaelementoscomunesalmapa,lapestaalista deelementosylapestaadeleditor.

27.7.4.1.PestaaData
Enestasepuedeneditarycrearlosdatosbsicosdelaconsolavisual.Serlanicavisibleparaun mapanuevohastaquelaguardes.Losvaloresbsicosquecontieneson: nombredela consola visual,elgrupoparalagestindeACL,ylaimagenbackground. Alcrearlo,eltamaodelaconsolavisualsedeterminaporeltamaodelaimagendebackground, peroaleditarlo,sisecambiaelbackground,semantendrelltimotamaodefinidoporelusuario oelanteriorbackground. Lasimgenes de background se encuentran en el directorio dePandora Console (normalmente var/www/pandora_console/)eneldirectorio./images/backgrounds/.

Capturadepantalladelformulariodelapesta adata.

27.7.4.2.PestaaPreview
Lapestaapreviewsirveparaverelresultadodetutrabajodeformarpida,evitandonavegarentre losmensdePandoraConsole.Lavistadelaconsolavisualesunavistaesttica,porloquesi cambiaelestadodeloselementoscontenidos,estosnoseredibujar ncomoocurreconlavistade edicin.Enestavistaseencuentranloselementosnombradosanteriormente(Pantallacompleta,
578

Mapasvisuales

pasaramodoadministracinylinkalenlacepblico).

Capturadepantalladeejemplodeunpreviewquesepuedeverloscuatrotiposdeelementossobrela imagendelmapadefrica.

27.7.4.3.PestaaWizard
Lapestaawizardcontieneunpequeoformularioparacreardeunavezmultituddeelementosde tipoImagenesttica,grficademdulo,calorsimpleeitemdetipopercentilenlaconsolavisual conslounpardeclicks.Comosepuedeverenlacapturadepantalla,elformulariosecompone de: Laimagen,queserigualparatodosloselementoscreadosenlote. Ladistanciaentreloselementos,queaparecernunodetrasdeotroenunalineahorizontal desdelaposicin(0,0). Lacajadeseleccindelagente.Paraseleccionarunoovariosagentessecrear nelementos enlotesparalaconsolavisual. Lacajadeseleccindemdulo.Estecontrolesdinmicoyserellenar conlosmdulosde losagentesqueseseleccioneenelcajadeseleccindelagente.Yaqupodrseleccionarlos mdulosdelosquequieraquesecreenloselementos.Imagenestticaenlaconsolavisual.

579

Mapasvisuales

Capturadepantalladelapestaawizard.

27.7.4.4.Pestaalistadeelementos
Estapestaaproporcionaunformulariotabuladoenfilasdeloselementosquecontienelaconsola visualqueesteditando.Esunaformarpidadeeditarlosdistintoselementos,ademsdeseruna tilherramientaparalosusuariosquenecesitanafinarenciertosvaloresdeloselementos. Lasaccionespermitidasenesteformularioson:laedici n(peronocambiareltipodeelemento)y elborradodeelementos(peronosucreacin).EstaaccinhayquerealizarlaenlapestaaEditor. Laprimerafilaeslaconfiguracindelaimagendebackground. Elrestodefilassernloselementosdelmapa,quecomosevelacapturadepantallavanagrupados enfilasdedoscadaelementoyseparadosporunalineanegrahorizontal.

580

Mapasvisuales

CapturadepantalladeejemplodelapestaaListofelements.

27.7.4.5.PestaaEditor
Estapestaacontienelamayorpartedelafuncionalidaddeleditordelaconsolavisual,porquees dondepodrscrearloselementos,editarlosyposicionarlos.Esunapginadinmica,porloquees necesarioquetunavegadorsoportecorrectamenteellenguajejavascript.Comosepuedeverenla capturadepantalla,lapantallasedivideendos reasclaramentediferenciadas:lacajadebotones, el readetrabajo(donde "pintars" laconsolavisual)ylapaletadeopciones(novisibleenesta capturadepantalla).

CapturadepantalladeejemplodelapestaaEditor.

Caja de botones

Losbotonesquecomponenlaherramientason: Botones paracrearlosdistintostiposdeelementos.Estnsituadosalaizquierdayson: StaticGraph,PercentileItem(tipopercentiloburbuja),ModuleGraph,SimpleValue,Label, IconyServicios. Cuandohacesclickenellosaparecelapaletadeopcionesconloscamposarellenarparacrearel elemento de ese tipo. Pueden estar desactivados si ests editando un elemento o creando un elemento,encuyocasosiestactivo,elhacer"click"cierralapaletadeopciones. BotndeDeleteItem,queinicialmenteest desactivadohastaqueseleccionesunelemento (salvobackground).Alhacerclickeliminasinremisi nelelementodeestaconsolavisual borrndolodelabasededatos.Aviso:nosepuededeshacerestaaccin. Botn de Edit Item, tambin inicialmente desactivado hasta la seleccin de cualquier elementodelaconsola visual.Alhacer click tedesplegar la paletadeopcionesdeese elementoparaqueeditessusvalores.

581

Mapasvisuales

rea de trabajo

Elreadetrabajotieneunasdimensionesde100%delanchodetuPandoraConsoley500p xeles dealto.Comoves,disponedebarrasdedesplazamientoparafacilitareltrabajoenconsolasvisuales de gran tamao. Por cierto, el tamao de la consola visual es el tamao de la imagen de background.Enel readetrabajoirnapareciendolosdistintoselementosquecre enlaposicin pordefecto(0,0)queeslaesquinasuperiorizquierda.
Opciones avanzadas

Posicin Pordefectolaposicinesla0x0,dondelaprimeracifraeselejeXylasegundaeselejeY.Estos valoressonenpxeles,ytenencuentaqueelejeest definidodemaneraqueenelejeYest invertido,dondelapartesuperioresla0ycrecehacia abajo,yelejeXest definidodelaforma clsica,esdecir:comienzaenelbordeizquierdoycrecehastaladerecha. Nohacefaltaquerellenesenestecontrolconlaposici n,salvoquequierasunposicinexacta,ya quedespusdecrearelelementopuedesposicionarloarrastrndoloporlaconsolavisualaligual queenunaherramientadedibujo. Padre Pararepresentarlarelacinentreelementosdelaconsolavisualseusanlineasquesedibujanentre ellos.Puedesermuy tilanivelvisual.Ademsdeproporcionaralapropialineauncolorsegnel estadodelelementopadre.Enelcontrolsetedesplegar unalistadeelementosquehayenesta consolavisualquepuedenserelpadredelelemento. Mapaasociado Tambinelelementopuedeserelportalhaciaotraconsolavisualdecaraaconseguirunamayor usabilidad. Porejemploaltenerdosconsolasvisuales:unaquerepresentalasm quinasdentrodeunedificio queadminitraPandora,ylaotraquerepresentaunmapamundi.Enesta ltimapodemosincluirun unicoelementoquerepresentaun"resumen"delestadocompletodelotromapa(eldelasmaquinas dentrodeledificio).Deestaformasienelmapadelasmaquinas(imaginemosquehay20),unade ellas se pone en rojo (estado CRITICAL), automticamente en el mapa general, el icono que representaalmapadelas20maquinas,sepondrenROJO. Ademas al establecer la dependencia, al pinchar en el icono que vincula al mapa, se accede directamenteaesemapa,permitiendoun"drilldown"ademsdelavisualizacinjerrquica. Este control te dar un desplegable donde se muestran las consolas visuales ya creadas para enlazarla. Colordelaetiqueta Porcuestionesdeesttica,oinclusoparamejorarlavisibilidaddeltextodellabelsielfondodel mapaesmuyoscuro.Puedescambiarelcolordeltexto,quepordefectoesnegro.Estambi nun controlinteligente,yademsdepoderescribiramanoelcolorenformatohexadecimalcl sicode HTML,puedesdesplegarunpopupconlatpicapaletadecolores.

582

Mapasvisuales

Capturadepaletacolorenellabelcolor.
Background / Fondo

Alhacerclicksobrelaimagendefondo,estasepuedeeditar.Elfondoesuntipodeelemento especialporquenisecrea,nisedestruye.Slosepuedeneditarlossiguientesvalores: Laimagendefondopormediodelapaletadeopciones Eltamaoquesepuederealizatambinpormediodelapaletadeopcionesodeunaforma masvisualarrastrandodelosbordesderecho,inferiorolaesquinainferiorderechadela imagenquehacedebackground.Elvalor0x0,aligualqueenlaimagenest tica,esunvalor especialquesignificaquetomaelvalordeanchoyaltooriginaldelarchivodeimagede background. SepuedeaplicareltamaooriginaldelfondoaplicandoelbotnOriginalsize. Sepuedetambinmodificarelratioanchoaltodelaimagendefondoparaqueunavezse modifique alguno de estos valores se pueda conservar este ratio. Esto se puede hacer mediantelosbotonesProportionalwidthyProportionalheight.

27.7.5.Paletadeopciones
Aparecealdarle dobleclick sobreelobjetoaeditaroaldarlealbotndeeditardelacajade botones. El formulario de la paleta de opciones tiene los siguientes controles para todos los elementos,peroloselementostienenalgncontrolmsquepuedesconsultarensuseccinenel artculo.

27.7.5.1.Label
Eltextoquesemostrarenelelementoenlaconsolavisual.

27.7.5.2.Agent
UncontrolinteligenteconelquepodrsbuscarunagentedetuinstalacindePandorapormedio delaIPodelnombredelagente.

583

Mapasvisuales

Capturadeunabsquedaenelcontrolinteligentedeagent.

27.7.5.3.Module
Este control responde a la seleccin del control del agente y autorellena con los mdulos que contieneelagente.

Capturadelcontrolmodulerellenadoautomticamenteconlosmdulosdelagente.

27.7.6.Elementosquepuedecontenerunmapa
27.7.6.1.Imagenesttica
Esteelementomuestraunaimagenesttica.Segnelestadodelmdulo,agenteomapa,semuestra una imagen u otra. En una instalacin normal de Pandora las tendrs disponibles en (/var/www/pandora_console/images/console/icons), incluso las podrs subir va la herramienta incluida de ficheros. La nomenclatura de las imgenes es: <nombre_imagen>_<estado>.png dondeelestadopuedeser:

Ejemplodeimgenesconelnombreyelestado. "":cuandonotieneningnestadoelagente,mduloolaconsolavisualqueenlaza. "Bad":cuandoelagentetienealgnmduloenfallo,oelmduloest enfalloolaconsola visualqueenlazacontienealgnelementoenbad. "Ok":cuandoelagente,mduloolaconsolavisualquepuedeenlazarestncorrectos.


584

Mapasvisuales

"Warning":cuandoelagentetienealgnmduloenwarning,oelmduloestenwarningo laconsolavisualqueenlazacontienealgnelementoenwarning. Creacindeunaimagenesttica Paracrearunaimagenesttica,simplementepulsaenelbotnStaticGraph,situadoelprimeroala izquierda del panel de botones, y se te desplegar una paleta con las opciones para la nueva imagen. Las opciones ms comunes las puedes ver en la entrada Paleta de opciones, pero las opcionespropiasdelaimagenestticalasversenlasiguienteseccin. Opcionesdelaimagenesttica image: donde por medio de un control desplegable eliges la imagen que se mostrar , pudiendoinclusoverdebajodelcontrolunaprevisualizacindelaimagen. Opcionesavanzadas

Size: en este juego de controles puedes darle un tamao a la imagen. Por defecto viene el valor especial 0x0, que significa que tome el tamao original de la imagen.
Capturasdepantalla

Paletamostrandolaprevisualizacindelaimagenquesevahaaadirlaconsolavisual.

585

Mapasvisuales

Vistadelapaletadeopcionesdeunaimagenestticaenlimpio. Trucos Quierocrearuntextoflotante?.

Es un mtodo sencillo, basta con crear una imagen esttica pero sin imagen.

27.7.6.2.Icono
Esteelementomuestraunaimgenestticaquenoestasociadaaningnmdulo.

Iconoeneleditordemapasvisuales. En una instalacin normal de Pandora las tendrs disponibles en (<pandora_home>/images/console/icons),inclusolaspodrssubirvalaherramientaincluidade ficheros.Aligualqueenlosdemselementosdelaconsolavisualselepuedeponerunaetiqueta, modificarlaposicin,eltamao,asociarotroelementocomopadreylinkarconotromapavisual. TodoestosepuedemediantelainterfazenlavistaEditor:

586

Mapasvisuales

Ejemplodecreacindeunicono.

27.7.6.3.Itempercentil
Lositemsdetipopercentilnospermitenverelestadodeunm dulodeunamaneramuygrficay descriptiva.Puedenserdetipoburbujaotipopercentil(barradeprogreso).

EjemplodeunelementodetipoBarradeporcentaje,enesteejemplosemuestraelresultadodeun mduloquemonitorizalaCPU. Opcionesdelitempercentil Labarradeporcentajetienemuchosmenoscontrolesqueelrestodeloselementos,perotienedos controlesqueexplicaremos: Width:queserelanchoenpxelesdelabarradeporcentaje. Max value: es el valor mximo que puede tener el mdulo a representar. Por eso es interesantequeexaminesbienelmduloamonitorizarparavercualeselvalormximo,por ejemplo,enelcasodelacapturadepantallaeselmdulodeCPUquevade0a100. Type:Eltipopermitir con figurarsi esteitemser detipoburbujaodetipobarrade
587

Mapasvisuales

progreso.Bsicamenteestoeslaformaderepresentarelelementogrficamente.

Elementodetipopercentil

Elementodetipoburbuja

Value to show: Se podr elegir entre el tanto por ciento hasta llegar al mximo valor o el ltimo valor que reporte el mdulo. Opciones avanzadas: este elemento no tiene ningn control avanzado distinto de los bsicos.

Captura de ejemplo de la paleta de opciones para la Barra de porcentaje. 27.7.6.4.Grficadeunmdulo


Comosunombreindicaenlaconsolavisualaparecerunagrficaquemuestralainformacindela actividaddeunmdulodelagente.
588

Mapasvisuales

CapturadeejemplodeunelementoGrficadeunmdulo,enquesepuedeverenformadegrficalos ltimosdatosdeunmdulodeCPUdesdehace1hora. Opcionesdelagrficadeunmdulo Enlagrficaesnecesariodefinirelanchoyelalto;poresopasadeestarocultoenlasopciones avanzadasamostrarse. Period:elperiodoofragmentodetiempoquevahastaelmomentoactual,tenencuenta queestagrficairacambiandoconeltiempo. Size:anchoyaltodelaimagenqueseralagrfica,nodelagrfica,esdecirdelagrficay lascifrasdelosejes.

Opciones avanzadas: este elemento no tiene ningn control avanzado distinto de los bsicos.

Capturaenlaquesevelapaletadeopcionesdelagr ficadeunmduloenedicin.

589

Mapasvisuales

Como con las grficas, hay que calcularlas y crear la imagen.No es un proceso instantneo, por lo que segn la arquitectura en que tengas montado Pandora puede ser prcticamente instantneo o tardar unos segundos en los que slo vers el label del elemento en el mapa sin la imagen de la grfica

27.7.6.5.Valorsimple
Esteelementoslomuestrauntextodeel<label><valormodulo>sobrelaconsolavisual.Porlo quesloseranecesariodefinirunlabel(siquieres),elegirelagenteyelm duloquemostrar el ltimovalorenelpintadodelaconsolavisual.

Fragmentodelacapturadepantallaenquesemuestraunejemplodeunvalorsimpledeunm dulode CPU. Opcionesdelvalorsimple Lapaletadeopcionesdevalorsimplenotienecontrolespropios.

Capturaquemuestralapaletadeopcionesdevalorsimple.

27.7.6.6.Etiqueta
Paracrearunaetiquetasincontenidoasociadosepuedeutilizarestetipode tem.Paraconfigurar estetemsoloesnecesariorellenarelcampoetiqueta.

590

Mapasvisuales

Edicindelitemdetipoetiqueta

27.7.7.Compartirunaconsolavisual
Desde la version 4.0.2 es posible compartir un mapa visual con cualquiera, aunque no tenga siguiera un usuario/password para entrar en Pandora. Podr compartir la pantalla visual con cualquierusuario,simplementeofrecindoleaccesomedianteunaURLpblica. Paraello,desdelavistadelaconsola,accedaalasolapade"compartir",queeseliconodela cmaradefotosnegra,arribaaladerecha,talcomosepuedeverenestacapturadepantalla:

EstaURLespecialesestticaytieneelsiguienteaspecto:
http://192.168.50.2/operation/visual_console/public_console.php? hash=86d1d0e9b6f41c2e3e04c5a6ad37136b&id_layout=3&id_user=admin2

Comparta esa URL con cualquiera, y podr acceder a la informacin visualizada en la consola visual. No podr acceder desde ahi a la informacin del agente, nicamente a la informacin publicadaenlaconsolavisual. Estaesunaformaexcelentedepublicardatosausuariosannimos.

27.8.Vistadeagente/modulo
Estaseccinmuestraunamatrizconlosmdulosylosagentesyelestadodecadamdulo. SeaccedealaextensindesdeMonitorizacin>Agente/modulo.

591

Vistadeagente/modulo

27.9.Vistadegruposdemdulos
Estapequeaseccinpermitetenerunavisintotalenunatabladelosmodulosporsuestado,en funcindelmodulegroupyelgrupo. SeaccedealaextensindesdeOperacion>Gruposdemdulos

592

Vistadegruposdemdulos

Comoseveenlaimagen,seveunamatrizconeln merodemdulosporgrupodeagentesycon diferentescoloressegnhayamdulosenestadoCritical,WarningoOK.

27.10.Vistaderbol
Estavistapermitelavisualizacindelosmonitoresdelosagentesenformade rbol.Seaccedea travsdeOperation>Monitoring>Treeview

593

Vistaderbol

Es posible ordenar los agentes por: Mdulos, Polticas, Grupo de Mdulos, Grupo y Sistema Operativo.Lavistapordefectoeslaordenadaporgrupos.Enestenivel,semuestraunrecuentodel nmerodeagentesenestadonormal(colorverde),critical(colorrojo),warning(coloramarillo)y unknown(colorgris).Pinchandosobreelnombredelagente,aparecealaderechainformaci n sobreelmismo:nombre,ip,fechadela ltimaactualizacin,sistemaoperativo...as comouna grficadeeventosyotradeaccesos. Sepuedefiltrarporestadodelmdulo(Critical,Normal,WarningyUnknown)yrealizarbsquedas pornombredeagente.

27.11.ConsolaenelTelfonoMvil
PandoraFMSincorporaelaccesoalaconsoladesdeuntelfonointeligenteounatablet.Esuna versin"especial"delaconsolanormaldePandora,yfuncionaencualquierdispositivocapazde navegarporinternet,yquetengaquetengaalmenos600x280pxderesolucin.Conl,setiene accesoatodalainformacinqueproporcionaPandoraFMS:agentes,vistadelmonitor,alertas, detallesdelagente(grficasincluidas),vistadegrupo,ltimoseventos,etc. La interfaz para telefona mvil est en /mobile. As pues, si su consola est en http://yourdomain.com/suconsolaparamvilestenhttp://yourdomain.com/mobile Estaconsolamobilescompatibleconcualquierdispositivomoderno,hasidoprobadaeniPhoney diversosmodelosbasadosenAndroid,asicomocontabletsAndroidyiPad.

594

ConsolaenelTelfonoMvil

Pantalladelogin

595

ConsolaenelTelfonoMvil

Vistatctica

596

ConsolaenelTelfonoMvil

Vistadetalladadeeventos.

597

ConsolaenelTelfonoMvil

Vistadeunagrficadeunmdulo.

598

ConsolaenelTelfonoMvil

Opcionesgeneralesdelmenu

599

ConsolaenelTelfonoMvil

Vistadetalladadelagente.

600

ConsolaenelTelfonoMvil

Vistadetalladademodulos.

601

ConsolaenelTelfonoMvil

28PANDORAGIS

602

PandoraGIS

Conlaversin3.1,PandoraFMSempezar aproporcionarinformacindelocalizacionesymapas interactivosquemuestrenlaposicindelosagentes.SoloparaelagenteUnix.

28.1.Instalacin
28.1.1.ConfiguracindelAgente
Elagenteahoraaceptanuevosparmetrosparaenviardatosdeposicionamiento,conloqueenel agent.conf existen algunos nuevos parmetros para longitud, latitud, altitud y descripci n de posicin.Tambinexisteotraformadeobtenerlascoordenadasconelpar metrogis_exec,elcual contiene la ruta de un script que devolver las coordenadas en una cadena con el formato "latitud,longitud,altitud" Esteesunejemplodeuso:
# Agent position paramters # Those parameters define the geographical position of the agent # gis_exec: Call a script that returns a string with "latitude,longitude,altitude" # i.e.: 41.377,-5.105,2.365 #gis_exec /tmp/gis.sh # latitude latitude 42.70456 # longitude longitude -3.897187 # altitude altitude 600 # Position description position_description Madrid, centro

28.1.2.ConfiguracindelServidor
LasfuncionalidadesGIStambindebenserhabilitadasenelservidor,yaqueall hayunnuevo indicadorllamadoactivate_gis.Cuandoesteindicadorest fijadoen1,elservidorprocesar toda lainformacinGISrecibidadelosagentes. Conelposicionamientodedatos,ahoraexistelaposibilidaddealmacenarposicionesdelagenteen Pandora FMS,peroestosdatosprovienendeunafuentequenoesaltamentefiable.Esposible guardarmuchospuntosdiferentesqueestnmuyprximosunosaotrossindiferenciasimportantes enlaposicin.Paraevitaresto,elparmetrolocation_errorfijaladistanciaqueseconsideracomo lamismaposicin.Estoesunerrorenelumbraldelaposici n,ytodoslosdatosrecibidosporun agente que tengan una posicin con la distancia (en metros) fijada en este par metro ser almacenadacomonuevosdatosrecibidosenelmismopunto,hastaquelaposici nrecibidasesalga delerrordedistanciadefinido,fijndoseentoncesenunanuevaposicin. Reconservereinformacinsobrelocalizacin: UtilizandounalgoritmodegeolocalizacinreversoyunabasededatosconlarelacindeIPse informacindeposicionamiento,elReconserverpuede suponer ahoralaposicindelosagentes descubiertos.ParaellopuedeusarunficheroformateadoMaxMindGeoIPGeoLiteCity,ounparde tablasenlabasededatosconesainformacin. As pues,haytresnuevosparmetrosquedefinenelnuevocomportamientodelReconserver:el recon_reverse_geolocation_mode [disabled, file or sql], el recon_reverse_geolocation_file,
603

Instalacin

utilizado nicamente para sealar el fichero con la informacin de la geolocalizacin reversa utilizandoelformatoMaxMindGPLGeoLiteCity.datsielmodoes file,yporultimo,elparmetro recon_location_scatter_radius,utilizadoparacolocarlosagentesdescubiertosalazaralrededor delpuntodefinidoporelalgoritmodegeolocalizacinreversoyconelrango(enmetros)definido porelparmetrorecon_location_scatter_radius. Tambinpuedeusarelserviciodegeolocalizacininversaqueproporciona enAPIdeGoogleu Openstreet Maps. Puede activar la geolocalizacin inversa de Google poniento el parmetro google_maps_description a 1. Puede activar la geolocalizacin inversa de Openstreet Maps poniendo el parmetro openstreetmaps_description a 1. Tenga mucho cuidado usando esta funcionalidadporquedisminuyeelrendimientodelservidordePandoraFMS ,tambintengaen cuentaquenecesitaaccesodirectoaInternetparausarelAPIGoogleuOpenstreetMaps,ypor suspuestoestfuncionalidaddependedeladisponibilidaddelproveedordelservicio . EjemplodeConfiguracin:
# Flag to activate GIS (positional infomration for agents and maps) by default it is deactivated activate_gis 1 # Radius of the Error in meters to consider two gis locations as the same location. location_error 10 # Recon reverse geolocation mode [disabled, sql, file] # * disabled: The recon task doesn't try to geolocate the ip discovered. # * sql: The recon task trys to query the SQL database to geolocate the ip discovered # * file: The recon task trys to find the geolocation information of the ip discovered in # the file indicated in the recon_reverse_geolocation_file parameter recon_reverse_geolocation_mode file # Recon reverse geolocation file (databases with the reverse geolocation information using # MaxMind GPL GeoLiteCity.dat format). recon_reverse_geolocation_file /usr/local/share/GeoIP/GeoLiteCity.dat # Radius (in meters) of the circle in where the agents will be place randomly when finded by a recon task # The center of the cicle is guessed by geolocating the IP. recon_location_scatter_radius 1000 # This enable realtime reverse geocoding using Google Maps public api. # This requires internet access, and could have performance penalties processing GIS # information due the connetion needed to resolve all GIS input. google_maps_description 1 # # # # This enable realtime reverse geocoding using Openstreet Maps public api. This requires internet access, and could have performance penalties processing GIS information due the connetion needed to resolve all GIS input. You can alter the code to use a local (your own) openstreet maps server.

openstreetmaps_description 1

28.1.3.ConfiguracindelaConsola
En la Consola, para utilizar las funcionalidades GIS, primero deber estar activado en la configuracinprincipal:
604

Instalacin

Conesto,algunasseccionesnuevasdelainterfazdeusuarioestarndisponibles.

28.1.3.1.ConexionesGIS
Eneladminsetup,elprimerpasoesdefinirlas conexionesquepuedenserutilizadasparaconectar conmapserversparaproporcionarmapasparalasfuncionalidadesGIS. Laconexintienevariosparmetrosbsicos:

Unnombreparalaconfiguracin,paraquepuedaserreconocidocuandoseseleccionesuna conexinenlapantalladedefinicindelmapa. Elnmerodenivelesdezoomdefinidoenelmapa. El niveldezoompordefecto recomendadoparaelmapa(quesepuederedefinirenel mapa)yeselniveldezoomutilizadocuandoelmapaestdesplegado. Unavezquelosparmetrosbsicosestnconfigurados,eladministradordebeseleccionaruntipo deconexin,ydependiendodeltipo,existirndiferentesopciones.As pues,esossonlostiposde conexionesysusopciones.
Mapas Open Street

LainstalacinpordefectodePandoraFMStieneunaconexinpredefinidaconOpenStreetsMaps, por lo que los usuarios pueden probar y ver directamente las funcionalidades GIS, pero normalmenteelservidordePandoraFMSestenunlugarsinaccesodirectoaInternetoelusuario podrapreferirsupropiomapserverparatenermayorflexibilidad,irmsrpido,odefinirsupropio tipodemosaicos. ParausaruntipodemapaOpenStreet,el nicoparmetroquesenecesitaeslaURLdeeltitle server,talcomosemuestraenestaimagen:

605

Instalacin

Estopodraseralgosimilara:
http://tiles.example.com/${z}/${x}/${y}.png

Google Maps

Pandora FMS tambin incluye la conexin a Google Maps. Para ello, es necesario que una contraseavlidaseaobtenidadesdeGoogle(verGoogleMapsAPIpolicy)yseacolocadaenel campocorrespondientedeladefinicindelaconexin.

Conestacontraseaesposibledefinirvariasconexionesutilizandodiferentestiposdemapasbase (Hybrid,PhysicaloSatelite).
Imagen Esttica

OtrotipodeconexinprovistaesutilizarunaStaticImagecomomapa.Parautilizarestetipode mapa,laimagendebeestarcomoEPSG:4326. Enestecasolosparmetrosquesenecesitanparaladefinicindelmapason urldelaimagen,la alturayel ancho delaimagen,yloslmitesposicionales( longitud y latitud)delosbordesdela imagen(derecha,izquierda,partesuperioryparteinferior).

606

Instalacin

CentrodelMapayPosicinporDefecto: Lo ltimoquehayquedefinirenunaconexindemapaesel centrodelmapayla posicinpor defecto paraagentessindatosposicionales.Paradefinirlos,esposible previsualizar elmapay pincharenelmapaparafijarestosparmetros,dependiendodequ parmetroseaseleccionado conelselectorChangeintheMap. Enestemapadeprevisualizacinesposibledesplazarsealolargodelmapautilizandolasflechas verdesdelapartesuperiorizquierda,cambiarelniveldezoomconlosiconos + y ,ousarel magnifierparaverloenzoomcompleto. Por supuesto, es posible fijar la posicin metiendo los valores en sus celdas de entrada correspondientes.

Unavezquetodoslosparmetrosdeconexinhayansidofijados,serposible guardarlaconexin parautilizarlaenelconfiguradordemapaspulsandoenelbotndeguardar.

607

Instalacin

28.1.3.2.GISMapbuilder
Unavezquehayamosdefinidolasconexiones,estaspodrnutilizarseparadefinirmapasenel GIS MapBuilder.

Elmen llevaalusuarioaunapantallaconlosmapasdefinidos,dondeesposible editarunmapa (haciendoclickenelnombre), visualizar elmapa(pulsandoeliconodevisualizacin), fijarel mapadefaultconelbotnderadio,oborrarmapas(conelbotndeeliminar). Ytambinexisteunbotnparacrearnuevosmapas. Eladministradordebeestablecerunmapapordefectoqueserelempleadoenlavistadelagente paramostrarlaposicindelagente.
Crear un Mapa GIS

CuandoestemosenlapginadecreacindelMap,laprimeracosaquetenemosquehaceresdarle un NombredeMapa y AadirunaconexindeMapa,sacadodealgunodelosqueyaestn disponibles(esposibleaadirmsdeuno,queestar disponibledespuscomocapasbase).Esto significaquequeslounodeellospuedeestaractivoalmismotiempo.Cuandoseseleccionala conexin(ocuandolaconexinpordefectodelmapasecambia)laconsoladePandoraFMSle preguntar siquiereusarlosdatospordefectodelaconexinparaelmapa .Silarespuestaes Acepto,entonceslaconsolarellenar(oactualizar)todoslosdatosdeposicionamiento( longitud centro,latitudcentro,altitudcentro,olongitudpordefecto,latitudpordefecto yaltitudpor defecto)delosyadefinidosenlaconexin,yelusuariotendrnicamentequefijarelnivelzoom por defecto. Si la respuesta es Cancelar, entonces no se realiz ningn cambio en aquellos camposysloseaadirlaconexin.

608

Instalacin

Definicin de Capa

Cuandolosparmetrosbsicosdelmapahayansidofijados,ser elmomentodedefinirlascapas delmapaqueseutilizarnparaseleccionarqu elementosmostrarenelmapa(exceptosiesel mapapordefecto,dondenonecesitar definirningunacapaporqueseutilizar paramostrarla posicindelagenteenlavistadeagentes). Cadamapatieneunaomscapasparamostrarlosagentes.Cadacapapuedemostrarlos agentes deungrupoy/ounalistadeagentes.Deestemodoesfcilfijarlosagentesquesemostrarnen cadacapa. Lascapassepuedenconfigurarcomo visibles u ocultas,yseleccionarelgrupoconelselectoro aadiragentesconlacelda.Unavezquelacapaest definida(noestarcompletamenteguardada hastaquenoseguardeelmapacompleto)ser desplazadaalacolumnadelaizquierdadelas capas definidas, donde es posible ordenarlas (mover hacia arriba y hacia abajo), borrarlas o editarlasdenuevo.

Unavezqueterminemosconladefinicindelascapasdelmapa,podemosguardarlastodasconel botnguardar(botnactualizarenelcasodelaedicindeunmapa).

28.2.Operacin
Una vez que haya al menos un mapa definido, ser posible empezar la operacin con las funcionalidadesGIS.

609

Operacin

28.2.1.MapasGIS
ElmenudemapasGISdespliegatodoslosmapasdefinidos.Cadaenlacellevaaunodelosmapas, quesedesplegarutilizandolosparmetrosdefinidosenelGISMapBuider.

28.2.1.1.Desplazarseporelmapa
Loscontrolesparaelmapaincluyencuatro flechasverdes enlaesquinasuperiorizquierdaque permitendesplazarseporelmapaencadaunadelasdireccionesdeloscuatropuntoscardinales. Con los iconos + y para aumentar y disminuir el nivel de zoom, y una barra de zoom para seleccionardirectamenteelniveldeseadodezoom. Arrastrandoelmapatambinesposibledesplazarse. Sepuedehacerclicksobrelos agentesmostradosenelmapaparaobtenermsinformacinacerca delagente(yunavezqueel globoconlainformacinextrasedespliegueelnombredelagentees unenlacealavistadeagente,yapareceunaceldarojaconunacruzparacerrarelglobo). Tambinexisteunacapaespecialdefinidaporelsistemallamada Jerarquadeagentes.Siesta capasepuedevisualizarmostrar Lineaspunteadasderojoconectandounagenteconsupadre (siambosestnvisibles).

28.2.1.2.LasCapasOcultar/Mostrar/Seleccionar
Sipulsamossobrela+blancasobreelfondoverdedeladerechaseabrirnloscontrolesdecapas. Despliegaunacajaverdedondeesposibleseleccionarlacapabase(laconexinalservidorde mapa,sisehubiesedefinidomsdeunaparaelmapa),yquecapasestnvisibles.

28.2.1.3.Filtros
Encimadelmapahaytambincincobotonesparafiltrarlosagentesqueaparecensegnsuestado. ElbotnverdemostrarlosagentesqueestnenestadoOK. ElbotngrismostrarlosagentesenestadoDesconocido. ElbotnamarillomostrarlosagentesenestadodeAlerta. ElbotnrojomostrarlosagentesenestadoCrtico. Elbotn Todo muestra Todos losagentesdefinidosporlascapassintenerencuentasu estado.

28.2.1.4.RefrescarelMapa
Alladodelosbotonesdefiltrohayunacasillacombollamada Refreshparaseleccionarelrangode actualizacin delmapa.ElMapaempleallamadas[AJAX]pararefrescarlosagentesenelmapa utilizandoelperiodoelegido.

28.2.1.5.EdicindelmapayPantallacompleta
Losdos ltimosbotonesenlapartesuperiordelmapasonunlinkal GISMapBuilderparaeditar
610

Operacin

elMapa,y'Pantallacompletaparaverelmapaenpantallacompleta.

28.2.2.VistadeAgente
LavistadeagentedelaconsoladePandoraFMStambintienenuevasfuncionalidadesGIS.lo primeroqueapareceenlavistaprincipaleslalongitud,latitudyaltituddelagente.

28.2.2.1.VistaHistricaGIS
Hayunnuevobotnellabarrasuperior(siGISestactivado)quemuestralavistaGISdelagente. Esta vista muestra la posicin normal del agente en el mapa por defectocon una tabla que muestraelhistorialdeposicionespreviasdelagente,yunarutadeestaposicionesenelmapa. Cadaposicinenelmapaestrepresentadaporun punto(exceptolaactual,queestrepresentada porel iconodelagente oel grupodeiconos sielagentenotieneningbniconodefinido).Es posiblehacerclickencualquieradeestospuntosparaconseguirinformacinrelativaaesaposicin, ytambinesposiblehacerclickeneliconodelagenteparamostrarlainformaci n actual del agente. La siguietne imagen muestra el camino recorrido por el agente de Pandora FMS para dispositivosAndroid.

611

Operacin

Ademspuedesverlatablacontodalainformacinreportadaporelagente,incluyendounsistema degeolocalizacininversaquemuestraladireccindelagentecon:lacalle,laciudadyelpas dondeseencuentraelagente.

612

Operacin

28.2.3.ConfiguracindelAgentGIS
Entrelaspestaasde administracin delagente,hayunanuevaparafijardemodomanualla posicindelagente,ytambinlapestaaagentmanagetienealgunosparmetrosqueafectanalas funcionalidadesGIS.

28.2.3.1.IgnorardatosGIS
EnlapestaaagentmanagehayunnuevodispositivollamadoIgnoreGISdata.Siestedispositivo est activado, el servidor ignorar toda la informacin posicional recibida del agente y seguir usandolos ltimosvaloresvlidosparaesteagente.Estoes tilencasodequeunagenteest reportandounaposicinerrneaosequierasituarloenunlugarfijo.

613

Operacin

28.2.3.2.Posicinmanualdelagente
Estavistamuestraelmapapordefectodondeesposiblehacer clickparafijarlanuevaposicindel agente,otambinesposiblefijarlaposicinutilizandolas inputboxes delaparteinferiordel mapa.

Fijar la posicin del agente activar tambin el dispositivo para ignorar datos GIS para evitar el siguiente paquete de datos con informacin posicional del agente para reajustar de nuevo la posicin. Si esta no es la conducta deseada, no olvide desactivar el dispositivo Ignore GIS data antes de pulsar el botn update

28.3.Enlacestiles
ColeccindeenlacestilesparaelmontajedelentornodepruebasyeldesarroloconOpenLayers

28.3.1.OpenLayers
PginadelawikipediadeOpenLayers DocumentacindeOpenlayershechaconNaturalDocsOpenlayersdoc MssobreestilodeOpenlayersDocumentacinOficialdeEstilos AyudaconestilosdeOpenlayers:OpenLayersStyles AyudaparaladepuracinconFirebugOpenlayersDebug

28.3.2.Mapnik
SetupdeMapnikconOpenStreetMap RenderizandoconMapnik UbuntuInstallation

28.3.3.OpenStreetMap
EjemplosdeOpenLayers HagasuprimermapaOpenStreetMap+osm2pgsql+PostGIS+Mapnik UsingOpenStreetMap DescargadeficherosOSM Osm2qgsql

28.3.4.OSGeo
TheOpenSourceGeospatialFoundation PginaprincipaldeOSGeo

28.3.5.GeoServer
Pginaprincipalgeoserver.org Versinestabe

614

Enlacestiles

28.3.6.PostgreSQL
DocumentacindePostgreSQL8.1

28.3.7.Blogs
GIS&Chips Weait PortaldeGISyCartografadelaUPVCartoSIG RecursossobreCartografaySIG ImagenVirtual:OpenSUSE+SoftwaredeGIS ClculodedistanciasteniendoencuentalacurvaturaterresreenFranchu'slair

615

Enlacestiles

29GESTINDEPANDORAFMS

616

Introduccin

29.1.Introduccin
EnestecaptulosetratanvariosaspectossobrelagestindiariadePandoraFMStalescomo:la administracindegrupos,creacindeusuarios,etc.

29.2.Perfiles,usuarios,gruposyACL
PandoraFMSesunaherramientadegestinWebquepermitequetrabajenmltiplesusuarioscon diferentespermisosenmltiplesgruposdeagentesquehaydefinidos.Antesdeaadirusuarios debenestarbiendefinidoslosgruposylosperfilesytenerclaroquevisibilidaddedatosqueremos quetengacadausuario.

29.2.1.PerfilesenPandoraFMS
Enlosperfilessedefinenlospermisosquepuedetenerunusuario.Losperfilessegestionandesde Administration>ManageProfiles

Estalistadefinequhabilitacadaperfil:

Operacion Ver datos agente (todas las vistas) Vista tctica Vista mapas de red Vista de grupos Crear un visual console Crear un informe Crear una grafica combinada Ver informe, mapa, grafica, etc Aplicar una plantilla de informe Crear una plantilla de informe Crear incidente Leer incidente

Bit de acceso AR AR AR AR RW RW RW RR RW RM IW IR

617

Perfiles,usuarios,gruposyACL

Borrar incidente Incidente Become owner Borrar incidente que no es tuyo Ver evento Validar/Comentar evento Borrar evento Ejecutar respuestas Crear incidencia a traves del evento (Respuesta) Cambiar propietario/Re-abrir evento Ver usuarios Ver Consola SNMP Validar traps Mensajes Cron jobs Tree view Update manager (Operacin y Administracin) Extension Module Group Vista de gestion agente Edicin del agente y de su .conf Asignacin de alertas ya creadas Definir, modificar plantillas, comandos y acciones Gestin de grupos Crear modulos de inventario Operaciones masivas Crear agente Duplicar configuracin remota Gestin de paradas de servicio Gestin de alertas Gestin de usuarios Gestin de consola SNMP Gestin de perfiles Gestin de servidores Auditora del sistema (edicion y visualizacion) Setup (todas las solapas inferiores incl) Mantenimiento de la BBDD

IW IM IM ER EW EW EW EW&IW EM AR AR IW IW PM AR PM AR AW AW LW LM PM PM AW AW AW AW AM UM PM PM PM PM PM DM

Gestionar modulos (Incluidas todas las subopciones) PM

618

Perfiles,usuarios,gruposyACL

Extensiones administracion Barra busqueda Gestin de Polticas Desactivar agente/mdulo/alerta 29.2.1.1.Aadirunperfil

PM AR AW AD

Paraaadirunperfilsevaaadministration>ManageProfilesysepulsaenCreate.Apareceel siguienteformulario:

Paracrearelperfilseledaunnombre,seeligenlospermisosquetendrysepulsaenCreate.

29.2.1.2.Modificarunperfil
Paramodificarunperfilsevaaadministration>ManageProfilesysepulsasobreelnombredel perfilquesevaamodificar.

619

Perfiles,usuarios,gruposyACL

29.2.1.3.Borrarunperfil
Paraborrarunperfilsevaaadministration>ManageProfilesysepulsasobrela"x"rojaquehaya laderechadelnombredelperfilquesequiereborrar.

29.2.2.GruposenPandoraFMS
Losaccesosestanrelacionadosconlosgruposqueseusanparaagruparagentes.Unusuariopuede tenerdiferentespermisosencadaunodelosgruposalosquetieneacceso.Losagentesasuvez solopuedenperteneceraungrupo.

El grupo All es un grupo especial que no se puede eliminar. Todos los grupos son subgrupos del grupo All. Cualquier elemento (Informe, Grfica, Evento...) que est asociado al grupo All podr ser visto/administrado por un usuario que tenga permisos en cualquier grupo.

LosgrupossedefinenenAdminitration>ManageAgents>ManageGroups.

620

Perfiles,usuarios,gruposyACL

29.2.2.1.AadirunGrupo
Para aadir un grupo se va a administration>Manage Agents>Manage Groups y se pulsa en CreateGroup. Apareceelsiguienteformulario:

Acontinuacinsedetallanloscamposdelformulario. Name:nombredelgrupo Icon:combodondesepuedeelegireliconoquetendrelgrupo. Parent: combo donde se puede definir otro grupo como padre del grupo que se est creando. Alerts:sisemarcalosagentespertenecientesalgrupopodrnenviaralertas,sinosemarca nopodrnenviaralertas. CustomID:losgrupostienenunIDenlaBasedeDatos,enestecampoesposibleponerotro ID personalizado que pueda ser usado desde un programa externo para realizar una integracin(p.e:CMDB's).
621

Perfiles,usuarios,gruposyACL

UnavezsehanrellenadoloscampossepulsaenleBotnCreate.

29.2.2.2.EditarunGrupo
ParaeditarungruposevaaAdministration>ManageAgents>ManageGroupsysepulsasobreel nombredelgrupoquesequiereeditar.

29.2.2.3.BorrarunGrupo
ParaborrarungruposevaaAdministration>ManageAgents>ManageGroupsysepulsasobre laxrojaquehayaladerechadelnombredelgrupoquesequiereborrar.

29.2.3.UsuariosenPandoraFMS
UnavezsehandefinidolosperfilesygruposquesequierenutilizarenPandoraFMSeselmomento dedefinirlosusuarios. LosusuariossegestionandesdeAdministration>Manageusers,dondesepuedeverlalistade usuariosdefinidosascomolosperfilescreados.

622

Perfiles,usuarios,gruposyACL

29.2.3.1.AadirunUsuario
Paraaadirunusuariosevaaadministration>ManageusersysepulsaenCreateUser. Apareceelsiguienteformulario:

623

Perfiles,usuarios,gruposyACL

Acontinuacinsedetallanloscamposdelformulario. UserID:identificadorqueusarelusuarioparaautenticarseenlaaplicacin. FullDisplayName:campodondeseponeelnombrecompleto. FirstName:campodondeseponeelnombre. LastName:campodondeseponeapellido. Password:campoparaponerlacontrasea. Passwordconfirmation:campoparaconfirmarlacontrasea. Global Profile: se elige entre Administrator y Standar User. El administrador tendr permisos absolutos sobre la aplicacin en los grupos en que este definido. El usuario standardtendrlospermisosdefinididosenelprofilequetenganasignado. Email:campodondeseponeladireccindecorreoelectrnicodelusuario. PhoneNumber:campodondeseponeeltelfonodelusuario. Comments:campodondeseponencomentarios. UnavezsehacompletadoelformulariosepulsaenCreate.Apareceelusuariocreadoyuna nuevaseccinparaaadirlosgruposalosquetendraccesoyelperfil.

624

Perfiles,usuarios,gruposyACL

Aunusuarioselepuededaraccesoatantosgruposcomesequiera.Seelijeelperfilyelgrupoyse pulsaenelsmbolo+azul.

Enelcasodequererborrarelaccesoaungruposepulsasobrela"x"rojaquehayaladerechadel accesoquesequiereborrar.

625

Perfiles,usuarios,gruposyACL

Adems,alusuarioselepuededaraccesoapolticasajenasasusgrupos.Deestemodopodr accederatodoelcontenidodedichaspolticasindependientementedelgrupoalquepertenezcan.

ParaconocermsacercadeestaconfiguracinvisitarAccesoextraapolticas

29.2.3.2.VerunUsuario
Adems,desdeadministration>ManageusersesposibleverlosusuariosenOperation>ViewUsers.

29.2.3.3.EdicindeunUsuarioporelpropiousuario
Si el usuario tiene permisos de administrador puede modificar ciertos par metros de su
626

Perfiles,usuarios,gruposyACL

configuracinenOperation>ViewUsers>EditmyUser. Apareceelformulariodecreacindeusuariosdondesepuedemodificartodomenoslospermisos sobregrupos.

EnelcasodenotenerpermisosdeAdministradoraparcerlasiguientepgina.

29.2.3.4.Edicindeunusuarioporeladministrador
Para editar un usuario completamente, incluyendo la parte de permisos y grupos, se va a administration>Manageusersysepulsaenelnombredelusuario.

627

Perfiles,usuarios,gruposyACL

29.2.3.5.BorrarunUsuario
Paraborrarunusuariocompletamente,sevaaadministration>Manageusersysepulsaenla"x" rojaquehayaladerechadelnombredelusuario.

29.3.ElGrupo"All"(Todos/Cualquiera)
Pandoratieneunsistemadegrupos,quesonunasentidadesenlasqueseclasificanlosagentesyse utilizanparadisgregarprivilegios.Deestamanera,alosusuariosselesotorgaciertospermisos enmarcadosenunoovariosgruposytendrnas,lacapacidaddevereinteractuarconlosagentes ydemsobjetosdesucontexto. Parafacilitarlaasignacinyfiltradodelosgrupos,sedisponedeunaherramientadenominada grupoAll.ElgrupoAllsignificaenfuncindelcontextoTODOSlosgruposoCUALQUIERAdeellos. Conceptualmentesiguesiendoigualenlaversin3.1perosuimplementacinhacambiado. En la versin 3.0 el grupo All era un grupo especial contenido en la base de datos con Identificador1.ElIdentificador1estabareservado,deestamanera,aestegrupo.As ,alolargodel cdigodelaconsola,elgrupoconid1,eratratadocomounaexcepci n,conlanecesidaddel subsiguientecontrol cuando selistaban losgrupos,donde eranecesarioomitira estegrupoen ocasiones. En la versin 3.1 el grupo All ha desaparecido de la base de datos , quedando liberado el identificador1paraelusodecualquiergruponormal.Ahora,elidentificadorreservadoparael grupoAllesel0,conladiferenciadequeestotalmentecontroladoporc digo,sinexistirtalgrupo comoantes.Simplementeahorasecontrolaquelosobjetosasociadosalgrupo0loest natodoslos grupos,sinnecesidaddecontrolarsiungrupoextradodelabasededatosesespecialono.
628

ElGrupo"All"(Todos/Cualquiera)

Alahoradeextraerlosagentedeungrupooviceversanohaymuchoproblema,puesunagente pertenece solamente a un grupo, pero por ejemplo a la hora de extraer los grupos a los que perteneceunusuarioolosusuariosquepertenecenaungrupo,habr quetenerencuentaque cuandolistamoslosusuariospertenecientesaungrupohayquemostrarlosquepertenecenatodos (grupo0)ysimostramoslosgruposdeunusuario,hayquemostrartodosencasodequeeste usuariopertenezcaalgrupoAll(grupo0).

29.4.SistemaACLEnterprise
ElmodelodeACLOpenSourceestbasadoen"estilounix"role/action/group/user(4items). ElsistemadeACLEnterprise,implementadoapartirdelaversion3.1,permitir definirsegnperfil qu pginas(definidasunaporunaopor"grupos")tienenaccesoausarios.Estopermitir por ejemplo permitir a un usuario visualizar slo la vista "Group" y la vista "Detallada" de agente, saltndosepginascomo"Alertview"o"Monitorview",yaagrupadasenelsistemacl sicoACLde PandoraFMScomo"AR"(AgentReadPrivileges). Estoinclusopermiterestringirlaadministracinporpginas.Resultamuytilparapermitiralgunas operacionesespecficasdebajonivel. Ambosmodelosson"paralelos"ycompatibles,yestoesnicamenteunafuncionalidadEnterprise.El sistemacsicoACLseguirexistiendo,yproporcionar,comoenlaactualidad,unsistemaACLmuy sencilloparaPandoraFMS. ParapoderutilizarelnuevosistemaACL,loprimeroseractivarloenlaconfiguracin.Estaopcin esnicamentevisiblesiestutilizandolaversinEnterprise.

Para utilizar el sistema Enterprise ACL, vaya a la opci n especfica para ACL Enterprise en Administration>Setup.EnestapantallapuedeaadirnuevositemsenelnuevoSistemaACLyver lositemsdefinidosporperfil.TambinpuedeborraritemsdelsistemaEnterpriseACL.

ElsistemaEnterpriseACL,siseactiva,restringeTODASlaspginasaTODOSlosgrupos(inclusoal Administrador!) a todas las pginas definidas (permitidas) en el sistema Enterprise ACL. Si un
629

SistemaACLEnterprise

usuarioconelperfil"Administrador"notienepginasincluidasenelsistemaEnterpriseACL,no podrvernada.

Por favor, tenga cuidado con esto porque puede perder el acceso a la consola si activa la configuracin inadecuada del ACL Enterprise para su usuario

ParadesactivarelsistemaEnterpriseACLdesdelneadecomandosescriba:
/usr/share/pandora_server/util/pandora_manage.pl /etc/pandora_server.conf --disable_eacl

Puede definir "pgina por pgina", "secciones completas", fijar una regla "cualquiera" o a adir "pginaspersonalizadas"noaccesiblesdesdeelmen. Haydosmodosdeaadirpginasaunperfil:Conel asistente (pordefecto)oconla edicin personalizada.Encimadelbotnparaaadirunareglahayunbotnparacambiarestemodo.

29.4.1.Asistente
Enelasistenteescogeremoslasseccionesylaspginasdeunoscontrolescombo.

Las pginas que aparecen en estos combos son solamente las accesibles desde el men. Para dar acceso a pginas a las que se accede de otro modo (Por ejemplo la vista principal de los agente) deberemos utilizar el editor personalizado

ParaincluirunapginadePandoraFMSenlas"pginaspermitidas",deber seleccionarelperfilal queseaplicar laregla,despusseleccionarencontrol"Section"laseccinquecontienelapgina deseada.Enesemomento,podrseleccionarenelcontrol"Page"cualquieradesuspginas.

Otraopcinesseleccionarunaseccinyelvalor"All"enelcontrol"Page".Estopermitir alperfil elegido poder verlo "todo" de la seccin escogida. Igualmente seleccionando "All" en ambos controles,sepermitir quelosusuariosdeeseperfilvean"todo"de"todas"lassecciones,talcomo serasinelSistemaACLEnterpriseparaeseperfil.

630

SistemaACLEnterprise

Para que se muestre una seccin en el men, el usuario deber tener acceso, al menos, a la primera pgina de la seccin. Por ejemplo, para que se muestre la seccin "Monitoring" deber haber acceso, al menos, a "Vista tctica"

29.4.2.Edicionpersonalizada
Paraaadirpginassueltasquenosonaccesiblesdesdeelmen podemosintroduciramanosu sec2.Paraello,accederemosalapginaquedeseemosaadirycopiaremoselparmetrosec2. Porejemplo,siqueremosaadirlavistaprincipaldelosagente,entraremosenlavistadecualquier agenteyencontraremosunaURLparecidaaesta: http://localhost/pandora/index.php? sec=estado&sec2=operation/agentes/ver_agente&id_agente=7702 Introduciremoselcontenidodelparmetrosec2(operation/agentes/ver_agente)enlacajadetexto.

29.4.3.Seguridad
Cualquierpginaquenoest "permitida"nosemostrar enelmen,ynosepermitir suuso,ni siquieracuandoelusuariopongalaURLdemodo"manual".Cualquierp ginanopermitidaporel sistema"Clsico"ACLdePandoraFMSnoser permitidaporelsistemaACLEnterprise(estoes vlidoparalossistemaclsicoACL).Esteseraunejemploconcretodevariosfiltros:

Adems,hayuncontrolquechequeasiunapginaperteneceaunaseccin,loquerefuerzala seguridadfrenteamodificacionesmanualesdelaURL.Estechequeosesaltar paralaspginas aadidasconeleditorpersonalizadoas comocuandosetengaaccesoatodaslaspginasdeuna seccin,optimizandoaslacarga.

631

Workspace

29.5.Workspace
Estaseccin,permiteinteractuarconlosusuariosdePandora,obieneditarlosdetallesdelpropio usuario,asicomoalgunasoperacionesdiversas,comoaccesoalsistemadeincidencias(paraabrir tickets),chatconotrosusuariosconectadosdePandora,etc.

29.5.1.Chat
PermiteinteractuarenunacharlaconotrosusuariosconectadosaesaconsoladePandora. tilpor ejemplo,siqueremoscomentaralgoaotrooperador.

29.5.2.Usuariosconectados
EstaextensinmuestraotrosusuariosconectadosalaConsoladePandoraFMSdistintosdelpropio. EstafuncionalidadcogeimportanciadebidoaquelaconsoladePandoraFMSpermiteconexiones demltiplesusuarios. SeaccedealaextensindesdeWorkspace>Usersconnected

29.5.3.Mensajes
PandoraFMStienenunaherramientaquepermitequelosdistintosusuariosseenv enmensajes entress.

29.5.3.1.Vermensajes
Cuandounusuariotieneunmensajeleapareceeliconodeunsobreenlapartesuperiorderechade laconsola.

LosmensajesquetienenunusuariolospuedeverenOperation>Messages

632

Workspace

Pulsandoenelsobresepuedeleerelmensajequeapareceencimadelalistademensajes. PulsandoenReplysepuedecontestarelmensaje

Unavezcontestado,seenvapulsandoenSendmessage
Enviar mensajes

ParaenviarunmensajesevaaOperation>Messages>NewMessage

633

Workspace

Unvezsehaescritoelmensaje,seenvapulsandoenSendmessage
Borrar mensajes

ParaborrarlosmensajesquetienenunusuariosevaaOperation>Messagesysepulsaenla"x" rojaquehayaladerechadelmensaje.

29.6.Incidencias
Enelprocesodemonitorizacindesistemas,ademsderecibiryprocesardatosparamonitorizar sistemasoaplicaciones,esnecesariohacerunseguimientodelosposiblesincidentesqueocurranen dichossistemas. Paraello,PandoraFMStieneungestordeincidentesdondecadausuariopuedeabririncidentes explicandolosucedidoenlared yactualizarlosconcomentarios yarchivoscadavezquehaya algunanovedad. Este sistema permite un trabajo en equipo, con diferentes roles y sistemas de workflow que permitenqueunincidentepuedapasardeungrupoaotro,yquemiembrosdediferentesgrupos,y diferentes individuos, puedan trabajar sobre un mismo incidente, compartiendo informaci n y archivos.

634

Incidencias

29.6.1.Vertodoslosincidentes
ParaverlosincidentescreadossevaaOperacin>ManageIncidents

Apareceunalistacontodoslosincidentesordenadosporordendeactualizacin. Enlalistadeincidentes,cadaunodeellosaparececoninformaci ndistribuidaenlassiguientes columnas: ID Identificadordelincidente. Estado Estadoenelqueseencuentraelincidentemediantelossiguientesiconos:

Nombredelincidente Nombrequeselehaasignadoalincidente. Prioridad Aparecelaprioridadquetieneasignadaelincidentemediantelosiconosdeprioridad.

635

Incidencias

Grupo Defineelgrupoalquesehaasociadoelincidente.Unincidentes lopuedeperteneceraun nico grupo. Actualizadoel ltimavezqueseprodujoalgunaactualizacinenelincidente. Origen Etiquetaqueseaplicaparaasignarunorigenalincidente.Puedeserseleccionadadeunalistaque se almacena en la base de datos. Aunque la lista de or genes es fija y predefinida, puede ser modificadaporeladministradorenlabasededatos. Propietario Usuarioquetieneasignadoactualmenteelincidente.Noconfundirconelcreadordelincidente,ya queelincidentehapodidocambiardemanos.Elpropietariopuedesiempreasignarelincidentea otrousuario,as comocualquierusuarioconprivilegiosdegesti ndeincidentessobreelgrupoal quepertenezcaelincidente.

29.6.2.Seguimientodeunincidente
Paraverunincidenteconcretosepulsa,biensobreelIDdelincidenteobiensobreelnombredel incidente.

Apareceelincidenteenunapantallacontressecciones: Datosdelincidente

636

Incidencias

Enestaseccinaparecenlosdatosbsicosdelincidente. Se pueden actualizar los campos: Incidente, Propietario, Estado, Origen, Grupo, Prioridad y la descripcin. UnavezsehanactualizadosepulsaenelbotnUpdateManager Notasqueponenlosusuarios

Enestaseccinaparecenlasnotasquehanaadidolosdiferentesusuariosquehanparticipadoen elincidente. Paraaadirnotasalincidente,sepulsaenInsertarnota,aparecer unapginaquecontieneun readetexto.SeescribelanotaysepulsaelbotnAadir.

Cualquier usuario con permiso de lectura de un incidente puede a adir una nota. Slo los propietariosdelincidenteodelasnotaspuedenborrarlas. Archivosadjuntos

Enestaseccinaparecenlosarchivosadjuntosquehanaadidolosdiferentesusuariosquehan participado. Paraaadirunarchivosepulsaen"Aadirfichero"

637

Incidencias

Semostrarndoscamposdeentrada.Busqueelficheroenelequipolocaly,siquiere,escribauna descripcin.CuandoterminepulseSubirparacomenzarlasubidadelficheroalservidor. Paraverelficherosedebedepincharsobreelnombredelfichero. Cualquier usuario con permiso de lectura de un incidente puede a adir un fichero. Slo los propietariosdelincidenteodelosarchivospuedenborrarlos.

29.6.3.Buscarincidentes
Parabuscarincidentesexistenunosfiltrossepuedencombinar.

Esposiblerealizarfiltrosporlossiguientescampos: Filtroporestadodelincidente.Dondesepuedefiltrarporestadodelincidenteentrelos siguientesvalores: Todoslosincidentes Incidentesactivos Incidentescerrados Incidentesrechazados Incidentesexpirados. Filtroporprioridad.Dondesepuedefiltrarporprioridaddelincidenteentrelossiguientes valores: Detodaprioridad Deprioridadinformativa Deprioridadbaja Deprioridadmedia Deprioridadgrave Deprioridadmuygrave Demantenimiento
638

Incidencias

Filtroporusuario:sepuedefiltrarporelusuariopropietariodelincidente. Textolibre:dondesepuedefiltrarbuscandountexto. Filtroporgrupos:dondesepuedefiltrarporlosincidentesasociadosacadaunodelos gruposqueexistenenPandoraFMS.

29.6.4.Abrirunincidentenuevo
ParaabrirunincidentenuevosevaaOperacin>ManageIncidentsysepulsaenCreateInicdent

Aparecelapginaparacrearlo.

29.6.5.Cambiarelpropietariodeunincidente
ParacambiarelpropietariodeunincidentesevaaOperaci n>ManageIncidents,semarcael incidenteelegidoenlaltimacolumnaysepulsaenBecomeOwner

639

Incidencias

Deestamanera,elusuarioquehagalaoperacinseconvierteenpropietariodelincidente.

29.6.6.Borrarunincidente
ParaborrarunincidentesevaaOperacin>ManageIncidents,semarcaelincidenteelegidoenla ltimacolumnaysepulsaenDeleteIncident

29.6.7.Estadsticasdeincidentes
EnOperation>ManageIncident>Statisticsepuedeaccederacincotiposdeestad sticasgrficasde losincidentes: Estadodelosincidentes Prioridadesasignadasalosincidentes Usuariosquetienenabiertounincidente Incidentesporgrupos Orgenesdelosincidentes

29.6.8.Incidentesautogenerados(servidorrecon)
Conlaintegracindelservidorreconsehaaadidotambinlaautogeneracindeincidentesdesde lossucesosprocesadosporelservidorrecon,comoladetecci ndenuevosequiposenlaredconla que se est trabajando. stos incidentes son exactamente iguales al resto y tambi n aparecen listadosenlaseccinGestionarincidentesdelmendeOperacin.

29.7.Gestindeincidentes(IntegracinentrePandoraFMSeIntegria)
LaintegracindeincidentesentrePandoraFMSeIntegriapermitecompartirtodalainformaci n sobreincidentesqueposeenestasaplicacionesytrabajarsobreellasdeunamanerasincronizada. Primeramente es necesario configurar la integracin entre Pandora FMS e Integria. Para ver la configuracin de los parmetros de integracin entre Integria y Pandora FMS consultar la subseccindeSetup(parmetrosIntegriaURL,IntegriaAPIpasswordeInventariodeIntegria). EnlaseccinOperation>ManageIncidentsaparecernlosincidentesdeIntegria:

La bsqueda de incidentes es similar a la de los incidentes de Pandora FMS (descritos anteriormente).


640

Gestindeincidentes(IntegracinentrePandoraFMSeIntegria)

Se puede comprobar que los incidentes creados en Pandora FMS se reflejan en la secci n de incidenciasdeIntegria:

Enestetipodeincidenciasepuedeverlosdetallescomosonelgrupo,laseriedad,lafuente,la resolucin,elestado(nuevo,noconfirmado,asignado,etc.),ladescripcin,etc.

Sepuedenaadirunidadesdetrabajoquereflejaranlacomunicacinentrelafuentedelincidentey elresolutor.Ademsreflejar eltiempousadoencada una delasentradasdeestavista,si es pblicoysiimputacoste.

641

Gestindeincidentes(IntegracinentrePandoraFMSeIntegria)

Sepuedensubirficherosasociadosalincidente:

Yporltimosepuedeverunseguimientosobrelainteraccindelosusuariossobreelincidente:

642

Gestindeincidentes(IntegracinentrePandoraFMSeIntegria)

29.8.Servidores
La vista detallada de los servidores se utiliza para conocer, adem s del estado general de los servidoresdePandoraFMS,suniveldecargayretraso.Veamosunacapturadepantalladeuna pantalladeestadodeservidores,querecordemos,sellegapormediodelmen deoperacion> PandoraServers

En esta vista podemos ver varios datos importantes, en cada columna se muestra la siguiente informacion: Nombredelservidor,generalmenteusaelhostnamedelamquina. Estado(verde=bien,rojo=noarrancado,paradoocado). Tipodeservidor:dataserver,networkserver,etc. Barradeprogresoqueindicadelporcentajedecargadeltotaldemodulosparaesetipode servidor.Enestecasotodoslosservidoresestnal100%exceptorecon,quenotienetareas asociadasporloqueestal0%. Ndemdulosdeesetipoejecutadosporelservidorrespectoalntotaldemodulosdeeste tipo. ServerLag:Tiempomsaltoquellevaelmdulomasantiguoesperandoarecibirdatos/N demdulosqueestnfueradesutiempodevida.Enesteejemplohayaprox.3000modulos fueradesutiempodevida,conuntiempoderetraso(Lag)de10minutos13segundos.Este indicadorsirveparasabersitenemosmuchosmodulosysabersielservidorest allmitede sucapacidaddecarga,comoesestecaso,quesinserunretrasoexcesivo(10minutos13 seg,paramodulosquedemediatienenuntiempodevidade5min),esconsiderableeln demodulosqueestnfueradetiempos.Enelcasodelservidorderedesacifraesmucho menor,siendosolo19mdulosconlag(de10minutos)deuntotaldecasi1500mdulos. Ntotaldehilosconfiguradosenelservidor:Ntotaldemdulosencolaaesperadeser
643

Servidores

atendidos.Estosparmetrosreflejanestadosdecargaexcesiva.Nodeberiahabercasinunca modulosencola,estoreflejalaincapacidaddelservidorparaprocesarlosdatos. Ndesegundosdesdequeelservidoractualizsusdatos.Cadaservidortieneun"Keepalive" que actualiza su estado, para asegurarse de que est activo, actualizando adems sus estadsticas.

29.9.Backup
ExtensinquepermitehacerunbackupdelaBBDDyrestaurarlo. SeaccedealaextensindesdeAdministration>Extensions>Backup ParahacerelBackupseescribeladescripcindelBackupysepulsaenCreate

CuandosehaceelbackupesteapareceenlalistadeBackupsconeliconoderunning.

UnavezsehacreadoelBackupesposible: Descargarlopulsandoenleiconodelaimagen.

Hacerunrollbackpulsandoenleiconodelaimagen.

El rollback aplica un backup creado previamente y lo restaura. Esto destruir todos los datos existentes en la consola y aplicar los datos que existen en elbackup sobre el cual sehace el rollback. Borrarlopulsandoenleiconodelaimagen.

644

Backup

29.10.CronJob
(SloversinEnterprise) EstaextensinpermiteprogramarlarealizacindetareasdesdeelservidordePandora. SeaccedealaextensindesdeOperacin>Extensiones>Tareasplanificadas

Paraaadirunatareasedebenrellenarlossiguientescampos: Tarea:Combodondeelegirlatareaquesevaarealizar. Enviarinformepersonalizadoporcorreoelectrnico Ejecutarscriptpersonalizado RespaldarlaBB.DDdePandoraFMS Guardarinformepersonalizadoendisco Programacin:Campodondeseeligelafrecuenciaconqueseejecutaralatarea. Sinprogramacin:Estastareasseejecutarnunasolavezyalahoraespecificada. Cadahora Diariamente Semanalmente Mensualmente Anualmente Primeraejecucin:Campodondeseeligelafechayhoradelaprimeraejecucindela tarea.Seejecutarperiodicamentetomandocomoreferenciaesafechayhora. Parmetros:Campoquepermiteintroducirparmetrosenlatareaarealizar.Esvariable segnlatarea. RespaldarlaBB.DD:Descripcin. Enviarinformeporcorreoelectrnico:informeaenviaryemaildeldestinatario. Ejecutarscript:comandodelscriptaejecutar. Guardarinformeendisco:informeaguardaryrutadondeguardarlo. Una vez se han rellenado los datos se pulsa en create y aparece la tarea en la lista de tareas programadas.

645

CronJob

Unavezsehacreadolatareaprogramadaesposibleforzarsuejecucinpulsandoenelcrculo verdequehayaladerechadelatareaoborrarapulsandoenlacruzrojaquehayalaizquierda.

29.11.Paradasdeservicioplanificadas
PandoraFMStieneunpequeosistemadegestindeparadasdeservicioplanificadas.Estesistema permitedesactivarlasalertasenlosintervalosqueexisteunaparadadeservicio,desactivandoel agente. Cuando un agente est desactivadotampoco recoge informacin, de forma que en una paradadeservicio,paralamayoradelasmtricasotiposdeinforme,losintervalosdondeexiste unaparadadeservicio,nosontenidosencuentaenlosinformespuesnoexistendatosenesos intervalosenlosagentes. Paracrearunaparadadeservicio,debemosiralmenuAdministraci ndeagentes>Paradasde servicioypulsarelbotnparacrearuna:

646

Paradasdeservicioplanificadas

Alcrearunaparadadeservicioespecificamoselgrupoylosintervalosdefechahoradondeentraen servicio.

Finalmenteespecificamosqueagentesenconcretoqueremosincluirenesaparadadeservicio.

647

Paradasdeservicioplanificadas

Cuandounaparadadeservicioprogramadaest"enactivo"nosepuedemodificarniborrar.

Cuandoesaparadadeserviciofinalizapodemosvolveramodificaroborrarlamisma.

648

Paradasdeservicioplanificadas

29.11.1.Alternativasalagestiondeparadadeservicioenlaconsola
Amenudoexistenciertassituaciones"cclicas"quedebemostenerencuentayelmtododegestion deparadasdeservicioesdemasiadoespecfico:porejemplo,queremospoderdesactivartodoslos agentesdeformarpidaypuntualoplanificarunaparadageneralcadasemanadeciertahoraa ciertahora.Paraestotipodeoperaciones,existenmanerasparahacerlodesdelalneadecomando. Existendosmanerasmas"rapidas"deponertodoslosagentesenmododeservicio. 1. A travs de la herramienta pandora_manage.pl de gestion de Pandora mediante la linea de comandos:
./pandora_manage.pl /etc/pandora/pandora_server.conf --enable_group 1 Pandora FMS Manage tool 3.1 PS100519 Copyright (c) 2010 Artica ST This program is Free Software, licensed under the terms of GPL License v2 You can download latest versions and documentation at http://www.pandorafms.org [*] Pandora FMS Enterprise module loaded. [INFO] Enabling group 1

Estoactivatodoslosagentes,paradesactivarlosseriaigualpero:
./pandora_manage.pl /etc/pandora/pandora_server.conf --disable_group 1

2. EstotambiensepuedehacerpormediodelainterfazMYSQL modificando directamentelos datos:


echo "UPDATE tagente SET disabled = 1" | mysql -u pandora -ppassword pandora

Obviamentedondepone"password"hayqueponerlapassworddeaccesoalaBBDD.Utilizandoel mtodoSQLpuederealmentehacerunaoperacionmsgranular,comoespefificar,porejemplo,por nombredeagente:


echo "UPDATE tagente SET disabled = 1 WHERE nombre LIKE '%_XXXX%'" | mysql -u pandora -ppassword pandora

29.12.Logdeauditora
Pandora FMSguarda unlog detodos loscambiosy acciones de importancia que se danen la consoladePandoraFMS.EstelogsepuedeverenAdministration>SystemAuditLog.

649

Logdeauditora

29.12.1.VerloslogsdeSistema
EnAdministration>SystemAuditLogseaccedealoslogsdelsistema.

En la lista de logs, cada uno de ellos aparece con informaci n distribuida en las siguientes columnas: User:usuarioquehaprovocadoellog. Action:accinqueprovocaellog. Date:fechaenquesucedeellog. SourceIP:IPdeorigendelamquinaqueprovocaellog. Coments:comentariosdellog.

29.12.2.FiltrarloslogsdeSistema
DesdelavistadelogenAdministration>SystemAuditLogsepuedefiltrarloslogsporelcampo
650

Logdeauditora

action

Loscamposdefiltromuestrantodosloscamposquehayenelmomentodeejecutarelfiltro,siseha borradoelagenteTESTINGhabrunaccinAgentTESTINGDeletedporlaquefiltrar. Enlaimagenseveunejemplodeaccionesporlasquesepuedefiltrar.

29.13.GestindelaBasedeDatosdesdelaconsola
ElncleodelsistemadePandoraFMSessubasededatos.Enellasealmacenantodoslosdatos recogidosporlossistemasmonitorizados,laconfiguraci ndelosagentes,laalarmas,loseventos, losdatosdeauditora,losdiferentesusuariosysusdatos.Esdecirtodoslosdatosdelsistema. Laeficienciayfiabilidadde stemduloesvitalparaelcorrectofuncionamientodePandoraFMS, elmantenimientodelabasededatosdePandoraFMSenbuenestadoescr ticoparaquePandora FMSfuncionecorrectamente. Para realizar un mantenimiento regular de la base de datos, los administradores pueden usar comandosMySQLestndardesdelneadecomandosopuedegestionarlaBasedeDatosdesdela consolasintenergrandesconocimientosdeMysql.

651

GestindelaBasedeDatosdesdelaconsola

LagestindelaBasedeDatosserealizadesdeAdministration>DBMaintenancedondehaylas siguientesopciones

29.13.1.ObtenerinformacindelaBasedeDatos
Paragestionarcorrectamenteunabasededatosesfundamentalconocerbienlosdatosquetieney eltiempoquedichosdatosllevanenlabasededatos. DesdelaconsoladePandoraFMSesposibleobtenerinformacindelaBasedeDatosdediferentes tipos:

29.13.1.1.Obtenerinformacingeneral
AlpulsarenAdministration>DBMaintenanceseobtieneunapaginacondatosgeneralesdelaBase deDatos. Enestapginaapareceeltiempoqueelsistematardaencompactaryeltiempoquesemantienen losdatosenelsistema. La compactacin consiste en reducir la cantidad de datos almacenados, sin perder informaci n importante.Enlamedidaquepaseeltiempo,nosetendr ntodoslosdatossinointerpolaciones estadsticasquepermitenconstruirgrficasconlosdatosprocesados.

652

GestindelaBasedeDatosdesdelaconsola

Alposicionarelratnsobrelagrficaseobtienenlosdatosdecadaporcindelatarta.

29.13.1.2.ObtenerinformacindeAgentesymdulos
ParaobtenerinformacinsobreelnmerodemdulosylosdatosdecadaagentedePandoraFMS, sepulsaenAdministration>DBMaintenance>DBInformation. Aparecendosgrficosdebarras,ungrficoquemuestralosmdulosporagenteyotroquemuestra lospaquetesporagente.

653

GestindelaBasedeDatosdesdelaconsola

Enlasgrficassemuestrainformacinmuygeneral.Sisequiereobtenerinformacinespecficaen modotexto,sepulsaenPressheretogetdatabaseinformationastext.

Seobtienelainformacinentextoconelnombredelagente,elnmerodemdulosasignadosyla cantidaddedatosdedichoagente.Lalistaest ordenadapordatosdelagenteytienetodoslos agentesconfiguradosenPandoraFMS.

29.13.1.3.Obtenerinformacindelosdatosporfecha
DesdeAdministration>DBMaintenance>DatabasePurgesepuedeobtenereln merodepaquetes demenosdetresmeses,unmes,dossemanas,unasemana,tresdasounda.

654

GestindelaBasedeDatosdesdelaconsola

Sepuedenobtenerlosdatosdetodoslosagentesodeunagenteenconcreto. Para obtener los datos de un agente en concreto, se elige en el combo el agente deseado y, automticamente,seobtienenlosdatosdelagente.

29.13.1.4.ObtenerdatosdelosregistrosdeAuditora
DesdeAdministration>DBMaintenance>DatabaseAuditsepuedenobtenerelnmerototalde registrosdeauditora,ascomolafechadelprimerregistroylafechadelltimoregistro.
655

GestindelaBasedeDatosdesdelaconsola

29.13.1.5.Obtenerdatosdeloseventos
DesdeAdministration>DBMaintenance>DatabaseEventsepuedenobtenerelnmerototalde eventos,ascomolafechadelprimerregistroylafechadelltimoregistro.

29.13.2.PurgarlaBasedeDatos
PandoraFMSproveeherramientasparalapurgadedatosstapurgaserealizaradeformageneral por fechas del dato, cuando se detecta que el sistema tiene una lentitud excesiva o, de forma especfica,cuandosedetectaundatoincorrectoquesequiereborrarenunmdulo.

29.13.2.1.Purgadedatosdeagentesporfecha
Para purgar datos de agentes por fecha en la Base de Datos, se pulsa en Administration>DB Maintenance>DatabasePurge Seeligeenelcombolosdatosquesevanaborrarysepulsaenelbotndedelete.

Esposiblepurgardatosdemsdetresmeses,unmes,dossemanas,unasemana,tresdasounda. Eltiempoquetardeelsistemaenpurgarlosdatosseleccionadosdepender delacantidaddelos mismos.

656

GestindelaBasedeDatosdesdelaconsola

29.13.2.2.Purgadedatosespecficosdeunmdulo
Cuando se detecta que hay mdulos con datos incorrectos, es posible normalizar los desde Administration>DBMaintenance>DataBaseDebug. SeeligeelAgenteyelmdulo,seponenloslmitesmximoymnimoysepulsaenDelete.

Seborrarntodoslosdatosqueestnfueradelintervalo[mnimo,mximo].

29.13.2.3.Purgadedatosdeauditora
ParapurgardatosdeauditoraenlaBasedeDatos,sepulsaenAdministration>DBMaintenance> DataBaseAudit. SeeligeenelcombolosdatosquesevanaborrarysepulsaenelbotndeDoit.

Esposiblepurgardatosdemsdenoventadas,treintadas,catorcedas,sietedastresdas,unda otodoslosdatos.Eltiempoquetardeelsistemaenpurgarlosdatosseleccionadosdepender dela cantidaddelosmismos.

29.13.2.4.Purgadedatosdeeventos
ParapurgardatosdeauditoraenlaBasedeDatos,sepulsaenAdministration>DBMaintenance> DataBaseEvent. SeeligenenelcombolosdatosquesevanaborrarysepulsaenelbotndeDoit.

657

GestindelaBasedeDatosdesdelaconsola

Esposiblepurgareventosdemsdenoventadas,treintadas,catorcedas,sietedastresdas,un daotodoslosdatos.Eltiempoquetardeelsistemaenpurgarlosdatosseleccionadosdepender de lacantidaddelosmismos.

29.13.3.MantenimientodelaBBDD
LainfraestructuradePandoraFMSnonecesitamantenimientoexterno,peroesmuyimportante purgarydepurarlosdatosantiguos,ymantenercompactadala basededatosas comoborrar mdulosquenosehainicializado,esdecir,queestnenlosagentesperonuncahanrecibidodatos. Paraello,sedebeejecutarunscriptinternodePandoraFMSquerealizaelmantenimientoperidico (diario) de la BBDD, (para ms informacin, ver el Captulo de gestin y administracin del servidor). Noobstante,sepuedenrealizaralgunasdelastareasquerealizaestescriptdesdelaconsola,como veremosenestasubseccin.

Paraejecutarestastareas,sepulsaenAdministration>DBMaintenance>DataBaseSanity.

29.13.3.1.Limpieza
Estaherramientapermite"limpiar"losmdulosyborraraquellasestructurasincompletasy/omal formadas(porunborradopendiente,p.e)que,enalgunoscasos,puedenhacerquePandoraFMS operemslentodelonormal.

658

GestindelaBasedeDatosdesdelaconsola

29.13.3.2.Purgadodemdulosnoinicializados
Ennumerosasocasionessecreanyasignanmdulosaagentesquenoseinicializan,debidoaque nuncarecibendatos.Esconvenientequitarestosm dulosnoinicializadosdelabasededatosde formaperidica. Paraejecutarestatareadesdelaconsola, sepulsaenDeletenoninitializedmodulesnow,en Administration>DBMaintenance>DataBaseSanity.

Nohayqueolvidarqueestasdosoperacionesserealizandeformaautom ticaconlaherramienta de mantenimiento de la base de datos descrita en el Cap tulo de gestin y administracin del servidor.

29.13.4.DBInterface
Extensin que permite ejecutar comandos en la BBDD y ver el resultado. Es una herramienta avanzada que slo debe ser usada por personas que conozcan SQL y el esquema de BBDD de PandoraFMSensuficientedetalle.

Esta herramienta mal usada puede destruir datos o dejar inoperativa la aplicacin de forma permanante.

SeaccedealaextensindesdeAdministration>Extensions>DBinterface.

659

GestindelaBasedeDatosdesdelaconsola

SeescribeelcomandoenelcampoenblancoysepinchaenExecuteSQL

29.14.Registrodeplugins
Extensinquepermiteregistrarpluginsdelservidordeformasencilla. SeaccedealaextensindesdeAdministration>Servidor>Pluginregister.

PararegistrarunpluginseeligeelarchivopulsandoandoenExaminarysepulsaenUpload. Sepuedeencontrarmsinformacinsobrelospluginsdelservidorenelcapitulodedesarrolloy ampliacin. SepuedeverenlaseccinDesarrollodepluginsdeservidorelformatodelosficheros.pspz.

29.15.Insertdata
Extensinquepermiteimportardatosenunarchivoseparadoporcomas(CSV)aunm dulodeun agente.SeaccedeaestaextensindesdeAdministration>ManageAgents>InsertData.

660

Insertdata

ElformatodelficheroCSVdebeserdate;valueporcadalinea.Lafechasedebedarenformato Y/m/dH:i:s.Porejemplo:
77.0;2011/08/06 12:20:00 66.8;2011/08/06 12:20:50

29.16.ImportaragentesdesdeCSV
(CaractersticaEnteprise) ExtensinquepermiteimportarunarchivoseparadoporalgnseparadorenelservidordePandora. SeaccedealaextensindesdeAdministration>Agentes>CSVimport.

SeeligeelarchivoaimportarpulsandoenExaminar.Seeligeelservidordondeserealizarala exportacinydesdeuncomboseeligeelseparador.Unavezcompletadosloscamposanterioresse pulsaenGo. Elarchivo CSVdebe contener lossiguientescampos enel orden siguiente: Nombrede Agente, DireccinIP,iddeSistemaOperativo,IntervaloyiddeGrupoalquedebepertenecerelagente.

29.17.Resourceregistration
Estaextensinpermiteimportarficheros.prtquecontienenladefinici ndenetworkcomponent, smnpcomponent,localcomponentowmicomponent.Ademspuedesaadirlostodosellos(menos
661

Resourceregistration

ellocalcomponent)auntemplate.

29.17.1.Formatodelfichero.prt
<?xml version="1.0"?> <pandora_export version="1.0" date="yyyy-mm-dd" time="hh:mm"> <component> <name></name> <description></description> <module_source></module_source> <id_os></id_os> <os_version></os_version> <data></data> <type></type> <max></max> <min></min> <max_cri></max_cri> <min_cri></min_cri> <max_war></max_war> <min_war></min_war> <historical_data></historical_data> <ff_treshold></ff_treshold> <module_interval></module_interval> <id_module_group></id_module_group> <group></group> <tcp_port></tcp_port> <tcp_send></tcp_send> <tcp_rcv_text></tcp_rcv_text> <snmp_community></snmp_community> <snmp_oid></snmp_oid> <snmp_version></snmp_version> <auth_user></auth_user> <auth_password></auth_password> <privacy_method></privacy_method> <privacy_pass></privacy_pass> <auth_method></auth_method> <security_level></security_level> <plugin></plugin> <plugin_username></plugin_username> <plugin_password></plugin_password> <plugin_parameters></plugin_parameters> <wmi_query></wmi_query> <key_string></key_string> <field_number></field_number>

662

Resourceregistration

<namespace></namespace> <wmi_user></wmi_user> <wmi_password></wmi_password> <max_timeout></max_timeout> <post_process></post_process> </component> <component>...</component> <component>...</component> <template> <name></name> <description></description> </template> </pandora_export>

29.18.Traductordecadenasdetexto
Esta extensin pertenece al men de administracin y permite traducir cadenas de texto de la interfazdePandoraFMSparapersonalizarla.

Acontinuacinsedetallanloscamposarellenar: Language:Permitefiltrarlacadenaporidioma. Freetextforsearch(*):Contenidodelacadenaquesequierepersonalizar. Aparecerntrescolumnas:enlaprimeramostrar lacadenaoriginal,enlasegundalatraduccin actualyenlaterceralatraduccinpersonalizadaquesequiereaadir.

663

Traductordecadenasdetexto

30CONFIGURACINDELACONSOLADE PANDORAFMS

664

Introduccin

30.1.Introduccin
La configuracin de la consola sirve para cambiar y ajustar parmetros de configuracin de la consoladePandoraFMS.Sinembargoalgunosparmetrossongeneralesdetodalaaplicacinensu conjunto,incluidoslosservidoresdePandoraFMSypuedenafectaralrendimientogeneraldela aplicacin. EnlaseccindeAdministration>SetupsepuedenconfigurardiversasopcionesdePandoraFMS, quecomentaremosacontinuacin.

30.2.Setup
DesdeAdministration>Setupseaccedealapginadeconfiguracindeparmetrosgeneralesla consola.

665

Setup

Conloqueaparecerlasiguientepantalla

666

Setup

Acontinuacinsedescribenloscamposquesepuedenconfigurar: LanguagecodeforPandora Combodondeseeligeelidiomadelaconsola. Remoteconfigdirectory Campodondeseidentificaeldirectoriodondeseguardalaconfiguraci nremotadelosagentes. Por defecto es /var/spool/pandora/data_in. Esto slo tiene sentido en la versin Enterprise de PandoraFMS. Autologin(hash)password Define una password simtrica esttica, utilizada para crear un hash y habilitar la validaci n automticaporURL.SeutilizaparaintegrarPandoraFMSenotraaplicaci nWEB,quelepase comoparmetrounnombredeusuario,yutilizandounhashgeneradoporelnombredeusuarioy estacontrasea,permitalavalidacinautomticaenPandoraFMS,sinintroducirunpassword. Paraverunejemplodeestaintegracinmireelfichero /extras/sample_login.phpdelaconsolade PandoraFMS. Timesource Quorigendetiempousar.Estopuedeserelsistemalocal(Sistema)olabasededatos(Basede datos).Combodondesepuedeelegirelorigendelafechayhoraausar.Puedeserelsistemalocal (Sistema)olabasededatos(Basededatos).Laprimerasesueleusarcuandolabasededatos estenunsistemadiferentedelaconsola. Automaticcheckforupdates CampodondeseconfiguraelchequeoautomticodeactualizacionesenelOpenUpdateManager. Estohacequelaconsolacontactecadavezqueseiniciasesi nconelproveedordeactualizaciones dePandoraFMS(ArticaST),enviandoinformacinannimasobreelusodePandoraFMS(nde agentes). Enforcehttps Campoquepermiteforzarlaredireccinahttps.Silohabilita tendrforzosamentequeactivareluso dePandoraFMSconhttpsensuservidorWEB .Sihahabilitadoestecampoynohaconfiguradosu apacheparaqueutiliceHTTPS,nopodr accederalaconsolaWEBytendr quedeshabilitaresta opcinnuevamenteaccediendoalabasededatosdirectamentemedianteMySQLeinsertandola siguientequery:
update tconfig set `value` = 0 WHERE `token` = 'https';

Attachmentstore El directorio de attachment es utilizado como "temporal" por Pandora FMS. En l tambin se guardanlosadjuntosdelasincidencias.Pordefectoes/var/www/pandora_console/attachment.
667

Setup

DebetenerpermisosdeescrituraparaelservidorWEB.Enlsegenerantambinlasimgenesde losmapasyotrosficherostemporales. IPlistwithAPIaccess EsunalistadedireccionesIP(sinnombresdehost+dominio,s loIP),quetendrnaccesoalaAPI webservicedePandoraFMS,ascomoaotrasfuncionesmenores,comoelRSSdeeventos,olavista enmodo"marquesina".Sepuedeutilizar"*"comocomod ndetalmodoqueponersolamente"*" sirvaparadaraccesoatodaslasIP'sponer125.56.24.*deaccesoatodalasubred125.56.24 APIpassword MtododeautentificacinparaaccederalaAPIdePandora.Verseccin APIexternadePandora FMS EnableGISfeaturesinPandoraConsole Habilitar/Deshabilitar las caractersticas GIS para la consola de Pandora FMS. Ver seccin GIS Console EnableIntegriaincidentsinPandoraConsole CambiaelsistemadeincidentesparasincronizarlosconlosdeIntegria.Unavezhabilitadaesta caracterstica,ytraspresionarelbotn"Update",enestamismapantallaaparecernjustodebajo tresnuevoscamposenlosquehabrqueintroducirloscredencialesdeIntegria.

Integria URL: URL de la instalacin de Integria. Ejemplo: http://exampledomain.com/integria IntegriaAPIpassword:ContraseadeaccesoalaAPIestablecidaenelsetupdeIntegria. Integria Inventory: Objeto de inventario de Integria que ser asociado a los incidentes creadosdesdePandoraFMS.Estarvacohastaquesecontecte. Una vez configurado yactualizado, elicono de advertencia juntoa la caja detextode la URL desaparecer yelcombodeinventariodeIntegriacontendr losobjetosdeinventariodeIntegria paraescogerunodeellos.

668

Setup

EnableNetflow Habilitar/deshabilitarnetflow. Timezonesetup Defineelusohorarioenelqueseencuentra.En stoscombosseseleccionanlazonaylazona horaria. SoundforAlertfired Comboparaelegirelsonidocuandounaalertasedispara. SoundforMonitorcritical Comboparaelegirelsonidocuandounmduloentreenestado"critical" SoundforMonitorwarning Comboparaelegirelsonidocuandounmduloentreenestado"warning". Licenceinformation Clavedelaversinenterprise. ReferersecurityCuandoestaactivosechequeaporseguridadqueelusuariovienedeunaurlde PandoraFMSyqueellinknoesexternoysospechoso.Pordefectoestadesactivado.Yenlossitios deextremaseguridadquesechequeason: ExtensindeDBmanager. Configuracindeusuario. ConfiguracindelosscriptsdeRecon.

30.2.1.OpcionesEnterprise
SiseutilizalaversinEnterprise,sepuedenconfigurarlossiguientescampos:

ForwardSNMPtrapstoagent(ifexist) Opcinquepermitequecadavezquellegueuntrap, steseconviertaenunmdulodePandora FMS asociado al agente que tenga la misma IP que la IP de origen del Trap. (S lo versin Enterprise). UseEnterpriseACLSystem EstoactivarelsistemadeACLsqueesmsflexiblequeelsistemaACLestndar.VerNuevosistema ACL(Enterprise) ActivateMetaconsole
669

Setup

Habilitar/Deshabilitarlametaconsola.Metaconsola Collectionsize Esteeseltamaomximoparalascolecciones.VerseccinColecciones.

30.3.Autentificacin
Desde Administration > Setup > Authentication se accede a la p gina de configuracin de parmetrosdeautentificacin.

Conloquellegamosalapantalladondeelegirelmtododeautentificacin. Existenvariosmtodosdisponibles: Activedirectory LDAP LocalPandoraFMS RemoteBabelEnterprise RemoteIntegria RemotePandoraFMS

Debido a cuestiones de seguidad los usuarios administrador siempre usan la autenticacin local de Pandora FMS

670

Autentificacin

30.3.1.Activedirectory
Alescogerestaopcinenelcombosuperior,aparecerlasiguientepantalla.

Acontinuacinsedescribenloscamposquesepuedenconfigurar: Autocreateremoteusers Habilita/Deshabilita la creacin automtica de usuarios remotos. Esta opcin hace posible que PandoraFMScreelosusuariosautomticamenteunavezhaganloginusandoActiveDirectory.Sise activa esta caracterstica, los tres siguientes campos quedarn disponibles. Sino, estos se inhabilitarnyaquenotendransentido. Autocreateprofile Estandoactivalacreacinautomticadeusuariosremotos,estecampohaceposibleasignarlesun tipodeperfilaestosusuariosquesecreanautomticamente.Losperfilespordefectoson: ChiefOperator GroupCoordinator Operator(Read) Operator(Write) PandoraAdministrator

Losdiferentesperfilesdisponiblespuedenserconsultadosenlasecci nAdministration>Manage Users>ManageProfiles. Autocreateprofilegroup Estandoactivalacreacinautomticadeusuariosremotos,estecampohaceposibleasignarlesun grupoaestosusuariosquesecreanautomticamente.Losgrupospordefectoson: Servers Firewalls Databases Network Unknown
671

Autentificacin

Workstations Applications Web Losdiferentesgruposdisponiblespuedenserconsultadosenlasecci nAdministration>Manage Agents>ManageGroups. Autocreateblacklist Unalistadeusuarios,separadosporcomas,quenosecrearndeformaautomtica. Activedirectoryserver DefiniraqularutaenlaqueseencuentraelservidorActiveDirectory. Activedirectoryport DefiniraquelpuertodelservidorActiveDirectory. StartTLS Usar el protocolo Transport Layer Security (TLS) en las comunicaciones entre el cliente y el servidor. Domain DominioqueutilizarelActiveDirectory.

30.3.2.LDAP
Alescogerestaopcinenelcombosuperior,aparecerlasiguientepantalla.

Acontinuacinsedescribenloscamposquesepuedenconfigurar: Autocreateremoteusers

672

Autentificacin

Habilita/Deshabilita la creacin automtica de usuarios remotos. Esta opcin hace posible que PandoraFMScreelosusuariosautomticamenteunavezhaganloginusandoLDAP.Siseactiva estacaracterstica,lostressiguientescamposquedarndisponibles.Sino,estosseinhabilitarnya quenotendransentido. Autocreateprofile Estandoactivalacreacinautomticadeusuariosremotos,estecampohaceposibleasignarlesun tipodeperfilaestosusuariosquesecreanautomticamente.Losperfilespordefectoson: ChiefOperator GroupCoordinator Operator(Read) Operator(Write) PandoraAdministrator

Losdiferentesperfilesdisponiblespuedenserconsultadosenlasecci nAdministration>Manage Users>ManageProfiles. Autocreateprofilegroup Estandoactivalacreacinautomticadeusuariosremotos,estecampohaceposibleasignarlesun grupoaestosusuariosquesecreanautomticamente.Losgrupospordefectoson: Servers Firewalls Databases Network Unknown Workstations Applications Web

Losdiferentesgruposdisponiblespuedenserconsultadosenlasecci nAdministration>Manage Agents>ManageGroups. Autocreateblacklist Unalistadeusuarios,separadosporcomas,quenosecrearndeformaautomtica. LDAPserver DefiniraqularutaenlaqueseencuentraelservidorLDAP. LDAPport DefiniraquelpuertodelservidorLDAP. LDAPversion ComboparaescogerlaversindelservidorLDAPqueseutilizar. StartTLS Usar el protocolo Transport Layer Security (TLS) en las comunicaciones entre el cliente y el servidor. BaseDN Distinguised Name (DN) usado por el servidor LDAP. Por ejemplo: ou=People,dc=edu,dc=example,dc=org Loginattribute
673

Autentificacin

Atributo de login que usa LDAP durante el proceso de autentificaci n. Por ejemplo UID (User IdentificationCode).

30.3.3.LocalPandoraFMS
Alescogerestaopcinenelcombosuperiornoaparecerningunaopcinadicionalparaconfigurar. Conestaopcin,laautentificacinserealizarusandolabasededatosinternadePandoraFMS.

30.3.4.RemoteBabelEnterprise
Alescogerestaopcinenelcombosuperior,aparecerlasiguientepantalla.

Acontinuacinsedescribenloscamposquesepuedenconfigurar: Autocreateremoteusers Habilita/Deshabilita la creacin automtica de usuarios remotos. Esta opcin hace posible que PandoraFMScreelosusuariosautomticamenteunavezhaganloginusandoBabelEnterprise.Sise activa esta caracterstica, los tres siguientes campos quedarn disponibles. Sino, estos se inhabilitarnyaquenotendransentido. Autocreateprofile Estandoactivalacreacinautomticadeusuariosremotos,estecampohaceposibleasignarlesun tipodeperfilaestosusuariosquesecreanautomticamente.Losperfilespordefectoson: ChiefOperator GroupCoordinator Operator(Read) Operator(Write) PandoraAdministrator

Losdiferentesperfilesdisponiblespuedenserconsultadosenlasecci nAdministration>Manage
674

Autentificacin

Users>ManageProfiles. Autocreateprofilegroup Estandoactivalacreacinautomticadeusuariosremotos,estecampohaceposibleasignarlesun grupoaestosusuariosquesecreanautomticamente.Losgrupospordefectoson: Servers Firewalls Databases Network Unknown Workstations Applications Web

Losdiferentesgruposdisponiblespuedenserconsultadosenlasecci nAdministration>Manage Agents>ManageGroups. Autocreateblacklist Unalistadeusuarios,separadosporcomas,quenosecrearndeformaautomtica. BabelEnterprisehost DefiniraqularutaenlaqueseencuentraelservidorBabelEnterprise. MySQLport DefiniraquelpuertoparalabasededatosMySQLdelservidorBabelEnterprise. Databasename NombredelabasededatosalaqueconectarseenelservidordeBabelEnterprise. User UsuariodelabasededatosconelqueconectarseenelservidordeBabelEnterprise. Password ContraseadelusuariodelabasededatosconelqueconectarseenelservidordeBabelEnterprise.

30.3.5.RemoteIntegria
Alescogerestaopcinenelcombosuperior,aparecerlasiguientepantalla.

675

Autentificacin

Acontinuacinsedescribenloscamposquesepuedenconfigurar: Autocreateremoteusers Habilita/Deshabilita la creacin automtica de usuarios remotos. Esta opcin hace posible que PandoraFMScreelosusuariosautomticamenteunavezhaganloginusandoIntegria.Siseactiva estacaracterstica,lostressiguientescamposquedarndisponibles.Sino,estosseinhabilitarnya quenotendransentido. Autocreateprofile Estandoactivalacreacinautomticadeusuariosremotos,estecampohaceposibleasignarlesun tipodeperfilaestosusuariosquesecreanautomticamente.Losperfilespordefectoson: ChiefOperator GroupCoordinator Operator(Read) Operator(Write) PandoraAdministrator

Losdiferentesperfilesdisponiblespuedenserconsultadosenlasecci nAdministration>Manage Users>ManageProfiles. Autocreateprofilegroup Estandoactivalacreacinautomticadeusuariosremotos,estecampohaceposibleasignarlesun grupoaestosusuariosquesecreanautomticamente.Losgrupospordefectoson: Servers Firewalls Databases Network Unknown Workstations Applications Web
676

Autentificacin

Losdiferentesgruposdisponiblespuedenserconsultadosenlasecci nAdministration>Manage Agents>ManageGroups. Autocreateblacklist Unalistadeusuarios,separadosporcomas,quenosecrearndeformaautomtica. Integriahost DefiniraqularutaenlaqueseencuentraelservidordeIntegria. MySQLport DefiniraquelpuertoparalabasededatosMySQLdelservidordeIntegria. Databasename NombredelabasededatosalaqueconectarseenelservidordeIntegria. User UsuariodelabasededatosconelqueconectarseenelservidordeIntegria. Password ContraseadelusuariodelabasededatosconelqueconectarseenelservidordeIntegria.

30.3.6.RemotePandoraFMS
Alescogerestaopcinenelcombosuperior,aparecerlasiguientepantalla.

Acontinuacinsedescribenloscamposquesepuedenconfigurar: Autocreateremoteusers Habilita/Deshabilita la creacin automtica de usuarios remotos. Esta opcin hace posible que PandoraFMScreelosusuariosautomticamenteunavezhaganloginusandoPandora.Siseactiva estacaracterstica,lostressiguientescamposquedarndisponibles.Sino,estosseinhabilitarnya
677

Autentificacin

quenotendransentido. Autocreateprofile Estandoactivalacreacinautomticadeusuariosremotos,estecampohaceposibleasignarlesun tipodeperfilaestosusuariosquesecreanautomticamente.Losperfilespordefectoson: ChiefOperator GroupCoordinator Operator(Read) Operator(Write) PandoraAdministrator

Losdiferentesperfilesdisponiblespuedenserconsultadosenlasecci nAdministration>Manage Users>ManageProfiles. Autocreateprofilegroup Estandoactivalacreacinautomticadeusuariosremotos,estecampohaceposibleasignarlesun grupoaestosusuariosquesecreanautomticamente.Losgrupospordefectoson: Servers Firewalls Databases Network Unknown Workstations Applications Web

Losdiferentesgruposdisponiblespuedenserconsultadosenlasecci nAdministration>Manage Agents>ManageGroups. Autocreateblacklist Unalistadeusuarios,separadosporcomas,quenosecrearndeformaautomtica. PandoraFMShost DefiniraqularutaenlaqueseencuentraelservidordePandoraFMS. MySQLport DefiniraquelpuertoparalabasededatosMySQLdelservidordePandoraFMS. Databasename NombredelabasededatosalaqueconectarseenelservidordePandoraFMS. User UsuariodelabasededatosconelqueconectarseenelservidordePandoraFMS. Password ContraseadelusuariodelabasededatosconelqueconectarseenelservidordePandoraFMS.

30.4.Rendimiento
Desde Administration > Setup > Performance se accede a la p gina de configuracin de parmetrosderendimiento.Enestaseccinpuedeconfigurarlosparmetrosgeneralespararealizar lapuestaapuntodelaconsoladePandoraFMS.Porejemploelrangodedatoshist ricosenlabase
678

Rendimiento

dedatososideseamostrarelgrficoagentedeaccesoono.

Conloqueaparecerlasiguientepantalla

679

Rendimiento

Acontinuacinsedescribenloscamposquesepuedenconfigurar: Max.daysbeforedeleteevents Campodondesedefinenelnmeromximodedasantesdeborrarloseventos. Max.daysbeforedeletetraps Campodondesedefinenelnmeromximodedasantesdeborrarlostraps. Max.daysbeforedeleteauditevents Campodondesedefinenelnmeromximodedasantesdeborrarloseventosdeauditora. Max.daysbeforedeletestringdata Campodondesedefinenelnmeromximodedasantesdeborrarlascadenasdedatos. Max.daysbeforedeleteGISdata CampodondesedefinenelnmeromximodedasantesdeborrarlosdatosGIS. Max.daysbeforepurge Campodondesedefinenelnmeromximodedasantesdeborrardatos.Estotambienespecifica elnmaximodediasamantenerdatosdehistricodeinventario(apartirdelaversion4.0.3). Max.daysbeforecompactdata Campodondesedefineelnmeromximodedasantesdecompactardatos. Compactinterpolationinhours(1Fine20bad)
680

Rendimiento

Eslalongituddelintervalodecompactacinenhoras.Porejemplo,unmduloconunintervalode 5minutosgenera288valoresporda.Siesteintervaloseconfiguraa2,losdatosseagruparnen intervalosde2horasyseharlamedia,dandolugara12valorespordaenvezde288.Cuando msaltoseaestevalor,menorserlaresolucin.Serecomiendaunvalorcercanoa1. SLAperiod (seconds) EltiempopordefectoparacalcularlavistadeSLAenlasolapaSLAdelavistadeagentes.Calcula automticamentelosSLAdelosMonitoresdefinidoseneseagenteenelintervaloensegundosque seda,diferenciandoentrelosvaloresCriticalyNormal. Defaulthoursforeventview Campodondesedefineelcampohorasdelfiltropordefectoenlavistadeeventos.Sipordefectoes 24,lavistadeeventosmostrarnicamenteloseventossucedidosenlasltimas24horas. Userealtimestatistics Habilitar/Deshabilitarelusodeestadsticasentiemporeal. Batchstatisticsperiod(secs) Silasestadsticasentiemporealestndeshabilitadas,sedefiniraqueltiempoderefrescoparalas estadsticas. Useagentaccessgraph Elgrficodeaccesosdelagente,renderizaelnmerodecontactosporhoraenungrficoconuna escala diaria (24h). Esto se usa para conocer la frecuencia de contacto de cada agente. Puede necesitar mucho tiempo de procesado, por lo que si dispone de bajos recursos se recomienda deshabilitarlo. Max.daysbeforedeleteunknownmodules Campodondesedefineelnmeromximodedasantesdeborrarlosmdulosdesconocidos.

30.5.Estilosdevisualizacin
DesdeAdministration>Setup>Visualstylesseaccedealap ginadeconfiguracindeparmetros deestilodelaconsola.

681

Estilosdevisualizacin

Conloqueaparecerlasiguientepantalla

Acontinuacinsedescribenloscamposquesepuedenconfigurar: Dateformatstring CampodondesedefineelformatodeFecha.Enlaayudadelaconsolaestntodaslasopciones. Timestamportimecomparation


682

Estilosdevisualizacin

Definequ fecha/horaseusa,lamarcadetiempodelsistema(Timestampinrollover)ouna comparacinconlabasededatos(Comparationinrollover). tilcuandolabasededatosesten otrosistemadiferentededondeseencuentralaconsolaWeb. Graphcolor(min) Campodondeseeligeelcolorparaelvalormnimodelasgrficasdelosmdulo. Graphcolor(avg) Campodondeseeligeelcolorparaelvalormediodelasgrficasdelosmdulo. Graphcolor(max) Campodondeseeligeelcolorparaelvalormximodelasgrficasdelosmdulo. Graphicresolution(1low,5high) Campodondesedefinelaresolucindelasgrficas. Styletemplate CombodondeseeligelaplantilladeestilodelapaginaWebdePandoraFMS.Paraa adirun nuevostemadebeaadirunficheroCSSeneldirectorioinclude/styles/. Blocksizeforpagination Campodondeseeligeeltamaodelapaginacin. Useroundcorners Utilizaesquinasredondeadasparalasbarrasdeprogresoyotrosgr ficosgeneradosporPandora FMS. Statusiconset Combodondeseescojenlosiconosutilizadosparavisualizarelestadodelosmodulos.Pordefecto usanuncolorbrillante:Rojo, Amarillo, Verde.En elcasode usuarioscon daltonismo, estos se pueden reemplazar por otros iconos conceptuales que permitan diferenciar los estados de otra manera. Fontpath CombodondeseeligelafuenteTrueTypeusadaporPandoraFMSparalasgrficas. Fontsize CampodondeseeligeeltamaodelafuenteusadaporPandoraFMSparalasgrficas. Flashcharts PermiteescogerentrequeelsistemautilicegrficasenFlashogrficasestticasenPNG. Customlogo(SoloversinOpen) Esta opcin permite ensear nuestro propio logo en la cabecera de Pandora FMS. Puedes usar cualquiertipodegrficoenformatoPNG.Hayunaaltura/anchurapredeterminadaquees60x139 pixels. Subetupropiologopersonalizado,usandoelgestordeficherosalaruta/images/custom_logo directory. Globaldefaultintervalforrefresh Esteparmetroafectar alintervalodeautorefrescodetodaslaspginasexceptolaspginasdela consolavisual.
683

Estilosdevisualizacin

DefaultintervalforrefreshonVisualConsole Esteparmetroafectaralintervalodeautorefrescosolodelaspginasdelaconsolavisual.

30.6.FileManager
File Manager es una herramienta muy til para subir contenidos en Pandora FMS. Desde Administration>Setup>FileManagerseaccedealap ginadeadministracindearchivosdela consoladePandoraFMS.

Conloqueaparecerlasiguientepantalla.

684

FileManager

Enestaseccinsemuestratodoelcontenidodelacarpeta"images"dentrodesuinstalaci nde PandoraFMS. Podr navegaratravsdelosdirectorios,crearsubdirectorios,archivosdetextoeinclusosubir archivosnavegandodesdesudiscoascomodescargarlosarchivosquedesee. Paraellosernecesarioutilizarlossiguientesbotones.

Querespectivamenteson:creardirectorio,creararchivodetexto,ysubirarchivo(s).

30.6.1.Creardirectorio

685

FileManager

Traspresionarelbotndecreacindedirectorio,aparecerelcampoquesemuestraarriba. Tanslohayqueintroducirelnombrequesedeseaparaeldirectorioypresionarelbot n"Create". Sisepresionaelbotn"Close"secerrarestedilogo.

30.6.2.Creararchivodetexto

Traspresionarelbotndecreacindearchivodetexto,aparecerelcampoquesemuestraarriba. Tanslohayqueintroducirelnombrequesedeseaparaelarchivoypresionarelbot n"Create".Si sepresionaelbotn"Close"secerrarestedilogo.

30.6.3.Subirarchivo(s)

Traspresionarelbotnparasubirunarchivo,aparecerelcampoquesemuestraarriba. Tanslohayquepresionarelbotn"Browse"ytrasexplorarsudisco,elegirelficheroquesequiere subir. Es posible subir varios archivos a la vez. Seleccionando un archivo comprimido y marcando la casilla"Decompress",estoharqueelarchivosedescomprimayastodoslosarchivoscontenidosen laparezcanenlalistadentrodeldirectorio.

30.7.ConexindemapaGIS
En Pandora FMS es posible seguir el rastro de la posici n de los agentes dentro de mapas interactivos.Dentrodeestaseccinsepuedenconfigurarlosparmetrosparaestablecerlaconexin conelproveedordelserviciodemapasGIS.PorejemploOpenLayersoGooblemaps. TodaladocumentacinsobrelosmapasGISlapuedeencontrarenlaseccinPandoraGIS

30.8.Links
DesdeAdministration>Setup>Linksseaccedealapginadeadministracindeenlacesdela consoladePandoraFMS

686

Links

Conloqueaparecerlasiguientepantalla.

Tantoparacrearunnuevolinkcomoparaactualizarunoyaexistenteelprocesoespr cticamenteel mismo. Paracrearunnuevolinkhabrquepulsaren"Add". Para actualizar un link ya existente habr que pulsar en el nombre del link que se quiera modificar. Ambassituacionesllevanalamismapantalla.Unasindatosenelcasoquesecreeunlinknuevo,y otraconlosdatosexistentesenelcasoquesemodifiqueunlinkyaexistente.

687

Links

Linkname:Nombredellink Link:direccinensdelenlace. Tras rellenar los campos correspondientes, habr que presionar en "Create" o en "Update" en funcinsiestamoscreandoomodificandounlink. Para borrarunlink habr quepresionarsobrelacruzrojacorrespondienteallinkquequeramos borrar,queapareceenellistadodelinks.

30.9.Sitenews
DesdeAdministration>Setup>Sitenewsesposibleaadirlasnoticiasqueaparecenenlapagina deiniciocuandounusuarioentraenlaconsola.

ParacrearunanoticiasepulsaenAddyaparecelasiguientepgina:

SeescribeelttuloyeltextodelanoticiaysepulsaenUpdate.Esposibleborrarnoticiaspinchando enlaxrojaquehayasuderechaoeditarunanoticiayacreadapinchandoensunombre.

30.10.EditOS
EnestaseccinsepuedeneditarocrearnuevostiposdeSistemaOperativo.

688

EditOS

Paracrear/editarSistemasOperativosseutilizarlasiguientepantalla:

Aqusedetallanloscamposarellenar: Name:NombredelSistemaOperativo. Description:TextoconladescripcindelSO. Icon:IconoconunarepresentacingrficadelSO.

30.11.Historydatabase
Esta seccin permite habilitar las opciones dela basede datos hist rica dePandora FMS. Est
689

Historydatabase

funcionalidadpermiteguardarlosdatosconunaantigedadconfigurada enunabasededatos distintadelaprincipal.Loqueaceleralaexplotacindeestaltima.

Aqusedetallanloscamposarellenar: Enablehistorydatabase:Permiteutilizarlafuncionalidaddebasededatoshistrica. Host:Nombredehostdelabasededatoshistrica. Port:Puertodeconexindelabasededatoshistrica. Databasename:Nombredelabasededatoshistrica. Databaseuser:Usuariodelabasededatoshistrica. Databasepassword:Passworddelabasededatoshistrica. Days:Apartirdecuantosdaslosdatosserntransferidosalabasededatoshistrica. Step:Mecanismoparalatransferenciadedatos(similarunbufferdedatos)alabasede datoshistrica.Cuantomenorseamenoseficienteserlatransferenciaperoafectarmenos alrendimientodelabasededatosprincipal.Unbuenvalorpordefectoes1000. Delay:tiempodeesperaensegundosentretransferenciasdedatosentrelabasededatos principalylahistrica.Unbuenvalorpuedeser2.

30.12.EnterpriseACLSetup
EstafuncionalidadestdescritaenlaseccinSistemaACLEnterprise.

30.13.Metaconsole
EstafuncionalidadestdescritaenlaseccinMetaconsola.
690

Skins

30.14.Skins
EstafuncionalidadpermitepersonalizarlaaparienciadelainterfazdelaconsoladePandoraFMS. Esto se consigue mediante el cambio de los ficheros CSS de estilo y los iconos asociados a la interfaz. Para crear un nuevo skin se debe replicar la estructura de directorios que lleva por defecto la consola: images:eldirectorioquecontendrlasimgenesdelskin. include/styles:eldirectorioquecontandrlosficherosCSSdelskin. DeestaformaunskinllamadoExampletendralasiguienteforma:
Example/ | |_______images/ | |_______include/ | |_________styles/

Estocolgar deldirectorio <pandora_root>/images/skin/.Todaestaestructuradeficherosysu contenidodebercomprimirseenunficherozip. Unskinsepodraplicaradosniveles: Usuario:Seaplicaralusuariodirectamente. Grupo:Seaplicaratodoslosusuariosquepertenecennicamenteaesegrupo. Si un usuario tiene aplicado un skin porusuario y grupo se dar prioridad a la asignacin de usuarioydespusaladegrupo. Estaeslavistaparaaccederalosskinsdisponibles:

Paraconfigurar/crearunskinseutilizarlasiguientevista:

691

Skins

Acontinuacinsedescribenloscamposaconfigurar: Name:Nombredelskin. Relative Path: Durante la creacin este campo permitir subir el fichero zip con el contenidodelskin.Durantelaedicincontendrelnombredelficherozip. Description:Descripcindelusuariosobreelskin. Group/s:Gruposalosqueirasociadoelskin. Disabled:Permitedeshabilitarelskinnoaplicndoseaningnusuario.

30.15.PandoraFMSDiagnostictool
Herramienta que permite detectar un perfil de una instalaci n concreta de Pandora FMS. Se mostrarinformacincomolaversindePandoraFMSinstalada,laversindePHP,conteossobre lastablasmsimportantesdelsistema(volumentra),etc.

692

PandoraFMSDiagnostictool

30.16.Updatemanagersettings
EstafuncionalidadestdescritaenlaseccinUpdatemanager.

30.17.Systeminfo
EstaherramientaesunaextensinquepermiteverlosficherosdelogdesdelaConsoladePandora FMS.SepuedeverinformacindelaherramientaPandoraDiagnosticTool,informacindelsistema o informacin de la log. Es posible ejecutarla desde la lnea de comandos pero debe ser superusuariooatravesdeusuario.Porejemplo:
sudo php /var/www/pandora_console/extensions/system_info.php -d -s -c

30.18.Translatestring
EstaextensinestdescritaenlaseccinTranslatestring.
693

Translatestring

31ACTUALIZACINDEIDIOMAS

694

Actualizacindeidiomas

ParaactualizarcualquieridiomaenlaconsoladePandoraFMSs lohacefaltairsealapginade descarga de las traducciones en Launchpad [1]), seleccionar el o los idiomas que se quieran actualizary elformatodeficheroMO,pulsarelbotn Requestdownload yesperarquellegueel correoconlasindicacionesdedndedescargarelolosficheros.Unavezquesehayandescargado losarchivos,sehandeintroducireneldirectoriodelaconsoladePandoraFMS,ylaactualizaci n deidiomaestaralista.
/include/languages/

Para descargar las traducciones se requiere una cuenta en Launchpad

695

Actualizacindeidiomas

32GESTINREMOTADEEQUIPOSCON PANDORAFMS

696

Introduccin

32.1.Introduccin
PandoraFMSesunaherramientademonitorizacin,ydadasufilosofa,noutilizalosagentespara poderconectarnos alosequipos,deforma que"pers",no sirvepara controlara distancia los sistemas monitorizados. Algunos sistemas, como routers y switches pueden ser gestionados medianteTelnetoSSHyparapoderaccederaellosslohacefaltalanzarelcomando. PandoraFMSincluye"deserie"unpluginJavaparapoderconectarsedesdelaconsolaWEB,via VNCalosservidoresremotos,usandolaIPconfiguradaporellos.Esopuedesersencillosiestamos enelmismosegmentoderedlocalytenemosconexindirecta,enotroscasos,secomplicamucho. Podemosdistinguirentreentornoscomplejosyentornossimples.Estasser anlascaractersticasde unentornosimple: LaIPdelservidornocambia. Elacceso(rutas,firewalls)desdeelPCdeloperador,alosservidorestienepuertosabiertosy sabellegarmedianteTCP/IPnormal. Podemosinstalarunsoftwaredecontrolremotoenelsistemaanfitri ndelservidor,oeste yadisponedeuno. Mientraquelascaractersticasdeunentornocomplejoseranlassiguientes: LaIPdelservidorcambia(esdinmica). NohayaccesodirectodesdeelPCdeloperadoralservidorquequeremosmonitorizar. Nopodemosinstalarsoftwaredecontrolremotoenelsistemaremoto. Tambinexistencasosintermedios,porejemplo,quelasmquinastenganIPfija,peronotengamos accesoremotodirectoviaTCP/IPalservidordesdeelPCdeloperador.Encualquiercaso,existes tresposiblesformasdeaccederremotamenteaesosequipos. 1. Directamente,sepuedeinstalarporejemplounservidorSSH,activarelEscritorioRemotoo instalarunservidorVNCenelsistemaanfitrin.DesdeelPCdeloperadorbastaconponerla IPdelequiporemotoenelprogramacliente,quecorreenelPCdeloperadorylisto.Esto valesloparalosescenarios"Simples".AqurecomendamossindudaUltraVNC. 2. Utilizarunsistemainverso.Llamamosasaaquellossistemasdecontrolremotoqueenvez deesperaraconectar,conunpuertoTCPabierto,loquehacenesconectaraunservidoren internet,quepermitequecuandoelPCdeloperador,comunicaconesemismoservidoren Internet,"poneencontacto"aambosordenadoresparaquepuedanhablar,yaqueentre ellos, mediante la red interna, no podran comunicar. Este sistema, til en entornos complejos tiene varias desventajas, tales como la velocidad, o que si el servidor que necesitamoscontrolarnotieneaccesoainternet,nopodemoscomunicarnoscon l.Aqu recomendamosTeamViewer. 3. Utilizarunsistemadeconexindirectaconunproxy.UltraVNCpermiteconfigurarunproxy deformaquesealelqueconecteconelservidorremoto,nosotrosnosconectaremosconel servidorintermedio(proxy)yesteconelservidorfinal.Estosellama"UltraVNCRepeteater" y puede encontrar ms informacin al respecto en la pgina http://www.uvnc.com/docs/uvncrepeater.html. Este sera un esquema bsico de funcionamiento:

697

Introduccin

LapropiaherramientadeUltraVNCpermitehacerelsetupenmodogrfico:

LaconexinalservidorVNC,utilizaraelproxyparaconectarconelservidordedestino,como podemosverenestacaptura.

698

Introduccin

32.2.UsandoVNCintegradoenPandoraFMS
Esposible,pormediodelaextensin"VNC"dePandoraFMS,acceder,desdelapropiaconsola WEB,sininstalarsoftwareadicionalohacernadaextra,paraellolosnicosrequisitosson: TenerinstaladounservidorVNCqueincluyeelappletJava,escuchandoenelpuerto5800 decadaservidorquequieragestionarremotamente. TenerelpluginJavainstaladoensunavegador. Tener conexin directa desde el PC donde est el operador conectado a la consola de Pandora,haciaelservidormonitorizadoquesequieregestionarremotamente.Laconexi n tienequepermitirelpuerto5800/TCP. Sicumplimosestosrequisitos,bastaconpulsarenlasolapaconlaextension"VNC"enlavistade operacindeunagenteyveremoslosiguiente:

AspectodelasolapaVNC(laprimeraporlaizquierda) Cuando se establece la comunicacin, es necesario introducir una contrasea que se configura cuandoseinstalaelservidorVNCenlamquinaencuestin.

699

UsandoVNCintegradoenPandoraFMS

Unavezintroducidoelpassword,tenemosaccesoalservidor,"comosiestuviramosall."

RecomendamoselusodeUltraVNC[1],yaqueademsdesermuypotente,soportarcifradoenlas conexiones,ypermitirtransferenciasdeficherosdeunamquinaaotra,esOpenSourceygratuito. Laslimitacionesdeestesistemasonprincipalmentelassiguientes: NecesitaconexinentresuPCylamquinaagestionarremotamente.Siest detrsdeun firewallounRouter,eninternet,nopodrconectar. NecesitaconocerlaIP.ConPandoraFMS,puededecirlealagentequenotifiquelaIPactual a Pandora, y este sabr cual es la IP, pero a veces, no funcionar bien (si tiene varios adaptadoresdered,sinoactualizalaIPdeunaformastandardoporotrasposiblescausas). Necesita instalar el software UltraVNC, puede que por polticas de seguridad no pueda instalarlo.
700

UsandoVNCintegradoenPandoraFMS

Enelcasodequeelproblemaseaelprimerpunto,puedeutilizarelm tododeconexindirectapor proxy,peroelmtodoaqumostradonolefuncionar,necesitar descargarunprogramaclientey ejecutarlomanualmentedesdesuPCparapoderconectarconelsistemaremoto.

32.3.UsandoTeamViewerconPandoraFMS
Teamvieweresunpotentesistemadegestinremota,queutilizaservidoresintermedioseninternet paraconectarseasusequipos,independientementedecambiosenlaIP,firewallsuotrosproblemas comentadosanteriormente.Slonecesitartrescosas: Conexinainternetenambosextremos(elservidoramonitorizaryelPCdeloperador). ApuntarlaIDdelamquina(yrecordarelpassword). InstalarelsoftwaredeTeamViewerenelservidorremoto. Una vez instalado, asignar un ID a esa mquina y podr configurar un password de acceso permanente.LosIDdeteamviewertienenelformatop.e:"623596886".Paraello,utilizaremosla caractersticaEnterprise"Campospersonalizados"paracrearestecampoentodoslosagentes,y apuntarahielIDdecadamquina. Creoelcustomfield(Configuracion>Agentes>Gestionarcampospersonalizados>Crear)

UnavezcreadopuedoguardarahielIDdeesamquina,enestecaso623596886

701

UsandoTeamViewerconPandoraFMS

AhorasolotengoqueiralapginadeTeamviewer,https://login.teamviewer.com/introducirmiID yaccederalsistema:

32.3.1.DetallestcnicosdeTeamviewer
Estaherramienta(TeamViewer)esextremadamentepotenteypermitetransferirficherosdeuna mquinaaotra. Estasherramientasseconectanconservidoresremotos,ylaseguridadpuedeserun"problema"si somosespecialmente"exquisitos"conestosconceptos(portemaslegalesy/odeprivacidaddelos datos),conlaversincomercialexistenevidentementealgunasventajasrespectoaesepunto. Estaesunalistadelasconexionesestablecidasenelservidorgestionadoremotamenteconuna conexionTeamViewerestablecida:
TCP TCP TCP TCP desktop:1379 desktop:1380 desktop:1381 desktop:1382 server530.teamviewer.com:http ESTABLISHED master4.teamviewer.com:http ESTABLISHED server311.teamviewer.com:http ESTABLISHED server311.teamviewer.com:http ESTABLISHED

32.4.ConectndoseasistemasremotosusandoSSHy/oTelnetcon PandoraFMS
Desde la versin 4.0.2, Pandora FMS tiene una nueva extensin que permite a los usuarios conectarse directamente con dispositivos remotos via SSH o SSH. Esto se peude hacer con la extension"remotegateway".Estecomponentenecesitaunaconfiguraci nespecial,quenoseinstala "pordefecto"enlamayoriadeinstalacionesdePandoraFMS.Esteesuncomponente"open"dela
702

ConectndoseasistemasremotosusandoSSHy/oTelnetconPandoraFMS

consola.

PandoraFMSusaunaherramientallamada"anytermd",paracrearunaespeciedeproxyentreel navegadordelusuarioyeldestinoremoto.Estaherramientalanzaundemonio,escuchandoenun puerto,queejecuta uncomando, desviando todaelcontenido dela conexi n alnavegadordel usuario.EstosignificaquetodaslasconexionessehacendesdeelservidordePandoraFMS,yqueel servidordePandoratienequetenerinstaladoslosclientesdesshytelnetdelsistema.Estaser auna arquitecturadelsistema:

703

ConectndoseasistemasremotosusandoSSHy/oTelnetconPandoraFMS

32.4.1.Instalacinyconfiguracin
El cdigo fuente est ubicado en extras/anytermd en el repositorio SVN del proyecto. Adicionalmente se puede encontrar comopaquetes RPMy tarballen las descargasoficialesdel proyecto. Asegresedequehainstaladoprimerolospaquetes:gccc++,make,boostdevelyzlibdevel. Ejecute:
make

Luego,instalemanualmenteelbinarioen/usr/bin
cp anytermd /usr/bin

Paraejecutareldemoniodelservidor,tendr quehacerlo"amano",yaquenoarrancaconel servidorolaconsoladePandora.LaextensindeconexionremotaSSH/Telnetutilizarunpuerto diferenteparacadatipodeconexion,SSHal8022yTelnetal8023. Tieneunscriptdearranqueparaanytermden contrib/anytermd.Copieloa /etc/init.d/anytermd y ejecuteloasiparaarrancarlo:


/etc/init.d/anytermd start

Pordefectousaelusuario"pandora"parasuejecucin,siquierecambiarlo,modifiqueelscript.
704

ConectndoseasistemasremotosusandoSSHy/oTelnetconPandoraFMS

Asegrese de que los puertos 8022 y 8023 quedan libres y abiertos desde el navegador de usuario al servidor donde se ejecuta la consola de Pandora y anytermd

705

ConectndoseasistemasremotosusandoSSHy/oTelnetconPandoraFMS

33OPERACIONESMASIVAS

706

Introduccin

33.1.Introduccin
Las operaciones masivas permiten realizar gestiones sobre agentes/m dulos/usuarios/alertas o polticasdeunamaneramasiva.Laimportanciadelasoperacionesmasivasaumentaenentornos conunvolumendecomponentesimportante.Estafuncionalidadsehadesarrolladoparafacilitarel trabajoalosadministradoresdebidoaquelossistemasdemonitorizaci npuedenllegaraestar formadosporungrannmerodecomponentescomosedijoanteriormente. ParaaccederalasoperacionesmasivashacerclicenelmenAdministration>Massiveoperations:

Nota: Para poder realizar operaciones masivas, PHP necesita una correcta configuraci n de los parmetrosdetimeout. Para ello,hayqueabrirelarchivodeconfiguraci nPHP(php.ini),por ejemplo:
sudo vi /etc/php5/apache2/php.ini;

Yfijarsusparmetrosdetimeoutenunvalorcorrecto:
max_execution_time = 0 max_input_time = -1

33.2.Operacionesmasivas:Agentes
Sepodrnrealizaroperacionesmasivasdeedicinyborradosobreagentes. Enlaedicinsepodrfiltrarporgrupolosagentesdestinoysepodrcambiarparmetrosgenerales comoelagentepadre,elgrupo,elintervalodeejecucinoelsistemaoperativo.

707

Operacionesmasivas:Agentes

Enelborradodeagentessepodrfiltrarporgrupo.

708

Operacionesmasivas:Mdulos

33.3.Operacionesmasivas:Mdulos
Lasoperacionesmasivassobremdulossontres: Borrado Copiadodeunmodulodeunagenteaotro Edicin Enelborradodemdulossepermiteseleccionarlosmdulosaeditardedosformas: Seleccindemdulo:Siseeligebsquedapormdulosepodrfiltrarportipodemdulo, seleccionarlosmdulosdeesetipoyporltimolosagentesasociadosaesosmdulos. Seleccindeagente:Siseeligebsquedaporagentesepodrfiltrarporgrupo,seleccionar losagentesdeesegrupoyporltimolosmdulosdelosagentesseleccionados.

Enlaedicindemdulossepermiteseleccionarlosmdulosaeditardedosformas: Seleccindeagente:Siseeligebsquedaporagentesepodrfiltrarporgrupo,seleccionar losagentesdeesegrupoyporltimolosmdulosdelosagentesseleccionados.

709

Operacionesmasivas:Mdulos

Seleccindemdulo:Siseeligebsquedapormdulosepodrfiltrarportipodemdulo, seleccionarlosmdulosdeesetipoyporltimolosagentesasociadosaesosmdulos. Unavezhechoestosepodreditarparmetrosgeneralesdelosmduloscomoelrangodevalores enestadodeavisoocrtico,elintervalodeejecucin,elpostproceso,etc.

Elcopiadodemdulospermitircopiartodalainformacindeunmdulodeunagenteaotro.Para elloseelegir grupoyagenteorigen,despusseelegirnlosmdulos.Por ltimo,seelegir el agentedestinofiltradoporgrupo.

710

Operacionesmasivas:Mdulos

33.4.Operacionesmasivas:Usuarios
Sepodraadiroborrarperfilesasociadosalosusuarios.Estofacilitalaadministraci ndeusuarios yaquesepodrngestionardeunamaneramasiva. Paraaadirnuevosperfilessedeberelegirelperfil,elgrupoyporltimoelusuario.

711

Operacionesmasivas:Usuarios

Paraborrarperfilessedeberellenarelperfil,elgrupoyporltimoelusuario.

33.5.Operacionesmasivas:Alertas
Sobre alertas se pueden aadir nuevas, borrar, aadir acciones sobre alertas, borrar acciones, habilitar/deshabilitar alertas, standby dealertas. Todasestasoperaciones se pueden realizar de formageneralsobreungranconjuntodealertas. Paraaadirnuevasalertassepuedefiltrarporgrupoysedebeseleccionaragente,m duloyel templateaaadir.

Paraborraralertassepuedefiltrarporgrupoysedebeseleccionareltemplate,elgrupo,elagentey porltimolosmdulos.

712

Operacionesmasivas:Alertas

Paraaadiraccionesalasalertassepuedefiltrarporgrupoyaadiragentes,templatesyporltimo laaccinaaadiralasalertas.

Paraborraraccionesdealertassepuedefiltrarporgrupoysedebeseleccionaragentes,templatesy lapropiaaccinaborrar.

713

Operacionesmasivas:Alertas

Para habilitar/deshabilitar alertas se puede filtrar y se debe rellenar agentes, templates y dos columnasconlasopcionesdehabilitar/deshabilitar.

714

Operacionesmasivas:Alertas

Paraponerenstandbyunaalertasepuedefiltrarporgrupoysedeberellenaragentes,templatesy lasalertasquesequieranmodificardeestado.

33.6.Operacionesmasivas:Polticas
Enestaseccinsepuedenrealizardosoperacionesaadiryborraralertasalaspolticas. Paraaadiralertasalaspolticassedeberellenarlapolticadestino,eltemplatequesequiere aadir a la poltica, una expresin regular para matchear con los agentes de la pol tica y los mduloscontenidosenlapoltica.

715

Operacionesmasivas:Polticas

Paraborraralertasalaspolticassedeberellenarlapolticadestino,eltemplatequesequiere borrar en la poltica, una expresin regular para matchear con los agentes de la poltica y los mduloscontenidosenlapoltica.

716

Operacionesmasivas:Polticas

34POLTICAS

717

Introduccin

34.1.Introduccin
PandoraFMStienelacapacidaddegestionarmilesdedispositivosconmilesdem dulosyalertas. Debidoaquelossistemasobjetivodelamonitorizaci npuedenllegaraestarformadosporungran nmerodecomponentesyconelfindefacilitareltrabajoalosadministradoressehandesarrollado lafuncionalidaddelaspolticas. Elaplicadodelaspolticaspermitirpropagarmdulos,alertas,alertasexternasycoleccionesalos agentes de una manera centralizada y homognea; Modificando sus ficheros de configuracin mediantelacaractersticadelaedicinremotadelaconfiguracindelosagentes. Lasoperacionesposiblesenunapolticason: Creado/Eliminado/Duplicadodeunapoltica Aadir/Eliminarunoovariosagentesexistentes Crear/Editar/Eliminarunmdulo Crear/Editar/Eliminarunaalerta Crear/Editar/Eliminarunaalertaexterna Aadir/Eliminarunacoleccinexistente Aadir/Eliminarunmdulodeinventarioexistente Enlazaralapolticaunoovariosmdulosadoptados

Lasoperacionesqueserealizanenunapolticanosehacenefectivashastaquelapolticanoes aplicada. Elaplicadodelasdiferentespolticasesgestionadoporunacola,enlaquesepuedenintroducir paraaplicarunagenteobientodalapoltica.Tambinesposibleintroducirelaplicadodeuna polticatansolodelabasededatossiloscambiosrealizadosnoafectanalaconfiguraci nremota. LagestindePolticasserealizaenlaseccinAdministration>Managepolicies,situadoenlaparte izquierdadelaconsolawebdePandoraFMS:

34.2.Aadirunapoltica
AlpulsarsobreelmenAdministration>Managepolicies,semostrarnlaspolticasdisponibles

718

Aadirunapoltica

Para crear una poltica nueva sepincha sobre el botn Create. Acontinuacin sepresenta la pantalladecreacindeunapoltica,dondeintroduciremoselnombre,elgrupodondeseclasificar yunadescripcinopcional.

34.3.Eliminarunapoltica
Paraeliminarunapolticaesnecesarioquenotenganingnagenteasociado. Siunapolticatieneagentes,elbotndeeliminarestar deshabilitadoyaparecer juntoa lun botnparaeliminartodossusagentes.Estebotnintroducirenlacolaeleliminadodelosagentes, yencuantoseprocese,volveraestaractivoelbotndeeliminadodelapoltica.

34.4.Duplicarunapoltica
Entrelosbotonesdeoperacindeunapolticatenemosunbotnparaduplicarla.

Lacopiaquesecreardelapolticafigurarcomonoaplicadaindependientementedelestadodela polticaorigen.

34.5.Configurarunapoltica
ParaconfigurarlapolticasedebepulsarenelnombredelapolticaenAdministration>Manage policiesodirectamenteenunaccesodirectodelosqueaparecenalposicionarelcursordelrat n
719

Configurarunapoltica

sobrelapolticaquesequiereconfigurar.

Dentrodelaconfiguracindeunapolticaademsdelsetupsetienenlassiguientesventanas: Agentes Mdulos Mdulosdeinventario Alertas Alertasexternas Colecciones Linkado Cola Pluginsdeagente

Lasdiferentesaccionesquesepuedenrealizarnoseaplicar nhastaquelapolticaseaplique.Si agregamosalapolticaunagentepodemoscreardiversosmdulosyalertas,porejemplo,pero hastaquenoapliquemoslapolticanoseharnefectivos. Del mismo modo, si tenemos una poltica aplicada y le modificamos o eliminamos elementos, tampocoserealizarnloscambioshastasusiguienteaplicacin. Todosloscambiossevernreflejadosenlaventana"Cola",yallsepodrintroducirlapolticaala coladeproceso,dondeesperarsuturnoparaseraplicada.

34.5.1.Propagacindepolticas
Lapropagacindepolticassignificalaactivacindelosmdulos,alertasycoleccionesconfigurados enlosagentesquesehandefinido.Estoimplicaquesea adirandichosmdulosyalertasalos agentes. Unapolticasepuedepropagarenunagentedeterminadoounapolticaentera. ParahacerloenunagentedebemosiralaseccinAgentesyescogerqueagentedeseamosaplicar. SiloquequeremosesaplicartodalapolticadebemosiralaseccinCola.

34.5.2.Gestindelacoladepolticas

720

Configurarunapoltica

Enlacoladeoperacionesdelapolticahayunresumendeloselementosquehansidocambiados desdelaltimaaplicacin. Enestalistatenemosloselementospendientesdeactualizarylospendientesdeeliminar: Pendientesdeactualizar Agentes Mdulosadoptadospendientesdeenlazar Mdulosadoptadospendientesdedesenlazar Pendientesdeeliminar Agentes Mdulos Mdulosdeinventario Alertas Alertasexternas Colecciones Esteresumennosindicar siesnecesarioaplicaronolapoltica.Enocasiones,juntoaliconode agentespendientesdeaplicaraparecerunbotnparaaplicarlos. Silasmodificacionespendientessoloafectanalabasededatos(porejemplocambiosenalertas) estebotnsoloharcambiosaesenivel,porloquelaaplicacinsermsrpida.

Encambiosisehatocadoconfiguracinqueafectaalosficherosdeconfiguracin(porejemplosi sehanmodificadocoleccionesomduloslocales)laaplicacinsercompleta.

Debajodelresumenhayunbotnparaaplicartodo,independientementedeltipodemodificaciones pendientes.

Cuando seleccionamos aplicar estaremos aadiendo los agentes de la poltica a la cola de aplicacin.ElservidordePandoraFMSserelencargadodeiraplicandolaspolticaspendientesen lacola.Sirefrescamoslapantallapodremosirviendoelprogresodelaaplicaci nycuandotermine figurarenlacolacomocompletajuntoaltiempoquehapasadodesdequetermin.

721

Configurarunapoltica

34.5.3.Agentes
Enestaventanasepuedeagregaroeliminaragentesdelapoltica

34.5.3.1.Accionesmasivas
Lapartesuperioresparaagregar/eliminaragentesdeformamasiva.

Sepuedenfiltrarporgrupoyconunasubcadena.Delosagentesdisponiblessepuedehaceruna seleccinmltipleparaagregarlosalapolticapulsandoenlaflechaqueapuntahacialaderecha.
722

Configurarunapoltica

Estosagentespasarnalacajadeladerecha,estandoasociadosalapol ticaperopendientesde aplicar. Delmismomodo,losagentesdelapolticasepuedeneliminarconseleccinmltipleayudadosde unfiltradodelamismaformaparapasarlosalacajadelaizquierdaconlaflechaqueapuntahacia laizquierda.Cuandosemarcadeestemodounoovariosagentesparaeliminarlosdelapol tica aparecern como tachados en la caja de la derecha, pudiendo ser reasociados a la pol tica seleccionndolosdenuevoenlacajadelaizquierdayasocindoloscomosinoloestuvieran.

34.5.3.2.Accionesunitarias
Enlaparteinferiordelaventanasedisponedeunalistacontodoslosagentesasociadosala politicaincluyendolosqueestnpendientesdeeliminarsedelamisma.

Lalistadeagentesdisponedeunfiltroporgrupo,subcadenaosuestadodeaplicaci n.Enellase muestra: Elnombredelagente Laconfiguracinremota Elestadodelagenteenlapoltica Elnmerodemdulosdeslinkadosenelagente Elbotnparaintroducirdichoagenteenlacolaparaseraplicado Lafechayhoradelaltimaaplicacin Elbotndeeliminado/deshacereliminar

Cuandounagenteeseliminado,aparecerconelnombretachadoyenlugardebotndeeliminado unbotnparadeshacerlaeliminacinyvolveraasociarelagentealapoltica.

34.5.4.Mdulos
Elmendemdulospermiteconfigurarlosmdulosquesevanaaadiralapoltica.

723

Configurarunapoltica

Para aadir mdulos hay que elegir el tipo de mdulo en el men desplegable, seleccione un mdulodelosseisposibles(dataserver,red,complemento,WMI,predictionyWeb)ypulsarel botnCreate.

34.5.4.1.Crearunmdulodeldataserver
Losmdulosdeldataserversonlosmdulosqueseaadenalosagentessoftware,paratrabajar conestosmdulosesnecesarioquelosagentestenganhabilitadalaconfiguracinremota. ParacrearunmdulodeldataserverseeligelaopcinCreateanewdataservermoduleyse pulsaenelbotnCreate.

Despusselepresentar unapantallaparaquepuedaconfigurartodosloscamposdelm dulo.El campoDataconfigurationeselquepermiteintroducirelc digodelmduloqueseaplicaralos agentes que se suscriban a dicha poltica. Esta modificacin se ver reflejada en el fichero pandora_agent.confdelpropioagente.

724

Configurarunapoltica

PulsandoenAdvancedOptionsseaccedealasopcionesavanzadas.

Se puede ver la descripcin de los campos de estas pantallas en el cap tulo de plantillas y componentes. Haydosopciones:rellenarloscamposohaberdefinidoconanterioridaduncomponentelocal

34.5.4.2.CrearunmdulodelServidordeRed
LosmdulosdelservidorderedsonlosmdulosquesegestionanatravsdelservidordeRed. ParacrearunmdulodelservidordeRedseeligelaopcinCreateanewnetworkservermodule ysepulsaenelbotnCreate.

Despusselepresentarunapantallaparaquepuedaconfigurartodosloscamposdelmdulo.

725

Configurarunapoltica

PulsandoenAdvancedOptionsseaccedealasopcionesavanzadas.

Se puede ver la descripcin de los campos de estas pantallas en el capitulo de plantillas y componentes. UnavezsehanrellenadotodosloscampossepulsaenelbotnCreate Teniendoencuentaqueenlamayoradelasocasioneslosmdulosserepiten,enlugarderellenar loscamposcadavezqueseaadeunmduloesmejordefinirlopreviamentecomouncomponente yusardichocomponente. ParausaruncomponenteserellenaelcomboquehayenUsingmodulecomponentdondeseelige entrelosdiferentesgruposdecomponentes

Unavezsehaelegidoelgruposedespliegaotrocombodondesepuedeelegirelcomponentequese quiereusar.

726

Configurarunapoltica

EnelejemplosehaelegidoelcomponenteCatalystCPUUsagedelGrupoCiscoMibs.

Unavezelegidoelcomponenteesposiblemodificarcualquierade loscampos.Una vez sehan rellenadotodosloscampossepulsaenelbotnCreate

34.5.4.3.CrearunmdulodelServidordeComplementos
Losmdulosdelservidordecomplementossonlosmdulosquesegestionanatravsdelservidor decomplementos. ParacrearunmdulodelservidordecomplementosseeligelaopcinCreateanewPluginserver moduleysepulsaenelbotnCreate.

presentarunapantallaparaquepuedaconfigurartodosloscamposdelmdulo.

727

Configurarunapoltica

PulsandoenAdvancedOptionsseaccedealasopcionesavanzadas.

Se puede ver la descripcin de los campos de estas pantallas en el capitulo de plantillas y componentes. UnavezsehanrellenadotodosloscampossepulsaenelbotnCreate Teniendoencuentaqueenlamayoradelasocasioneslosmdulosserepiten,enlugarderellenar loscamposcadavezqueseaadeunmduloesmejordefinirlopreviamentecomouncomponente yusardichocomponente.Elusodecomponetesestaexplicadoenelapartadodecrearunm dulo dered.

34.5.4.4.CrearunmdulodelServidordeWMI
LosmdulosdelservidordeWMIsonlosmdulosquesegestionanatravsdelservidordeWMI. ParacrearunmdulodelservidordeRedseeligelaopcinCreateanewWMIservermoduleyse pulsaenelbotnCreate.

Despusselepresentarunapantallaparaquepuedaconfigurartodosloscamposdelmdulo.

728

Configurarunapoltica

PulsandoenAdvancedOptionsseaccedealasopcionesavanzadas.

Se puede ver la descripcin de los campos de estas pantallas en el capitulo de plantillas y componentes. UnavezsehanrellenadotodosloscampossepulsaenelbotnCreate Teniendoencuentaqueenlamayoradelasocasioneslosmdulosserepiten,enlugarderellenar loscamposcadavezqueseaadeunmduloesmejordefinirlopreviamentecomouncomponente yusardichocomponente.Elusodecomponetesestaexplicadoenelapartadodecrearunm dulo dered.

34.5.4.5.CrearunmdulodelServidordePrediccin
LosmdulosdelservidordePrediccinsonlosmdulosquesegestionanatravsdelservidorde Prediccin. ParacrearunmdulodelservidordePrediccinseeligelaopcinCreateanewpredictionserver moduleysepulsaenelbotnCreate.

Despusselepresentarunapantallaparaquepuedaconfigurartodosloscamposdelmdulo.

729

Configurarunapoltica

PulsandoenAdvancedOptionsseaccedealasopcionesavanzadas.

Se puede ver la descripcin de los campos de estas pantallas en el capitulo de plantillas y componentes. UnavezsehanrellenadotodosloscampossepulsaenelbotnCreate Elcasodelosmdulosdeprediccinnoexistencomponentes.

34.5.4.6.CrearunmdulodelservidorWeb
LosmdulosdelservidorWebsonlosmdulosquesegestionanatravsdelservidorWeb. ParacrearunmdulodelservidorWebseeligelaopcinCreateanewwebservermoduleyse pulsaenelbotnCreate.

Despusselepresentarunapantallaparaquepuedaconfigurartodosloscamposdelmdulo.

730

Configurarunapoltica

PulsandoenAdvancedOptionsseaccedealasopcionesavanzadas.

Se puede ver la descripcin de los campos de estas pantallas en el cap tulo de plantillas y componentes. UnavezsehanrellenadotodosloscampossepulsaenelbotnCreate ElcasodelosmdulosWebnoexistencomponentes.

34.5.4.7.Modificarunmduloyacreado
Esposiblemodificarcualquieradelosmdulosasignadosaunapoltica.

731

Configurarunapoltica

Para ello basta con pulsar en el nombre del mdulo para que aparezcan las opciones de configuracindelmdulo. UnavezsehanmodificadosepulsaenbotnUpdate

34.5.4.8.Borrarunmduloyacreado
Paraborrarelmdulodelapolticayquitarlodelosagentesquelotenganinstaladosedebepincha enlaequisquehayenlalneadelmdulo.Unavezhechoelmduloseguir apareciendopero tachadoyelbotndeborradosesustituirporunoquedeshacelaaccin.

34.5.4.9.Usandopluginsdentrodelaspolticas
Elformatousadoesrelativamentesencillo.Paraellobastacon"enga ar"alsistema,declarandoun moduloporcadatipodemoduloquedevuelvaelplugin,paraello,hayquesaberdeantemano cuantosmodulospuededevolverelplugin,sinoestamosdeltodoseguros,podemosoptarpordar dealtaunavezelpluginyquelosmodulosquesecreenlohaganfueradelapol tica,losdatos
732

Configurarunapoltica

llegarn,peronopodemosparametrizarlosconlaspoliticasyaquesonmodulosquellegar nsin estarasociadosalapoltica. Todos los datos vinculados a una poltica han de estar previamente definidos. Las polticas no contieneninformacion"nodefinida"explcitamente. Supongamosquevamosaejecutaresteplugin,quedevuelve,deformadin micamente,elespacio libreenbytesdetodaslasunidadesdelsistema. Enesteejemplolasalidadelpluginmedevuelvevariasunidades(C:,D:yZ:)

Deberiadefinir,siquierogestionarloscomomodulosdepolticas,variosmodulos,ysoloenunode ellosdefinirlallamadarealalplugin,dejandoenotrosotros,elcampomodule_pluginvacio:
module_begin module_name C: module_type generic_data module_plugin cscript //B "%ProgramFiles%\pandora_agent\util\df.vbs" module_end module_begin module_name D: module_type generic_data module_plugin module_end module_begin module_name Z: module_type generic_data module_plugin module_end

34.5.5.Mdulosdeinventario
Enunapolticatambinsepuedecrearmdulosdeinventarioescogiendounodelalistadelos disponiblesenelsistema,unintervaloylascredenciales.

733

Configurarunapoltica

Aligual que con el resto deelementos de las polticas si eliminamos un mdulo de inventario aparecertachadoyenlugardelbotndeeliminadoaparecerunbotnparadeshacerlaaccin.

34.5.6.Alertas
ElmendeAlertaspermiteconfigurarlasalertasquesevanaaadiralapoltica.

34.5.6.1.Aadiralertas
Aadirunaalertaesmuysencillosimplementeseasociaunodelostemplatesdealertasdefinido previamenteoconunodelosmdulosconunmdulopertenecientealapolticaysepulsaenel botnAdd.

734

Configurarunapoltica

34.5.6.2.ModificacindeAlertas
Sepuedeaadiracciones,ponerenstandbyodesactivarunaalerta. Sisedeseacambiarelmduloolaplantillasedebedeborrarycrearunanuevaalerta.

34.5.6.3.BorradodeAlertas
Paraborrarlaalertadelapolticayquitarladelosagentesquelotenganinstaladosedebepincha enlaequisquehayenlalneadelaalerta.Alhacerlolaalertapermanecerenlalistaperoconel nombretachadoyelbotndeborradosersustituidoporunbotnparadeshacerlaeliminacin.

34.5.7.AlertasExternas
LasAlertasExternassonsimilaresalasAlertas,ladiferenciaesqueestaspermitenenlazaralertas conmdulosdeagentesquenoestnenlalistaprincipaldemdulosdelapoltica.Esmuy til paraasignaralertassloaalgunosmdulosdeagenteynoatodosellos.

34.5.7.1.AadirAlertasExternas
ParacrearunaAlertaExterna deberellenarelsiguienteformulario,elprimercamposirvepara seleccionarlosmdulosdeagente,sloaparecernlosquenoestnpresentesenlapoltica.Enel segundocampopuedeseleccionarlaplantilladealerta.

34.5.7.2.ModificacindeAlertasExternas
TeniendoencuentalosencilloqueesaadirAlertasExternasylaspocasvariablesnoexistela posibilidaddemodificarAlertasExternas.ParamodificarunaAlertaExternasedebedeborrary crearunanueva.

34.5.7.3.BorradodeAlertasExternas
ParaborrarlaAlertaExternadelapolticayquitarladelosagentesquelotenganinstaladosedebe pinchaenlaequisquehayenlalneadelaAlertaExterna.

735

Configurarunapoltica

Elsistemadeborradoesigualqueeldelasalertasnormales,nosehar efectivohastaquese aplique la poltica y en lugar del botn de eliminado aparecer un botn para deshacer la eliminacin.

34.5.8.Tiposdemdulos
Cuandoseaplicaunapolticasepuedenverdiferentesmdulosenlavistadeagente.Sivaalmen ManageAgents>Modulespodrvertrestiposdemdulosdiferentes.

34.5.8.1.Mdulosadoptados
Estosmdulosfueroncreadosenlapolticaconelmismonombredeunmduloyaexistenteenel agente.AlaplicarlapolticaPandoraFMSusarlosdatosdelmduloexistenteenlugardecrearun nuevomdulo.

Al borrar un poltica, los mdulos adoptados no son borrados de los agentes. nicamente son marcadoscomomdulosnoadoptadosylalneaparaestosmdulosseras.

34.5.8.2.Mdulosenlazados
Estosmdulossoncreadosenlapolticayalaplicarlapolticasecreantambinenelagente.Estos sonlosmdulosnormalescreadosenlaspolticas.

736

Configurarunapoltica

PuedeenlazarydesenlazarmodulosllendoaManageAgent>Modules,entoncesseleccionarel mduloescogidoypulsarestebotnparanoenlazarelmdulo.

Yestebotnparaenlazarelmdulo.

Cuandoseborraunapoltica,losmdulosenlazadosynoenlazadosseborrandelosagentes.

34.5.8.3.Mdulosnoenlazados
Cuandounmdulonoest enlazadolosfuturoscambiosrealizadosenlapolticanoseaplicarn sobreellos.Losmdulosnoenlazadossontilesporquepermitenestablecerexcepcionesindividuales amdulospertenecientesenunapoltica,deestamanerapodemos"personalizar"unagentedentro deunapolticasinsacarlodelapoltica,ysoloparaunmdulodeterminado.

Loscambiosenlaspolticassernaplicadosslocuandoelmdulovuelvaaestarenlazado.

34.5.9.Coleccionesdeficheros
Unacoleccindeficheros,nosloesunaopcinparapolticas,peroseutilizageneralmenteen polticas.Unacoleccindeficherosesungrupodeficheros(scripts,y/oejecutables)quesecopian automticamente a un directorio especfico del agente (Windows o Unix). Las colecciones de ficherospermitenquesepropagenconlaspolticas,demaneraquepuedenserutilizadasporun grupodeagentes,usandoun"paquete"desriptsydemdulosquelosusan. Primeroaprenderemoscmoutilizarlascoleccionesdeficherosenlavistadeagente,modomanual, agenteporagente,sincolecciones,ycmohacerlomismoconlaspolticas. Nuestra primera tarea es hacer una recopilacin de ficheros en s. Para hacer esto, vaya al administradordelagenteydespusveremosuna"subopcin"llamada"Collections":hagaclicken ellaparacrearunanuevacoleccin,talcomopodemosverenlasiguientecapturadepantalla:

737

Configurarunapoltica

Una vez que hayamos creado una coleccin de ficheros, subiremos cualquier fichero a esta coleccin.Estapuedeserbinarios,scriptsoficherosdedatos.Todoslosficherosir nalmismo directorio de base. Cada coleccin tiene su propio directorio base, que es tremendamente importante. En la consola, estos se almacenan como /pandora_console/attachment/collection diretorywithanamelikefc_XXX,dondeXXXeslaIDnumricadelacoleccin.Lascoleccionesde ficherospuedencontenersubdirectorios.Lascoleccionesdeficherossetransfierencomoficheros ZIPalagente,mediantetentacle.Lascoleccionesdeficherosest n nicamentesoportadasconel mododetransferenciadeTentacle. Ahorapodemosvercomolacoleccinquehemoscreado(fc_3)tienedosficherosdescargados:

Enestecaso,sivolvemosalapantalladelacolecci nprincipal,podemosverambascolecciones comouniconotriangular,loqueindicaqueexisteunproblema.Estosucedeporquelacolecciones noestnsincronizadas,ydebemossincronizarlas,haciendoclickenesemismoiconotriangular.

Cuandounacoleccindeficherosest sincronizada,apareceuniconoconunaflechaazul,taly comosepuedeverenlasiguientecaptura:


738

Configurarunapoltica

Unavezquesehayasincronizadolacoleccin,seaplicar alagente,estavezsinutilizarpolticas. Vayaalmododeadministradordelagenteybusqueeltabuladordelacolecci n(uniconoen formadedisco).Allaparecenlascoleccionesdisponibles,demaneraquepodemosescogerunade ellasyaplicarlaalagente,enestecaso,delejemploanterior(utilidadesWindows):

Ahorayaest aplicado.Laprximavezqueelagentecontacteconelservidor,obtendremosel ficheroytambinunapequeamodificacinenelfichero.conf,queenestecasosereste:

file_collection fc_3

739

Configurarunapoltica

34.5.9.1.Coleccionesdeficherosypolticas
Estofuncionademaneramuyparecidaalascoleccionesdeagentesindividuales,peroenlugarde aplicarunacoleccinsobreunagenteespecfico,seaplicaaunapoltica,talcomosepuedevera continuacin:

Sisequiereutilizarunmduloqueempleeunficheroincluidoenlacoleccin,esmuysencillo: hagareferencia nicamentealdirectorioquecontienelacoleccin,utilizandosuid.fija.Esteesun ejemplousandounmduloplugin:

Parasabercmofuncionanlaspolticasconpluginsvealaseccinespecficaenestecaptulo.

740

Configurarunapoltica

34.5.9.2.Ubicacindelascoleccionesdeficherosenelagente
Cadacoleccindeficherostieneun"nombrecorto",enesteejemplo,sellama"fc_3",estosignifica quelasutilidades,scriptsoejecutablesqueestndentrodelacoleccin,estarnen %Archivosde programa%\pandora_agent\collections\fc_3.Esimportantesaberquelacoleccinsecomprimepara suenvoalagente,porloqueeste ltimodebecontarconlaherramientaunzipparapoderas descomprimirelfichero.Apartirdelaversin3.2delagente,estautilidadseinstaladentrode %Archivosdeprograma%\pandora_agent\utils. Esnecesariosaberestoparapoderusarmdulosquefuncionentrabajandoconesosficheros,para poderespecificarlaruta"real"completa.Veamosotroejemplo: Sielnombrecortodelacolecciones"fc_18",laubicacionsera(enelcasodeunordenadoren ingles):%ProgramFiles%\pandora_agent\collections\fc_18. Cada coleccin de ficheros se almacena en una direccin diferente, para evitar que diferentes coleccionesdeficherossesobreescribanotenganconflictosentreellas. Cualquierficheromodificadolocalmente(enelmismosistemadondeseejecutaelagente),ser sobreescrito por el agente cuando este contacte con el servidor. Esto se hace para evitar modificaciones locales, y asegurarse de que las colecciones son id nticas en todos los sistemas dondesehadesplegadolasmismas.Estemecanismousaelmismom todoqueusalagestinde configuracionesremotas,basadoenhashesmd5. Esteesunejemplodeusodeunplugin,queusaelfichero"df_perfecnt.vbs",contenidoenuna coleccionllamada"fc_3"paraunagenteWindows:
module_plugin cscript //B "%ProgramFiles %\pandora_agent\collections\fc_3\df_percent.vbs"

34.6.Accesoextraapolticas
Sepuedehabilitaraccesoextraaunapolticaparausuariosquenotenganaccesoalgrupoalque pertenece.Estoseharenlaedicindeusuarios:

Hay que tener en cuenta que un usuario con acceso extra a una pol tica podr ver todos los componentesdelapoltica:agentes,mdulos,alertas,colecciones... Esteaccesoeslimitadoadichoselementos. Porejemplo:
Tienes un usuario de Pandora FMS. El sistema tiene los grupos A, B y C. Hay un agente "age" en el grupo A con 1 mdulo "mod".

741

Accesoextraapolticas

Existe una poltica "pol" con un mdulo "mod_pol" en el grupo B. A sta poltica se le agrega el agente "age". Tu usuario tiene acceso al grupo C y se le da acceso extra a la poltica "pol". En la lista de agentes, adems de todos los del grupo C, puedes ver el agente "age". En la lista de mdulos del agente "age", puedes ver el mdulo de poltica "mod_pol" pero NO el mdulo del agente "mod". Si el agente "age" estuviera, adems, en otra poltica, los mdulos de esa poltica solo se mostraran si tuvieras acceso a la poltica. Este acceso puede ser porque tienes acceso extra a la poltica, o porque la poltica est en el grupo C, al que ya tienes acceso.</pre>

742

Accesoextraapolticas

35EXPORTSERVER

743

Introduccin

35.1.Introduccin
LaversinEnterprisedePandoraFMSimplementa,medianteelExportServer,unmecanismode escaladodedatosquepermitevirtualmenteunaimplantaci ndistribuidacapazdemonitorizarun nmero ilimitado de informacin, siempre que se disee adecuadamente y se disgregue en diferentesperfilesdeinformacin. Laideabaseradicaencrearunaestructurajerrquicaquerepartalainformacindeabajoaarriba, siendoelpuntosuperiorelmsglobal,querecogeslounextractodeinformacinbsicadelas instalaciones de Pandora FMS a ms bajo nivel, en lugar de recolectar un nmero mayor de informacin,yquepermitenalainstalacinsuperiordePandoraFMSunavisinfiltradayde mayordensidaddeinformacin.

Elservidorqueexportaestjerrquicamentedebajodelservidorquerecibeestainformacin.Enun esquemadiferentedelavisinfiltrada,sepodrausarestatecnologaparahacerunarplicade todoslosdatosreportadosporunservidor,aunquepodraafectaralrendimientodelservidorde formaimportante. Cada instalacin independiente de Pandora FMS podr exportar aquellos datos que el administradordecidaaunooavariosservidores. Sepuedenexportardatosprocedentesdemdulos,deformaqueunainstalacinjerrquicamente superiordePandoraFMSrecibanicamenteaquellosdatosrelevantes. El tratamiento de los eventos, vistas, informes, usuarios y permisos ser diferente para cada instalacindePandoraFMSqueatodoslosefectosserninstalacionescompletamentediferentes. Instanciassuperioresnopodrnejecutarentiemporealpeticionesderefrescodelosdatos,yaque estosdatosseobtienendeformapasivaynoexisteaccesoalgunoaloselementosmonitorizadosde instanciasinferiores,porloquelaseguridaddeacceso,compartimentaci ndelainformaciny accesoainformacinprivilegiadaesttotalmentegarantizadoporeldiseodelaarquitectura. Elservidorquerecibelosdatos,losrecibepormediodeunXMLsimilaralquegenerar aunagente, deformaqueslonecesitatenerhabilitadounservidordedatos.Elservidorsuperior,elquerecibe
744

Introduccin

losdatos, slorecibedatos,norecibenieventos,nipuedereutilizarlasalertasdefinidasenel servidorqueoriginalmenterecibelosdatos,esdecir,deberdefinirsuspropiasalertas,ascomosus propiosinformes,grficaspersonalizadas,etc.

35.2.Aadirunservidordedestino
Para exportar los datos de un mdulo el primer paso es definir un servidor de escalado con diferentesopcionesdeconfiguracinquepermitancrearenenlacedeexportacinentreunservidor queexporta(ocliente)yunservidorqueimporta. EnAdministration>ManageServers>ExportTargetssepulsaenCreate

UnavezsehapinchadoenCreateapareceunapantallacomolasiguiente.

745

Aadirunservidordedestino

Acontinuacinsedetallanloscampos: Name ElnombredelservidordePandoraFMS. ExportServer Combodondeseeligelainstanciadelservidordeexportserverqueseusaraparaexportalosdatos. Preffix Prefijoqueseusaparaaadiralnombredelagentequeenvialosdatos.Cuandosereenviandatos deunagentellamado"Farscape",porejemploysuprefijoenelservidordeexportaci nes"EU01", losdatosdelagentereenviadosernvistosenelservidordedestinoconelnombredeagenteEU01 Farscape.Estopermiteconocerelorigendelosdatosenelcasodequeenunservidorrecibamos diferentesfuentesdeinformacin,provinientesdediferentesservidoresPandoraFMS,asisefuerza ademsqueexistaduplicidaddenombres.Elservidorsiemprea adir elcarcter"_"despusdel prefijo,asiqueaunqueestesedejeenblanco,elcarcter"_"sepondr delantedelnombredel agenteenelservidordestino, Interval Se define el intervalo de tiempo cada cuantos segundos se quieren enviar los datos que haya pendientes.Losdatosserecogensiempredelafuenteoriginal,esdecir:siunagenterecogedatos cada300segundosyaquiconfigura1000segundos,significaqueelservidorenviar loquetenga acumuladohastaesemomento,enestecasocaso,3paquetesdeeseagenteconintervalo300. Targetdirectory Ser el directorio de destino (usado para SSH o FTP nicamente) donde dejar los datos remotamente. Address Direccindelservidordedatosquevaarecibirlosdatos. TransferMode:Mododetransferenciadearchivos.Sepuedeelegirentre: Local:elservidorquerecibelosdatosest enlamismamquinaqueelservidorquelos
746

Aadirunservidordedestino

exporta. SSH:latransferenciasehaceporSSH.Esnecesariocopiarelcertificadodelservidoque exportalosdatosenelservidorquelosrecibe. FTP:latransferenciasehaceporFTP. Tentacle:latransferenciasehaceporTentacle(recomendado). User UsuarioparaFTP Password PassworddelusuariodeFTP Port Puertousuadoenlatransferenciadearchivos.ParaTentacleelpuertostandard41121. Extraoptions Campoparaopcionesadicionales,comoporejemplolasquenecesitatentacleparatrabajarcon certificados. Enlasiguienteimagenseveunejemplo:

UnavezsehancompletadotodosloscampossepulsaenelbotnAdd.Yelservidorsehacreado.

747

Aadirunservidordedestino

35.3.Editandounservidordedestino
Paraeditarunservidordedestinosepinchaenelnombredelservidordedestinoobienenelicono quesemarcaenlaimagen.

35.4.Borrandounservidordedestino
Paraborrarunservidordedestinosepinchaenlaxrojaquehayaladerechadelnombredel servidordedestino.

35.5.Asociandounservidordedestinoaunmdulo.
Paraescalarlainformacinesnecesariomarcarunoaunoaquellosmdulossusceptiblesdeenviar informacinaunainstanciasuperior.Paraello,eleditordemdulosdelaconsoladePandoraFMS implementaunaopcinquepermiteasignarunservidordeexportacinparacadadato. ParaeditarunmduloenunagenteseeligeunagentedesdeAdministration>Manageagents. DespusdefiltrarsepulsaenelaccesodirectoModulesquehaydebajodelnombredelagente. (Dichoaccesodirectoaparecealcolocarelratnsobreelnombredelagente).

748

Asociandounservidordedestinoaunmdulo.

Paraeditarunmdulosepinchasobreelnombredelmdulo,enelejemploseeligeelmdulo cpu_user.

Alpincharsobrelenombredelmduloaparecelapantalladeconfiguracindelmismo.Parapoder exportareldatoesnecesarioaccederalasopcionesavanzadas,paraellosepinchaenAdvanced Options.

Unavezsehanabiertolasopcionesavanzadasseeligealservidorquesequierenexportarlosdatos enelcomboquehayenlaopcinExporttarget,dondepordefectoestaelejidalaopcinnone

749

Asociandounservidordedestinoaunmdulo.

SepulsaenUpdateparaquePandoraFMSempieceaexportarlosdatosalservidorelegido.

750

Asociandounservidordedestinoaunmdulo.

36METACONSOLA

751

Introduccin

36.1.Introduccin
LaversinEnterprisedePandoraFMS,graciasalametaconsola,implementaunamaneradepoder distribuirlamonitorizacinentrediferentesservidoresdePandoraFMSfsicamenteindependientes. Cadaservidortienesupropiabasededatos,consolayservidor,yporsupuestosuspropiosagentes, alertas,informes,einclusousuarios,gruposypolticas.

Lametaconsolanoprocesainformacin,slamente"lee"lainformaciondesufuenteoriginal,deel servidordePandora donderealmenteest almacenada lainformacin,soloquelametaconsola puedebuscarunagenteenTODOSlospandoras,ymostrarlasvistasdedatosdecadaagentede cada Pandora, simplemente enlazando automticamente las vistas de datos "locales" de cada Pandora. Esto es posible mediante la autenticacin delegada (mediante hash) que implementa Pandora FMS desde la version 2.1, que permiteque unusuario previamente autenticado en la metaconsolanotengaqueautenticarseenunodelospandorasasociadoalametaconsola. Deestaforma,noexistelmitetericodemximonmerodemquinasamonitorizaryaque podamos ir aadiendo servidores de Pandora de forma lineal para lograr la escalabilidad que deseemoscomoseveenelsiguienteejemplo,dondesisuponemosquecadaservidorprocesa1200 agentes,podemosverquefcilmentepodemossuperarlos6000agentesmonitorizadosaadiendo5 servidores:

752

Introduccin

36.2.Configuracin
Elprimerpasoesactivarlametaconsola,quepordefectoestdesactivada.Hayqueresaltarqueun sistemaMetaconsolaNOdeberiagestionaragentespropios.Paraelloloidealesusarelsistemade ACL'senterprisepararestringirelaccesoalosmensnormales,inclusoaladministrador. Para activar la metaconsola, basta con activar la siguiente opci n del menu principal de configuracin:

AdemsesnecesariocompletarlalistadeIPsquequeremosquetenganaccesoalnododePandora
753

Configuracin

queactualmenteseestconfigurando,sepuedenutilizarexpresionesregularesparaindicarrangos deIPs.Tambinesnecesariorellenar eltokendeautetificacinquepermitir acceder desdela metaconsolahastaestaconsolasinnecesidaddelogearse(verapartadosiguiente).Por ltimo,se deberellenarlapasswordparaelAPIquepermitir accederalametaconsolaalasoperacionesde dichaAPI. Unavezactivadalametaconsolaveremosalgunoscambiosenlacabecera,porporejemplo,queno haybarradebsquedaniopcionesoinformacindeestadodelservidor. Elsiguientepasoesdefinir,unoporuno,lossistemasPandoraFMSquevamosagestionardesdela metaconsola.Paraello,despusdeactivarlametaconsola,podremosverunanuevaopci nenel men deadministracin,llamado"Metaconsola".Enestaseccinespecficadeconfiguracindela metaconsola,debemosdefinirelaccesoaunservidordePandora.Paraellonospedir algunos datos: Servername:Nombredelservidorqueidetificartodosloselementosquevengandeeste. DBHost,DBUser,DBName,DBPassword:Parapoderextraerlainformaci ndelabasede datosymostrarlaenlametaconsola. ConsoleURL:Parapodercrearlosenlacesdeaccesoalainformaci ndirectaenlaconsola dedestino.Porejemplo:http://192.168.70.233/pandora_console Authtoken:PalabraquehadeserdefinidaenlaconsoladelPandoradedestinosiqueremos queusuariosdelametaconsolapuedanentrarenlaconsoladedestino(verenelsiguiente apartado).. Este token es obligatorio y no puede ser cadena vaca, adems debe estar definidoenlamquinadestino. ParaalgunasoperacionesdelametaconsolaesnecesariodefinirlaIP(oelcar cter*para todasaccesodesdecualquierIP,peroes inseguro)encadaunadelosPandoraConsole gestionadosporlametaconsola. API password:Password dela API que tiene que tenerconfiguradoel nodo que se est completando. Console user: Usuario de la consola que pertenezca al nodo de Pandora que se est configurando. Consolepassword:Passworddelusuarioanteriormentecompletado.

Estos dos ltimos parmetros son necesarios para que la conexin al API del nodo de Pandora se realice correctamente ya que algunas funcionalidades de la metaconsola la utilizan.

754

Configuracin

36.2.1.Usodelaautenticacindelegada
Sebasaenuntokenquegeneraunhashconelnombredeusuario,deformaquealhaceruna llamadaalaconsoladecadaunodelosPandorasincluidosenlametaconsola,estadar como buenalaautenticacinrealizadaenlametaconsola.Estosuponequesitengounusuario"pepe"en "pandora2"yquieroentrarenpandora2como"pepe",primerotendrqueentrarcomo"pepe"enla metaconsola, por ello tendr primero que tener un usuario creado en la metaconsola con el username"pepe". Comoseindic anteriormente,parapermitirenlasconsolasdepandora"normales"quealguien entreconlaautenticacindelegada,hayquedefinirun"token"encadaunadeellas,talcomoseve enlacapturadepantallasiguiente:

Configuracin del tokende autenticacin, en la pantalla principal deconfiguracin de Pandora FMS.

36.3.Visualizacin
LametaconsolaademsdebuscarunagenteentrelosdiferentessistemasPandoraFMSalosque "gestiona", tambin permite visualizar una tabla general de estadstica por servidor y/o grupo. Podemosusarvariasherramientasbsicasparavisualizarinformacingeneral:
755

Visualizacin

Porservidor(totales) Porgrupo/servidor. Eventos,mezclandolainformacindetodoslosservidores. Bsquedadeagentes.

Hayquetenerencuentaqueinformacinquevisualizacorrespondealainformacinlosperfilesde acceso(ACL)quetieneelusuarioactualdelametaconsolaencadaunodelosservidores.Esdecir, sielusuario"Juan"delametaconsola,solotieneaccesoalgrupo"Servidores"dePandora1,yal grupo"Herramientas"dePandora2,soloverlosdatosdeesosgruposenesosservidores,ignorando elrestodeinformacinalaquenotuvieraacceso.

756

Visualizacin

36.4.Gestinsimultneademltiplessistemas
Lametaconsolanosolosirveparavisualizarinformacin,tambinsirvepara: Sincronizarusuarios.GestindeUsuarios Sincronizaralertas(templates,accionesycomandos).GestindeAlertas CopiarpolticasdeunsistemaPandoraFMSaotro.GestindePolticas Sincronizarbibliotecasdemdulos(tantoderedcomolocales).GestindeComponentes MoveragentesdeunsistemaPandoraFMSaotro.GestindeAgentes

757

Gestinsimultneademltiplessistemas

36.4.1.GestindeUsuarios
DesdeestaseccinesposiblesincronizarusuariosentrevariossistemasPandoraFMS. Esmuyfcileintuitivorealizarestatarea.

Acontinuacinsedescribenloselementosdisponiblesenestapantalla: Origen:ElegiraquelsistemaPandoraFMSdesdeelquesequiereseleccionarlosusuariosa sincronizar. Usuarios:Elegiraquelolosusuariosdeseadosasincronizar.Esposibleelegir nicamente unusuarioovariosalavez. Destino:Elegiraqu elsistemaPandoraFMSconelquesequierensincronizarlosusuarios previamenteseleccionados. Botn"Sincronizado":pulseaqucuandodeseellevaracabolaoperacindesincronizado.

36.4.2.GestindeAlertas
Desdeestaseccinesposiblesincronizaralertas(incluyendosustemplates,accionesycomandos) entrevariossistemasPandoraFMS. Esmuyfcileintuitivorealizarestatarea.

758

Gestinsimultneademltiplessistemas

Acontinuacinsedescribenloselementosdisponiblesenestapantalla: Origen:ElegiraquelsistemaPandoraFMSdesdeelquesequieresincronizarlasalertas. Destinos:Elegiraqu elolossistemasPandoraFMSconlosquesequierensincronizarlas alertas.EsposibleelegirnicamenteunsoloPandoraFMSovariosalavez Botn"Sincronizado":pulseaqucuandodeseellevaracabolaoperacindesincronizado.

36.4.3.GestindePolticas
DesdeestaseccinesposiblesincronizarpolticasentrevariossistemasPandoraFMS. Esmuyfcileintuitivorealizarestatarea. Acontinuacinsedescribenloselementosdisponiblesenestapantalla: Origen:Elegiraqu elsistemaPandoraFMSdesdeelquesequiereseleccionarlapol ticaa sincronizar. Poltica:Elegiraqulapolticaquesedeseasincronizar. Destinos:Elegiraqu elolossistemasPandoraFMSconlosquesequierensincronizarla polticapreviamenteelegida.EsposibleelegirnicamenteunsoloPandoraFMSovariosala vez. Botn"Sincronizado":pulseaqucuandodeseellevaracabolaoperacindesincronizado.

36.4.4.GestindeComponentes
Desdeestaseccinesposiblesincronizarbibliotecasdemdulos(tantoderedcomolocales)entre variossistemasPandoraFMS. Esmuyfcileintuitivorealizarestatarea.

759

Gestinsimultneademltiplessistemas

Acontinuacinsedescribenloselementosdisponiblesenestapantalla: Origen: Elegir aqu el sistema Pandora FMS desde el que se quiere sincronizar los componentes Destinos:Elegiraqu elolossistemasPandoraFMSconlosquesequierensincronizarlos componentes.EsposibleelegirnicamenteunsoloPandoraFMSovariosalavez. Botn"Sincronizado":pulseaqucuandodeseellevaracabolaoperacindesincronizado.

36.4.5.GestindeAgentes
DesdeestaseccinesposiblesincronizaragentesentrevariossistemasPandoraFMS. Esmuyfcileintuitivorealizarestatarea.

760

Gestinsimultneademltiplessistemas

Para usar esta funcionalidad se debe habilitar las IPs en la lista de IPs accesibles al API. Ver Setup

Acontinuacinsedescribenloselementosdisponiblesenestapantalla: Origen:ElegiraquelsistemaPandoraFMSdesdeelquesequieresincronizarlosagentes. Destino:ElegiraquelsistemaPandoraFMSconelquesequierensincronizarlosagentes. Filtrodegrupo:Elegiraqu,siasdedesea,elgrupoporelquefiltrar.Semostrarnlosslo agentesquepertenezcanadichogrupo. Agentes:Elegiraquelolosagentesquesedeseensincronizar.Esposibleelegir nicamente unsoloagenteovariosalavez. Trasrellenarloscamposanteriores,hayquehacerclicsobreelbot ntriangularqueest entrelas doslistasdeagentes.Con l,moveremoslosagentesseleccionadosdesdeelsistemaorigenhastael destino. Para formalizar la operacin, es necesariopresionarelbotn "Mover" con elquefinalmente se llevaracabolasincronizacinentreambossistemas.

761

Gestinsimultneademltiplessistemas

37ALTADISPONIBILIDAD

762

Introduccin

37.1.Introduccin
PandoraFMSesunaaplicacinmuyestable(graciasalaspruebasymejorasintroducidasencada versinyaloscientosdefallosabiertosporlosusuariosyquehansidocorregidos),noobstante,en entornos crticosy/ocon muchacarga, esposiblequesea necesariorepartirlacargaenvarias mquinasytenerlaseguridaddequesialgncomponentedePandoraFMSfalla,elsistemanose vieneabajo. PandoraFMShasidodiseadoparaqueseamuymodular,yquecualquieradesusm dulospueda funcionardeformaindependiente.Perotambinestadiseadoparatrabajarencolaboracincon otroscomponentesysercapazdeasumirlacargadeaquelloscomponentesquehanca do. UndiseoestndardePandoraFMSpodraserelqueseveenlasiguienteilustracin.

Evidentemente,losagentesnosonredundables.Siunagentecae,notienesentidoejecutarotroya quelanicacausadequeunagentecaigaesquenosepuedanobtenerdatosporquealg nmodulo estfallandosuejecucinloquenosepodrasubsanarconotroagentecorriendoenparaleloo porqueelsistemaest incomunicadoosehacolgado.Lasolucinobviaesredundarlossistemas crticos independientemente de que tengan corriendo agentes de Pandora FMS o no y as redundarlamonitorizacindedichossistemas. SepuedehablardeutilizarHAenvariosescenarios: BalanceoyHAdelServidordeDatos. BalanceoyHAdelosservidoresdeRed,WMI,.plugin,webyprediction. BalanceodeCargaenlaBBDD. BalanceoyHAdelosservidoresdereconocimiento. BalanceoyHAdelaconsoladePandoraFMS.

763

Introduccin

37.1.1.BalanceoyHAdelServidordeDatos
Esteeselescenariomscomplejo,yaqueaniveldePandora FMSnoesnecesariosabernada especialsobrelainstalacindelservidor,yencambiosenecesitaemplearotraherramientapara implementarHAyelbalanceodecarga,herramientashardwarecomercialesqueimplementenHAy balanceo,omediantesolucionesOpenSourcecomovrrpd,LVSoKeepalive. ParaelservidordedatosdePandoraFMSnecesitar montardosmquinasconunPandoraFMS dataserverconfigurado(ydiferentehostnameynombredelservidor).Habr queconfigurarun servidor Tentacle en cada uno de ellos y si es necesario un servidor SSH/FTP, con el correspondientetrabajodecopiarlasllavesdecadamquinaenelservidor(SSH).ConTentaclees mssencilloyaquebastareplicarlaconfiguracin.CadamquinatendrunadireccinIPdiferente, yelbalanceadorproveer (aligualqueconelclsterMySQL)una nicadireccinIPalaquelos agentesseconectarnparaenviarsusdatos.Elbalanceadorseencargar deenviarlosdatosal servidorquecorresponda. Si uno falla, el mecanismo de HA promueven uno de losservidores activos disponibles y los agentesdePandoraFMSseguirnconectndoseconlamismadireccinquehacanantes,sinnotar elcambio,peroenestecaso,elbalanceadordecargayanoenviar losdatosalservidorqueha fallado,sinoaotroservidoractivo.Nohaynecesidaddecambiarnadaencadaservidordedatosde PandoraFMS,inclusocadaservidorpuedemantenersupropionombre, tilparasabersiseha cadoalgunoenlavistadeestadodeservidores.LosmdulosdedatosdePandoraFMSpuedenser procesados por cualquier servidor sin que sea necesaria una preasignaci n. Est diseado precisamenteasparapoderimplementarHAdeunaformamsfcil. Otra forma de implementar la HA es mediante el envo desde los agentes, a dos servidores diferentes,unodeellosdereserva(HAActivo/Pasivo)encasodequefalleelprincipal,olosdosa la vez, replicando datos en dos instancias independientes de Pandora FMS. Esto se descibe a continuacincomo"BalanceoenlosagentesSoftware". AlfinaldelcaptulosedescribeelmecanismoparaimplementarHAybalanceodecargaconLVSy KeepalivesobreunservicioTCPquepuedeserelpuertodeTentacle(41121)oelpuertoSSH,FTP ocualquierotro.Elmismoprocedimientosepuedeemplearparaclusterizardosomssistemas sirviendolaconsolaWebdePandoraFMSmedianteunApache.

764

Introduccin

37.1.1.1.Balanceoenlosagentessoftware
DesdelosagentessoftwareesposiblerealizarunbalanceodeservidoresdeDatosyaqueesposible configurarunservidordedatosmasteryotrodebackup. Enelficherodeconfiguracindelagentepandora_agent.confsedebeconfigurarydescomentarla siguientepartedelarchivodeconfiguracindelagente:
# Secondary server configuration # ============================== # If secondary_mode is set to on_error, data files are copied to the secondary # server only if the primary server fails. If set to always, data files are # always copied to the secondary server secondary_mode on_error secondary_server_ip localhost secondary_server_path /var/spool/pandora/data_in secondary_server_port 41121 secondary_transfer_mode tentacle secondary_server_pwd mypassword secondary_server_ssl no secondary_server_opts

Existenlassiguientesopciones(paramsinformacin,consultarelcaptulodeconfiguracindelos agentes). secondary_mode: Modo en el que debe estar el servidor secundario. Puede tener dos valores:

765

Introduccin

on_error:Envadatosalservidorsecundariosolosinopuedeenviarlasalprimario. always:Siempreenvadatosalservidorsecundario,independientementesipuede contactaronoconelservidorprincipal. secondary_server_ip:IPdelservidorsecundario. secondary_server_path: Ruta donde se copian los XML en el servidor secundario, habitualmente/var/spool/pandora/data_in secondary_server_port:PuertoporelquesecopiaranlosXMLalservidorsecundario,en tentacle41121,enssh22yenftp21. secondary_transfer_mode: modo de transferencia que se usar para copiar los XML al servidorsecundario,tentacle,ssh,ftp,... secondary_server_pwd:OpcindepasswordparalatransferenciaporFTP secondary_server_ssl:Sepondrayesonosegnsequierausarsslparatransferirlosdatos portentacle. secondary_server_opts: En este campo se pondrn otras opciones necesarias para la transferencia.

37.1.2.BalanceoyHAdelosservidoresdeRed,WMI,.plugin,webyprediction
Estoesmssencillo.Necesitainstalarmltiplesservidores,dered.WMI,Plugin,Weboprediction, envariasmquinasdelared(todasconlamismavisibilidaddecarahacialossistemasquese quieranmonitorizar)yquetodasestnenelmismosegmento(paraquelosdatosdelatenciadela redseancoherentes). Losservidoressepuedenmarcarcomoprimarios.Esosservidoresautom ticamenterecogernlos datosdetodoslosmdulosasignadosaunservidorqueest marcadocomocado.Lospropios servidoresdePandoraFMSimplementanunmecanismoparadetectarqueunodeellossehaca do atravsdeunaverificacindesu ltimafechadecontacto(serverthresholdx2).Bastaqueexista unsloservidordePandoraFMSactivoparaquepuedadetectarlaca dadelresto.Sisecaentodos losservidoresdePandoraFMS,noexisteformadedetectaroimplementarHA. LaformaevidentedeimplementarHAyunbalanceodecarga,enunsistemadedosnodoses asignarel50%delosmdulosacadaservidorymarcarambosservidorescomomaestros(Master). En el caso de haber ms de dos servidores maestros y un tercer servidor cado con mdulos pendientesdeejecutar,elprimerodelosservidoresmaestrosqueejecuteelm duloseautoasigna elmdulodelservidorcado.Encasoderecuperacindeunodelosservidorescados,sevuelvena asignarautomticamentelosmdulosquesehabanasignadoalservidorprimario.

766

Introduccin

Elbalanceodecargaenterelosdistintosservidoresserealizaenlapartedeadministraci ndel agenteenelmensetup.

767

Introduccin

Enelcamposerverhayuncombodondeseeligeelservidorquerealizarloschequeos.

37.1.2.1.Configuracinenlosservidores
Enlosservidoresexistendosmodosdetrabajo: Modomaestro. Modonomaestro. Ladiferenciaentreellos,ylaimportanciaquetienenparatrabajarenmodoHAconsisteenque cuandoexistenvariosservidoresdelmismotipo,p.e:NetworkServers,cuandounservidorcae,el primerservidormaestroquepueda,seharcargodelosmdulosderedpendientesdeejecutardel servidorcado.Losservidoresnomaestrosnorealizanestaaccin. Estaopcionseconfiguraenelfichero /etc/pandora/pandora_server.conf pormediodeltokende configuracion
master 1

Teniendoelvalor1paraactivarloy0paradesactivarlo.

37.1.3.BalanceodeCargaenlaBBDD
EsposibleconfigurarunclsterdelabasededatosparaimplementaralavezHAybalanceode carga.Labasededatoseselcomponentemscriticodetodalaarquitectura,porloqueuncl ster es una solucin ptima. Slo se necesita convertir el esquema DB en tablascompatibles de un clsterMySQL.Esteescenariohasidoprobadoyfuncionabien,peroesnecesariounconocimiento avanzadoenadministracindeclustersconMySQL5yquelosnodosdispongandemuchamemoria RAM.Unmnimode2GiBenunescenariodedosnodosparaunmximode5000mdulos(en total). EnestecasonoesnecesariaunaconfiguracinespecialdePandoraFMS.

768

Introduccin

37.1.4.BalanceoyHAdelosservidoresdereconocimiento
En la consola de reconocimiento la redundancia es tan sencilla de aplicar como instalar dos servidoresdereconocimientocontareasalternas.Deformaquesicaeuno,elotrosigaejecutando lamismatarea.

37.1.5.BalanceoyHAdelaconsoladePandoraFMS
Enestecasotampocoesnecesariaunaconfiguraci nespecialdePandoraFMS.Esfcil,slohay queinstalarotraconsola.Cualquieradeellaspodr usarsedeformasimultneadesdediferentes ubicaciones por diferentes usuarios. Utilizando unbalanceador Webdelante de lasconsolas, se podr accederalasmismassinsaberrealmenteaculseest accediendoyaqueelsistemade sesionessegestionamediante cookiesy staquedaalmacenadaenelnavegador.Elprocedimiento debalanceoimplementandoLVSylaHAempleandoKeepAlivedsedescribemsadelante.

37.2.Anexo1:ImplementacindeHAybalanceodecargaconLVSy Keepalived
Para el balanceo de carga se propone usar Linux Virtual Server (LVS). Para gestionar la Alta Disponibilidad(HA)entrelosservicios(enestecasoSSH),seproponeKeepalived. LVS Actualmente,lalaborprincipaldelproyectoLVSesdesarrollarunsistemaIPavanzadodebalanceo decargaporsoftware(IPVS),balanceodecargaporsoftwareaniveldeaplicaci nycomponentes paralagestindeclsterdeservicios. IPVS SistemaIPavanzadodebalanceodecargaporsoftwareimplementadoenelpropiokerneldeLinux yyaincluidoenlasversiones2.4y2.6. Keepalived
769

Anexo1:ImplementacindeHAybalanceodecargaconLVSyKeepalived

Se usa para manejar el LVS. Keepalived est siendo usado en el clster para controlar que los servidoresSSH,tantodeNodo1comodeNodo2est nvivos,sialgunodeelloscae,Keepalived indicaraLVSqueunodelosdosnodoshacadoydeberedirigirlaspeticionesalnodovivo. Sehaescogido Keepalived comoserviciodeHAdadoquepermitemantenerunapersistenciade sesinentrelosservidores.Esdecirsiunodelosnodoscae,losusuarioqueest ntrabajandoen dichonodo,sernencaminadosalotronodovivo,pero stascontinuarnexactamenteenelmismo sitio donde estaban antes, haciendo as la cada totalmente transparente a su trabajo y a sus sesiones(enelcasodeSSHnofuncionardebidoalalgicadelcifradodelSSH,peroensesiones TCPsimples,comoTentaclesinSSLoFTP,funcionarasinproblemas).EnelcasodeTentacle/SSL sereintentaralacomunicacinynoseperderalainformacindelpaquetededatos. ElficherodeconfiguracinyordenesdeusodeKeepAlivedestenelApndice2. Algoritmodebalanceodecarga Losdosalgoritmosmsusadoshoyendason:RoundRobinyWeightRoundRobinambosson muysimilaresysebasanenunaasignacindetrabajosporturnos. EnelcasodelalgoritmodeRoundRobin,esunodelosalgoritmosdeplanificaci ndeprocesos mssimplesdentrodeunsistema operativoqueasigna acadaprocesouna porci n detiempo equitativayordenada,tratandoatodoslosprocesosconlamismaprioridad. Porotrolado,elalgoritmodeWeightRoundRobin,permiteasignarpesoalasm quinasdentro delclsterparaqueunnmerodepeticionesdeterminadasvayanaunnodouaotro,enfunci nde supesodentrodelclster. Estonotienesentidoenlatopologaquenosocupa,yaqueambasmquinastienenexactamentelas mismascaractersticasdehardware.PorellosehadecididousarRoundRobincomoalgoritmode balanceodecarga.

37.2.1.Actuacinantelacadadeunnodo
Keepaliveddetectarsiunodelosservicioscae,deocurrir,eliminaradelalistadenodosactivosde LVSalnodoquehafallado,detalformaquetodaslaspeticionesalnodoquehafalladoser an redirigidasalnodoactivo. Una vez se solucione el posible problema con el servicio que haya ca do, se deber reiniciar keepalived:
/etc/init.d/keepalived restart

Conestereiniciodelservicio,sevolvernainsertarlosnodosenlalistadenodosdisponiblesde LVS. Siunodelosnodoscae,nohabrquerealizarunainsercinmanualdelosnodosusandoipvsadm, yaqueKeepalivedeselqueloharunavezseareiniciadoycomprobadoquelosserviciosdelosque se supone deben prestar un servicio de HA estn corriendo y son accesibles por sus HealthCheckers.

37.3.Anexo2.ConfiguracindelbalanceadorLVS
Usodeipvsadm:InstalacindelLinuxDirectorconipvsadm:
ipvsadm -A -t ip_cluster:22 -s rr

770

Anexo2.ConfiguracindelbalanceadorLVS

Lasopcionesson: Aaadirservicio tServicioTCPconelformatoIP:puerto sPlanificador,enestecasosehadepasarelparmetro"rr"(roundrobin) Seinstalanlosnodos(servidoresreales)alosquevanaserredirigidaslaspeticionesalpuerto22


ipvsadm-a -t ip_cluster:22 -r 192.168.1.10:22 -m ipvsadm -a -t ip_cluster:22 -r 192.168.1.11:22 -m

Lasituacindeipvsadmsinconexionesactivaseslasiguiente:
Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP cluster:www rr -> nodo-2:ssh Masq 1 0 0 -> nodo-1:ssh Masq 1 0 0

UsandoelalgoritmodeRoundRobin,ambasm quinastieneelmismopesodentrodelclster. Por tanto se repartirn las conexiones. Aqu se ve un ejemplo de LVS balanceando conexiones contraelclster: UsandoelalgoritmodeRoundRobin,ambasm quinastieneelmismopesodentrodelclster. Por tanto se repartirn las conexiones. Aqu se ve un ejemplo de LVS balanceando conexiones contraelclster:
Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP cluster:ssh rr -> nodo-2:ssh -> nodo-1:ssh Masq Masq 1 1 12 11 161 162

37.4.Anexo3.ConfiguracindeKeepAlived
Keepalived es el que se encarga de verificar que los servicios indicados en su fichero de configuracin(/etc/keepalived/keepalived.conf)estnvivos,ymantenerlosdiferenteshostsdentro delclusterdebalanceoSiunodeesosserviciossecae,sacaelhostdelclusterdebalanceo. ParaarrancarKeepalived:
/etc/init.d/keepalived start

ParapararKeepalived:
/etc/init.d/keepalived stop

Elficherodeconfiguracinusadoparaelclstereselsiguiente:
# Configuration File for keepalived global_defs {

771

Anexo3.ConfiguracindeKeepAlived

notification_email { email@valido.com } notification_email_from keepalived@domain smtp_server 127.0.0.1 smtp_connect_timeout 30 lvs_id LVS_MAIN } virtual_server 192.168.1.1 22 { delay_loop 30 lb_algo rr lb_kind NAT protocol TCP real_server 192.168.1.10 22 { weight 1 TCP_CHECK { connect_port 22 connect_timeout 3 nb_get_retry 3 delay_before_retry 1 } } real_server 192.168.1.11 22 { weight 1 TCP_CHECK { connect_port 22 connect_timeout 3 nb_get_retry 3 delay_before_retry 1 } } }

772

Anexo3.ConfiguracindeKeepAlived

38MANTENIMIENTODELOSSERVIDORES DEPANDORAFMS

773

Gestindelabasededatos

38.1.Gestindelabasededatos
LainfraestructuradePandoraFMSnonecesitamantenimientoexterno,peroesmuyimportante purgar y depurar los datos antiguos, y mantener compactada la base de datos. Existe una herramienta esencial para el buen funcionamiento de Pandora FMS. Esta herramienta se debe lanzarsolounavezpornoche,sidisponedevariosservidoresfisicos,lnceladesdeunodeellos. EstaherramientasedebelanzardesdeunsistemadondehayaunservidordePandoraFMS,sitiene dossistemasyenunodeellostieneelservidoryenotrolaconsola,ejec telodesdeelservidor dondetieneelservidordePandoraFMS.Estaherramientaesten:
/usr/share/pandora_server/util/pandora_db.pl

Estaherramienta,enadelante pandora_db.pl est incluidaenelpaquetedelservidordePandora FMS. Estaherramientarealizatodaslastareasdemantenimientodebasesdedatosdeformaautom tica yesesencialparaelfuncionamientocorrectodePandora FMSporloquedebeasegurarseque funcionacorrectamente.Susfuncionessonlassiguientes: Eliminadatosantiguos. Compactadatosexistentes,interpolndolosenvariosintervalos,detalmodoquelosgrficos seanlosmismosperoelespacionecesarioparaalmacenarlosseamuch simomenor(estaes unadelasrazonesporlasquePandoraFMSescapazdeprocesartantainformacin). Verificalaconsistenciadelabasededatosparam dulosnoexistentes,oparamdulosque noseusenporquenopuedenseriniciados(Esosmdulosaparecenenlavistatcnicacomo mdulosnoinicializados). Eliminalainformacindiariadecontactodelagente.PandoraFMSnonecesitam sde24hr dehistricosdecontactoporagente,ysiseacumula,ralentizamuchoelaccesoalabasede datos. En la versin enterprise, mueve todos los datos antiguos a la base de datos auxiliar de histrico. Estatareadeberarealizarsetodaslasnoches,yesmuyimportantehacerla,t mesesutiempopara entenderloyfijarlatarea cron.Enlainstalacindeberahaberseprogramadocorrectamente,pero debe comprobar que esto ha sido as. En este captulo explicaremos como se debe programar manualmenteyaspodrcomprobarsilainstalacinensusistemaestfuncionandodebidamente. Para instalar esta herramienta en sistemas Linux estndar, se recomienda el siguiente procedimiento. Creeunficherollamado/etc/cron.daily/pandora_dbquecontengalassiguienteslneas:
#!/bin/bash /usr/share/pandora_server/util/pandora_db.pl /etc/pandora/pandora_server.conf

Cambielospermisosdelfichero:
chmod 750 /etc/cron.daily/pandora_db

Cambieelpropietariodelfichero:
chmod root:root /etc/cron.daily/pandora_db

774

Gestindelabasededatos

Recarguelaconfiguracindecron:
/etc/init.d/cron reload

Apartirdeahora,cadanocheseejecutar laherramientademantenimientodeBasededatosde PandoraFMS,asegurandoquelabasededatosestsiempreenunestadoptimo. Finalmente,paraasegurarsedequelohadejadotodocorrectamenteconfigurado,oparaasegurar queelsistema,despusdelainstalacinhaprogramadocorrectamentelaherramienta,ejectela manualmenteunavez:


/etc/cron.daily/pandora_db

Deberamostrarunmensajecomoeste(puedequeconmenosinformaci n,enfuncindesunivel deverbosityenelficherodeconfiguracindePandoraFMS):


Pandora FMS DB Tool 3.0-dev PS090930 Copyright (c) 2004-2008 Artica ST This program is Free Software, licensed under the terms of GPL License v2 You can download latest versions and documentation at http://www.pandorafms.org Pandora DB now initialized and running (PURGE=60 days, COMPACT=15 days, STEP=1) ... Starting at 2009/10/10 02:02:18 [PURGE] Deleting old event data (More than 60 days)... [PURGE] Deleting old data... [PURGE] Delete old data (string) ... [PURGE] Delete pending deleted modules (data table)... [PURGE] Delete pending deleted modules (data string table)... [PURGE] Delete pending deleted modules (data inc table)... [PURGE] Delete pending deleted modules (status, module table)... [PURGE] Delete old session data [PURGE] Delete old data from SNMP Traps [PURGE] Deleting old access data (More than 24hr) [CHECKDB] Deleting non-init data... [CHECKDB] Checking database consistency (Missing status)... [CHECKDB] Checking database consistency (Missing module)... [CHECKDB] Deleting non-existing module 1189 in state table [CHECKDB] Deleting non-existing module 1190 in state table [COMPACT] Compacting data until 2009092502:02:18 Ending at 2009/10/10 02:02:31

38.2.Ejecucinmanualdelaherramientademantenimiento
Sepuedeejecutarmanualmentelaherramientademantenimientounavezcreadoel script,suuso esmuysencillo,desdeunaconsolashellejecutar:

En sistemas instalados esto puede llevar horas, se recomienda dejar el proceso en segundo plano

/usr/share/pandora_server/util/pandora_db.pl /etc/pandora/pandora_server.conf

Paraejecutarmanualmentelaherramientademantenimientoydejarlaensegundoplano,ejecutar:
775

Ejecucinmanualdelaherramientademantenimiento

nohup /usr/share/pandora_server/util/pandora_db.pl /etc/pandora/pandora_server.conf

Elprocesollevar algntiempohastaquesecarguecompletamenteensegundoplano,despu sse podr cerrar la ventana de la consola shell sin problemas, mientras que el proceso se seguir ejecutando.

En algunas instalaciones el directorio de las herramientas puede variar, la ms comn es:


/usr/share/pandora_server/util/

En las versiones anteriores de Pandora FMS, puede encontrarse en:


/usr/share/pandora/util/

Esimportantequeseaseguredeutilizarlaversinactualdelaherramienta,ynoladeunaversin anterior.Siejecutaelprogramasinargumentos,mostrarlaversindelaherrmientaenlacabecera delmensaje.

38.3.Respaldo(Backup)delabasededatos
Unsimplecomando, mysqldump realizar unvolcadodeloscontenidosdelabasededatos.Para restaurarlosdatosser necesariounabasededatosvacaconelmismonombrequelaoriginal (generalmentePandora). Hacerelrespaldo
mysqldump -u root -p pandora > /backup/pandoradb_backup.sql

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

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

Sisequierehacerunbackupcompletodelsistema,nosedebeolvidarhacerunbackupdetodoel directorio/etc/pandoraparaguardarlainformacindeconfiguracindelosagenteslocalesydelos servidores. EsimportantedestacarqueestoSOLOrealizaunbackup/restauraci ndelosficherosdebasede datos.

776

RespaldoyrecuperacincompletadePandoraFMS

38.4.RespaldoyrecuperacincompletadePandoraFMS
ExisteunscriptenladistribucindelservidordePandoraFMSquesirveparahacerunbackupy una restauracin completa de todo Pandora FMS. Este script esta pensado para hacer copias y restauracinensistemasdondeelservidorylaconsolaseubicanenlamismam quina.Siensu entorno hay diferentes componentes, deber utilizar la herramienta con los parmetros mas adecuadosparasuusoomodificarlosparaqueseadaptenasuscircunstancias. Paraquepuedahacersustareas,estescriptnecesitaejecutarsecomoroot. Estescriptestubicadoen:
/usr/share/pandora_server/util/pandora_backup.sh

Siloejecutamossinparmetrosnosdarunaayuda:
Pandora FMS Command line backup tool. http://www.pandorafms.org (c) 2009 Sancho Lerena <slerena@gmail.com>, Artica Soluciones Tecnologicas Syntax: -c -d -s -f -q -b Path to Pandora FMS console, p.e: /srv/www/htdocs/pandora_console Destination path for backup file. p.e: /tmp Source filename for backup restore. p.e: /tmp/pandorafms Restore also files Quiet. No output message (used for scripts/cron) No database backup/restore

Please BE SURE TO USE RESTORE (-s) option. This will OVERWRITE ALL your PandoraFMS install, including files, configuration and data. Please backup first!

Este script est diseado para hacer copias de seguridad y restauracin de los siguientes componentes: Fichero(s)deconfiguracindelservidor. Ficheros(s) pendientes de ejecucin, as como ficheros de configuracin remotos de los agentes. BBDDcompleta. ConsolaWEBcompleta. Opcionesdeorigenydestinodelacopia EstescriptobtienelascredencialesdeaccesoalaBBDDdirectamentedelaconfiguraci ndela consolaWEB,porellohayquepasar,conelparmetro celpathcompletoalaconsolaWEB.Ese mismoparmetrosirvetambinparaindicarledondeencontrarlaconsolaWEBparahacerbackup deella. El destino delbackupseespecificaconelparmetrod.Enesepathdejar elficherodebackup, comprimido,conunnombresimilarapandorafms_backup_xxxxxxx.tar.gz. Lafuenteorigendelarestauracineselnombreypathcompletosalficherogeneradodebackup generadoporestamismaherramienta. Restauracindeficheros,noslodedatos Laopcinfpermiterestaurartambinlosficheros(sobreescribiendolosactuales)deunacopiade seguridad,norestaurandolosdatosdelabasededatos.Dadoquesobreescribirlosficherosactuales deconfiguracinpuedetenerconsecuenciasserias,esnecesarioutilizarfsiqueremosprocedera unarecuperacindeunbackupyqueremosquerestauretodoslosficherosdePandora(Consolay
777

RespaldoyrecuperacincompletadePandoraFMS

servidor). Restauracindeficheros,sindatos Delamismamaneraquelaopcinanterior,podemosrestaurar nicamentelosficheros,sinvolcar losdatos.Paraelloseutilizalaopcinb. Restauracindedatos,sinficheros Eslaopcinpordefecto,paraellonotendrqueutilizarnilaopcinbnilaopcionf.

38.4.1.Ejemplosdeuso
Crearbackup Ejecutarcomoroot:
/usr/share/pandora_server/util/pandora_backup.sh -c /var/www/pandora3 -d /tmp/

Devolveralgosimilara:
Backup completed and placed in /tmp//pandorafms_backup_2009-10-10-01-35-31.tar.gz

Estoindicaqueelbackupesten/tmp//pandorafms_backup_20091010013531.tar.gz Restaurarbackup Pararestaurarelbackupdeformaautomtica,sesuponequetieneunaconsolaconlascredenciales deautenticacionsobrelaBBDDdefinidascorrectamente. Ejecutarcomoroot:


/usr/share/pandora_server/util/pandora_backup.sh -c /var/www/pandora3_broken/ -s /tmp/pandorafms_backup_2009-10-10-01-35-31.tar.gz

Devolveralgosimilara:
Detected Pandora FMS backup at /tmp/pandorafms_backup_2009-10-10-01-35-31.tar.gz, please wait... Dropping current database Restoring backup database Restoring files and configuration Done. Backup in /tmp/pandorafms_backup_2009-10-10-01-35-31.tar.gz restored

Restaurarbackupencasodedesastre SihaperdidolaconsoladePandoraFMSperoconservaunbackupgeneradoporestaherramienta, primerotendraqueregenrareldirectoriodelaconsola.Paraello,descomprimamanualmentesu backup:


cd /tmp tar xvzf pandorafms_backup_2009-10-10-0

Estodescompromir en/tmpeldirectoriocompletodesuconsola WEB, enelcasodelbackup generadoenelejemploanterior,creaundirectoriollamado:

778

RespaldoyrecuperacincompletadePandoraFMS

/tmp/var/www/pandora3/

Copieelcontenidodetodoesedirectorioasudirectoriodepublicaci nweb,quepuedevariaren funcindeladistribucinqueuse:


cp -R var/www/pandora3 /var/www

Luegorestaureelbackupdemaneraordinaria.

38.5.Arranque/paradamanualdelosservidoresdePandoraFMS
Paraarrancary/oparardeformamanualelservidordePandoraFMSsehadeejecutarlosiguiente enunaconsolashell: Parareldemonio:
/etc/init.d/pandora_server stop

Iniciareldemonio:
/etc/init.d/pandora_server start

Reiniciareldemonio:
/etc/init.d/pandora_server restart

38.6.WatchdogparalosservidoresdePandoraFMS
En el repositorio de cdigo existe un pequeo script que se utiliza como "perro guardian" (Watchdog). Este script realiza una monitorizacin de Pandora (quien monitoriza al que monitoriza?).Deestaformapodemosrealizarunaoperacionderecuperaci n(intentarlevantar Pandora),ysiestafalla,podemosavisardelsuceso.

38.6.1.pandora_watchdog.sh
#!/bin/bash # Copyright (c) 2005-2012 Artica ST # Author: Sancho Lerena <slerena@artica.es> 2009 # Licence: GPL2 # # daemon_watchdog # # Generic watchdog to detect if a daemon is running. If cannot restart, execute # a custom-user defined command to notify daemon is down and continues in # standby (without notifying / checking) until daemon is alive again. # Default configuration is for Pandora FMS Server daemon # =====================================================================

779

WatchdogparalosservidoresdePandoraFMS

# Configuration begins here. Please use "" if data contain blank spaces export DAEMON_WATCHDOG=pandora_watchdog.sh # DAEMON_WATCHDOG: Name of this script. Used to check if its running already export DAEMON_CHECK="/usr/bin/pandora_server /etc/pandora/pandora_server.conf" # DAEMON_CHECK: Daemon monitored, please use full path and parameters like # are shown doing a ps aux of ps -Alf export DAEMON_RESTART="/etc/init.d/pandora_server restart" # DAEMON_RESTART: Command to try to restart the daemon export DAEMON_DEADWAIT=90 # DAEMON_DEADWAIT: Time this script checks after detect that # daemon is down before to consider is really down. export DAEMON_ALERT="/usr/bin/pandora_alert" # DAEMON_ALERT: Command/Script executed if after detecting daemon is down, # and waiting DAEMON_DEADWAIT, and daemon continues down. export DAEMON_LOOP=7 # DAEMON_LOOP: Interval within daemon_wathdog checks if daemon is alive. # DO NOT use values under 3-5 seconds or could be CPU consuming. # NEVER NEVER NEVER use 0 value or gets 100% CPU!. # Configuration stop here # ===================================================================== # Check if another instance of this script RUNNING_CHECK=`ps aux | grep "$DAEMON_WATCHDOG" | grep -v grep |wc -l` if [ $RUNNING_CHECK -gt 2 ] then echo "Aborting, seems that there are more '$DAEMON_WATCHDOG' running in this system" logger $DAEMON_WATCHDOG aborted execution because another watchdog seems to be running exit -1 fi # This value always must be 0 at start. Do not alter export DAEMON_STANDBY=0 # This function replace pidof, not working in the distros function pidof_daemon () ( # This sets COLUMNS to XXX chars, because # in a "strech" term, ps aux don't report # characters and this will not work. COLUMNS=300 DAEMON_PID=`ps aux | grep "$DAEMON_CHECK" '{ print $2 }'` echo $DAEMON_PID ) # Main script if [ ! -f `echo $DAEMON_CHECK | awk '{ print $1 }'` ] then echo "Daemon you want to check is not present in the system. Aborting watchdog" exit fi same way in different linux if command is run more than COLUMNS | grep -v grep | tail -1 | awk

780

WatchdogparalosservidoresdePandoraFMS

while [ 1 ] do DAEMON_PID=`pidof_daemon` if [ -z "$DAEMON_PID" ] then echo "Checkpoint #1 $DAEMON_PID " if [ $DAEMON_STANDBY == 0 ] then # Daemon down, first detection # Restart it ! logger $DAEMON_WATCHDOG restarting $DAEMON_CHECK $DAEMON_RESTART 2> /dev/null > /dev/null # Just WAIT another DAEMON_DEADWAIT before consider it DEAD echo "Going to DAEMON_DEADEWAIT" sleep $DAEMON_DEADWAIT DAEMON_PID=`pidof_daemon` if [ -z "$DAEMON_PID" ] then # Is dead and can't be restarted properly. Execute alert echo "I cannot startup again the process" logger $DAEMON_WATCHDOG $DAEMON_CHECK is dead, alerting ! $DAEMON_ALERT process get alive again logger $DAEMON_WATCHDOG "Entering in Stabdby mode" DAEMON_STANDBY=1 fi fi else echo "Checkpoint #1B $DAEMON_PID " DAEMON_STANDBY=0 fi sleep $DAEMON_LOOP done 2> /dev/null > /dev/null # Watchdog process puts in STANDBY mode until

38.6.2./usr/bin/pandora_alert
Esteeselscriptqueactacuandoelprocesowatchdognopuedelevantaralprocesoquemonitoriza (pandora).Ennuestrocaso,ademsdeavisarmedianteunSMS,desactivaTentacle. Habraquedarlepersmisosconchmod750/usr/bin/pandora_alert

781

WatchdogparalosservidoresdePandoraFMS

#!/bin/bash sendsms +34458474843 "Se ha caido el servidor de Pandora y no se puede levantar" /etc/init.d/tentacle_serverd stop

38.6.3.Arranquedelwatchdog
Supongamos que se ha copiado el watchdog a la ubicacion /usr/bin/pandora_watchdog.sh. Se lanzaradelasiguientemanera:
nohup /usr/bin/pandora_watchdog.sh &

38.6.4.Consideraciones
Tener un watchdog corriendo en el sistema puede provocar consecuencias desagradables si no tenemosencuentaqueexisteunwatchdog.SiporejemploqueremosdesconectarPandorapara hacer un mantenimiento, automticamente el watchdog lo levantar de nuevo, por lo que nos volveremos"locos"sinoparamosprimeroelwatchdog.

38.7.Basededatosdehistrico
Unabasededatosdehistricoesunabasededatosalaquesemuevendatosantiguosdem dulos para mejorar la respuesta de la base de datos principal de Pandora FMS. Estos datos seguir n estandodisponiblesparalaconsoladePandoraFMSdeformatransparentealverinformes,grficas demdulosetc.

38.7.1.Configurandounabasededatosdehistrico
Paraconfigurarunabasededatosdehistricosigalossiguientespasos: Creelanuevabasededatosdehistrico. Creelastablasnecesariasenlanuevabasededatos.Puedeutilizarelscriptpandoradb.sql incluidoenlaconsoladePandoraFMS:
cat pandoradb.sql | mysql -u user -p -D history_db

EnlaconsoladePandora FMSvayaa Setup>Historydatabase yconfigureelhost,port, databasename,userypassworddelanuevabasededatos.

782

Basededatosdehistrico

LosdatosconmsdasdeantigedadsemovernalabasededatosdehistricoenbloquesdeStep filas,esperandoDelaysegundosentreunbloqueyelsiguienteparaevitarsobrecargas.

sta es una caracterstica de la versin Enterprise

38.7.2.Configurandolagestiondelpurgadoycompactacindelabasededatosde histrico
Labasededatosdehistricosesuponequecontiene"todoslosdatos"delsistema(sinl mite),pero siquiereborrardatosocompactarlosdelabasededatosdehistorico,necesitar ejecutarelscript pandora_dbusandounosdatos"trucados"yunficherodeconfiguraci nfalso,parahacerlecreeral scriptqueesttrabajandoconunabasededatos"normal". Elprimerpaso,esmeteralgunosdatosenlatabla"tconfig" desubasededatosdehistrico. UtiliceestasconsultasSQLparacrearunaconfiguraci nminima,yconfigurarelcomportamiento depandora_dbalejecutarsecontralaBBDDdehistrico.Primero,necesitaconectarasuBBDD usandoelCLIdeMySQL. Esteesunejemplo,reemplacelosvaloresconformeasuscriterios(perodejehistory_db_enableda cero):
INSERT INSERT INSERT INSERT INTO INTO INTO INTO `tconfig` `tconfig` `tconfig` `tconfig` VALUES VALUES VALUES VALUES (1,'days_purge','180'); (2,'history_db_enabled','0'); (3,'days_compact','120'); (4,'step_compact','1');

Esteejemplo,es paraquelabbdd dehistoricoalmaceneentotalseismesesdesdelafechade


783

Basededatosdehistrico

ejecucin,ycompactedatosconmsde4meses.Sitieneunmesensubbddprincipal,entotal tendrdatosparaseismeses,yaqueel ltimomesnotienedatosenlabbdddehistricoperosien laprincipal.Puedeponeraqu cualquiervalor,nohaylmiteenelalmacenamientodelabbddde histrico.Simplementerecuerdequelabasededatosdehist ricodebeestarenunservidorfsico independientedelabbddprincipalydePandora. Segundo,necesitacrearunficheropandora_server.confadicional,utiliceestaversion"reducida"que leproponemosparacrearelsuyopropio,yllmelo/etc/pandora/pandora_server_history_db.conf :
dbengine mysql dbname pandora4_history dbuser pandora4_history dbpass 1234 dbhost 192.168.50.23 log_file /var/log/pandora/pandora_db_history.log

Ahorayapuedeejecutarlaherramientapandora_dbcontralaconfiguracindelabbdddehistrico:
/usr/share/pandora_server/util/pandora_db.pl /etc/pandora/pandora_server_history_db.conf

Esteproceso NODEBERA afectaralaoperacin principal,yaqueest ejecutndosecontrauna BBDDdiferenteenunservidordiferente.

784

Basededatosdehistrico

39OPTIMIZACINYSOLUCINDE PROBLEMASDEPANDORAFMS

785

Introduccin

39.1.Introduccin
ElservidordePandoraFMSescapazdemonitorizarunos2000dispositivos,paraelloesnecesario afinarlaconfiguracindelabasededatos. Ademsenestecaptuloseexplicanalgunastcnicasparadetectarysolucionarproblemasenla instalacindePandoraFMS,

39.2.OptimizandoPandoraFMS
39.2.1.OptimizacinMySQLparaenterprisegradesystems
39.2.1.1.Consejosgenerales
LoprimeroquesedebehacersideverdadsedeseatenerunsistemaENORMEcontablasmayores de2GiBesseguiralgunaspautas:MySQLrecomiendausarunsistemade64Bit.Adem s,sepueden sugerirestasrecomendaciones generales:amsmemoriaRAM,ymsCPU,mejorrendimiento. Acordeconnuestraexperiencia,lamemoriaRAMesmsimportantequelaCPU.Siestpensando usar1GiBounacantidadinferiordememoriaparasusistemaSQL,reconsid relo.Elmnimopara un sistema a nivel de empresa ser 2GiB. Una buena opcin para un gran sistema son 4GiB. Recuerde que ms memoria RAM puede acelerar las actualizaciones clave mediante el mantenimientodelaspginasclavemsusadasenlaRAM. Otrobuenconsejo,sinoest usandotablasdetransaccinsegurasotienediscosdurosgrandesy quiereevitarlargascomprobacionesdeficheros,serausarunUPS.Enesecaso,esbuenaideaser capazderetirarelsistemaencasodefallo.Parasistemasdondelabasededatosestenunservidor especfico, debera echar un vistazo a 1G Ethernet. La latencia es tan importante como el rendimiento. Laoptimizacindeldiscoesmuyimportanteparabasesdedatosmuygrandes:habr quepartirlas basesdedatosylastablasendiferentesdiscos.EnMySQLsepuedenusarenlacessimb licospara ello.Utilicediferentesdiscosparaelsistemaylabasededatos,ymuyimportante:intenteusarun discodurodebajacaptura,yaquelaaplicacinsevercomprometidaporlavelocidaddecaptura deldisco,queaumentaenNlogNsegnobtengamsdatos. BajoGNU/Linuxusehdparmm16d1enlosdiscosalarrancarparacapacitarlalecturayescritura de mltiples sectores en un tiempo dado, as como DMA. Esto podr aumentar el tiempo de respuestaen550%.Otrabuenaideaesmontarlosdiscoscon async(deformapredeterminada)y noatime,esteconjuntonoactualizaeltiempodeaccesoalosficherosencadalectura/escritura. Para alguna aplicacin especfica, se querra tener un disco RAM para algunas tablas muy especficas,estopodraserunabuenaopcinperoalgoarriesgadasiseapagasinguardarloenun disconovoltil,tngaloencuenta. Use skiplocking (activado de forma predeterminada en algunos sistemas) si es posible. Esto apagarelbloqueoexternoyproporcionarunmejorrendimiento. SiponeenmarchaelclienteyelservidorMySQLenlamismam quina,usesocketsenlugarde conexionesTCP/IPalconectarconMySQL(estopuededarunamejoradel7.5%).Puedehaceresto sinespecificarelnombredelanfitrinoel localhost alconectaralservidorMySQL.Deshabiliteel iniciodesesinbinarioylareplicacinsiestlanzandoslounservidoranfitrinMySQL. Como aspecto general de cara a evaluar el rendimiento, tenga en cuenta que afecta mucho al rendimientolossiguientespuntos: NOutilicelogsbinariossinovaautilizarunaconfiguraciondeMySQLconreplicaci n.
786

OptimizandoPandoraFMS

NOutilicelogsdetrazabilidaddequeriesoslowquerylogs.
Versiones de MySQL

DiversaspersonashanutilizadounaversionmodificadadeMySQL(percona) [1] queofrecenun mayorrendimiento. Porotrolado,utilizarversionesrecientesdeMySQL(5.5)respectoaversionesm santiguasde MySQL(5.0.x)puedenofrecerhastaunadiferenciadel20%enrendimiento.

39.2.1.2.Herrramientasautomticasdeconfiguracin
Existenbastantesherramientaspara"optimizar"laconfiguraci ndelservidorMySQL.Algunasson realmente tiles,porlomenosparaecharleunvistazorpidoyverquenosehapasadonadapor alto. MySQLTuningPrimer,deMattewMontgomery,esunaherramientadelneadecomandopara verificar la configuracin de un servidor "en caliente" y ver su rendimiento y posibles mejoras, puededaralgunaspistasysugerenciasparamejorarlo.Est enhttps://bugs.launchpad.net/mysql tuningprimer

39.2.1.3.Desactivarreplicacionbinaria
PordefectovienehabilitadaenlamayoriadedistrosdeLinux.Paradesactivarla,editarelfichero my.cnf,habitualmenteen/etc/my.cnfycomentarlassiguienteslineas:
# log-bin=mysql-bin # binlog_format=mixed

Hayquecomentarlasdoslineas,yluegoreiniciarelservidor.

39.2.1.4.EvitandoelFlushdediscoencadatransaccion
MySQLpordefectoestableceautocommit=1paracadaconexi n.Locualnoestanmalopara MyISAM,yaqueloqueunoescribenoestgarantizadaeneldisco,peroparaInnoDBsignificaque cadainsert/update/deleteenunatablaInnoDBsetraducirenunaescrituraeneldisco. Qu tienedemaloqueescribaeneldisco?Nadaenabsoluto.Seasegurandequeantecualquier compromisosegarantizaqueeldatoest all cuandosereinicielabasededatosdespusdeun accidente.ElproblemaesqueelfuncionamientodelaBBDDestlimitadoporlavelocidadfsicadel disco.Dadoqueeldiscotienequeescribirlosdatosenundiscoantesdelaconfirmaci ndela escritura,estotomasutiempo. Suponiendo incluso un tiempo medio de bsqueda de 9ms por la escritura en disco, estamos limitadosaaproximadamente67commits/sec1,estoesmuylento.Ymientraseldiscoest ocupado tratandodequeelsectorseaescrita,noesthaciendolecturas.InnoDBpuedeevitarpartedeesta limitacinmediantelaagrupacindealgunasescriturasjuntas,peroanas,lalimitacinexiste. Podemos evitar que escriba al final de cada transaccin, haciendo que ponga un sistema "automtico"deescritura,queescribeaproximadamentecadasegundo.Encasodefallo,puedeque perdamoslosdatosdel ltimosegundo,algomsqueasumiblesisetratadeganareficiencia.Para ello,usaremoselsiguentetokendeconfiguracin:

787

OptimizandoPandoraFMS

innodb_flush_log_at_trx_commit = 0

Referencia:http://tag1consulting.com/InnoDB_Performance_Tuning

39.2.1.5.MayortamaodelKeyBuffer
DependiendodelaRAMtotaldelsistema,esunparmetroglobalmuyimportantequeacelera DELETESeINSERT.
key_buffer = 400M

39.2.1.6.Otrosbuffersimportantes
Hay varios buffer que por defecto en algunas distribuciones vienen vac os. Modificar estos parmetrospuededarunrendimientomuysuperioraldepordefecto.Esimportanteasegurarsede queexistenestostokensenelficherodeconfiguraci ndeMySQL.Estosvalorespropuestospuede quenoseanlosptimos,perosonmuchomejoresquenotenernada:
query_cache_size = 64M query_cache_limit = 2M join_buffer_size = 16M

39.2.1.7.Mejorandolaconcurrenciadeinnodb
ExisteunparmetroquepuedeafectarbastantealrendimientodelservidorMySQLconPandora. Esteparmetroesinnodb_thread_concurrency.Dichoparmetrosirveparaespecificarcuantos"hilos concurrentes"puedeejecutarMySQL.Unamalaconfiguracindeesteparmetropuedehacerque vayamaslentoquepordefecto,porloqueesespecialmenteimportanteprestaratenci navarios parmetros. VersiondeMySQL. Endiferentesversiones deMySQL esteparmetrosecomporta MUY diferente. Nmerodeprocesadoresreales(fisicos). AquisepuedeleerladocumentacionoficialdeMySQL[2]. ElvalorrecomendadoeselnmerodeCPU(fisicas)multiplicadopor2mselndediscosdondese ubicaInnoDB.Enlas ltimasversionesdeMySQL(>5.0.21)elvalorpordefectoes8.Unvalor0 significaraque"abratantoshiloscomoleseaposible".Porlotanto,sihaydudas,sepuedeusar:
innodb_thread_concurrency = 0

Diferentespersonas[3][4]hanhechopruebas,yhandetectadoproblemasconelrendimientoen servidoresconmuchasCPUfsicascuandoseusaunnumeromuyalto,conversionesdeMySQL relativamenteantiguas(hablamosde2008).

39.2.1.8.Usarunespaciodetablasparacadatabla
(Tomado del manual de MySQL en http://dev.mysql.com/doc/refman/5.0/es/multiple
788

OptimizandoPandoraFMS

tablespaces.html) EnMySQL 5.0,sepuedealmacenarcadatablaInnoDB ysus ndicesensupropiofichero.Esta caractersticasellamamultipletablespaces(espaciosdetablasm ltiples)porque,enefecto,cada tablatienesupropioespaciodetablas. Elusodemltiplesespaciosdetablaspuedeserbeneficiosoparausuariosquedeseanmovertablas especficasadiscosfsicosseparadosoquienesdeseenrestaurarrespaldosdetablassininterrumpir elusodelasdemstablasInnoDB. Se pueden habilitarmltiples espaciosde tablasagregando esta lnea a la seccin [mysqld] de my.cnf:
[mysqld] innodb_file_per_table

Despusdereiniciarelservidor,InnoDBalmacenar cadanuevatablacreadaensupropiofichero nombre_tabla.ibdeneldirectoriodelabasededatosalaquepertenecelatabla.Estoessimilaralo quehaceelmotordealmacenamientoMyISAM,peroMyISAMdividelatablaenunficherodedatos tbl_name.MYD y el fichero de ndice tbl_name.MYI. Para InnoDB, los datos y los ndices se almacenanjuntosenelfichero.ibd.Elficherotbl_name.frmsesiguecreandocomoesusual. Si se quita la lnea innodb_file_per_table de my.cnf y se reinicia el servidor, InnoDB crear nuevamentelastablasdentrodelosficherosdelespaciodetablascompartido. innodb_file_per_tableafectasolamentelacreacindetablas.Siseiniciaelservidorconestaopcin, las tablas nuevas se crearn empleando ficheros .ibd, pero an se puede acceder a las tablas existentesenelespaciodetablascompartido.Siseremuevelaopci n,lasnuevastablassecrearn enelespaciocompartido,peroansepodr accederalastablascreadasenespaciosdetablas mltiples.

39.2.1.9.FragmentacinMySQL
Aligualquelosfilesystems,lasbasesdedatostambiensefragmentan,haciendoquetodoelsistema pierdarendimiento.Enunsistemadealtorendimiento,comoPandoraFMSesvitalquelasaludde la BBDD no afecte al funcionamiento del sistema. En sistemas sobrecargados, al final la BBDD puede"rendirse"ybloquearse,resultandounacadadetodoelsistema. Unaformafcildecomprobarcuan"fragmentada"estasubasededatos,esejecutarlasiguiente querySQL(puedeusarelpropiogestorSQLdelaseccionAdministracion>Basesdedatos> GestordeBBDD):
select table_schema, table_name, data_free, engine from information_schema.tables where table_schema not in ('information_schema', 'mysql') and data_free > 0;

LemostraralgunastablasinternasdePandora,comoporejemplo:
pandora pandora pandora pandora pandora pandora pandora pandora pandora taddress 15911092224 InnoDB taddress_agent 15911092224 InnoDB tagent_access 15911092224 InnoDB tagent_custom_data 15911092224 tagent_custom_fields 15911092224 tagent_module_inventory 15911092224 tagente 15911092224 InnoDB tagente_datos 15911092224 InnoDB tagente_datos_inc 15911092224

InnoDB InnoDB InnoDB InnoDB

789

OptimizandoPandoraFMS

pandora pandora pandora pandora pandora pandora

tagente_datos_inventory 15911092224 tagente_datos_log4x 15911092224 tagente_datos_string 15911092224 tagente_estado 15911092224 InnoDB tagente_modulo 15911092224 InnoDB talert_actions 15911092224 InnoDB

InnoDB InnoDB InnoDB

En este caso parece que tenemos gran nmero de tablas con "huecos" (fragmentadas). Para optimizarlas,puedeejecutarestecomandoSQL:
OPTIMIZE table tagente;

Se recomienda no optimizarlastablasdemasiadograndes,puespuedellevaraunbloqueodel sistema(elprocesodeoptimizacion"bloquea"latablaparareescribirla.Entablaspeque as,apenas tardaunossegundos,peroentablasgrandes(p.e:tagente_datos,tagente_datos_string,tevento) puedellevarhorasBLOQUEANDOTODOELSISTEMA. Serecomiendaoptimizarlassiguientestablas:


OPTIMIZE OPTIMIZE OPTIMIZE OPTIMIZE OPTIMIZE OPTIMIZE table table table table table table tagente; tagente_estado; tagente_modulo; taddress; tserver; tsesion;

39.2.1.10.ParticionadodetablasMySQL
ParausarParticionadodetablasMySQL,deber ausartambinelsistemade"multiplestablespaces" descritoarriba(innodb_file_per_table). MySQL5.1soportaparticionadodetablas,loquepermitedistribuirtablasmuygrandesentrozos ms pequeos, como subdivisiones lgicas. (Puede consultar el manual de MySQL para m s detalles:http://dev.mysql.com/doc/refman/5.1/en/partitioningoverview.html) SitienegrandescantidadesdedatosenlabasededatosdesuPandoraFMSycreequemuchas operacionesdelaconsolaqueserefierenaesosdatos(porejemplodrawinggraph)sonbastante lentas,mejorarsurendimientoutilizandoparticionadodetablas. Porejemplo,siquierepartirlatablatagente_datos(quegeneralmenteseconvierteenmuyextensa) en100particioneslgicasbasadasenmoduleiddemaneraautomtica,ejecutelasiguientequery:

ALTER TABLE tagente_datos PARTITION BY HASH(id_agente_modulo) PARTITIONS 100;

Estaoperacinpuedellevarlemuchotiempo,dependiendodeltamaodelatabla.Porejemplo, llevaraunahoraymediapartirunatablaconaproximadamente7500modulesdatapara100dias (msde50,000,000filas).

mysql> ALTER TABLE tagente_datos

790

OptimizandoPandoraFMS

-> PARTITION BY HASH(id_agente_modulo) -> PARTITIONS 100; Query OK, 53391880 rows affected (1 hour 35 min 3.41 sec) Records: 53391880 Duplicates: 0 Warnings: 0

En el caso de esta tabla, llevar slo un segundo ejecutar la siguiente query para una tabla particionada,aunquellevaunos8minutosparaunanoparticionada.

SELECT datos,utimestamp FROM tagente_datos WHERE `id_agente_modulo` = '6332' AND utimestamp > 1322838000 AND utimestamp < 1338390000 ORDER BY utimestamp ASC

39.2.1.11.ReconstrucciondelaBBDD
Reconstruccion parcial

ElsistemadegestindebasededatosdeMySQL,aligualqueotrosmotoresSQL,comoOracle (tm),sedegradaconeltiempoporcausascomolafragmentacindedatosproducidaporelborrado ylainsercincontinuadaengrandestablas.Engrandesentornosconmuchovolumendetr fico existeunaformamuysencillademejorarelrendimientoeimpedirqueelrendimientosedegrade: reconstruirlaBBDDdeformaperidica. Paraellohayqueprogramarunaparadadeservicio,quepuededuraraprox.1hr. Enestaparadadeservicio,loquehayquehacerespararlaconsolaWEBdePandoraFMS,yel servidor(ojo,dejarelservidortentacleparaquesigarecibiendodatos,yesosseprocesar ntan prontocomoelservidorestoperativodenuevo). Unavezparados,hacemosunvolcadodelaBBDD(Export)
mysqldump -u root -p pandora3 > /tmp/pandora3.sql Enter password:

BorramoslaBBDD:
> mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3279346 Server version: 5.0.67-Max SUSE MySQL RPM Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> drop database pandora3; Query OK, 87 rows affected (1 min 34.37 sec)

CreamoslaBBDDyhacemosunimportdelexportanterior:
mysql> create database pandora3; Query OK, 1 row affected (0.01 sec) mysql> use pandora3;

791

OptimizandoPandoraFMS

mysql> source /tmp/pandora3.sql

Estopuedetardarunos1030minutosentotal,algomssielsistemaesgrandeyelhardwareno demasiadoportente,paraunsistemacon1500agentesyaproximadamente100.000modulos.Se puedeautomatizaresteproceso,peroporsunaturalezadelicada,esmejorhacerlomanualmente cadamesomesymedio.


Reconstruccion total

EstecaptulosoloafectaabasesdedatosInnodb.PandoraFMSestconstruidosobrebasesdedatos Innodb. Desgraciadamente MySQL se degrada _mucho_ con el tiempo, cosa que afecta a todo el rendimientodelsistema.Noexisteotrasolucionquenopaseporreconstruirtodoslosesquemasde basededatosdesde0,reconstruyendoelficherobinariodedatosqueMySQLusaparaalmacenar todalainformacionylosficherosusadosparareconstruirlastransacciones. Sisemiraeldirectorio/var/lib/mysqlsepuedeverquehaytresficheros,quesiempresellaman igualyson,enfunciondelogravedelcaso,gigantes.Enmicasodeejemplo:
-rw-rw----rw-rw----rw-rw---1 mysql mysql 4.8G 2012-01-12 14:00 ibdata1 1 mysql mysql 5.0M 2012-01-12 14:00 ib_logfile0 1 mysql mysql 5.0M 2012-01-12 14:00 ib_logfile1

El fichero ibdata1 es el que alberga todos los datos Innodb del sistema. En un sistema muy fragmentado,quellevamuchotiemposin"rehacer"osin"reinstalar"estesistemaser grandeypoco eficiente. El parametro innodb_file_per_table del que hablamos [Pandora_3.0:Documentation_es:Anexo_AjusteMySQL]antes,regulapartedeestecomportamiento. Asimismo,cadabasededatostienedentrodeldirectorio/var/lib/mysqlundirectorioparadefinir suestructura.Deberborrarlostambien. Elprocedimientoessimple: 1. Volcar(viamysqldump)todoslosesquemasadisco:
mysqldump -u root -p -A > all.sql

1. 2. 3. 4.

PararMySQL. Borraribdata1,ib_logfile0,ib_logfile1ylosdirectoriosdebasesdedatosInnoDB LevantarMySQL. Importarelficherodebackup(all.sql)

mysql -u root -p mysql> source all.sql;

Elsistemadeberiairostensiblementemsrapidoahora.

39.2.1.12.Indicesopcionales
EnalgunassituacionesesposibleoptimizarelfuncionamientodeMySQLacostaderecursosdel sistema.
792

OptimizandoPandoraFMS

Este ndice,sirveparaoptimizarlavelocidaddeobtencindegrficasacostadeunmayorusode discoyunligerodescensoenelrendimientodeborrados/insercionesenlastablasdedatos:


ALTER TABLE `pandora`.`tagente_datos` ADD `id_agente_modulo` , `utimestamp` ); INDEX `id_agente_modulo_utimestamp` (

39.2.1.13.Querieslentas
Enalgunossistemas,enfunciondeltipodeinformacionquetengamos,podemosencontrarnoscon algunas"querieslentas"quehacenqueelsistemavayapeordelonormal.Podemosactivarellogde estetipodeconsultasduranteunperiodoCORTOdetiempo(yaqueperjudicaalrendimientodel sistema)afindeestudiarlasconsultasaintentaroptimizarlastablascon ndices.Paraactivareste sistemahayquehacerlosiguiente: Editarmy.cnfyaadirlassiguienteslineas:
slow_query_log=1 long_query_time=2 slow_query_log_file=/var/log/mysql_slow.log

Enlaversionopen:

touch /var/log/mysql_slow.log chmod 777 /var/log/mysql_slow.log

Reiniciarmysql.

39.2.1.14.Optimizacindetablasespecficas
Otra solucin menos "radical" para paliar el problema de la fragmentaci n es el uso de la herramientaOPTIMIZEdeMYSQLparaoptimizarciertastablasdepandora.Paraellodirectamente desdeMySQL,ejecutar:
OPTIMIZE OPTIMIZE OPTIMIZE OPTIMIZE OPTIMIZE OPTIMIZE table table table table table table tagente_datos; tagente; tagente_datos_string; tagent_access; tagente_modulo; tagente_estado;

Eso mejora el rendimiento y no debera ser necesario lanzarlo mas que una vez a la semana, pudiendo hacerse "EN CALIENTE" mientras el sistema trabaja. En sistemas muy grandes el OPTIMIZEpuedequedarse"bloqueado"ynoserunaalternativa,paraesoesmejorreconstruirla BBDD. Despusdehacerestasoperaciones,convieneejecutar:
FLUSH TABLES;

DelmanualdeMySQL:
793

OptimizandoPandoraFMS

For InnoDB tables, OPTIMIZE TABLE is mapped to ALTER TABLE, which rebuilds the table to updateindexstatisticsandfreeunusedspaceintheclusteredindex.

39.2.1.15.TokensespecialesdeMySQL
Existenalgunostokensmuy"especiales"demySQL,quepuedenayudaroempeorarelrendimiento:
# Set to 0 in mysql 5.1.12 or higher innodb_thread_concurrency = 20

Esteparametro(innodb_thread_concurrency)enversion5.1.12osuperiores,sivale0significaque nohayalimitealaconcurrencia,enversionesinferioresalase alada,sivale20omas,implicalo mismo:sinlimitealaconcurrencia.


innodb_flush_method = O_DIRECT

Esteparmetroafectaacomoseescribeendisco.Prubelo,enlamayoradeloscasosayuda.
innodb_thread_sleep_delay = 1000 innodb_concurrency_tickets = 250

Afectaaprocesosconmuchacarga,para"agilizar"comosegestionanlascolasylosbloqueos.
innodb_lock_wait_timeout = 180

EvitaqueanteunatascoocasionalelMySQL"serinda"(MySQLhasgoneaway)ysepare.Sipasa de180segundos,esqueesungranproblema.

39.2.1.16.EjemploN1deConfiguracin
Esteejemplodeconfiguracinutilizaunsistemadeejemplocon4CPU,4GiBRAMytablasInnoDB paralainstalacindedosbasesdedatos,ambasmuypotentes.Porfavor,tengaencuentaquela sumatotaldememoriaobsoleta,enreservaparacadavariable.,nodeber asermayorqueel80% delamemoriatotaldelsistema.Intenteajustarlosvaloresparasuinstalaci nyecheunvistazoa losregistrosMySQLeneldemonioquearranca. Como aspecto general para evaluar la ejecucin, considere que los siguientes aspectos afectan seriamentealaejecucin: NOUSElogsbinariossinovaausarunaconfiguracinMySQLconduplicacin. NOUSErastreodelogsdequeriesologsdequeryslentas
# Sample configuration for a MySQL with ~3GB RAM dedicated to MySQL Process [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # ------------------------# Innodb specific tokens # -------------------------

794

OptimizandoPandoraFMS

# You need to create the tables AFTER using this parameters innodb_file_per_table # Beware, you cannot change this two following parameters # in an already running system or the database will be corrupted! #innodb_log_files_in_group = 2 #innodb_log_file_size = 200M # This parameter gives about a 150% more performance, but in case of # power failure, you will loss about 1-2 secs of data. innodb_flush_log_at_trx_commit = 0 innodb_buffer_pool_size innodb_additional_mem_pool_size innodb_flush_method innodb_open_files innodb_thread_sleep_delay innodb_concurrency_tickets = 2G = 4M = = = = O_DIRECT 700 1000 250

# This will avoid some "MySQL gone away" shutdowns on long locking innodb_lock_wait_timeout = 180 # Set to 0 in mysql 5.1.12 or higher innodb_thread_concurrency = 20 # ------------------------# Performance Parameters # ------------------------key_buffer max_allowed_packet max_connections max_heap_table_size read_buffer_size read_rnd_buffer_size join_buffer record_buffer table_cache sort_buffer_size query_cache_min_res_unit query_cache_limit query_cache_size thread_stack thread_cache_size skip-external-locking max_delayed_threads # ------------------------# Other parameters # ------------------------max_connections = 500 # OS Buffer to let connections waiting for Mysql thread. back_log = 100 # Print warnings to the error log file. log_warnings [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid ################# /etc/my.cnf ################### = = = = = = = = = = = = = = = 512M 64M 500 512M 16M 32M 2M 1M 128 4M 1K 2M 100M 128K 8

= 25

795

OptimizandoPandoraFMS

39.2.1.17.Referencias
Referencias: http://dev.mysql.com/techresources/presentations/presentationoscon2000 20000719/index.html http://jeremy.zawodny.com/mysql/mysqloptimization.html

39.2.2.MySQLPerconaXTraDB
Perconaesunaversion"mejorada"deMySQL,sobretodorespectoalaescalabilidad.Aprovecha muchomejorlossistemasdemltiplesCPU'syaceleramuchoelaccesoadisco. LainstalacindePercona,sibiennoescomplicada,requiereunprocesobastantemanualquees idntico al de la instalacin de un MySQL "normal". Recomendamos la instalacion de binarios, utilizandoelprocedimientosiguiente:
shell> shell> shell> shell> shell> shell> shell> shell> shell> shell> shell> shell> shell> groupadd mysql useradd -r -g mysql mysql cd /usr/local tar zxvf /path/to/mysql-VERSION-OS.tar.gz ln -s full-path-to-mysql-VERSION-OS mysql cd mysql chown -R mysql . chgrp -R mysql . scripts/mysql_install_db --user=mysql chown -R root . chown -R mysql data cp support-files/mysql.server /etc/init.d/mysql.server /etc/init.d/mysql.server start

ParaconfigurarsuMySQLpercona,utiliceesteexcelentewizardonline,quegenerar sufichero /etc/my.cnf:PerconaWizardConfigurator EsteesunejemplodeficherodeconfiguraciondeunservidorPercona,con10GBdeRAM,discosde 10,000RPM,yCPUIntelXeonQuadcore.


[mysql] # CLIENT # port socket [mysqld] # GENERAL # user default_storage_engine socket pid_file # MyISAM # key_buffer_size myisam_recover # SAFETY # max_allowed_packet max_connect_errors skip_name_resolve sysdate_is_now innodb = = = = mysql InnoDB /var/lib/mysql/data/mysql.sock /var/lib/mysql/data/mysql.pid = 3306 = /var/lib/mysql/data/mysql.sock

= 32M = FORCE,BACKUP = 16M = 1000000 = 1 = FORCE

796

OptimizandoPandoraFMS

# DATA STORAGE # datadir # CACHES AND LIMITS # tmp_table_size max_heap_table_size query_cache_size max_connections thread_cache_size open_files_limit table_definition_cache table_open_cache sort_buffer_size = 1M join_buffer_size = 8M read_rnd_buffer_size = 16M # INNODB # innodb_flush_method innodb_log_files_in_group innodb_log_file_size innodb_flush_log_at_trx_commit innodb_file_per_table innodb_buffer_pool_size innodb_locks_unsafe_for_binlog innodb_lock_wait_timeout = 30 innodb_stats_on_metadata = 0 innodb_read_io_threads = 4 innodb_write_io_threads = 4 innodb_old_blocks_time = 1000 # LOGGING # log_error log_queries_not_using_indexes slow_query_log slow_query_log_file

= /var/lib/mysql/data/ = = = = = = = = 32M 32M 32M 500 50 65535 1024 2048

= = = = = = =

O_DIRECT 2 64M 0 1 6G 1

= = = =

/var/lib/mysql/data/mysql-error.log 0 0 /var/lib/mysql/data/mysql-slow.log

39.2.3.DimensionamientoPandoraFMSparaaltacapacidad
Esta seccin describe diferentes mtodos para configurar Pandora FMS en un entorno de alta capacidad.As mismodescribediferentesherramientasparahacerpruebasdecarga, tilespara ajustarelentornoalamayorcapacidaddeprocesoposible. SehaconfiguradoPandoraFMSparasoportarunacargade2000agentesensistemasdondebase dedatos,consolayservidorestnenlamismamquina.Lacifrarecomendadaest entornoa 1200/1500agentesporsistema,peroestacifravaraenormementeenfunciondesisonagentes XML,modulosremotos,conintervalosaltosobajos,oconsistemasdemuchacapacidadopoca memoria,todosfactoresalteranenormementeelndeagentesqueunsistemapuedegestionar eficientemente.

39.2.4.UsodediscosRAM(tmpfs)paradirectorioincoming
En algunos entornos de alta capacidad para el procesado de XML provinientes de agentes, el directorio/var/spool/pandora/data_intieneunaltotrficoydisponerdeestefilesystemenun almacenamientoenmemoriapuedeaumentarelrendimientodeprocesadodeXMLenun25%. Paracrearunaparticionen/var/spool/pandora/data_in_RAM,bastariaconelcomando:

797

OptimizandoPandoraFMS

mount -t tmpfs -o size=100M,nr_inodes=10k,mode=770 tmpfs /var/spool/pandora/data_in_RAM

Sepuedeprogramaren/etc/inittabparaqueestaparticionsecreeenelarranque.Eldirectorio destinodebeexistiryestarvaco.
tmpfs /var/spool/pandora/data_in_RAM tmpfs size=100M,nr_inodes=10k,mode=770 0 0

Porsupuesto,alestarlimitadoa100MB,sisellenaelsistemadejar defuncionarpropiamente.Si seesttrabajandoconpolticasoconfiguracionesremotaslosdirectoriosquecuelgangeneralmente de/data_in(filecollections,md5,confyotros)deberianubicarsecomoenlacesasusrutasreales endisco,suponiendounaestructurabasadaenlossiguientescomandos:


mv /var/spool/pandora/data_in /var/spool/pandora/data_in_old ln -s /var/spool/pandora/data_in /var/spool/pandora/data_in_RAM ln -s /var/spool/pandora/data_in_old/md5 /var/spool/pandora/data_in_RAM/md5 ln -s /var/spool/pandora/data_in_old/conf /var/spool/pandora/data_in_RAM/conf ln -s /var/spool/pandora/data_in_old/collections /var/spool/pandora/data_in_RAM/collections

39.2.5.Mltiplesinstanciasenelmismosistema
Un caso especial para implementar mayor poder de procesamiento en servidores con multiples procesadores(dedosomsncleosfsicos)consisteenimplementarvariasinstanciasdeservidores especficosdePandoraenlamismamquina,algoquenotienequeverconincrementarelnde hilosdelservidor,yaquepordiseodelkernelLinuxydelamquinavirtualdePerl,seaprovechan mejorlosncleosconmultiplesprocesosqueconmshilosdentrodelmismoproceso. EstatcnicasepuedeemplearcuandoPandoraFMSnopuedeprocesartodalainformaci nsin retrasarse demasiado. Esta opcin pasa por instalar otro servidor de Pandora FMS con otro directoriodeentrada incoming,porsupuestoconsupropio pandora_server.conf yunnombrede servidor diferente. Habra que hacer modificaciones en el script lanzador del servidor y otras personalizacionesmenoresalsistema.

39.2.6.Ejemplodeconfiguraciondeservidoresdealtacapacidad
Suponiendounamaquinacon16GBdeRAMy8CPUsquequisieramosoptimizarparalam xima capacidaddeprocesamientodeldataserver(XML).

39.2.6.1.my.cnf
(Semuestransololosparmetrosrelevantes)
key_buffer = 1G innodb_flush_log_at_trx_commit = 0 innodb_file_per_table skip-locking innodb_thread_concurrency = 16 max_allowed_packet = 100M query_cache_limit = 50M query_cache_size = 360M

798

OptimizandoPandoraFMS

innodb_buffer_pool_size=9000M innodb_additional_mem_pool_size=800M innodb_log_file_size=2500M innodb_log_buffer_size=80M innodb_lock_wait_timeout=50

39.2.6.2.pandora_server.conf
(Semuestransololosparmetrosrelevantes)
verbose 1 server_threshold 15 dataserver_threads 5 max_queue_files 1000

Cosasatenerencuente: Elndehilosmuyalto(+5)solobeneficiaaprocesosconlargasesperasdeE/S,comoel networkoelpluginserver,enelcasodeldataserverqueestodotiempodeproceso,pueed inclusopenalizarelrendimiento,poresousamos5aqui.EnsistemasconunaBDlenta, usariamosinclusomenoshilos),pruebediferentescombinacionesentre1y10.Enelcasode optimizarelsistemaparaelnewworkserver,elnseriamuchomasalto,entre10y30. Elserverthresholdalto(15)hacequelaBDseresientamenos,mientrasqueelincremento en el max numero de ficheros procesados hace que cada vez que el servidor "busque ficheros" llene los buffers. Estos dos elementos de la configuracion est n intimamente ligados. En el caso de optimizar el network server seria recomendable bajar el server thresholda5oa10. AlgunosparmetrosdelaconfiguracionpuedenafectarmuchoalrendimientodePandora FMS,comoelparametroagent_access(configurabledesdelaconsola).

39.2.7.Herramientasdeanlisisdecapacidad(Capacity)
PandoraFMSdisponedevariasherramientasqueleayudarnadimensionaradecuadamentesu hardwareysoftwareparaelvolumendedatosqueesperaobtener.Unadeellassirvepara"atacar" directamentelabasededatoscondatosficticios(dbstress)ylaotrageneraficherosXMLficticios (xml_stress)

39.2.7.1.PandoraFMSXMLStress
EsteesunpequeoscriptquegeneraficherosdedatosXMLcomolosenviadosporlosagentesde PandoraFMS.Esten/usr/share/pandora_server/util/pandora_xml_stress.pl Losscriptsleenlosnombresdelosagentesdesdeunficherodetextoygeneranficherosdedatos XMLparacada agenteacordeconficherodeconfiguracin, dondelosmdulosestndefinidos comoplantillas. Losmdulosserellenancondatosalazar.Sepuedenespecificarelvalorinicialylaprobabilidadde cambiodelosdatosdeunmdulo. Ejecutaelscriptdeestemodo:

799

OptimizandoPandoraFMS

./pandora_xml_stress.pl <configuration file>

Ejemplodeconfiguracindeunfichero:
# Maximum number of threads, by default 10. max_threads 10 # File containing a list of agent names (one per line). agent_file agent_names.txt # Directory where XML data files will be placed, by default /tmp. temporal /var/spool/pandora/data_in # Pandora FMS XML Stress log file, logs to stdout by default. log_file pandora_xml_stress.log # XML version, by default 1.0. xml_version 1.0 # XML encoding, by default ISO-8859-1. encoding ISO-8859-1 # Operating system (shared by all agents), by default Linux. os_name Linux # Operating system version (shared by all agents), by default 2.6. os_version 2.6 # Agent interval, by default 300. agent_interval 300 # Data file generation start date, by default now. time_from 2009-06-01 00:00:00 # Data file generation end date, by default now. time_to 2009-06-05 00:00:00 # Delay after generating the first data file for each agent to avoid # race conditions when auto-creating the agent, by default 2. startup_delay 2 # Address of the Tentacle server where XML files will be sent (optional). # server_ip 192.168.50.1 # Port of the Tentacle server, by default 41121. # server_port 41121 # Module definitions. Similar to pandora_agent.conf. module_begin module_name Module 1 module_type generic_data module_description A long description. module_max 100 module_min 10 module_exec type=RANDOM;variation=60;min=20;max=80 module_end module_begin module_name Module 2 module_type generic_data module_description A long description.

800

OptimizandoPandoraFMS

module_max 80 module_min 20 module_exec type=SCATTER;prob=1;avg=40;min=0;max=80 module_end module_begin module_name Module 3 module_type generic_data module_description A long description. module_max 80 module_min 20 module_exec type=CURVE;min=20;max=80;time_wave_length=3600;time_offset=0 module_end module_begin module_name Module 4 module_type generic_data_string module_description A long description. module_max 100 module_min 10 module_exec type=RANDOM;variation=60;min=20;max=80 module_end module_begin module_name Module_5 module_type generic_proc module_descripcion Module 3 description. # Initial data. module_data 1 module_end

Enviar y recibir la configuracin local del agente

Activandoensu"pandora_xml_stress.conf"elvalordeconfiguracin"get_and_send_agent_conf"a1 puedehacerquelos agentesdepruebadecargasecomportencomoagentesnormales,ya que envansuficherodeconfiguracinyelmd5.YdesdePandoraConsoleEnterprisepuedemodificar la configuracin remota para que en sucesivas ejecuciones del pandora_xml_stress use la configuracinpersonalizadadesdePandoraConsoleEnterpriseenvezdeatravsdeladefinicin de"pandora_xml_stress.conf". Apartedeesopuedesconfigurardondeguardardeformalocallosconfdetusagentesdeprueba coneltokendeconfiguracin"directory_confs"enelfichero"pandora_xml_stress.conf".
Fichero de configuracin

max_threadsNumerodethreadsenlaqueseejecutaraelscript,estomejoralaE/S. agent_fileRutadelficherodelistadenombres,separadospornuevalinea. temporalRutadeldirectoriodondesegeneraranlosficherosdedatosXMLficticios. log_fileRutadelficherodelogdondeinformaraelscriptdesuejecucin. xml_versionVersindelficherosdedatosXML(pordefecto1.0). encodingCodificacindelosficherosdedatosXML(pordefectoISO88591). os_nameNombredelsistemaoperativodelosagentesficticios(pordefectoLinux). os_versionVersindelsistemaoperativodelosagentesficticios(pordefecto2.6). agent_intervalIntervalodelosagentesficticiosensegundos(pordefecto300). time_from FechadecomienzoagenerarlosficherosdedatosXMLficticios,enformato "AOMESDIAHORA:MIN:SEC" time_toFechadefinagenerarlosficherosdedatosXMLficticios,enformato"A OMES
801

OptimizandoPandoraFMS

DIAHORA:MIN:SEC" get_and_send_agent_conf Valorbooleano0o1,cuandoestaactivolosagentesficticios intentaran descargar por configuracin remota una versin mas actual del fichero configuracinestandardeunagente.YdesdelaconsolaPandoraFMSenterprisepuedes editarlos. startup_delay Valor numrico detiempo ensegundos antesde comience cada agente a generarlosficheros,seusaparaevitarcondicionesdecarrera. timezone_offsetValornumricodeloffsetdetimezone. timezone_offset_range Valor numrico que sirve para generar dentro de este rango los timezonedeformaaleatoria. latitude_baseValornumrico,eslalatituddondeapareceranlosagentesficticios. longitude_baseValornumrico,eslalongituddondeapareceranlosagentesficticios. altitude_baseValornumrico,eslaaltituddondeapareceranlosagentesficticios. position_radiusValornumerico,eselrangoalrededorlacircunferenciaconesteradioque apareceelagenteficticiodeformaaleatoria.
Definicin de los mdulos

La definicin de un modulo dentro del fichero de configuracin script y si tienes activada la configuracinremotatambinseraiguales:
module_begin module_name <nombre_del_mdulo> module_type <tipo_de_dato_mdulo> module_description <descripcin> module_exec type=<tipo_generacin_xml_stress>;<otras_opciones_separadas_por_punto_y_coma> module_unit <unidades> module_min_critical <value> module_max_critical <value> module_min_warning <value> module_max_warning <value> module_end

Ycadaunolopuedesconfigurarcomo: tipo_generacin_xml_stress:puedetomarlosvaloresRANDOM,SCATTER,CURVE. module_attenuation <value>: El valor generado se multiplica por el valor dado, normalmenteentre0.1y0.9. module_attenuation_wdays <value> <value> ... <value> : El valor del mdulo se atena nicamentelosdasdados,quevandedomingo(0)asbado(6).Porejemplo,el siguiente mdulo simula una disminucin del 50% en el trfico de red los sbados y domingos:
module_begin module_name Network Traffic module_type generic_data module_description Incoming network traffic (Kbit/s) module_exec type=RANDOM;variation=50;min=0;max=1000000 module_unit Kbit/s module_min_critical 900000 module_attenuation 0.5 module_attenuation_wdays 0 6 module_end

module_incremental<value>:Siseconfiguraauno,elvalorpreviodelm dulosesuma
802

OptimizandoPandoraFMS

siempreaunnuevovalor,loquedalugaraunafuncincreciente. otrasvermsabajoqueopcionestiene,enfuncindeltipodegeneracindelmodulo.
39.2.7.1.1.1. Aleatorios (RANDOM)

Loscualestienenlassiguientesopciones: variationprobabilidaden%dequevarieconrespectoalvaloranterior. minvalormnimoquepuedetenerelvalor. maxvalormximoquepuedetenerelvalor. Numricos Generadavaloresnumericosaleatoriosentreelrangovalorminyelvalormax. Boleanos Generadavaloresentre0y1. Cadena Generadaunacadenadelongitudentrevalorminyelvalormax,loscaracteressonaleatoriosentre AyZincluidasmayusculasyminusculasycifrasnumricas.
39.2.7.1.1.2. Fuente externa de datos (SOURCE)

Permiteescogerunarchivodetextoplanocomofuentededatos.Opciones: src:archivofuenteparalosdatos. Elarchivocontieneundatoporlnea,nohaylmitedelneas.Porejemplo:


4 5 6 10

Admintetodotipodevalores(nmericosycadenasdetexto).Estetipodemdulosusarcadaunos delosdatosdelarchivoparagenerarlosdatosdelosm dulosenPandora,losdatossecogende formasecuencial.PorejemplolosdatosdelmduloanteriorseveranenPandoraas:


4 5 6 10 4 5 6 10 4 5 6 10 4 5 6 10 4 5 6 10 4 5 6 10

39.2.7.1.1.3.

Dispersin (SCATTER)

Solovaleparadatosnumricos,ylagrficasgeneradassonparecidasalasdeunlatidodecorazn, esdecirunvalornormalydevezencuandoun"latido". Ytienelassiguientesopciones: minvalormnimoquepuedetenerelvalor. maxvalormximoquepuedetenerelvalor. probprobabilidaden%dequegenereun"latido". avgvalormedioquedebemostrarpordefectosinohayningn"latido".

803

OptimizandoPandoraFMS

39.2.7.1.1.4.

Curva (CURVE)

Genera datos de mdulo siguiendo una curva trigonomtrica. Los cuales tienen las siguientes opciones: minvalormnimoquepuedetenerelvalor. maxvalormximoquepuedetenerelvalor. time_wave_lengthvalornumricoensegundosdeladuracindela"cresta"delaonda. time_offsetvalornumricoensegundosdecomienzodelaondadesdeeltiempocerocon valorcerodelmdulo(similaralagrficadeseno).

Notas de interes

Ten encuenta que la cantidad de ficheros generados es la relaci n entre la fecha de comienzo (time_from) y fecha de final (time_to) y el intervalo seteado en el agente (agent_interval),porloqueagrandestramosdetiempoopeque ointervaloelscriptteva generarmuchosficherosdedatosXML.

39.2.7.2.Comomedirlacapacidaddeprocesodeldataserver
Existeunpequeoscriptllamado"pandora_count.sh"queesteneldirectorio/utileneldirectorio delservidordePandoraFMS.Estescriptseusaparamedirlatasadeprocesamientodeficheros XMLporeldataserver,yutilizacomoreferenciaeltotaldeficherospendientesdeprocesaren /var/spool/pandora/data_in de forma que para poder usarlo se necesita tener pendiente de procesarvariosmilesdepaquetes(ogenerarlosconlaherramientaanteriormentemencionada). Estescriptsimplementecuentalospaquetesexistentesahoraylosrestadelospaquetesquehabia hace10segundos,luegodivideelresultadopor10yesossonlosfiherosquesehanprocesadoen losultimos10segundos,mostrandolatasaporsegundo.Esunamedidaalgoburdaperosirvepara ajustarlaconfiguraciondelservidor.

39.2.7.3.PandoraFMSDBStress
Estaesunapequea herramienta paraprobarelrendimientodesubasededatos. Tambi nse puedeusarparapregenerardatosperidicosoaleatorios(usandofuncionestrigonomtricas)y rellenarmdulosficticios.
804

OptimizandoPandoraFMS

Se debe crear un agente y asignarle mdulos para inyeccin de datos automtica con esta herramienta.Losnombressedebenllamarconlanotacinsiguiente: random:paragenerardatosaleatorios. curve:paragenerarunacurvadecoincidenciasusandofuncionestrigonom tricas. tilpara vereltrabajodeinterpolacincondiferentesintervalos,etc. boolean:generardatosbooleanosaleatorios. Detalformaquesepodrausarcualquiernombrequecontengalaspalabras random,curvey/o boolean,porejemplo: random_1 curve_other Slosepodrelegireltipodemdulodata_server.
Ajuste fino de la herramienta Pandora FMS DB Stress

Estaherramientaest preconfiguradaparabuscar,entodoslosagentes,losmdulosdenombre random,curveoboolean,yqueusenunintervaloentre300segundosy30das. Sisequieremodificarestecomportamiento,sedebeeditarel script pandora_dbstress ymodificar algunasvariablesaliniciodelfichero:


# Configure here target (AGENT_ID for Stress) my $target_module = -1; # -1 for all modules of that agent my $target_agent = -1; my $target_interval = 300; my $target_days = 30;

Laprimeralneadevariablecorrespondientecontarget_module,sedebeestablecerparaunmdulo fijoo1paraprocesartodoslosobjetivosquecoincidan.Lasegundal neadevariablecorresponde con target_agent, para un agente especfico. La tercera lnea corresponde con target_interval, definidaensegundosyquerepresentaelintervalodeperiodicidadpredeterminadadelm dulo.La cuarta lnea es target_days y representa el nmero de das en el pasado desde la fecha, en timestamp,actual.

39.3.SolucindeproblemasyherramientasdeDiagnsticoenPandora FMS
Aveces,elusuariotieneproblemasylosdesarrolladoresdePandoranolepuedenayudarsintener ms informacin acerca de sus sistemas. En la version 3.0, hemos desarrollado algunas herramientasconelfindeayudarlearesolveralgunosproblemas:

39.3.1.pandora_diag.php
Esta es una herramienta de diagnstico web. Necesita tener una sesin activa para usar este recurso.ElrecursoproporcionainformacinacercadelusodelabasededatosdePandoraFMSy tambinsobrelosvaloresdeconfiguracinyversin.Estaherramientaesaccesibledesdesuconsola usandolasiguienteURL: http://localhost/pandora_console/extras/pandora_diag.php SitienesuconsoladePandoraFMSenotraURLslonecesitaaadir /extras/pandora_diag.phpen suURLhome.

805

SolucindeproblemasyherramientasdeDiagnsticoenPandoraFMS

Ejemplodeoutput
Pandora FMS Build PC090512 Pandora FMS Version v3.0-dev Homedir /var/www/pandora_console HomeUrl /pandora_console tagente 2385 tagent_access 20049 tagente_datos 4342323 tusuario 19 Update Key PANDORA-FREE Updating code path /var/www/pandora_console Keygen path /usr/share/pandora/util/keygen Current Update # 0

Estaherramientapuedelanzarsetambindesdelalneadecomandos,ynecesitar pasarlaruta completaasuconsolahomedirdePandoraFMS,porejemplo:


php /var/www/pandora_console/extras/pandora_diag.php /var/www/pandora_console

Ylasalidadeestescriptserregistradaenlasalidadelaconsolaestandar.

39.3.2.pandora_diagnostic.sh
Esunaherramientalocalizadaen /usr/share/pandora_server/utilyproporcionamuchainformacin acercadelsistema: InformacindelaCPU UptimeyavgloaddelaCPU Informacinsobrelamemoria InformacinsobreKernel/liberacin Unficherodumpdeconfiguracinmysql Unficherodump(filtrandocontraseas)deconfiguracindelservidordePandoraFMS LoslogsdeinformacindePandoraFMS(peronoellogcompleto!) Informacindeldisco InformacinsobreprocesosdePandoraFMS Unainformacincompletadellogdelkernel(dmesg).

Toda la informacin se genera en un fichero .txt, con lo que los usuarios pueden enviar esta informacinacualquieraquequieraayudarles,porejemplo,enelforodeusuariosdePandoraFMS oenlaslistasdecorreopblicasdePandoraFMS.Estainformacinnodebercontenerningntipo deinformacinconfidencial.Tengaencuentaqueposiblementeustedquieracorrerconprivilegios derootsiquiereobtenerlosficherospandora_server.confymy.cnfparseados Esteesunejemplodeejecucin:
$ ./pandora_diagnostic.sh Pandora FMS Diagnostic Script v1.0 (c) ArticaST 2009 http://pandorafms.org. This script is licensed under GPL2 terms Please wait while this script is collecting data

806

SolucindeproblemasyherramientasdeDiagnsticoenPandoraFMS

Output file with all information is in '/tmp/pandora_diag.20090601_164511.data'

Yestassonalgunaspartesdelasalidadelfichero
Information gathered at 20090601_164511 Linux raz0r 2.6.28-12-generic #43-Ubuntu SMP Fri May 1 19:27:06 UTC 2009 i686 GNU/Linux ========================================================================= ----------------------------------------------------------------CPUINFO ----------------------------------------------------------------processor : 0 vendor_id : GenuineIntel cpu family : 6 . . ----------------------------------------------------------------Other System Parameters ----------------------------------------------------------------Uptime: 16:45:11 up 5:27, 2 users, load average: 0.11, 0.12, 0.09 ----------------------------------------------------------------PROC INFO (Pandora) ----------------------------------------------------------------slerena 11875 0.9 2.1 114436 44336 pts/0 Sl 13:14 1:56 gedit pandora_diagnostic.sh slerena 24357 0.0 0.0 4452 1524 pts/0 S+ 16:45 0:00 /bin/bash ./pandora_diagnostic.sh ----------------------------------------------------------------MySQL Configuration file ----------------------------------------------------------------# # The MySQL database server configuration file. # # You can copy this to one of: # - "/etc/mysql/my.cnf" to set global options, . . . ----------------------------------------------------------------Pandora FMS Logfiles information ----------------------------------------------------------------total 3032 drwxr-xrwx 2 root root 4096 2009-04-30 20:00 . drwxr-xr-x 17 root root 4096 2009-06-01 11:24 .. -rw-r----- 1 root sys 377322 2009-04-06 00:12 pandora_agent.log -rw-r--r-- 1 root root 0 2009-04-06 00:15 pandora_agent.log.err -rw-r--r-- 1 root root 13945 2009-04-02 21:47 pandora_alert.log -rw-r--r-- 1 slerena slerena 2595426 2009-04-30 20:02 pandora_server.error -rw-rw-rw- 1 root root 9898 2009-04-30 20:02 pandora_server.log -rw-rw-rw- 1 root root 65542 2009-04-30 20:00 pandora_server.log.old -rw-r--r-- 1 root root 94 2009-04-06 00:19 pandora_snmptrap.log -rw-rw-rw- 1 root root 4 2009-04-03 14:16 pandora_snmptrap.log.index ----------------------------------------------------------------System disk ----------------------------------------------------------------S.ficheros Tamao Usado Disp Uso% Montado en /dev/sda6 91G 49G 37G 58% / tmpfs 1003M 0 1003M 0% /lib/init/rw varrun 1003M 260K 1002M 1% /var/run varlock 1003M 0 1003M 0% /var/lock udev 1003M 184K 1002M 1% /dev tmpfs 1003M 480K 1002M 1% /dev/shm

807

SolucindeproblemasyherramientasdeDiagnsticoenPandoraFMS

lrm 1003M 2,4M 1000M 1% /lib/modules/2.6.28-12-generic/volatile ----------------------------------------------------------------Vmstat (5 execs) ----------------------------------------------------------------procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu---r b swpd free buff cache si so bi bo in cs us sy id wa 2 0 0 684840 119888 619624 0 0 15 10 258 474 3 1 95 0 0 0 0 684768 119888 619640 0 0 0 0 265 391 0 0 100 0 0 0 0 684768 119892 619636 0 0 0 56 249 325 1 1 99 0 0 0 0 684768 119892 619640 0 0 0 0 329 580 0 0 100 0 0 0 0 684776 119892 619640 0 0 0 0 385 1382 1 0 99 0 ----------------------------------------------------------------System dmesg ----------------------------------------------------------------[ 0.000000] BIOS EBDA/lowmem at: 0009f000/0009f000 [ 0.000000] Initializing cgroup subsys cpuset [ 0.000000] Initializing cgroup subsys cpu [ 0.000000] Linux version 2.6.28-12-generic (buildd@rothera) (gcc version 4.3.3 (Ubuntu 4.3.3-5ubuntu4) ) #43-Ubuntu SMP Fri May 1 19:27:06 UTC 2009 (Ubuntu 2.6.28-12.43-generic) . . ----------------------------------------------------------------END OF FILE ----------------------------------------------------------------560e8fa02818916d4abb59bb50d91f6a /tmp/pandora_diag.20090601_164511.data

808

SolucindeproblemasyherramientasdeDiagnsticoenPandoraFMS

40DETALLESSOBRELAINGENIERADE PANDORAFMS

809

DetallessobrelaingenieradePandoraFMS

Enesteanexosevanaexplicaralgunosdelosprincipiosdedise oyparticularidadesdePandora FMS

40.1.DiseodelabasededatosdePandoraFMS
LasprimerasversionesdePandoraFMS,desdela0.83hastala1.1,estabanbasadasenunaidea sencilla:undato,unainsercindelabasededatos.Estoeramuysencillodedesarrollarypermit a alprogramabsquedasfciles,insercionesyotrasoperaciones. Estotenamuchasventajasyungraninconveniente:laescalabilidad.Estesistematieneunl mite definidoenmximonmerodemdulosquepuedasoportar,sintenerqueimplementarcostosos mecanismosde clusterizacin quepermitanmscarga,yaunas,conciertonmerodedatosel funcionamientoyanoeratanrpido(>5millonesdeelementos). Las soluciones basadas en clster MySQL no son fciles y siempre aaden algunos problemas menores,ademstampocoofrecensiquieraunasolucinalargoplazo. LaversindePandoraFMS(1.3ysuperiores)implementanunacompresindedatosentiemporeal paracadainsercin.Ademspermiterealizarunacompresindedatosbasadaeninterpolacin. Tambinimplementacomoenversionesanteriores;unborradoautom ticodelosdatosapartir deunadeterminadaantigedad. Elnuevosistemadeprocesadodedatosalmacenaslodatosnuevos.Sientraunvalorduplicado enelsistema,nosealmacenar enlabasededatos.Esmuy tilparamantenerlabasededatos reducida.EstofuncionaparatodoslosmdulosdePandoraFMS:numrico,incremental,booleano ycadena.Enlosdatosdetipobooleanoel ndicedecompactacinesaltsimoyaquesondatosque difcilmentecambian.Noobstantesealmacenanelementos ndicecada24horas,deformaque existaunainformacinmnimaquesirvacomoreferenciaalahoradecompactarlainformacin. Estoresuelvepartedelproblemadeescalabilidadreduciendoconsiderablementeelusodelabase de datos, sobreun40%70%. Tambinexisteotra solucinpara problemasdeescalabilidad:la disgregacintotaldecomponentesenPandoraFMS,quepermiteequilibrarlacargadeprocesado deficherosdedatosyejecucindemdulosderedendiferentesservidores.Ahorayasepueden tener varios servidores de Pandora FMS (servidores de red, datos o SNMP), consolas Web de PandoraFMS,ascomounabasededatosounclsterdealtorendimiento(conMySQL5). Lasmodificaciones comportangrandes cambiosala horadeleereinterpretarlosdatos. Seha rediseadoeimplementadodesdeceroelmotorgrficoparapoderrepresentarlosdatosdeforma rpidaconelnuevomodelodealmacenamientodedatos.Conlanuevaversi n,siunagenteno puedecomunicarseconPandoraFMS,yelservidordePandoraFMSnorecibedatosdelagente, entoncesestaausenciadedatosnopuedetenerunarepresentacingrfica,yenloquealagrfica delmoduloserefiere,nohabrcambios. Se obtendr una grfica con una perfecta lnea horizontal. Pandora FMS, si no recibe nuevos valores,creerquenoloshay,ytodoaparecertalycomoestabaenla ltimanotificacin.Similar alcomportamientodeMRTG,porejemplo. Paraqueverunejemplogrfico,estaimagenmuestraloscambiosparacadadato,recibidoscada 180segundos.

810

DiseodelabasededatosdePandoraFMS

Esteseraelgrficoequivalenteparaelmismodato,exceptounfallodelaconexi n,de05:55a 15:29aproximadamente.

En Pandora FMS 1.3 se introduce un nuevo grfico general para el agente, que muestra la conectividaddelmismo,yquereflejalatasadeaccesodesdelosm dulosalagente.Estegrfico complementalosotrosgrficosquemuestrancuandoelagentetieneactividadyest recibiendo datos.Esteesunejemplodeunagentequeseconectaregularmentealservidor:

Sitienepicos(bajos)enestegrfico,podratenerproblemasoconexioneslentasenlaconectividad delagentedePandoraFMSconelservidordePandoraFMS,obienproblemasdeconectividad desdeelservidordered.

40.1.1.MejorasenlosndicesyotrosaspectostcnicosdeBB.DD.
SehanimplementadopequeasmejorasenelmodelorelacionaldelabasededatosdePandora FMS.Unodeloscambiosintroducidoshasidolaindexacinportiposdemdulos.Deestaformaes ms rpido acceder a la informacin, ya que el agente lgico de Pandora FMS, que sirve para
811

DiseodelabasededatosdePandoraFMS

colgartodalainformacindemonitorizacin,sereparteendiferentespedazosdeinformacin quepuedenprovenirdefuentesmuydiferentes.EnlaprximaversindePandoraFMSsehan planificadohastacuatrotiposdeservidoresespecficosnuevosqueofrecernunaofertamsamplia detiposdeinformacinparaprocesar.

Adems,factorescomolarepresentacinnumricadelasmarcasdetiempo(enformatoUNIX,o nmerodesegundosdesdeel1deenerode1970), aceleralasbsquedasderangosdefecha, comparaciones de las mismas, etc. Este trabajo ha permitido una mejora considerable en los tiemposdebsquedayenlasinserciones.

40.1.2.Tablasprincipalesdelabasededatos
AcontinuacinsemuestraundiagramaERyunadescripcindetalladadelasprincipalestablasde labasededatosdePandoraFMS.Elrestodetablastambinsecomentanbrevemente.

taddress:Contienedireccionesadicionalesdelosagentes. taddress_agent:Direccionesasociadasaunagente(rel.taddress/tagente). tagente:ContienelainformacindelosagentesdePandoraFMS. id_agente:Identificadornicodelagente. nombre:Nombredelagente(casesensitive). direccion:Direccindelagente.Sepuedenasignardireccionesadicionalesatravsde


812

DiseodelabasededatosdePandoraFMS

taddress. comentarios:Textolibre. id_grupo:Identificadordelgrupoalqueperteneceelagente(ref.tgrupo). ultimo_contacto: ltimafechadecontactodelagente,yaseaatravsdeunagente softwareodeunmduloremoto. modo:Modoenquecorreelagente,0normal,1aprendizaje. intervalo:Intervalodeejecucindelagente.Enfuncindeesteintervalosemarcar elagentecomofueradelmites. id_os:IdentificadordelSOdelagente(ref.tconfig_os). os_version:VersindelSO(textolibre). agent_version:Versindelagente(textolibre).Actualizadaporlosagentessoftware. `ultimo_contacto_remoto:ltimafechadecontactorecibidadelagente.Enelcasode agentes software y a diferencia de ultimo_contacto, la fecha la env a el propio agente. disabled:Estadodelagente,habilitado(0)odeshabilitado(1). id_parent:Identificadordelpadredelagente(ref.tagente). custom_id: Identificador personalizado del agente. til para interactuar con otras herramientas. server_name:Nombredelservidoralqueestasignadoelagente. cascade_protection:Proteccinencascada.Deshabilitadaa0.Estandoa1impideque sedisparenlasalertasasociadasalagentesialgunaalertacrticadelpadredelagente se ha disparado. http://www.openideas.info/wiki/index.php? title=Pandora_3.0:Documentation_es:Alertas#Protecci.C3.B3n_en_cascada tagente_datos:Datosrecibidosdecadamdulo.Siparaunmismomduloel ltimodato recibido es igual al inmediatamente anterior no se inserta (pero se actualiza tagente_estado).Losdatosdetipoincrementalycadenaseguardanentablasdiferentes. tagente_datos_inc:Datosdetipoincremental. tagente_datos_string:Datosdetipocadena. tagente_estado:Informacindelestadoactualdecadamdulo. id_agente_estado:Identificador. id_agente_modulo:Identificadordelmdulo(ref.tagente_modulo). datos:Valordelltimodatorecibido. timestamp:Fechadelltimodatorecibido(puedevenirdelagente). estado:Estadodelmdulo:0NORMAL,1CRITICAL,2WARNING,3UNKNOWN. id_agente:Identificadordelagenteasociadoalmdulo(ref.tagente). last_try:Fechadelaltimaejecucinconxitodelmdulo. utimestamp:FechadelaltimaejecucindelmduloenformatoUNIX. current_interval:Intervalodeejecucindelmduloensegundos. running_by:Nombredelservidorqueejecutelmdulo. last_execution_try:Fechadel ltimointentodeejecucindelmdulo.Laejecucin pudofallar. status_changes:Nmerodecambiosdeestadoquesehanproducido.Seutilizapara evitar cambios continuos de estado. http://www.openideas.info/wiki/index.php? title=Pandora_3.0:Documentation_es:Operacion#FF_Threshold last_status:Estadoanteriordelmdulo. tagente_modulo:Configuracindemdulos. id_agente_modulo:Identificadornicodelmdulo. id_agente:Identificadordelagenteasociadoalmdulo(ref.tagente).
813

DiseodelabasededatosdePandoraFMS

id_tipo_modulo:Tipodemdulo(ref.ttipo_modulo). descripcion:Textolibre. nombre:Nombredelmdulo. max: Valor mximo del mdulo. Datos mayores que este valor se considerarn invlidos. min: Valor mnimo del mdulo. Datos menores que este valor se considerarn invlidos. module_interval:Intervalodeejecucindelmduloensegundos. tcp_port:PuertoTCPdestinoenmdulosderedyplugin.Nombredelacolumnaa leerenmdulosWMI. tcp_send:Datosaenviarenmdulosdered.NamespaceenmdulosWMI. tcp_rcv:Respuestaesperadaenmdulosdered. snmp_community:ComunidadSNMPenmdulosdered.FiltroenmdulosWMI. snmp_oid:OIDenmdulosdered.QueryWQLenmdulosWMI. ip_target:Direccindedestinoenmdulosdered,pluginyWMI. id_module_group: Identificador del grupo al que pertenece el mdulo (ref. tmodule_group). flag: Flag de ejecucin forzada. Estando a 1 se ejecuta el mdulo aunque no le correspondaporintervalo. id_modulo: Identificador para mdulos que no pueden reconocerse por su id_tipo_mdulo.6paramdulosWMI,7paramdulosWEB. disabled:Estadodelmdulo,0habilitado,1deshabilitado. id_export:Identificadordelservidordeexportacinasociadoalmdulo(ref.tserver). plugin_user:NombredeusuarioenmdulospluginyWMI,useragentenmdulos Web. plugin_pass:ContraseaenmdulospluginyWMI,nmerodereintentosenmdulos Web. plugin_parameter: Parmetros adicionales en mdulos plugin, configuracin de la tareadeGoliatenmdulosWeb. id_plugin: Identificador del plugin asociado al m dulo en mdulos plugin (ref. tplugin). post_process:Valor porel quesemultiplicarnlos datosdelmduloantesdeser guardados. prediction_module:1sisetratadeunmdulodeprediccin,2siesdeservicio,3sies sinttico,0encualquierotrocaso. max_timeout:Tiempodeesperasegundosenmdulosplugin. custom_id:Identificadorpersonalizadodelmdulo. tilparainteractuarconotras herramientas. history_data: Si est a 0 no se guardan datos del mdulo en tagente_datos*, nicamenteseactualizatagente_estado. min_warning:ValormnimoqueactivaelestadoWARNING. max_warning:ValormximoqueactivaelestadoWARNING. min_critical:ValormnimoqueactivaelestadoCRITICAL. max_critical:ValormximoqueactivaelestadoCRITICAL. min_ff_event: Nmero de veces que tiene que darse una condicin de cambio de estado antes de que dicho cambio tenga lugar. Est relacionado con tagente_estado.status_changes. http://www.openideas.info/wiki/index.php? title=Pandora_3.0:Documentation_es:Operacion#FF_Threshold delete_pending:Siesta1elmduloserborradoporelscriptdemantenimientode labasededatospandora_db.pl. custom_integer_1:Cuandopredicion_module=1estecampotieneeliddelm dulo
814

DiseodelabasededatosdePandoraFMS

delquesetomanlosdatosparapredecir.Cuandoprediction_module=2estecampo tendreliddelservicioasignadoalmdulo custom_integer_2: custom_string_1: custom_string_2: custom_string_3:

tagent_access: Se inserta una nueva entrada cada vez que legan datos de un agente a cualquieradelosservidores,peronuncamsdeunaporminutoparaevitarcargarlabase de datos enexceso. Se puededesactivar con poniendo agentaccessa 0 enelfichero de configuracinpandora_server.conf. talert_snmp:ConfiguracindealertasSNMP. talert_commands:Comandosquesepodrnejecutardesdeaccionesasociadasaunaalerta (eg.enviarmail). talert_actions: Instancia de un comando asociada a una alerta (eg. enviar mail al administrador). talert_templates:Plantillasdealertas. id:Identificadornicodelaplantilla. name:Nombredelaplantilla. description:Descripcin. id_alert_action:Identificadordelaaccinpordefectoasociadaalaplantilla. field1:Campopersonalizado1(textolibre). field2:Campopersonalizado2(textolibre). field3:Campopersonalizado3(textolibre). type:Tipodealertaenfuncindelacondicindedisparo('regex','max_min','max', 'min','equal','not_equal','warning','critical'). value:Valorparaalertastiporegex(textolibre). matches_value:A1inviertelalgicadelacondicindedisparo. max_value:Valormximoparaalertasmax_minymax. min_value:Valormnimoparaalertasmax_minymin. time_threshold:Intervalodelaalerta. max_alerts: Nmero mximo de veces que se disparar una alerta durante un intervalo. min_alerts:Nmeromnimodevecesquedebedarselacondicindedisparodurante unintervaloparaquelaalertasedispare. time_from:Tiempoapartirdelcuallaalertaestactiva. time_to:Tiempohastaelcuallaalertaestactiva. monday:A1laalertaestactivaloslunes. tuesday:A1laalertaestactivalosmartes. wednesday:A1laalertaestactivalosmircoles. thursday:A1laalertaestactivalosjueves. friday:A1laalertaestactivalosviernes. saturday:A1laalertaestactivalossbados. sunday:A1laalertaestactivalosdomingos. recovery_notify: A 1 habilita la recuperacin de alertas. http://www.openideas.info/wiki/index.php? title=Pandora_3.0:Documentation_es:Alertas#Plantilla_de_alerta field2_recovery:Campopersonalizado2paralarecuperacindealerta(textolibre). field3_recovery:Campopersonalizado3paralarecuperacindealerta(textolibre).
815

DiseodelabasededatosdePandoraFMS

priority: Criticidad de la alerta: 0 Maintenance, 1 Informational, 2 Normal, 3 Warning,4Critical. id_group:Identificadordelgrupoalquepertenecelaplantilla(ref.tgrupo). talert_template_modules:Instanciadeunaplantilladealertaasociadaaunmdulo. id:Identificadornicodelaalerta. id_agent_module: Identificador del mdulo asociado a la alerta (ref. tagente_modulo). id_alert_template: Identificador de la plantilla asociada a la alerta (ref. talert_templates). internal_counter: Nmero deveces que seha dado la condicin de disparo de la alerta. last_fired:ltimavezquesedisparlaalerta(tiempoUNIX). last_reference:Comienzodelintervaloactual(tiempoUNIX). times_fired: Nmero de veces que se dispar la alerta (puede ser distinto a internal_counter). disabled:A1laalertaestdeshabilitada. priority: Criticidad de la alerta: 0 Maintenance, 1 Informational, 2 Normal, 3 Warning,4Critical. force_execution: A 1 se ejecutar la accin de la alerta aunque no haya sido disparada.Seutilizaparalaejecucinmanualdealertas. talert_template_module_actions: Instancia de una accin asociada a una alerta (ref. talert_template_modules). talert_compound:Alertascompuestas,lascolumnassonsimilaresalasdetalert_templates. talert_compound_elements:Alertassimplesasociadasaunaalertacompuesta,cadauna consucorrespondienteoperacinlgica(ref.talert_template_modules). talert_compound_actions: Acciones asociadas a una alerta compuesta (ref. talert_compound). tattachment:Adjuntosasociadosaunaincidencia. tconfig:Configuracindelaconsola. tconfig_os:SistemasoperativosreconocidosenPandoraFMS. tevento:Entradasdeeventos.Losvaloresdecriticidadsonlosmismosqueparalasalertas. tgrupo:GruposdefinidosenPandoraFMS. tincidencia:Entradasdeincidencias. tlanguage:IdiomasreconocidosenPandoraFMS. tlink:Enlacesmostradosenlaparteinferiordelmendelaconsola. tnetwork_component: Componentes de red. Son mdulos asociados a un perfil de red utilizadaporelReconServer.Posteriormentedarnlugaraunaentradaentagente_modulo, demodoquelascolumnasdeambastablassonsimilares. tnetwork_component_group:Gruposparaclasificarloscomponentesdered. tnetwork_profile: Perfil de red. Agrupacin de componentes de red que se asignarn a tareas de reconocimiento del Recon Server. Los componentes de red asociados al perfil darnlugaramdulosenlosagentescreados. tnetwork_profile_component: Componentes de red asociados a un perfil de red (rel.
816

DiseodelabasededatosdePandoraFMS

tnetwork_component/tnetwork_profile). tnota:Notasasociadasaunaincidencia. torigen:Orgenesposiblesdeunaincidencia. tperfil:Perfilesdeusuariosdefinidosenlaconsola. trecon_task: Tareas de reconocimiento http://www.openideas.info/wiki/index.php? title=Pandora_3.0:Documentation_es:ReconServer tserver:Servidoresregistrados. tsesion:Informacinsobrelasaccionesllevadasacabodurantelasesindeunusuariopara loslogsdeadministracinyestadsticas. ttipo_modulo:Tiposdemdulosegnsuorigenytipodedato. ttrap:TrapsSNMPrecibidosporlaconsolaSNMP. tusuario:Usuariosregistradosenlaconsola. tusuario_perfil:Perfilesasociadosaunusuario(rel.tusuario/tperfil). tnews:Noticiasmostradasenlaconsola. tgraph:Grficaspersonalizadascreadasenlaconsola. tgraph_source:Mdulosasociadosaunagrfica(rel.tgraph/tagente_modulo). treport:Informespersonalizadoscreadosenlaconsola. treport_content:Elementosasociadosauninforme. treport_content_sla_combined:ComponentesdeunelementoSLAasociadoauninforme. treport_content_sla_combined:ComponentesdeunelementoSLAasociadoauninforme. tlayout:Mapaspersonalizadoscreadosenlaconsola. tlayout_data:Elementosasociadosaunmapa. tplugin:DefinicionesdepluginsparaelPluginServer. tmodule:Tiposdemdulos(Network,Plugin,WMI...). tserver_export: Destinos configurados http://www.openideas.info/wiki/index.php? title=Pandora_3.0:Documentation_es:ExportServer tplanned_downtime:Paradasprogramadas. tplanned_downtime_agents: Agentes asociados a una parada programada (rel. tplanned_downtime/tagente). para el Export Server. del Recon Server.

tserver_export_data:Datosaexportar,asociadosaundestino.

40.1.3.Compresindedatosentiemporeal
Paraevitarsobrecargarlabasededatoselservidorrealizaunasencillacompresi nentiempode insercin.Undatonoseguardaenlabasededatosamenosqueseadistintodelanteriorohaya unadiferenciade24horasentreambos. Porejemplo,suponiendounintervaloaproximadode1hora,lasecuencia 0,1,0,0,0,0,0,0,1,1,0,0se
817

DiseodelabasededatosdePandoraFMS

almacenaenlabasededatoscomo 0,1,0,1,0.Noseguardar otro0consecutivoamenosque hayanpasado24horas. Lagrficaquesemuestraacontinuacinsehadibujadoapartirdelosdatosdelejemploanterior. nicamentesehaninsertadoenlabasededatoslosdatosmarcadosenrojo.

Lacompresinafectaengranmedidaalosalgoritmosdeprocesadodedatos,tantoalasm tricas comoalasgrficas,yesimportantetenerencuentaquehayquerellenarloshuecosprovocadospor lacompresin. Teniendoencuentatodoloanterior,pararealizarclculosconlosdatosdeunmdulodadosun intervaloyunafechainicial,hayqueseguirlossiguientespasos: Buscareldatoanteriorfueradelintervaloyfechadados.Siexistehayquetraerloalinicio delintervalo.Sinoexisteanteriormentenohabadatos. Buscarelsiguientedatofueradelintervaloyfechadadoshastaunmximoigualalintervalo delmdulo.Siexistehayquetraerloalfinaldelintervalo.Sinohayqueprolongarel ltimo valordisponiblehastaelfinaldelintervalo. Serecorrentodoslosdatos,teniendoencuentaqueundatoesvlidohastaqueserecibaun datodistinto.

40.1.4.Compactacindedatos
Pandora FMS ha incluido un sistema para "compactar" la informaci n de la base dedatos.Este sistemaest orientadoaescenariosdetamao pequeo/mediano(250500agentes,<100.000 mdulos)quedeseantenerunhistricodeinformacinextensopero"perdiendo"resolucin. ElmantenimientodelabasededatosdePandoraFMS,elcualseejecutacadad a,haceunescaneo de los datos antigos sometidos a ser compactados.La compactacin se realiza usando una interpolacinsimpleylineal,loquesignificaquesitenemos10.000puntosdeinformaci nenun datendremoselresultadodelprocesoquereemplazaresos10.000puntospor1000puntos. Esto,obviamente,alserunainterpolacinhacequese"pierda"informacinPEROigualmenteguarda elalmacenamientodelosdatosyengrficosconlargosperiodosdetiempo(mensual,anual)seran exactamenteiguales.Enbasesdedatosdegrantamaoestecomportamientopuedeserbastante "costoso"enloqueserefierealrendimientodelabasededatosytendr aqueserdesactivado.Ensu
818

DiseodelabasededatosdePandoraFMS

lugarhabraqueoptarporutilizarelmodelodebasededatoshistrica.

Ejemplogrficadedatossincompactar

Ejemplodegrficadedatossincompactados

40.1.5.Basededatoshistrica
La base de datos histrica se trata de una funcionalidad Enterprisey es usada para almacenar informacindesdeunpuntoenunahoradada,porejemplo,losdatosconunaantigedaddemsde unmesenotrabasededatos.Estabasededatos debe estarenunservidorfsicodistinto(no virtualizar).Automaticamentecuandoqueremosquenosmuestreunagr ficadedatosdeunao, PandoraFMSmirarlosprimerosXXdasenlabasededatos"normal"yelrestoenlabasededatos histrica.Deestamanerasepuedeevitareltenerproblemasderendimientocuandoacumulamos unacantidadgrandedeinformacinennuestrosistema. Paraconfiguraresto,hayqueinstalarmanualmenteenotroservidor,unabasededatoshist rica (importandoelesquemadePandoraFMSen l,sindatos),ypermisosdeinstalacinparapermitirel accesoaelladesdeelservidordePandoraFMSprincipal. IraConfiguracin>BBDDdehistricoyconfigurarahlosparametrosparaaccederalabasede datoshistrica.

819

DiseodelabasededatosdePandoraFMS

Algunosdelosparametrosquetienenqueserexplicados: Das:Mximodedasquelainformacinsealmacenaenlabasededatosprincipal.Despu sdeesa fecha,losdatossernmovidosalabasededatoshistrica.30dasseraunbuenmargen. Paso:Actuacomounbuffer,elscriptdemantenimientodelabasededatostomaraXXregistrosde la Base de Datos,los insertar en la base de datos histrica y los borrar de la base de datos principal.Estoconllevaunconsumodetiempoyeltama odependedetuconfiguracin.1000sera unbuenvalorpordefecto. Retraso: Despusdeunbloquedeunaseriedemdulos,elscriptesperar lossegundosquese especifiqueenelretraso. tilsielrendimientodelabasededatosespobre,paraevitarbloqueos. Losvaloresdebenestarentre15. Una buena manera de realizar la comprobacin sera correr el script de mantenimiento manualmente:
/usr/share/pandora_server/util/pandora_db.pl /etc/pandora/pandora_server.conf

Nodeberareportarningnerror.

40.2.EstadosdelosmdulosenPandoraFMS
EnPandoraFMSlosmdulospuedentenerdiferentesestados:Desconocido,Normal,Advertencia, CrticooconAlertasdisparadas.

40.2.1.Cundoseestablececadaestado?
Porunlado,cadamdulotieneensuconfiguracinunosumbralesdeAdvertenciayCrtico.Estos umbralesdefinenlosvaloresdesusdatosparalosqueseactivar ndichosestados.Sielmdulo proporcionadatosfueradeestosumbralesseconsideraqueestenestadoNormal. Cada mdulo tiene, adems, un intervalo de tiempo que establecer la frecuencia con la que obtendr losdatos.Eseintervaloser tenidoencuentaporlaconsolapararecogerlosdatos.Siel mdulollevaeldobledesuintervalosinrecogerdatos,seconsideraqueesem duloestenestado
820

EstadosdelosmdulosenPandoraFMS

Desconocido. Por ltimo,sielmdulotienealertasconfiguradasyalgunadeellashasidodisparadaynoseha validado,elmdulotendrelcorrespondienteestadodeAlertadisparada.

40.2.2.Propagacinyprioridad
En la organizacin de Pandora, ciertos elementos dependen de otros, como es el caso de los mdulosdeunagenteolosagentesdeungrupo.Tambinsepuedeaplicarestoalcasodelas polticasdePandoraFMSEnterprise,lascualestienenasociadosciertosagentesyciertosm dulos queseconsideranasociadosacadaagente. Estaestructuraesespecialmente tilparaevaluarlosestadosdelosmdulosasimplevista.Estose consiguepropagandohaciaarribaenestaorganizacinlosestados,otorgndoleas estadoalos agentes,gruposypolticas.

40.2.2.1.Questadotendrunagente?
Unagentetendr elpeordelosestadosdesusmdulos.Recursivamente,ungrupotendr elpeor delosestadosdelosagentesquea lpertenezcan,ylomismoparalaspolticas,quetendrnel peorestadodesusagentesasignados. Deestemodo,converungrupoconestadocrtico,porejemplo,sabremosquealmenosunodesus agentestieneesemismoestado.Allocalizarlo,podremosbajarotronivelparallegaralm duloo mduloscausantesdepropagarelestadocrticohastaelnivelmsalto.

40.2.2.2.Culeslaprioridaddelosestados?
Cuandohablamosdequesepropagaelpeordelosestados,debemostenerclaroqu estadosson prioritariosfrentealosdems.Porelloexisteunalistadeprioridades,siendoelprimerestadoque figuraenellaelquemsprioridadtienesobrelosdemsyelltimoelquemenos,apareciendoste solamentecuandotodosloselementoslotienen. 1. 2. 3. 4. 5. Alertasdisparadas Estadocrtico Estadodeadvertencia Estadodesconocido Estadonormal

Vemosquecuandounmdulotienealertasdisparadas,suestadotiene prioridadsobretodoslodemsyelagentealquepertenecetendr ese estadoyelgrupoalquepertenezcaeseagente,asuvez,tambi n.Por otrolado,paraqueungrupo,porejemplo,tengaestadonormal,todos susagentesdebentenerdichoestado;loquesignificaqueasuveztodos losmdulosdedichosgrupostendrnestadonormal.

40.2.3.Cdigodecolores
Cadaunodelosestadoscomentadostieneasignadouncolor,parapoderverenlosmapasdered,a simplevista,cuandoalgonofuncionacorrectamente. EstadodeAlertasdisparadas EstadoCrtico EstadodeAdvertencia
821

EstadosdelosmdulosenPandoraFMS

EstadoDesconocido EstadoNormal

822

EstadosdelosmdulosenPandoraFMS

41APPLIANCECD

823

ApplianceCD

Apartirdelaversion4.1dePandoraFMSexisteun nicosistema"empaquetado"o"Appliance"de instalacin, que permite instalar desde CD el sistema operativo y pandora, con todas las dependenciasque requiere.EnversionesanterioresutilizbamosSUSE comosistemabase,pero desdelaversion4.1,elsistemabaseesCentOS,hermanodeRedHatEnterpriseLinux. EsteCDtienepersonalizadoelsistemaoperativobase,contodoelsoftwarenecesario,lospaquetes ydependenciasascomounaconfiguracinpersonalizadaparaPandoraFMS.ElCDdeinstalacin podr serutilizadoparainstalarPandoraFMSenunsistemafsicodedicadooenunamquina virtual. La instalacin del CD en s misma utiliza el sistema de instalacin de Redhat (Anaconda) que permiteunainstalacingraficaodetexto.ElCDvienecontodoelsoftwarequesenecesitapara instalarlo,ynoesnecesarioquehayaconexindeinternetparahacerunainstalacincompletade PandoraFMS.Estoesunagranventaja,yaquelainstalaci n"normal"dePandoradesdepaquetes suelerequerirconexionainternetpararesolverdependencias,etc. Lascredencialesbsicasquenecesitarparateneraccesoalamquinacuandohayaconfiguradosu aplicacin,sonlassiguientes: AccesoSSH
root / (se define en la instalacin inicial)

AccesoMySQL
root / pandora

ConsolaWEBdePandoraFMS
admin / pandora

41.1.RequisitosMnimos
ElCDdeinstalacindePandoraest pensadoparapreinstalarunPandoraFMSorientadoaun entornomedio.Sinembargo,siloparametriza,podrajustarloparaentornosmspequeosoms grandes. Anas,parapoderinstalarelsistema,necesitaralgunosmnimos: 1024MBdeRAM,2GBRecomendado. 2GBdedisco,8GBrecomendados. 2.4GhzCPU,DualCorerecomendado.

41.2.Grabandolaimagenadisco
1. 2. 3. 4. 5. 6. Linux:Utiliceunaaplicacindegrabadodediscos(brasero,k3b,wodim). Windows:Utiliceunaaplicacindegrabadodediscos(nero,freeisoburner). Mac:UtilicelaherramientadediscosdelsistemaparagrabarlaISO. ObtendrunCDbootableconelsistemadeinstalacindePandoraFMS TambinsepuedegrabarlaISOenunpendriveUSBparaarrancarelsistemadesdeahi. CompruebeensuBIOSsisusistemanoarrancausandoelCDcomofuente

824

Instalacin

41.3.Instalacin
Nos aparece esta pantalla al inicio del arranque. Si no pulsamos ninguna tecla, cargar automticamenteelLiveCD.PuedeutilizarelliveCDpara"explorar"PandoraFMS,peronose recomienda.

Si en la pantalla de arranque pulsamos una tecla, nos aparecer el menu de arranque con las opciones que podemos ver en la captura. Si seleccionamos Install (Text mode) haremos la instalacin en modo texto, si elegimos la opcion Install iniciaremos la instalacin grfica (la recomendada).

825

Instalacin

41.3.1.Instalacingrfica
Elinstaladorgrficoleguiarpasoapasoportodoelprocesodeinstalacin.Esteinstaladoresten variosidiomasyesunprocesodeinstalacionstandardusadoporRedhat/CentOS.

Seiniciaelinstaladorgrficoconunapantallacomoesta.

826

Instalacin

Escogemosidiomaparalainstalacin,queluegoserusadoparaelsistemaoperativobase.

Escogemosconfiguracindelteclado.

827

Instalacin

Sitenemosunhardwaredediscoespecial,podemosusarunCDexternocondrivers.Lonormales usarlaopcionpordefecto(usarcontroladorespordefecto).

Configuramoselhostnamedelamaquina.
828

Instalacin

Seleccionamoslazonahoraria

Escogemoselpassworddelusuario"root"(superusuario)
829

Instalacin

Escogemoselparticionamiento.Salvoquesepaloquehaceutilicelaopcion"Usartodoeldisco".

Confirmacinparacrearelfilesystem.Pasadoestepunto,eldiscodedestinoserborrado.
830

Instalacin

Elsistemaempiezaacopiarlosdatosaldisco.

Yasehaterminadolainstalacin.SaqueelCDdelaunidadypulseelbotonparareiniciarel sistema

831

Instalacin

41.3.2.InstalacindesdeelLiveCD
Sihemoselegidoellivecdobiennonoshadadotiempoaescogerunaopcion,traselarranque,nos aparecerestapantallaenelquepodemosobservardiversosiconos,entreelloseldeInstalaci nen eldisco.

Apartirdeestepunto,lainstalacinesidnticaalainstalacin(grfica)explicadaenelpunto anterior.

41.3.3.Instalacinenmodotexto
Despuesdeelegirlainstalacionenmodotexto,vemoslapantalladebienvenida.

832

Instalacin

AcontinuacinnosencontramosconlaseleccindeIdiomayteclado.Esposiblequetraselegirel idiomanossalgaunerroralahoradeencontrareldiscoynospedir reinicializarlaunidad,lo haremos.

833

Instalacin

Elsiguientepasonospermitirelegirlazonahorariadelsistema.

Introduciremosaquilacontraseaderoot

834

Instalacin

Unodelos ltimospasosser seleccionareltipodeparticionamiento.Podemoselegirentretres opciones:usareldiscocompleto,reemplazarelsistemainstaladoousarelespaciolibreendisco.

835

Instalacin

Unavezcompletadostodoslospasos,secopianlosarchivoseneldiscoyfinalizalainstalaci n.

41.4.Primerarranque

Aspectoquetienequetenercuandoestarrancandoelsistema.

836

Primerarranque

Escritoriodespusdearrancareiniciar(automticamente)sesin.Siprefiereiniciarlasesin manualmente,recuerdequelacuenta"artica"notienepassword.Puedeestablecerunodesdela configuracindelsistema.

Desdeestasopcionespuedeconfigurarelsistemabase.Notienequehacernadadesdeconsolade
837

Primerarranque

comandos,todopuedesergestionadocmodamentedesdeaqu.

Sihaceclickeneliconodepandoraquehayenelescritorio,accederalaconsolaWEBdepandora directamenteconelnavegador. Recuerdequelacuenta"pandora"deMySQLhasidocreadaconunacontrase afija.Compruebe su/etc/pandora/pandora_server.confparaverlacontraseapordefecto.Tambinhansidocreados otrosusuariosfijos:articayroot,yambosusuariostienenlamismacontrase afijaquetieneel usuario del MySQL de "pandora". Por favor, cambiela tan pronto como le sea posible con los siguientescomandos:
passwd root passwd artica

ParasaberlaIPquelehaasignadolaredautom ticamenteasusistema,ejecutedesdeunashello terminaldeconsola:


ifconfig

ParacambiarlaIP,puedehacerlodesdelosmenusdeadministraci n(modogrfico)omediantela lineadecomandosconelcomandodeCentOS:


system-config-network

838

Primerarranque

Solo para usuarios avanzados: Si quiere configurar para que el sistema NO arranque en modo grfico, puede cambiar el runlevel del sistema editando el fichero /etc/inittab y cambiando el nivel 5 por nivel 3.

41.4.1.Reconfiguracindelservidor
Sialgunavezdeseacambiaralgnparmetrodereddelsistemaocualquierotrocambioenel sistema,puedehacerloutilizandoelsistemademensdelainterfazgrficadelsistemaomediante elcomandosetupdelneadecomandos:

Desdeestasopcionespuedeconfigurarelsistemabase.Todopuedesergestionadocmodamente desdeaqu.

839

Primerarranque

Pantalladelcomando"setup",mediantelashell. Parahacercambiosenelservidor, desde linea decomandos, necesitaejecutarcomandos como "root"ocuentadesuperusuario.Paraellodebeobtenerpermisosmedianteelcomando:


su -

Le pedir la password de root. Si la introduce bien, debera darle unshell como elque sigue, acabadoen"#"quesignificaquetienepermisosderoot:
linux-9pg0:/home/user #

Tenga cuidado con los comandos que ejecuta como root, un comando mal utilizado puede inutilizar por completo el sistema

41.4.2.GestindepaquetesconYUM
YUMesungestordepaquetesporlneadecomandosdeCentOSsimilaraAPT/GETdeDebianoa ZypperdeSUSE.Parabuscarunpaquete:
yum search <nombre_paquete>

840

Primerarranque

Parainstalarunpaquete
yum install <nombre-paquete>

Parainstalarpaquetes,necesitahacerlocomoroot.

41.4.3.NotastcnicassobreelAppliance
Tenga en cuenta que el sistema preconfigurado tiene las siguientes caracter sticas que puede considerarcambiarparamayorseguridad: AccesoSSHcomoroothabilitado. SELinuxenforcementdesactivado. Firewalldesactivado. Accesoautomticoviasudoconlacuenta"artica" Lacuentaarticaconpassword"pandora"vienehabilitadapordefecto. Loginautomticodelsistemaenlaconsolagrfica(X). PasswordpordefectodelaconsolawebdePandora(admin/pandora). Passwordpordefectodelusuario"root"deMySQL(diferentedelusuariodelSO).

Estosparmetrossedeberanmodificarenunsistemaenproduccin.

841

Primerarranque

42CONFIGURACINSSHPARARECIBIR DATOSENPANDORAFMS

842

ConfiguracinSSHpararecibirdatosenPandoraFMS

En ocasiones, no podemos utilizar el mtodo de transferencia standard en Pandora FMS para transmitirficheros(Tentacle)porquepodemosestarusandounsistemaUnixquenotienePerl(p.e: Sistemas ESX) y tenemos que usar el agente antiguo en shellscript. Cuando esto ocurre las alternativassonusarFTPoSSHparatransferirelArchivo. PandoraFMSpuedeusarelprotocoloSSHparacopiarlospaquetesdedatosXMLgeneradosporlos agentes,haciaelservidor.Paraellotienequehacerlossiguientespasos: 1.Crearunusuario"pandora"enelhostdondeestsuservidorPandoraFMS,quevaarecibirlos datosporSSH.SiyahainstaladounservidorPandora,yatendraseguramenteeseusuariocreado. Establezcaunacontrasearobustaparaeseusuarioconelcomando:
passwd pandora

2.Enelservidor,crearundirectorio/home/pandora/.sshconpermisos750yusuariopandora:root 3.Crear,encadamquinadondetengaunagentequequierausarSSH,unaparejadellaves.Para ello ejecute el comando siguiente con el mismo usuario con el que se ejecutar el agente de Pandora:
# ssh-keygen

Saldr unaseriedepreguntasalasquetendr quecontestarsimplementepulsandoEnter.Yaha creadounallavepublica/privadaparaeseusuarioenlamquina.Ahoratienequecopiarlaala mquinadedestino,queeselservidordePandoraadondequieremandarlosdatos. 4.CopiarlallavepublicaalservidordePandora.Lallavepublicaqueacabadegenerarsepuede copiardedosmaneras. Manualmente,incluyendoelcontenidodelficherodellavepublicaqueseencuentraenlamaquina dondeestaelagente,sobreelficherodellavesremotasqueseencuentraenelservidordePandora, ubicado en /home/pandora/.ssh/authorized_keys (que debe tener ownership pandora:root y permisos600). Elficherodellavepublicageneradoenlamaquinadondeest elagentees/root/.ssh/id_rsa.pub. Esteficherotendruncontenidosimilaraeste:
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAzqyZwhAge5LvRgC8uSm3tWaFV9O6fHQek7PjxmbBUxTWfvNbbswbFsF0 esD3COavziQAUl3rP8DC28vtdWHFRHq+RS8fmJbU/VpFpN597hGeLPCbDzr2WlMvctZwia7pP4tX9tJI7oyC vDxZ7ubUUi/bvY7tfgi7b1hJHYyWPa8ik3kGhPbcffbEX/PaWbZ6TM8aOxwcHSi/4mtjCdowRwdOJ4dQPkZp +aok3Wubm5dlZCNLOZJzd9+9haGtqNoAY/hkgSe2BKs+IcrOAf6A16yiOZE/GXuk2zsaQv1iL28rOxvJuY7S 4/JUvAxySI7V6ySJSljg5iDesuWoRSRdGw== root@dragoon

Deformaautomtica,conelsiguientecomando:
ssh-copy-id pandora@ip_del_host_del_servidor

Lepreguntarlapassworddelusuario"pandora"delservidoryunavezqueloconfirme,lemostrar unmensajesimilaralsiguiente:
Now try logging into the machine, with "ssh 'pandora@ip_del_host_del_servidor'", and check in:

843

ConfiguracinSSHpararecibirdatosenPandoraFMS

.ssh/authorized_keys to make sure we haven't added extra keys that you weren't expecting.

Realiceesepruebaparaverificarquelaconexionautom ticaalservidordepandoraconelusuario "pandora" desde la maquina del agente, con el usuario root es posible. Hasta que esto no sea posible,elagentenopodrmandardatosporSSH. Este mtodo ser empleado por los agentes para copiar datos en el directorio del servidor de PandoraFMS/var/spool/pandora/data_in. Asegrese igualmente de que el directorio /var/spool/pandora/data_in existe y el usuario pandoratienepermisosdeescritura,puesdelocontrarionofuncionar. Porltimo,modifiquelaconfiguraciondelagenteparaespecificarlequeelmetododecopiaessshy no tentacle. Esto se modifica en el fichero /etc/pandora/pandora_agent.conf, en el token de configuraciontransfer_mode.

42.1.SecurizacindelservidorSSH
PandoraFMSemplea,entreotros,sftp/ssh2(scp)paracopiarficherosdedatosdesdelosagentesal servidor.Debidoaesto,necesitaralmenosunservidordedatosconunservidorSSH2alaescucha delusuariopandora.Estopodraresultarunriesgosignificativoenunaredquenecesitaestar estrictamente securizada. OpenSSH2 es muy seguro, pero respecto a seguridad informtica no existenadaqueresulte absolutamenteseguro,portanto, sedebentomarmedidasparahacerlo msseguro. ParasecurizarSSHserecomienda usar scponly,unapequeaherramientaqueprohbequelos iniciosdesesin remotosempleenSSHparausosconcretos. Deestemodo, sepueden prohibir accesosporSSHparaelusuariopandora,ypermitirnicamentesftp/scpenestesistema.

42.1.1.Quesscponly?
Scponlyesun'shell'alternativoparaadministradoresdesistemasquedeseanproporcionaraccesoa usuarios remotos para leer y escribir ficheros sin proporcionar ning n privilegio de ejecucin remoto. Funcionalmente, sepodradescribircomounsistemaintermedioentreel sistemaylas aplicacionesdelsistemaSSH. Unusotpicodescponlyescrearunacuentasemipblicaquenoessimilaralconceptodeiniciode sesinannimoparaFTP.Estopermiteaunadministradorcompartirficherosdelamismamanera que lo hara un FTP, slo que empleando toda la proteccin que proporciona SSH. Esto es especialmentesignificativosiconsideraquelasautenticacionesFTPcruzanredesp blicasenun formatodetextoplano. Usarscponlyparasecurizarelusuariopandoraesmuyfcil: Instalarscponly(parasistemasbasadosenDebian):
apt-get install scponly

Outilizaryuminstallscponlyconlosrepositoriosadecuados,oinstalarmanualmenterpmiscponly. Remplazarelshelldelusuariopandoraparascponly:

844

SecurizacindelservidorSSH

usermod -s /usr/bin/scponly pandora

Yaesthecho.Conesto,sepodrusarelusuariopandoraparacopiarficheroscon scp,peronose podraccederalservidorconelusuariopandora. Msinformacinenlapginawebdescponly.

845

SecurizacindelservidorSSH

43CONFIGURACINPARARECIBIRDATOS ENELSERVIDORMEDIANTEFTP

846

ConfiguracinpararecibirdatosenelservidormedianteFTP

LeaelapartadoanteriorreferenteaSSH.LaconfiguracionenelclienteparaenviardatosporFTP permiteespecificarelusuarioyelpasswordquesevaaenviar,conloqueesbastantesencillo implementarlacopiaporFTPalagente,envezdetentacle.Elinconvenienteesqueelenviode datosporFTP,esmenosseguroyaquealtenerunFTPfuncionandoenelservidordePandora,esto lohacemasvulnerableafallosinherentesaldiseodeseguridaddelsistemaFTP,vealosapartados posterioresparasabercomosecurizarminimamentesuservidor. AdemsdeconfigurarlosagentesdePandoraparaelenvodedatosconFTP,tendrqueconfigurar unservidordeFTPenelservidordePandora,establecerunapasswordparaelusuario"pandora" (que ser la que usar en los agentes de pandora) y permitir acceso de escritura al usuario "pandora"aldirectorio/var/spool/pandora/data_inydirectoriosinferiores. Esto supone que deber configurar el servidor FTP para adecuarlo a estas necesidades, en los puntossiguientespodr vercomohacerloparalosservidoresProFTPDyVsFTP,dosdelosms usadosenLinux.

43.1.SecurizacindelservidorFTP(proftpd)

Desdesuversin1.3,PandoraFMStambinsoportatodaslasplataformasdesuagente,elusode FTPparatransferirficherosdedatosXML,yacausadeesto,senecesita,comom nimo,unservidor dedatosconunservidorFTPpreparadoparaelusuariopandora.Estopodr asuponerunriesgo significativoenunaredquenecesitaestarestrictamentesecurizada. stas pequeas recomendaciones para hacer un FTP seguro, son para el demonio proftpd, un softwaredeservidordeFTP,conlicenciaGPL,altamenteconfigurable,queincluyevariasopciones pararestringirelacceso. Serecomiendaconfigurarestosparmetrosenproftpd.conf
Umask 077 077 MaxInstances 30 DefaultRoot /var/spool/pandora/data_in pandora

La directiva DefaultRoot usa pandora como grupo, as que debe crear el grupo pandora que incluyaalusuariopandora. Otroficheroquecontrolaelaccesoalnivelusuarioes /etc/ftpusers,esteficherocontienetodoslos usuariosquenotienenpermisoparaconectarseaesteservidor.
[root@myserver]# cat /etc/ftpusers root bin daemon adm lp sync shutdown halt mail news

847

SecurizacindelservidorFTP(proftpd)

uucp operator games guest anonymous nobody

IntenteiniciarsesinconelusuariopandoraenelFTPyaccederaotrosdirectoriosdiferentesde /var/spool/pandora/data_in (estedeberaserel nicodirectoriovisibleparaesteusuariobajoel alias).

43.2.Securizacindevsftpd
Vsftpd tiene diferentes parmetros para securizar una cuenta FTP, pero esto puede entrar en conflictoconscponly.Serecomiendaimplementaralgunoscambiosparareforzarlaseguridadenla cuentapandora,parapoderutilizarlossistemasdetransferenciaFTPySSHdeformasimult nea: 1. Cambiareldirectoriohomedelusuariopandorapor/var/spool/pandora/data_in 2. Mantenerscponlycomoshellpordefecto. 3. Copiaromovereldirectorio /home/pandora/.ssh a /var/spool/pandora/data_in.Noolvide comprobarqueeldirectorio/.sshtienecomopropietarioalusuariopandoraylospermisos adecuados. 4. Modifique el fichero de configuracion de vsftpd: /etc/vsftpd.conf y aada los siguientes parmetros:
check_shell=NO dirlist_enable=NO download_enable=NO deny_file=authorized_keys deny_file=.ssh chroot_local_user=YES

Esta configuracin establece el directorio home del usuario pandora a /var/spool/pandora/data_in, y no permite al usuario pandora conectarse remotamente para establecerunasesiondecomandosinteractiva,yademspermitetransferenciasFTPconelmismo usuario,pandora,paraenviarficherosperosolopermiteaccederaldirectoriodeentradade datosynopermiteaccederaotrosdirectoriosnilistarelcontenidodening nfichero.

848

Securizacindevsftpd

44INTEGRACINDEPANDORAFMSCON HPNETWORKNODEMANAGER (SNMP)

849

IntegracindePandoraFMSconHPNetworkNodeManager(SNMP)

EsposibleutilizarPandoraFMSdeformaconjuntaconHPNetworkNodeManager(NNM)para informardetodosaquelloseventosdeimportanciarecolectadosporPandoraFMSaunsistema global gestionado con HP OpenView Network Node Manager. Esto es til ya que permite monitorizarciertosentornosconPandoraFMSyenviarsloaquelloseventosimportantesaotro sistemademonitorizacincomoNNM. La forma de disparar alertas de Pandora FMS lo hace muy flexible a la hora de exportar determinados datos mediante traps SNMP. ste va a ser el mecanismo elegido para realizar la integracin. Vamos a crear un script que permita, mediante el anlisis de ciertos argumentos, generarunostrapsespecficosqueNetworkNodeManagersercapazdeinterpretar.

44.1.ConfigurareventosNNM
Primerodebemosestablecerunaseriedeclasificacionesbasadasenlacriticidaddeloseventos generadosdesdePandoraFMS.Loharemosenbaseacinconivelesdecriticidad(Normal,Warning, Minor,MajoryCritical).DefiniremosestoscincotiposdeeventosasociadosaunaOIDespec ficade usuario,queenestecasoser del1.3.6.1.4.1.24800.251al1.3.6.1.4.1.24800.255).Esossonlos OIDasociadosaeventosdeesascincocategoras:

44.2.CrearalertasespecficasdePandoraFMS
DesdeunasolaalertacondiferentesparmetrosseremoscapacesdeexportarlasalertasaNNM.
850

CrearalertasespecficasdePandoraFMS

Paraellocrearemosunaalertadelasiguientemanera:

44.3.ScriptdegeneraciondetrapsSNMP
Estaalertatieneasociadoun scriptquesedetallaacontinuacin,yquedebeserllamadoporcada servidorqueproceseyejecuteelmduloexportado:
#!/bin/bash HOST=`hostname` ESPECIFIC_OID=$1 # _field1_ pandora ERROR=$2 # _field2_ pandora DESCRIPCION=$3 # _field3_ pandora HOST_DESTINO=nnm COMMUNITY=public ENTERPRISE_OID=.1.3.6.1.4.1.24800 WARNING=0 MINOR=1 MAJOR=2 CRITICAL=3 NORMAL=4 MAXL=2000 DIR=`dirname $0` LOGFILE="$DIR/`basename $0 | awk -F'.' '{print $1}'`.log" CONF="$DIR/`basename $0 | awk -F'.' '{print $1}'`.conf" truncate_log() { typeset LOG=$1 typeset LINES=$2 typeset TMP1=/tmp/$PRG.tmp1 if [[ -z "$LINES" || -z "$LOG" ]] ; then echo "$PRG: truncate_log(): Parametros incorrectos -> [$LOG] [$LINES]" return fi if [ ${LINES%[kK]} != $LINES ] ; then # Log binario, truncamos con dd

851

ScriptdegeneraciondetrapsSNMP

LOGSIZ=$(du -k $LOG | awk '{print $1}') MAXSIZ=${LINES%[kK]} # Eliminamos caracter 'k' final typeset -i SKIP # Nm. de bloques de 1K a obviar # Ver comando 'dd' abajo if [[ $LOGSIZ -gt $MAXSIZ ]] ; then echo -n "$LOG : Truncando a $MAXSIZ Kbytes ..." (( SKIP = LOGSIZ - MAXSIZ )) dd if=$LOG of=$TMP1 bs=1040 skip=$SKIP if [[ $? -eq 0 ]] ; then # # Vaciado de $LOG # >$LOG if [[ $? != 0 ]] ; then echo "$PRG : Error vaciando fichero $LOG" return else cat $TMP1 >>$LOG if [[ $? != 0 ]] ; then echo "Error rellenando $LOG" return fi echo 'OK!' >$TMP1 fi else echo "Error en comando 'dd if=$LOG of=$TMP1 bs=1024 skip=$SKIP'" fi fi else # Log ASCII, truncamos con tail NUMLIN=$(wc -l <$LOG) if [[ $NUMLIN -gt $LINES ]] ; then echo -n "$LOG : Truncando a $LINES lineas ..." (( NUMLIN -= LINES - 1 )) tail +$NUMLIN $LOG >$TMP1 if [[ $? -eq 0 ]] ; then # # Vaciado de $LOG # >$LOG if [[ $? != 0 ]] ; then echo "$PRG : Error vaciando fichero $LOG" return else cat $TMP1 >>$LOG if [[ $? != 0 ]] ; then echo "Error rellenando $LOG" return fi echo 'OK!' >$TMP1 fi else echo "Error en comando 'tail +$NUMLIN $LOG >$TMP1'" fi fi fi rm -f $TMP1 } # truncate_log() # # MAIN # # # Crea log si no existe

852

ScriptdegeneraciondetrapsSNMP

# [ ! -f $LOGFILE ] && touch $LOGFILE for linea in `cat $CONF | grep -v "^#"` do if [ ! -z `echo $linea | grep "HOST"` ] then HOST_DESTINO=`echo $linea | grep "HOST" | awk -F'=' '{print $2}'` elif [ ! -z `echo $linea | grep "COMMUNITY"` ] then COMMUNITY=`echo $linea | grep "COMMUNITY" | awk -F'=' '{print $2}'` elif [ ! -z `echo $linea | grep "ENTERPRISE_OID"` ] then ENTERPRISE_OID=`echo $linea | grep "ENTERPRISE_OID" | awk -F'=' '{print $2}'` elif [ ! -z `echo $linea | grep "WARNING"` ] then WARNING=`echo $linea | grep "WARNING" | awk -F'=' '{print $2}'` elif [ ! -z `echo $linea | grep "MINOR"` ] then MINOR=`echo $linea | grep "MINOR" | awk -F'=' '{print $2}'` elif [ ! -z `echo $linea | grep "MAJOR"` ] then MAJOR=`echo $linea | grep "MAJOR" | awk -F'=' '{print $2}'` elif [ ! -z `echo $linea | grep "CRITICAL"` ] then CRITICAL=`echo $linea | grep "CRITICAL" | awk -F'=' '{print $2}'` elif [ ! -z `echo $linea | grep "NORMAL"` ] then NORMAL=`echo $linea | grep "NORMAL" | awk -F'=' '{print $2}'` elif [ ! -z `echo $linea | grep "LOG"` ] then LOG=`echo $linea | grep "LOG" | awk -F'=' '{print $2}'` else LINEA=`echo $linea` fi done if [ "$ERROR" = "WARNING" ] then ESPECIFIC_OID=`expr $ESPECIFIC_OID + $WARNING` elif [ "$ERROR" = "MINOR" ] then ESPECIFIC_OID=`expr $ESPECIFIC_OID + $MINOR` elif [ "$ERROR" = "MAJOR" ] then ESPECIFIC_OID=`expr $ESPECIFIC_OID + $MAJOR` elif [ "$ERROR" = "CRITICAL" ] then ESPECIFIC_OID=`expr $ESPECIFIC_OID + $CRITICAL` elif [ "$ERROR" = "NORMAL" ] then ESPECIFIC_OID=`expr $ESPECIFIC_OID + $NORMAL` else if [ $LOG ] then echo "" echo " ---- Error. Nivel de error $ERROR no especificado ---- " exit 1 fi fi #echo "$WARNING $MINOR $MAJOR $CRITICAL $NORMAL" #echo "$COMMUNITY $HOST_DESTINO $ENTERPRISE_OID $HOST $ESPECIFIC_OID $DESCRIPCION" if [ $LOG ]

853

ScriptdegeneraciondetrapsSNMP

then echo "" echo "" echo "COMMUNITY=$COMMUNITY ENTERPRISE_OID=$ENTERPRISE_OID ESPECFIC_OID=$ESPECIFIC_OID DESCRIPCION=$DESCRIPCION" >> $LOGFILE echo "/usr/bin/snmptrap -v1 -c $COMMUNITY $HOST_DESTINO $ENTERPRISE_OID $HOST 6 $ESPECIFIC_OID '' $ENTERPRISE_OID.0 s '$DESCRIPCION'" >> $LOGFILE fi /usr/bin/snmptrap -v1 -c $COMMUNITY $HOST_DESTINO $ENTERPRISE_OID $HOST 6 $ESPECIFIC_OID '' $ENTERPRISE_OID.0 s "$DESCRIPCION" if [ $? -eq 0 ] then echo "Ejecucion correcta" >> $LOGFILE echo "" else echo "No se ha ejecutado correctamente" >> $LOGFILE echo "" fi # # Trunca el fichero de log si supera MAXL lineas # truncate_log $LOGFILE $MAXL

44.4.Usodelaalertasobreunmdulo
Estaesunacapturadecomoseutilizalaalerta,definiendounaalertasobreunmdulo. Elcampofield1seusaparalaOIDysaberaquegrupodealarmasserefiere(enestecasosiempre seponeparaPandorael251definidoenNNM).Elcampo field2eselgradodecriticidaddefinido (MAJORalahoradeenviarel trapesunnumeroqueseaadeal251paraformarlaoid).Elcampo field3esladescripcindelaalarma.

854

Usodelaalertasobreunmdulo

44.5.VisualizacindelosdatosenNNM
YestaeslavistafinaldelaconsoladeNetworkNodeManager,recibiendoeventosdesdePandora FMS:

855

VisualizacindelosdatosenNNM

45CONFIGURACINDEHARDWAREPARA ELENVODESMSCONPANDORAFMS

856

AcercadeldispositivoGSM

45.1.AcercadeldispositivoGSM
EnestadocumentacinutilizamosundispositivoGSMespecialparaenviarSMSatravsdeun puertoserie(usb).PuedeutilizarotromodeloGSMsimilar,ountel fonocelularconconexionUSB oserie,estonoeslorealmenteimportante.EldispositivoempleadoaquiesunMTX65v3.Este dispositivo puede ser adquirido comercialmente por aproximadamente 100 USD$ en diferentes sitioswebs: http://matrix.es http://www.tdc.co.uk/index.php?key=gsm_ter_gprs http://www.youtube.com/watch?v=OxcKAarS2M0 ComopuedeverenYoutube,esundispositivomuypequeoycompatibleconLinux,quetiene diferentescomponentesoptionales,comounaantenaGSM,muy tilsisucentrodedatosestenel subsuelo,porejemplo.

45.2.InstalacindelDispositivo
Elprimerpasoesinstalareldispositivohardware.Estedispositivosecomponedelassiguientes partes: CableUSBStandard,conunpequeoconectoryuncierre. Fuentedealimentacin(enesteejemploeslaeuropeade220v,siustedviveenEEUU,por favorasegresedequelafuentedealimentacinvalganpara110v). TarjetaSIM. DispositivoSMSgatewaydePandoraFMS.

AbraeldispositivoSMSgatewaydePandoraFMSycoloquedentrolatarjetaSMS.

857

InstalacindelDispositivo

Conectealaredenlatoma"power",inserteelcableUSBeneldispositivoSMSGatewayyconecte elotroextremoconelservidordePandoraFMSutilizandounpuertoUSBestndar.

Cuando conecte el dispositivo con el servidor, espere algunos segundos y lanze el commando "dmesg"desdelalineadecomandos.Deberaveralgosimilaraestapantalla.Estosignificaqueel dispositivohasidoreconocidoporelkernelyest listoparaaceptarcomandosenundispositivo, comoporejemplo/dev/ttyACM0

858

InstalacindelDispositivo

Siustedhallegadohastaaqu,laconfiguracinesthecha.Sino,porfavor,revisetodoslospasosy asegresedeque: Eldispositivoestconectadoyelcableestparpadeandoenuncolorverde. EldispositivoestaconectadoalpuertoUSB,porambosladosdelcable,unodesusladoscon eldispositivoSMSyelotroconelservidorhostdePandoraFMS. EldispositivotieneunatarjetaSIMdentro,ystaestcolocadaadecuadamente.

45.3.ConfigurarSMSToolsparaUtilizarelNuevoDispositivo
Este dispositivo est gestionado por un paquete de software llamado SMSTools. Puede instalar SMSToolsusandoelpaqueteprovistoporsuDistribucinLinuxousraelpaqueteRPMprovistopor rtica(sloparadistribucionesRPM).

45.3.1.Debian/Ubuntu
EnDebian/Ubuntu,necesitar"personalizar"elscriptsendsmsqueusarPandoraFMS Enprimerlugar,instaleelpaquetedesdelosrepositoriosAPT
$ sudo apt-get install smstools

Ydespus,necesitarusarunodelosejemplosdelscriptprovistoparaenviarsmsdesdelalineade comandosy"Personalizarlo".
cp /usr/share/doc/smstools/examples/scripts/sendsms /usr/bin chmod 750 /usr/bin/sendsms

Edite/usr/bin/sendsmsyaadalasiguientelineaalfinaldelscript:

859

ConfigurarSMSToolsparaUtilizarelNuevoDispositivo

chmod 666 $FILE

45.3.2.SistemabasadoenRPM(SUSE,Redhat)
UtilizarnuestroRPMesmuysencillo.Slotendrqueinstalarlo:
# rpm -i smstools*.rpm

45.3.3.ConfigurarSMStools
Editeelficherodeconfiguracinbase:
# vi /etc/smsd.conf

Pongaestoscontenidos.SisuoutputdmesgnoesttyACMO,utiliceeldispositivottydetectadopor susistema.
# Example smsd.conf. Read the manual for a description devices = GSM1 logfile = /var/log/smsd.log loglevel = 10 [GSM1] device = /dev/ttyACM0 incoming = no pin = 2920

UtilizeelPINasignadoasuSIM.Enesteejemplo,elPINes"2920". Despus,iniciemanualmentesmstools:

# /usr/bin/smstools start

Enve un test SMS. ATENCIN: los nmeros de telfono deben tener el prefijo internacional completo.Enesteejemplo,+34eselprefijoparaEspaa,yminmerodetelfonoes627934648:
$ sendsms 34627934648 "Pandora FMS rocks"

Espereunminutoyvigilesuslogsparacomprobarquetodoestacorrecto.Deber arecibirelSMSen unos segundos. Dependiendo de la red, el primer SMS puede chequear cada 1020 segundos. Despusdeesto,espere.ElsiguienteSMSdeberasercasiinmediato.SMSToolsutilizaunacola paraenviarmensajes,porloquepuedeenviartantosmensajescomodesee,yseemitir ncuandola reddesumovlpuedagestionarlos Paraverloslogs:

860

ConfigurarSMSToolsparaUtilizarelNuevoDispositivo

# cat /var/log/smsd.log 2009-11-12 11:30:12,2, smsd: Smsd v2.2.20 started. 2009-11-12 11:30:12,6, smsd: outgoing file checker has started. 2009-11-12 11:30:12,6, GSM1: Modem handler 0 has started. 2009-11-12 11:30:13,6, smsd: Moved file /var/spool/sms/outgoing/send_mNZxHa to /var/spool/sms/checked 2009-11-12 11:30:13,6, smsd: I have to send 1 short message for /var/spool/sms/checked/send_iUegPD 2009-11-12 11:30:13,6, GSM1: Sending SMS from to 627934648 2009-11-12 11:30:13,6, GSM1: Checking if modem is ready 2009-11-12 11:30:13,7, GSM1: -> AT 2009-11-12 11:30:13,7, GSM1: Command is sent, waiting for the answer 2009-11-12 11:30:14,7, GSM1: <- AT OK 2009-11-12 11:30:14,6, GSM1: Checking if modem needs PIN 2009-11-12 11:30:14,7, GSM1: -> AT+CPIN? 2009-11-12 11:30:14,7, GSM1: Command is sent, waiting for the answer 2009-11-12 11:30:14,7, GSM1: <- AT+CPIN? +CPIN: SIM PIN OK 2009-11-12 11:30:14,5, GSM1: Modem needs PIN, entering PIN... 2009-11-12 11:30:14,7, GSM1: -> AT+CPIN="2920" 2009-11-12 11:30:14,7, GSM1: Command is sent, waiting for the answer 2009-11-12 11:30:15,7, GSM1: <- AT+CPIN="2920" OK 2009-11-12 11:30:15,7, GSM1: -> AT+CPIN? 2009-11-12 11:30:15,7, GSM1: Command is sent, waiting for the answer 2009-11-12 11:30:15,7, GSM1: <- AT+CPIN? +CPIN: READY OK 2009-11-12 11:30:15,6, GSM1: PIN Ready 2009-11-12 11:30:15,6, GSM1: Checking if Modem is registered to the network 2009-11-12 11:30:15,7, GSM1: -> AT+CREG? 2009-11-12 11:30:15,7, GSM1: Command is sent, waiting for the answer 2009-11-12 11:30:16,7, GSM1: <- AT+CREG? +CREG: 0,2 OK 2009-11-12 11:30:16,5, GSM1: Modem is not registered, waiting 10 sec. before retrying 2009-11-12 11:30:26,7, GSM1: -> AT+CREG? 2009-11-12 11:30:26,7, GSM1: Command is sent, waiting for the answer 2009-11-12 11:30:26,7, GSM1: <- AT+CREG? +CREG: 0,5 OK 2009-11-12 11:30:26,6, GSM1: Modem is registered to a roaming partner network 2009-11-12 11:30:26,6, GSM1: Selecting PDU mode 2009-11-12 11:30:26,7, GSM1: -> AT+CMGF=0 2009-11-12 11:30:26,7, GSM1: Command is sent, waiting for the answer 2009-11-12 11:30:26,7, GSM1: <- AT+CMGF=0 OK 2009-11-12 11:30:26,7, GSM1: -> AT+CMGS=94 2009-11-12 11:30:26,7, GSM1: Command is sent, waiting for the answer 2009-11-12 11:30:27,7, GSM1: <- AT+CMGS=94 > 2009-11-12 11:30:27,7, GSM1: -> 001100099126974346F900F1FF5CC8373BCC0295E7F437A83C07D5DDA076D93D0FABCBA069730A229741 7079BD2C0EBB406779789C0ECF41F0B71C44AF83C66FB7391D76EBC32C503B3C46BFE96516081E7693DF F230C8D89C82E4EFF17A0E 2009-11-12 11:30:27,7, GSM1: Command is sent, waiting for the answer 2009-11-12 11:30:31,7, GSM1: <001100099126974346F900F1FF5CC8373BCC0295E7F437A83C07D5DDA076D93D0FABCBA069730A229741 7079BD2C0EBB406779789C0ECF41F0B71C44AF83C66FB7391D76EBC32C503B3C46BFE96516081E7693DF F230C8D89C82E4EFF17A0E +CMGS: 0

861

ConfigurarSMSToolsparaUtilizarelNuevoDispositivo

OK 2009-11-12 11:30:31,5, GSM1: SMS sent, To: 627934648 2009-11-12 11:30:31,6, smsd: Deleted file /var/spool/sms/checked/send_iUegPD 2009-11-12 11:30:32,6, smsd: I have to send 1 short message for /var/spool/sms/checked/send_mNZxHa 2009-11-12 11:30:32,6, GSM1: Sending SMS from to 34627934648 2009-11-12 11:30:32,7, GSM1: -> AT+CMGS=29 2009-11-12 11:30:32,7, GSM1: Command is sent, waiting for the answer 2009-11-12 11:30:33,7, GSM1: <- AT+CMGS=29 > 2009-11-12 11:30:33,7, GSM1: -> 0011000B914326974346F900F1FF11D0B09BFC968741C6E614247F8FD773 2009-11-12 11:30:33,7, GSM1: Command is sent, waiting for the answer 2009-11-12 11:30:36,7, GSM1: <0011000B914326974346F900F1FF11D0B09BFC968741C6E614247F8FD773 +CMGS: 1 OK 2009-11-12 11:30:36,5, GSM1: SMS sent, To: 34627934648 2009-11-12 11:30:36,6, smsd: Deleted file /var/spool/sms/checked/send_mNZxHa

Finalmente,algunastareasparaasegurarestaoperacinparaelfuturo: 1. Fije 1 para loglevel en /etc/smsd.conf para evitar un fichero log excesivamente grande e innecesario. 2. Asegresedequesmsdestaconfiguradoparainiciarseautomticamentecuandoelsistemase reinicia (esto implica un link de /etc/init.d/sms con /etc/rc2.d/S90sms or /etc/rc.d/rc2.d/S90sms).Si lo ha instalado desde un paquete, probablemente exista ya en su sistema.Slocomprubelo.

45.4.ConfigurarlaAlertadePandoraFMS
EstospasosreproducenlospasosbsicosparacrearalertasSMSenPandoraFMS3.x Creeelcomando:

Creelaaccin:

862

ConfigurarlaAlertadePandoraFMS

Asocielaaccinaunmdulousandounaplantilladealertaanterior.Enestecaso,laplantillade alertaselanzarcuandoelestadodelmduloseaCRITICO.

45.5.GatewaydeenvodeSMSconGnokii
EstemtododeenvodeSMSeraelpropuestoenlasversiones1.xy2.xdePandoraFMS.Enla versin3.xproponemoselusodesmstools,talcomosepuedeleermsarriba.Elmtodobasadoen smstoolsesmejoryserecomiendanoutilizarGnokiiporsucomplejidadyposibilidaddefallos.No obstantesereferenciaaquparapoderdisponerdemtodosalternativosasmstools. EstaseccindescribecomomontarunapasareladeenvodeSMSbasadoenunacoladeenvos.De estaformasepuedeimplementarunservidordeenviodeSMS,conectadoaunmovilyenviando losSMSatravsdelsoftwaredelproyectoGnokii,ydiferentesservidoresremotos,puedenenviar sus mensajes para que los procese el servidor de envio de SMS. Esto permite que diferentes servidoresPandoraFMS(uotrasmquinasquequieranusarel gateway)puedanenviarmensajesde formacentralizada,sintenerquetenerunmvilporcadaservidor. Primeramentesedebecrearunusuariosmsenlamquinadondequiereinstalarellapasarelade enviodeSMS.Luegocreelosdirectorios home/sms y /home/sms/incoming.Siquiereutilizarel gatewaySMSdesdeotrasmquinas,necesitar haceraccesibleeldirectorio/home/sms/incominga otrosservidorespormediodecualquiersistemadeenvodeficherosodecomparticindesistemas dearchivos:NFS,SMB,SSH(scp),FTPoTentacle. ElmecanismodelapasareladeenviodeSMSessencillo:Porcadaficheroqueseencuentreenel directorio /home/sms/incoming se procesar, eliminar y enviar un SMS con el contenido del
863

GatewaydeenvodeSMSconGnokii

fichero.Esteficherotienequetenerunformatoespecfico,elcualsedetallaacontinuacin: Phonenumber|SMSText

45.5.1.ImplementacindelgatewayconGnokii
Tienequecrearcuatroscripts: SMS: Script queenvaelSMSusandoGnokiiatravsdeuncablededatosUSB.Este script est nicamenteenelsistemadondeest el gateway deenvo(elsistemaquetieneelcablededatos conectadoaunmovilGSM). SMS_GATEWAY: Script que procesa de forma peridica el directorio de entrada (/home/sms/incoming)procesandoficherospendientesdeenvio.Este script est unicamenteenel sistemaquehacedegatewaydeenvo. SMS_GATEWAY_LAUNCHER:Scriptlanzadorparaelscript SMS_GATEWAY(demoniodeinicioy parada).Estescriptestunicamenteenelsistemaquehacedegatewaydeenvo. COPY_SMS:CopiaunSMSutilizandoelcomando scpdesdeunsistemaclientealsistemagateway. UtilizaelTELEFONOcomoprimerparmetro,yelsegundocomotextoparaenviar(utilizando"" paraespecificarcadaparmetro).ElscriptconfiaenlaautenticacinautomticaSSHyelusuario smsparalatransferencia.Enelsistemalocalsepuedereemplazarelscpporelcomandocpo utilizarunsistemacomoTentacleparatransferirelfichero.

45.5.1.1.sms
Esteesel script queenviaSMSutilizandoGnokii.DebetenerGnokiicorrectamenteconfigurado (usandoelfichero /etc/gnokii.conf osimilar).Probablementedebaserelusuario root parapoder lanzarelscript,oestablecerSETUID0enelbinariodegnokii.
#!/bin/bash texto=$1 number=$2 if [ $# != 2 ]; then echo "I need more parameters" exit 1; fi /bin/echo $1 | /usr/local/bin/gnokii --sendsms $2

45.5.1.2.sms_gateway
Esteeselscriptdeldemoniogateway:
#!/bin/bash INCOMING_DIR=/home/sms/incoming HOME_DIR=/home/sms while [ 1 ] do for a in `ls $INCOMING_DIR` do if [ ! -z "$a" ] then NUMBER=`cat $INCOMING_DIR/$a | cut -d "|" -f 1`

864

GatewaydeenvodeSMSconGnokii

MESSAGE=`cat $INCOMING_DIR/$a | cut -d "|" -f 2` TIMESTAMP=`date +"%Y/%m/%d %H:%M:%S"` echo "$TIMESTAMP Sending to $NUMBER the message $MESSAGE" >> $HOME_DIR/sms_gateway.log $HOME_DIR/sms "$MESSAGE" "$NUMBER" echo "$TIMESTAMP Deleting $a" >> $HOME_DIR/sms_gateway.log rm -Rf $INCOMING_DIR/$a sleep 1 fi done sleep 5 done

45.5.1.3.sms_gateway_launcher
Esteeselscriptlanzadorparaelsms_gateway:
#!/bin/bash # SMS Gateway, startup script # Sancho Lerena, <slerena@gmail.com> # Linux Version (generic) # Configurable path and filenames SMS_GATEWAY_HOME=/home/sms SMS_PID_DIR=/var/run SMS_PID=/var/run/sms.pid # Main script if [ ! -d "$SMS_PID_DIR" ] then echo "SMS Gateway cannot write it's PID file in $SMS_PID_DIR. Please create directory or assign appropiate perms" exit fi if [ ! -f $SMS_GATEWAY_HOME/sms_gateway ] then echo "SMS Gateway not found, please check setup and read manual" exit fi case "$1" in start) OLD_PATH="`pwd`" if [ -f $SMS_PID ] then CHECK_PID=`cat $SMS_PID` CHECK_PID_RESULT=`ps aux | grep -v grep | grep "$CHECK_PID" | grep "sms_gateway" | wc -l` if [ $CHECK_PID_RESULT == 1 ] then echo "SMS Gateway is currently running on this machine with PID ($CHECK_PID). Aborting now..." exit fi fi nohup $SMS_GATEWAY_HOME/sms_gateway > /dev/null 2> /dev/null & 2> /dev/null > /dev/null

865

GatewaydeenvodeSMSconGnokii

sleep 1 MYPID=`ps aux | grep "$SMS_GATEWAY_HOME/sms_gateway" | grep -v grep | tail -1 | awk '{ print $2 }'` if [ ! -z "$MYPID" ] then echo $MYPID > $SMS_PID echo "SMS Gateway is now running with PID $MYPID" else echo "Cannot start SMS Gateway. Aborted." fi cd "$OLD_PATH" ;; stop) if [ -f $SMS_PID ] then echo "Stopping SMS Gateway" PID_2=`cat $SMS_PID` if [ ! -z "`ps -F -p $PID_2 | grep -v grep | grep 'sms_gateway' `" ] then kill `cat $SMS_PID` 2> /dev/null > /dev/null else echo "SMS Gateway is not executing with PID $PID_2, skip Killing step" fi rm -f $SMS_PID else echo "SMS Gateway is not running, cannot stop it." fi ;; force-reload|restart) $0 stop $0 start ;; *) echo "Usage: sms_gateway {start|stop|restart}" exit 1 esac

45.5.1.4.copy_sms
EstepequeoscriptcreaunficherodeenvioSMSenunamquinaclienteylocopiaal gatewaySMS utilizandoscp:
#!/bin/bash SERIAL=`date +"%j%M%s"` SERIAL=`hostname`_$SERIAL TEL=$1 TEXT=$2 echo $TEL\|$TEXT >> /tmp/$SERIAL scp /tmp/$SERIAL sms@192.168.1.1:/home/sms/incoming rm -Rf /tmp/$SERIAL1

866

GatewaydeenvodeSMSconGnokii

46HAENPANDORAFMSCONDRBD

867

IntroduccinaDRDB

46.1.IntroduccinaDRDB
ElDispositivodeBloqueReplicadoDistribuido,esunasoluci ndealmacenamientoreplicada,que nocomparte,basadaensoftwarequerefejaelcontenidodedispositivosdebloque(discosduros, particiones,volmeneslgicos,etc)entreservidores. DatosdelDRBDmirror: Entiemporeal:lareplicacinocurrecontinuamente,mientraslasaplicacionesmodificanlos datoseneldispositivo. Demodotransparente:lasaplicacionesquealmacenansusdatoseneldispositivoreflejado ignoranelhechodequelosdatosestnenrealidadalmacenadosenvariosordenadores. Consincronicidadosinella.Conreflejosincrnico,unaaplicacinescritaesnotificadade quehasidocompletadaporescrito,slodespusdequehayasidollevadaacaboenambos sistemas del ordenador. El reflejo asncrono implica que las aplicaciones escritas sern notificadasporescritocuandolaescrituraseacompletadademodolocal,peroantesdeque laescriturasehayapropagadoalsistemapeer.

EnDRDBustedpuedeconseguirunclustersobrecasitodoloquepuedareplicarendeldisco.En nuestrocasoespecfico,cuandoqueremos"clusterizar"slolabasededatos,perotambinpodemos replicarenteralaconfiguracindePandoraFMS,incluyendoelservidor,losagenteslocales,ypor supuesto,labasededatos. ElDRDBesunmdulodekernelbasadoenRAID1/TCP,muysencillodeconfiguraryrealmente rpido y sometido a pruebas de error. Puede obtener ms informacin en su pgina Web:http://www.drbd.org DRDBesOPenSource.

46.2.EntornoInicial
QueremostenerunclusterMySQLenunaconfiguracinHAbasadaenunmaster(activo)yenun slave(pasivo).VariosservidoresdePandoraFMSylaconsolautilizar nunadireccinIPvirtual paraconectarseconelnodoqueestcorriendoyquecontieneunservidorMySQL. EstaeslaconfiguracinderedparalosdosnodosqueestncorriendoelclusterMySQL: 192.168.10.101(castor)>Master192.168.10.102(pollux)>Slave192.168.10.100virtualip
868

EntornoInicial

Ennuestroescenario,elnicoservidordePandoraFMSestacorriendoaqu: 192.168.10.1pandora>mysqlapp Cadanodotienedosdiscosduros: /dev/sdaconelsistemaLinuxestandar./dev/sdbconundiscovacoysinformatear,listopara tenerlaconfiguracindeRAID1conDRBD. Asumimosqueustedtieneeltiemposincronizadoentretodoslosnodos.Estoesextremadamente IMPORTANTE. Si no es as, por favor, sincronzelo antes de continuar, utilizando ntp or un dispositivosimilar.

46.3.Instalarpaquetes
Instalarlossiguientespaquetes(Debian)
apt-get install heartbeat drbd8-utils drbd8-modules-2.6-686 mysql

Instalarlossiguientepaquetes(Suse)
drbd heartbeat hearbeat-resources resource-agents mysql-server

46.4.DRDBsetup
46.4.1.ConfiguracininicialdeDRDB
Editar/etc/drdb.conf
global { usage-count no; } common { protocol C; } resource mysql { on castor { device /dev/drbd1; disk /dev/sdb1; address 192.168.10.101:7789; meta-disk internal; } on pollux { device /dev/drbd1; disk /dev/sdb1; address 192.168.10.102:7789; meta-disk internal; } disk { on-io-error detach; # Desconectamos el disco en caso de error de bajo nivel. }

869

DRDBsetup

net { max-buffers 2048; #Bloques de datos en memoria antes de escribir a disco. ko-count 4; # Maximos intentos antes de desconectar. } syncer { rate 10M; # Valor recomendado de sincronizacin para redes de 100 Mbs.. al-extents 257; } startup { wfc-timeout 0; # drbd init script esperar ilimitadamente los recursos. degr-wfc-timeout 120; # 2 minuteos } }

46.4.2.ConfigurarnodosDRDB
Necesitartenerundiscocompletamentevacoen/dev/sdb(inclusosinparticionamiento). Hagaunaparticinen/dev/sdb1(tipoLynux)
fdisk /dev/sdb

Borretodalainformacinenl.
dd if=/dev/zero of=/dev/sdb1 bs=1M count=128

(Hgaloenambosnodos). Ycreelaestructurainternaeneldiscoparadrbdconlossiguientescomandosenambosnodos:
drbdadm create-md mysql drbdadm up mysql

(Denuevo,hgaloenambosnodos).

46.4.3.Discoinicial(Nodoprincipal)
El ltimocomandoparaconfigurarDRBD,ysloenelnodoprincipal,esparainiciarelrecursoy configurarlocomoprincipal:
drbdadm -- --overwrite-data-of-peer primary mysql

Despusdeestablecerestecomando,laconfiguracincompletainicialcomenzar.Ser capazde monitorizarsuprogresovia/proc/drbd.Puedellevaralgodetiempo,dependiendodeltama del dispositivo. Ahora,sudispositivoDRBDestcompletamenteoperativo,inclusocuandolasincronizacininicial ha sido comletada (aunque con un rendimiento ligeramente reducido).Ahora puede crear un filesystem en el dispositivo, utilzelo como si fuera un dispositivo raw block, mntelo y realize
870

DRDBsetup

cualquieroperacionquedeseeconundispositivodebloqueaccesible.
castor:/etc# cat /proc/drbd version: 8.0.14 (api:86/proto:86) GIT-hash: bb447522fc9a87d0069b7e14f0234911ebdab0f7 build by phil@fat-tyre, 2008-1112 16:40:33 1: cs:SyncSource st:Primary/Secondary ds:UpToDate/Inconsistent C r--ns:44032 nr:0 dw:0 dr:44032 al:0 bm:2 lo:0 pe:0 ua:0 ap:0 [>....................] sync'ed: 2.2% (2052316/2096348)K finish: 0:03:04 speed: 11,008 (11,008) K/sec resync: used:0/61 hits:2749 misses:3 starving:0 dirty:0 changed:3 act_log: used:0/257 hits:0 misses:0 starving:0 dirty:0 changed:0

46.4.4.Crearlaparticinenelnodoprincipal
HgaloSLOenelnodoprincipal.Sereplicar alosotrosnodosautomticamente.Opereconel dispositivodebloqueDRBDyolvideutilizareldispositivofsico.
castor:~# mkfs.ext3 /dev/drbd1

Suutilizacinescomoladeunaparticinestandardesdeahora.MntelaensudiscoenelNODE principaldeestemodo:
castor# mkdir /drbd_mysql castor# mount /dev/drbd1 /drbd_mysql/

Nopuedehaceresto(montar)enelsecundario.Parahaceresto,antesnecesitar promoverloa principal,ypreviamente,necesitadegradarelprimarioasecundario: Enelprincipal(castor):


castor# drbdadm secondary mysql

Enelsecundario(pollux):
pollux# drbdadm primary mysql

46.4.5.Obtenerinformacinsobreelestadodelsistema
Ejecutadodesdeelnododelmasteractual(castor):
castor:/# drbdadm state mysql Primary/Secondary castor:/# drbdadm dstate mysql UpToDate/UpToDate

Ydesdepollux(backup,discodereplicado):

871

DRDBsetup

pollux:~# drbdadm state mysql Secondary/Primary pollux:~# drbdadm dstate mysql UpToDate/UpToDate

46.4.6.ConfigurandoelmysqleneldiscoDRDB
Suponemos que tiene toda la informacin sobre mysql en los siguientes directorios (puede ser diferentedependiendodesudistribucinLinux):
/etc/mysql/my.cnf /var/lib/mysql/

Loprimeroesdetenerelmysqlenlosnodosprincipalysecundario. Enelnodoprincipal: Muevatodoslosdatosalaparticinmontadaenlosnodosprincipalesyborretodalainformaci n relevantedemysqlalnodosecundario:


mv /etc/mysql/my.cnf /drbd_mysql/ mv /var/lib/mysql /drbd_mysql/mysql mv /etc/mysql/debian.cnf /drbd_mysql/

Enlacelanuevaubicainalalocalizacinoriginal:
ln -s /drbd_mysql/mysql/ /var/lib/mysql ln -s /drbd_mysql/my.cnf /etc/mysql/my.cnf ln -s /etc/mysql/debian.cnf /drbd_mysql/debian.cnf

Reiniciemysql. Enelnodosecundario:
rm -Rf /etc/mysql/my.cnf rm -Rf /var/lib/mysql ln -s /drbd_mysql/mysql/ /var/lib/mysql ln -s /drbd_mysql/my.cnf /etc/mysql/my.cnf

46.4.7.CreelabasededatosdePandoraFMS
AsumimosquetienelosficherospordefectodeSQLparacrearlosficherosdelabasededatosde PandoraFMSen/tmp.
mysql -u root -p mysql> create database pandora; mysql> use pandora; mysql> source /tmp/pandoradb.sql; mysql> source /tmp/pandoradb_data.sql;

872

DRDBsetup

Configurepermisos:
mysql> grant all privileges on pandora.* to pandora@192.168.10.1 identified by 'pandora'; mysql> flush privileges;

46.4.8.Recuperacinmanualdesplitbrain
DRBDdetectasplitbrainaltiempoquelaconectividadresultaaccesibledenuevoylosnodospeer cambian el protocolo DRBD handshake inicial. Si el DRBD detecta que ambos nodos est n (o estuvieron en algn momento, cuando estaban desconectados) en el rol principal, entonces, inmediatamenterompernlaconexindereplicacin.Lasealreveladoradeestoesunmensaje comoelsiguienteapareciendoenellogdelsistema:
Split-Brain detected, dropping connection!

Despusdequeelsplitbrainhayasidodetectado,unnodotendr siempreelrecursoenelestado deconexinStandAlone.ElotropuedetambinestarenelestadoStandAlone(siambosnodosson detectadosenelsplitbrainsimultneamente),oenWFConnection(sielpeerrompelaconexi n antesdequeelotronodotengalaoportunidaddedetectarsplitbrain). Enestecaso,nuestronodosecundario(castor)estsolo:


castor:~# cat /proc/drbd version: 8.0.14 (api:86/proto:86) GIT-hash: bb447522fc9a87d0069b7e14f0234911ebdab0f7 build by phil@fat-tyre, 2008-1112 16:40:33 1: cs:WFConnection st:Secondary/Unknown ds:UpToDate/DUnknown C r--ns:0 nr:0 dw:0 dr:0 al:0 bm:7 lo:0 pe:0 ua:0 ap:0 resync: used:0/61 hits:0 misses:0 starving:0 dirty:0 changed:0 act_log: used:0/257 hits:0 misses:0 starving:0 dirty:0 changed:0

Enestepunto,amenosquehayaconfiguradoDRBDparaqueserecupereautom ticamentedesplit brain, debe intervenir de modo manual seleccionando un modo cuyas modificaciones sern descartadas (este nodo se llama "victima" del split brain). Esta intervenci n se hace con los siguientescomandos:
drbdadm secondary mysql drbdadm -- --discard-my-data connect mysql

Enelotronodo(elsplitbrain"superviviente"),sisuestadodeconexi nestambinStandAlone, podrsentrar:


drbdadm connect mysql Ver el status: pollux:/# cat /proc/drbd version: 8.0.14 (api:86/proto:86) GIT-hash: bb447522fc9a87d0069b7e14f0234911ebdab0f7 build by phil@fat-tyre, 2008-1112 16:40:33

873

DRDBsetup

1: cs:SyncSource st:Primary/Secondary ds:UpToDate/Inconsistent C r--ns:34204 nr:0 dw:190916 dr:46649 al:12 bm:24 lo:0 pe:4 ua:20 ap:0 [============>.......] sync'ed: 66.7% (23268/57348)K finish: 0:00:02 speed: 11,360 (11,360) K/sec resync: used:1/61 hits:2149 misses:4 starving:0 dirty:0 changed:4 act_log: used:0/257 hits:118 misses:12 starving:0 dirty:0 changed:12

46.4.9.SwitchoverManual
Enelprincipalactual: 1.Detengamysql
/etc/init.d/mysql stop

2.Desmonteparticin
umount /dev/drbd1

3.Degradeasecundario
drbdadm secondary mysql

Enelsecundarioactual: 4.Promuevaaprimario
drbdadm primary mysql

5.Montelaparticin
mount /dev/drbd1 /drbd_mysql

6.InicieMySQL
/etc/init.d/mysql start

46.5.ConfiguracindeHearbeat
46.5.1.ConfiguracindeHeartbeat
Suponemos que tiene instalados los paquetes de hearbeat en los drbd utils, lo cual incluye un ficheroderecursosheartbeaten
/etc/ha.d/resource.d/drbddisk

874

ConfiguracindeHearbeat

Enprimerlugar,necesitarhabilitarip_forwarding. EnsistemasDEBIANedite/etc/sysctl.confymodifiquelasiguientelnea:
net.ipv4.ip_forward = 1

EnlossistemasSUSE,slotienequeutilizarYASTyconfigurareldestinatarioactivoenlainterfaz paraheartbeat(enestadocumentacineseth1). configureladireccinip/etc/hostsenamboshosts:


192.168.10.101 192.168.10.102 castor pollux

46.5.2.FicheroprincipalHeartbeatfile:/etc/ha.d/ha.cf
Editeelfichero/etc/ha.d/ha.cftalcomosigueenambosnodos:
# Sample file for /etc/ha.d/ha.cf # (c) Artica ST 2010 debugfile /var/log/ha-debug logfile /var/log/ha-log logfacility local0 keepalive 2 deadtime 30 warntime 10 initdead 120 udpport 694 bcast eth1 auto_failback on # auto_failback on Make the cluster go back to master when master onde gets up. # auto_failback off Let the master node to secondary when it gets up after a failure. ping 192.168.10.1 # Gateway de nuestra red que debe responder al ping apiauth ipfail gid=haclient uid=hacluster #o los que corresponda node castor node pollux

46.5.3.FicheroderecursosHA
Edite/etc/ha.d/haresourcesenamboshosts:
castor drbddisk Filesystem::/dev/drbd1::/drbd_mysql::ext3 mysql 192.168.10.100

Esto define el nodo "master" por defecto. En esas lineas usted define el nombre del nodo por defecto.Eselscriptdelrecursoparainiciar/detenerelnodo.Elfilesystemyelmountpoint,el recursodrbd(mysql)yladirecciondelaIPvirtual(192.168.10.100).

875

ConfiguracindeHearbeat

46.5.4.Configurandolaautenticacin
Edite/etc/ha.d/authkeysenamboshosts:
auth 2 2 sha1 09c16b57cf08c966768a17417d524cb681a05549

ELnmero"2"significaquetienedosnodos,yelhashesunsha1HASH. Doachmodof/etc/ha.d/authkeys
chmod 600 /etc/ha.d/authkeys

Desactive el startup automtico del demonio mysql. Desde ahora, deber ser gestionado por heartbeat.
rm /etc/rc2.d/S??mysql

46.5.5.Primerarranquedeheartbeat
Enprimerlugar,asegresedequeDRDBescorrecoyestcorriendobien,dequetambinMySQL est trabajandodequelabasededatoshasidocreada.Inicieheartbeatenambossistemas,pero PRIMEROenelnodoprincipal: Encastor:
/etc/init.d/heartbeat start

Enpollux:
/etc/init.d/heartbeat start

LosLogsen/var/log/halogdeberansersuficientesparasabersitodoescorrecto.ElnodoMaster (castor)deberatenerladireccindelaIPvirtual.Cambielosficherosdeconfiguraci ndepandora enlaconsolayelservidorparausarlaIPvirtualyreinicieelservidordePandoraFMS: NecesitatenerunwatchdogdelservidordePandoraFMSparadetectarcuandolaconexi nest cadaoutilizarlaopcindereinicionenpandora_server.conf:


restart 1 restart_delay 60

46.6.ProbandoelHA:Pruebadefallototal
1.Inicieunnavegadorwebyabrasesin.Pongalavistadelservidorenmodoautorefrescocon5 segundosdeintervalo: 2.Cierreelnodoprincipal: Presioneelbotnpoweroff.
876

ProbandoelHA:Pruebadefallototal

o Ejecute'halt'enlaconsolaroot. 3. Ponga untail f/var/log/halog en elnodo secundario para vigilarc mo est trabajando el switchover. 4.ElSwitchoverpuedellevarde3a5segundos.

877

ProbandoelHA:Pruebadefallototal

47HAENPANDORAFMSCON MYSQLCLUSTER

878

Introduccin

47.1.Introduccin
MySQLClusteresunatecnologaquepermiteelagrupamientodebasesdedatosenmemoriaenun entornodenocomparticin.Laarquitecturadenocomparticinpermitequeelsistemafuncione conhardwareeconmico,ysinningnrequerimientoespecialdehardwareosoftware.Tampoco tienenningnpuntonicodefalloporquecadacomponentetienesupropiamemoriaydisco. MySQLClusterintegraelservidorMySQLestndarconunmotordealmacenamientoclusterizado enmemoriallamadoNDB.Ennuestradocumentacin,eltrminoNDBserefierealapartedela inicializacinespecficaalmotordealmacenamiento,mientrasqueMySQLClusterserefiereala combinacindeMySQLyelnuevomotordealmacenamiento.UnMySQLClusterconsisteenun conjuntodemquinas,cadaunaejecutandounnmerodeprocesosincluyendoservidoresMySQL, nodos de datos para NDB Cluster, servidores de administraci n, y (posiblemente) programas especializadosdeaccesoadatos. LosdatosalmacenadosenlosnodosdedatosdeMySQLClusterpuedenreplicarse:elclusterpuede tratar fallos de nodos de datos individuales sin otro impacto a parte de abortar algunas transaccionesdebidoalaprdidadeestadodetransaccin.Comolasaplicacionestransaccionales sesuponenquetratanfallostransaccionales,estonodeberaserunproblema.

47.1.1.GlosariodetrminosdelclusterusadoparaPandoraFMS
NododeDatos:Esteeseltipodenodoquealmacenalosdatosdelcluster.Haytantosnodosde datoscomorplicas,multiplicadoporelnmerodefragmentos.Porejemplo,condosrplicas,cada unoteniendodosfragmentos,necesitacuatronodosdedatos.Noesnecesariotenerm sdeuna rplica.Unnododedatossearrancaconelcomandondbd(ondbmtdsisearrancalaversi n multihilo) NodoSQL(oNodoAPI):Esteeselnodoqueaccedealosdatosdelcluster.EnelcasodeMySQL Cluster,unnodoclienteesunservidorMySQLtradicionalqueusaelmotorNDBCluster.Unnodo SQLsearrancaconelmysqldconlaopcinndbclusteraadidaalficheromy.cnf. Manager o MGM: Es el nodo de Administracin del cluster. El rol de este tipo de nodo es administrar los otros nodos dentro del MySQL Cluster, tal como proporcionar datos de configuracin,iniciarypararnodos,ejecutarcopiasdeseguridad,yengenerallastareasdegesti n delcluster.Comoestetipodenodoadministralaconfiguraci ndeotrosnodos,unnododeeste tipo debe arrancarse primero, antes de cualquier otro nodo. Un nodo MGM se arranca con el comandondb_mgmd

47.1.2.ArquitecturadelclusterusadoconPandoraFMS
LaArquitecturadelclusterdeejemplo,constardedosservidoresenlosqueseejecutarnlosnodos de datos, y los nodos SQL, adems en otros dos servidores se instalarn dos nodos de administracindelclusterqueseencargarndegestionarelcluster.

879

Introduccin

Teniendo en cuenta la arquitectura de la figura el cluster ser a formado por las mquinas: PandoraDB1,PandoraDB,PandoraDBhisyPandora2. Estaarquitecturesuponevariascosas: Existeunbalanceadorenelfrontal(Frontend)quebalanceahacialostresservidoresde PandoraFMSutilizandoelpuertodetentacle,conunalgoritmotipoRR(RoundRobin).De igualmanerasebalanceaeltrficodeSNMPtraphaciadentro. ExisteunbalanceadorenelbackendquebalanceahacialosnodosSQL,laspeticionesdela consolaydelosservidores. EstebalanceadoresexternoaPandora,ypuedesertantohardwarecomosoftware.Paramontarun balanceadorporsoftware,existedocumentacindePandoraFMSsobrecomomontarkeepalived. Elpropsitodelclsterparalabasededatosesrepartirlaaltacargaquetendr labasededatosal monitorizarunaltonmerodemquinasyparmetrosdelasmismas.Paraqueelclsterfuncione correctamenteesmuyimportantequeelbalanceador,detalladoanteriormente,est biendiseadoy funcionecorrectamente. Lascaractersticasdelclsterparalabasededatossernlassiguientes: Funcionatrabajandosobrememoria,volcandoadiscologsdetransacciones. Necesitaungestorparacoordinarlarecuperacin. Necesitadiscosrpidosyconexinderedrpida. Tieneunosrequisitosdememoriamuyestrictos. Necesitatenertodalabasededatosenmemoriaparafuncionarrpido.

SepuedeaumentarlamemoriaRAM delosequiposqueconformanel clsterparaobtenerun mayorrendimiento.Enunprincipioseproyectunrequerimientode16GiBdeRAMparacadauno


880

Introduccin

delosequiposqueformanlabasededatos.

47.2.Instalacinyconfiguracin.
VamosasuponerunainstalacinsobreunsistemaSUSE.LainstalacindelclusterdeMySQLen SUSESLESimplicalainstalacindelosrpmsconelsoftwaredeclusterdeMySQL,enconcreto habrqueinstalarlossiguientesficheros: MySQLClustergplclient7.0.60.sles10.x86_64.rpm MySQLClustergplextra7.0.60.sles10.x86_64.rpm MySQLClustergplmanagement7.0.60.sles10.x86_64.rpm MySQLClustergplserver7.0.60.sles10.x86_64.rpm MySQLClustergplshared7.0.60.sles10.x86_64.rpm MySQLClustergplstorage7.0.60.sles10.x86_64.rpm MySQLClustergpltest7.0.60.sles10.x86_64.rpm MySQLClustergpltools7.0.60.sles10.x86_64.rpmlibmysqlclient16

47.2.1.ConfiguracindeunNodoSQLydeDatos
En cada nodo de datos o nodo SQL tendremos que modificar el archivo de configuraci n /etc/my.cnf,queademsdelaconfiguracinhabitualdeMySQLdebeconteneralgunosparmetros extradeconfiguracindelcluster,acontinuacinsedescribendichosparmetrosylosvaloresque selesdebedar(laconfiguracincompletafinalestalfinaldeesteapndice). Losparmetrosdeconfiguracindelclusterenelficheromy.cnfseaplicanadosseccionesmysqldy mysql_cluster. Enlasecccinmysqldsedebenaadirlosparmetrossiguientes: ndbcluster:indicaalmotormysqlquedebearrancarelmotorNDBparabasesdedatosen cluster. ndbconnectstring="10.1.1.215:1186;10.1.1.216:1186": contiene el string de conexin a el/los nodo/s de gestin, se trata de una cadena de caracteres con el formato host:puerto,host:puerto. ndbclusterconnectionpool=10:numerodeconexionesenlareservadeconexiones,el ficheroconfig.inidelclusterdebedefinirtambinalmenosunnodoMySQL(onodoAPI) porcadaconexin. ndbforcesend=1:fuerzaaquelosbuffersseenveninmediatamentesinesperaraotros threads. ndbuseexactcount=0: desactiva el forzado de NDB a contar los registros durante la planificacindeconsultasSELECTCOUNT(*)paraagilizarlasconsultasengeneral. ndbautoincrementprefetchsz=256:determinalaprobabilidaddedejarhuecosenuna columnaautoincrementada,conunvalorde1seminimizanloshuecos,mayoresvalores aceleran las inserciones, pero reducen las posibilidades de que se utilicen numeros consecutiovoseninsercionesenlote. Enlaseccinmysql_clustersedebenaadirlosparmetrossiguientes: ndbconnectstring="10.1.1.230:1186;10.1.1.220:1186": contiene el string de conexin a el/los nodo/s de gestin, se trata de una cadena de caracteres con el formato host:puerto,host:puerto. Aquivemosunextractodelfichero

881

Instalacinyconfiguracin.

[mysqld] # Run NDB storage engine ndbcluster # Location of management servers ndb-connectstring="10.1.1.215:1186;10.1.1.216:1186" # Number of connections in the connection pool, the config.ini file of the # cluster have to define also [API] nodes at least for each connection. ndb-cluster-connection-pool=10 # Forces sending of buffers to NDB immediately, without waiting # for other threads. Defaults to ON. ndb-force-send=1 # Forces NDB to use a count of records during SELECT COUNT(*) query planning # to speed up this type of query. The default value is ON. For faster queries # overall, disable this feature by setting the value of ndb_use_exact_count # to OFF. ndb-use-exact-count=0 # Determines the probability of gaps in an autoincremented column. # Set it to 1 to minimize this. Setting it to a high value for # optimization makes inserts faster, but decreases the likelihood # that consecutive autoincrement numbers will be used in a batch # of inserts. Default value: 32. Minimum value: 1. ndb-autoincrement-prefetch-sz=256 # Options for ndbd process: [mysql_cluster] # Location of management servers (list of host:port separated by ;) ndb-connectstring="10.1.1.230:1186;10.1.1.220:1186"

LaversinfinaldeesteficheroestenelApndice1

47.2.2.ConfiguracindelManager
Primero se crea el directorio donde se almacenar la informacin del cluster (/var/lib/mysql cluster/)ydentrodedichodirectoriosecrear elficherodeconfiguracindelcluster(config.ini) delqueseincluyeacontinuacinunresumenconlosparmetrosmsrelevantes:
# # # # MySQL Cluster Configuration file By Pablo de la Concepcin Sanz <pablo.concepcion@artica.es> This file must be present on ALL the management nodes in the directory /var/lib/mysql-cluster/

########################################################## # MANAGEMENT NODES # # This nodes are the ones running the management console # ########################################################## # Common configuration for all management nodes: [ndb_mgmd default] ArbitrationRank=1 # Directory for management node log files datadir=/var/lib/mysql-cluster [ndb_mgmd] id=1 # Hostname or IP address of management node hostname=<hostname_nodo_de_gestion_1>

882

Instalacinyconfiguracin.

[ndb_mgmd] id=2 # Hostname or IP address of management node hostname=<hostname_nodo_de_gestion_2> . . .

La versin final de este fichero est al final de este documento

Elficheroconfig.iniestdivididoenlassiguientessecciones: [ndb_mgmddefault]:Configuracincomnatodoslosnodosdegestin [ndb_mgmd]:Configuracinindividualdecadanododegestin [ndbddefault]:Configuracincomndelosnodosdedatos [ndbd]:Configuracinindividualdecadanododedatos [mysqlddefault]:ConfiguracincomndetodoslosnodosAPIoSQL [mysqld]:ConfiguracinindividualdecadanodoAPIoSQL [tcpdefault]:Configuracindebuffersdeconexin

47.2.2.1.Parmetrosdelaconfiguracincomndelosnodosdegestin
ArbitrationRank:Esteparmetrosirveparadefinirquenodohacede rbitro(Losnodosdegestin ylosnodosSQLpuedenhacerde rbitros,serecomiendaqueseanlosnodosdegestinlosque tenganaltaprioridad),puedetomarvaloresde0a2: 0:Elnodonuncaserusadocomorbitro 1:Elnodotienealtaprioridad,tendrprioridadsobrenodosdebajaprioridad 2:Elnodotienebajaprioridad,ysloseutilizarcomorbitrosinohayotrosnodosdems prioridaddisponibles. Datadir:Directoriodondesealmacenanloslogsdelnododegestin.

47.2.2.2.Parmetrosdeconfiguracinindividualdelos2nodosdegestin
Debehaberunaseccin[ndb_mgmd]porcadanododegestin. id:Identificadordenodo,debesernicoentodoelficherodeconfiguracin. Hostname:NombredelhostodireccinIPdelnododegestin.

47.2.2.3.Parmetrosdeconfiguracincomunesalosnodosdealmacenamiento
NoOfReplicas:redundancia,nmerodereplicasparacadatablaalmacenadaenelcluster.Este parmetrotambinespecificaeltamaodelosgruposdenodos.Ungrupodenodosesunconjunto de nodos que almacenan todos la misma informacin. Se recomienda establecer el nmero de replicasa2quepermiteteneraltadisponibilidad. Datadir: directorio donde se almacenan los ficheros relacionados con el nodo de datos (logs, ficherosdetraza,logsdeerrores,fichersoconelpid). DataMemory:esteparmetroestableceelespacio(enBytes)disponibleparaalmacenarregistros
883

Instalacinyconfiguracin.

delabasededatos,todoelespacioindicadosereservaenmemoria,portantoesextremadamente importantequehayasuficientememoriafsicaparareservarsinnecesidaddeutiilizarlamemoria deintercambio. IndexMemory:esteparmetrocontrolalacantidaddealmacenamientousadopor ndiceshashen MySQLCluster.Losndiceshashsiempresonusadosporndicesdeclaveprimaria, ndicesnicosy restriccionesnicas. StringMemory:esteparmetroindicacuantamemoriasereservaparacadenasdecaracteres(como losnombresdelastablas),unvalorentre0y100setomacomounporcentajedelvalorm ximo (quevaraenfuncindeunbuennmerodefactores)mientrasqueunvalorsuperiora100se interpertacomoelnmerodebytes.(25%deberasermsquesuficiente). MaxNoOfConcurrentTransactions:esteparmetroindicaelnmeromximodetransaccionesen unnodo,debeserelmismoparatodoslosnodosdedatos,estosedebeaquesiunnodofallael nodomsantiguodelosrestantesvuelveacreartodaslastransaccionesdelnodocaido(cambiarel valordeesteparmetrosuponeunaparadacompletadelcluster). MaxNoOfConcurrentOperations:indicaelnmeromximoderegistrosquepuedenestarenfase deactualizacinobloqueadossimultaneamente. MaxNoOfLocalOperations:serecomiendaestableceresteparmetroconunvalordel110%de MaxNoOfConcurrentOperations. MaxNoOfConcurrentIndexOperations:esteparmetrotieneunvalorpordefectode8192yslo encasosdeparalelismoextremadamentealtoqueutilicenindiceshash nicosdeberasernecesario amuentarsuvalor.SepuedereducirsuvalorsielAdministradordelaBasedeDatosconsideraque nohaymuchoparalelismoyconelloahorraralgodememoria. MaxNoOfFiredTriggers:esteparmetrotieneunvalorpordefectode4000ydeberasersuficiente en la mayora de los casos, en algunas ocasiones incluso se puede reducir su valor si el AdministradordelaBasedeDatosconsideraquenohaymuchoparalelismo. TransactionBufferMemory: este almacenamiento temporal de memoria se utiliza durante la actualizacindetablasde ndicesylecturadeindices nicosparaalmacenarlaclaveylacolumna enestasoperacionesynormamentenosedebemodificarelvalorpordefectode1M. MaxNoOfConcurrentScans:esteparmetroindicaelnmeromximodeescaneosenparaleloque pudellevaracaboelcluster,quedebesercapazdesoportartantosescanoscomolosmarcadospor esteparmetroencadanodo. MaxNoOfLocalScans:Esteparmetroindicaelnmeroderegistrosescaneadoslocalmentesivarios escaneosnoseproducencompletamenteenparalelo.Sinoseespecificasecalculacomoelproducto deMaxNoOfConcurrentScansporelnmerodenodosdedatos. BatchSizePerLocalScan: indica el nmero de registros bloqueados que se utilizan para tratra operacionesdeescaneoconcurrentes. LongMessagesBuffer: este parmetro determina el tamao de un almacenamiento temporal internoparaelintercambiodeinformacinentrenodos. NoOfFragmentLogFiles:esteparmetroindicacuantosbloquesderedologsegenerarnyjunto conFragmentLogFileSizepermitedeterminareltamaototaldelredolog. FragmentLogFileSize:tamaodelosfragmentosderedolog,cuatrodeestosfragmentosforman unbloquederedologyeseltamaoconelquesereservaelespacioderedolog.Untamaomayor delos16MdeFragmentLogSizepermiteunmayorrendimientocuandohaymuchaescrituraymuy recomendableaumentarelvalordeesteparmetroenesecaso. InitFragmentLogFiles:esteparmetropuedetomardosvaloresSPARSEoFULL

884

Instalacinyconfiguracin.

SPARSE:Esteeselvalorpordefecto,losfragmentosdelogsecreandeformaseparada. FULL:Fuerzaaquetodoslosbytesdellosfragmentosdelogseescribanendisco. MaxNoOfOpenfiles:esteparmetrolimitaelnmerodehilosparaaperturadeficheros.Cualuquier situacinquerequieacambiaresteparmetrodeberaserreportadacomounbug. InitialNoOfOpenFiles:nmerodehilosinicialparalaaperturadeficheros. MaxNoOfSavedMessages:nmeromximodeficherosdetrazaqueseguardanantesdeempezara sobreescribirlosantiguos. MaxNoOfAttributes:defineelnmeromximodeatributosquesepuedendefinirenelcluster. Cadaatributoconsumeacercade200bytesdealmacenamientopornododebidoaquetodoslos metadatosestnreplicadosenlosservidores. MaxNoOfTables:defineelnumeromximototaldeobjetostabla(ttabla,ndicehashnicoendice ordenado)enelcluster. MaxNoOfOrderedIndexes:paracada ndiceordenado enestecluster,unobjetosereservaque describeloqueseindexaysussegmentosdealmacenamiento.Pordefectocada ndicedefinidoas tambindefineun ndiceordenado.Cada ndice nicoyclaveprimariatieneun ndiceordenadoe ndicehash. MaxNoOfTriggers:defineelnmeromximodedisparadoresenelcluster. LockPagesOnMainMemory:bloquealosprocesosdelosnodosdedatosenmemoriaevitandoque entrenenswap,losposiblesvalorsdelparmetroson: 0:Deshabilitaelbloqueo(valorpordefecto). 1:Realizaelbloqueodespusdereservarlamemoriadelproceso. 2:Realizaelbloqueantesdereservarlamemoriadelproceso. StopOnError:indicasilosprocesosdelosnodosdedatosterminantrasunerrorosereinician automticamente. Diskless:obligaatodoelclusteratrabajarsindisco,enmemoria,enestemodolosbackupsonline estndeshabilitados,ynosepuedeinicialparcialmenteelcluster. ODirect:habilitandoesteparmetroseutilizanescriturasO_DIRECTenlocalcheckpoitnsyredo logs,reduciendolacargadelaCPU,serecomiendahabilitarloparasistemassobreunLinuxconun kernel2.6osuperior. CompressedBackup: cuando est activado (1) realiza una compresin equivalente a gzip fast ahorrandohastaun50%deespacioenlosficherosdebackup. CompressedLCP: cuando est activado (1) realiza una compresin equivalente a gzip fast ahorrandohastaun50%deespacioenlosficherosdeCheckpoint. TimeBetweenWatchDogCheck:nmerodemilisegundosdelintervalodechecheodelWatchDog (hilo que se encarga de comprobar que el hilopricipal no se ha quedadobloqueado) si tras3 chequeoselhiloprincipalsigueenelmismoestadoelwachdogterminaelhilopricipal. TimeBeweenWatchDogCheckInitial:cumplelamismafuncinqueTimeBetweenWachdogCheck, peroestevalorseaplicaenlafaseinicialdearranquedelcluster,cuandoseesthaciendolareserva dememoria. StartPartialTimeout:indicacuantotiemposeesperadesdequeseiniciaelprocesodearranquedel clusterhastaquetodoslosnodosdedatosestnarriba,esteparmetroseignorasisetratadeuna inicializacindelcluster.Sufuncinesqueelclusternoquedearrancadoamedias. StartPartitionedTimeout:sielclusterestlistoparaarancartrasesperarStartPartialTimeout,pero estenunestadoparticionado,elclusteresperatambinaquepaseestetimeout.Esteparmetrose
885

Instalacinyconfiguracin.

ignorasisetratadeunainicializacindelcluster. StartFailureTimeout:siunnodonohaterminadosufasedearranquecuandoterminaestetimout el arranque falla, un valor de 0 indica que se espera indefinidamente. si el nodo tiene mucha informacin (varios gigabytes de datos) este parmetro debera aumentarse (el arranque con grandescantidadesdedatospuedellegaratardar10o15minutos). HeartbeatIntervalDbDb:indicacadacuantoseenvansealesdepulsoycadacuantoseespera recibir seaes de pulso. Si no se reciben seales de pulso desde un nodo durante 3 intervalos consecuivoselnodoseconsideracaido,asieltiempom ximoparadescubrirunfallomedianteel procesodeenvodepulsoses4veceselvalordeesteparmetro.Esteparmetronodebecamibarse demasiadoydeberatenerelmismovalorparatodoslosnodos. HeartbeatIntervalDbApi : cada nodo enva seales de pulso a cada nodo MySQL o API para asegurarsedequesemantieneelcontacto.SiunnodoMySQLnopuedemandarelpulsoatiempo (siguiendoelcriteriodelos3pulsosexplicadoenHeartbeatIntervalDbDb)seleconsideracaidoy todas las transacciones en curso se completan y se liberan los recursos. Un nodo no puede reconectarhastaquelosrecursosdelainstanciaanteriorhansidoliberados. TimeBetweenLocalCheckpoints :sirveparaevitarqueenunclusterconpocacargasehaganlocal checkpoints (si hay mucha carga normalmente se empieza uno nuevo nada m s terminar el anterior).Esunvalordadocomologaritmoenbase2deltamaoaalmacenarencadacheckpoint. TimeBetweenGlobalCheckpoints:indicacadacuantotiemposevuelcanadiscolastransacciones. TimeBetweenEpochs:indicaelitntervalodelaspocasdereplicacindelcluster TransactionInactiveTimeout:defineuntimeoutparalaspocasdesincronizacindelareplicacin delcluster,siunnodonoescapazdeparticiparenunglobalcheckpointenelperiodoestablecido poresteparmetroelnodoseapaga. TransactionDeadlockDetectionTimeout : indica cuanto tiempo espera el coordinador de transacciones a que otro nodo complete una consulta antes de abortar la transacci n. Este parmetroesimportanteparalagestindedeadlocksydefallodenodos. DiskSyncSize:tamaomximoalmacenadoantesdevolcarlosdatosaunlocalcheckpointfile. DiskCheckpointSpeed:velocidaddetransferenciaenbytesporsegundodedatosenviadosadisco duranteunlocalcheckpoint. DiskCheckpointSpeedInRestart: velocidad de transferencia en bytes por segundo de datos enviadosadiscoduranteunlocalcheckpointqueformapartedeunaoperacindeRestart. ArbitrationTimeout:tiempoqueesperaunnodounmensagedel rbitro,sisesuperaestetiempo seasumequelaredestdividida. UndoIndexBuffer:seutilizaduranteloslocalcheckpointspararegistrarlasactividadesdurantela escrituradeloslocalcheckpoints.

No es seguro reducir el valor de este parmetro

UndoDataBuffer:tienelamismafuncinqueelanteriorexceptoqueenestecasoserefiereala memoriadedatosenlugardeladendices.

886

Instalacinyconfiguracin.

No es seguro reducir el valor de este parmetro

RedoBuffer:registralasactividadesdeactualizacinparaquepuedanvolveraserejecutadasen casodequeelsistemasereinicieydejaraselclusterenunestadoconsistente. Los niveles de log van de 0 (no se reporta nada al log) a 15 (toda actividad relacionada es reportaddaallog). LogLevelStartup:nivelderegistrodeactividadduranteelprocesodearranque LogLevelShutdown:nivelderegistrodeactividadduranteelprocesodeparada LogLevelStatistic: nivel de registro de actividad de eventos estadsticos (lecturas de claves primarias,actualizacioes,inserciones,etc...) LogLevelCheckpoint:nivelderegistrodeactividaddurantecheckpointslocalesyglobales. LogLevelNodeRestart:nivelderegistrodeactividadduranteelreiniciodeunNodo LogLevelConnection:nivelderegistrodeactividaddeeventosgeneradosporconexiones entre nodos. LogLevelError:nivelderegistrodeactividaddeavisosyerrores. LogLevelCongestion:nivelderegistrodeactividaddecongestindelcluster. LogLevelInfo:nivelderegistrodeactividaddeinformacingeneraldelcluster. MemReportFrequency:nmerodesegundosentreregistosdeusodememoriadelosnodosde datos,seregistralamemoriadedatosylade ndicestantoenporcentajecomoennmerode pginasde32KB. StartupStatusReportFrequency:Indicalosreportscuandoseinicializanlosredologsporqueelse haarrancadounnododedatosconinitial.Elprocesodeinicializaci nderedologspuedeserlargo si el tamao de estos es grande, y este parmetro permite registrar la evolucin de esta inicializacin. BackupReportFrequency:indicalafrecuencicaconlaqueseregistralaevoluci ndelbackupenel logduranteelprocesodecreacindeunacopiadeseguridad. BackupDataBufferSize:duranteelprocesodeBackup haydosbuffers queseusanpara enviar datosaldisco,cuandoelbuffersellenahastaeltamaodeBackupWriteSizeseempiezaavolcarlos datosadiscoyelprocesodeBackuppuedecontinuarllenandoestebuffermientrastengaespacio. EltamaodeesteparmetrodebeseralmenoseldeBackupWriteSize+188KB BackupLogBufferSize:registralasescriturasentablasduranteelprocesodeBackupsisequedasin espacioenelbackuplogbufferelbackupfalla.Eltamaodeesteparmetrodebeseralmenoselde BackupWriteSize+16KB BackupMemory:simplementelasumadeBackupDataBufferSizeyBackupLogBufferSize. BackupWriteSize:tamaopordefectodelosmensajesalmacenadosendiscoporelbackuplog bufferyelbackupdatabuffer. BackupMaxWriteSize:tamaopordefectodelosmensajesalmacenadosendiscoporelbackuplog buffer y el backup data buffer. El tamao de este parmetro debe ser al menos el de BackupWriteSize. BackupDataDir:directoriodondesealmacenanlascopiasdeseguridad,dentrodeestedirectorio secreaunsubdirectoriollamadoBACKUPSydentrodeelunoporcadacopiadeseguridadllamado
887

Instalacinyconfiguracin.

BACKUPX(dondeXeselnmerodelacopiadeseguridad) LockExecuteThreadToCPU:cadenaconlosidentificadoresdelasCPUsenlasqueseejecutarnlos hilosdelosnodosdedatos(ndbmtd)debehabertantosidentificadorescomoindiqueelpar metro MaxNoOfExecutionThreads. RealTimeScheduler:estableceresteparmetroa1habilitaelplanificadorentiemporealdelos hilos. SchedulerExecutionTimer:tiempoenmicrosegundosdeejecucindeloshilosenelplanificador antesdeserenviados. SchedulerSpinTimer:tiempodeejecucinenmicrosegundosdeloshilosantesdedormirse. MaxNoOfExecutionThreads: nmerodehilos de ejecucin(para 8 o ms cores serecomienda estableceresteparmetroconunvalorde8)

47.2.2.4.Parmetrosdeconfiguracinindividualparacadanododedatos
Debehaberunaseccin[ndbd]porcadanododedatos. id:Identificadordenodo,debesernicoentodoelficherodeconfiguracin. Hostname:NombredelhostodireccinIPdelnododedatos.

47.2.2.5.ParmetrosdeconfiguracincomnalosnodosAPIoSQL
ArbitrationRank:Esteparmetrosirveparadefinirquenodohacede rbitro(Losnodosdegestin ylosnodosSQLpuedenhacerde rbitros,serecomiendaqueseanlosnodosdegestinlosque tenganaltaprioridad),puedetomarvaloresde0a2: 0:Elnodonuncaserusadocomorbitro 1:Elnodotienealtaprioridad,tendrprioridadsobrenodosdebajaprioridad 2:Elnodotienebajaprioridad,ysloseutilizarcomorbitrosinohayotrosnodosdems prioridaddisponibles. En el caso de los nodos API o SQL se romienda establecer el valor de ArbitrationRank a 2 permitiendoqueseanlosnodosmanager(quedeberantenerArbitrationRanka1)losquetomenel papelderbitro. BatchByteSize:Limitaeltamaodebloquesdeprocesoporlotesqueseutilizancuandosehacen escaneoscompletosdelastablasoescaneosporrangossobrendices. BatchSize: Limita el nmero de bloques de proceso por lotes que se utilizan cuando se hacen escaneoscompletosdelastablasoescaneosporrangossobrendices. MaxScanBatchSize:Limitetotalparatodoelclusterdetamaodebloquesdeprocesoporlotesque seutilizancuandosehacenescaneoscompletosdelastablasoescaneosporrangossobre ndices. Esteparmetroevitaqueseenvendemasiadosdatosdesemuchosnodosenparalelo.

47.2.2.6.ParmetrosdeconfiguracinindividualparacadanodoAPIoSQL
Debe haber una seccin [mysqld] por cada nodo API o SQL, adems debera haber secciones [mysqld]extraparapermitirconexionesdechequeoodebackup,paraelloserecomiendadfinir dichasconexionesextradandolesidentificadordenodo,peronohostname,deformaquecualquier hostpuedaconectarmediantelasconexionesextra. id:Identificadordenodo,debesernicoentodoelficherodeconfiguracin. Hostname:NombredelhostodireccinIPdelnododedatos.
888

Instalacinyconfiguracin.

En nuestra documentacion y arquitectura de ejemplo, hemos hecho que los nodos API/SQL y el nodo de datos NDB estn fisicamente en el mismo sistema, esto no tiene porqu ser as

47.3.IniciodelCluster
47.3.1.IniciodelManager
Se han configurado los servidores para la parada / arranque automtico de los demonios de gestion del cluster. Los procedimientos que aqu se detallan son para hacer las paradas y arranques manuales y para conocer el funcionamiento de los mismos. Se ha desarrollado un script para la parada y arranque y se ha programado en el nivel por defecto de arranque de los sistemas (Nivel 3)

UnavezhechoslosprocedimientosdeinstalacinyconfiguracindelsistemaManager,debemos iniciarelservicio.Parainiciarelnododeadministraci n,ejecutamoselsiguientecomandoenla consola:(comoroot)NododeAdminstracin1:


ndb_mgmd --config-file=/var/lib/mysql-cluster/config.ini --configdir=/var/lib/mysql-cluster

Deigualformamedianteelscriptquesehadesarrolladoparatalefectoen
/etc/init.d/cluster_mgmt start

NododeAdministracin2:
ndb_mgmd -c 10.1.1.221:1186 -ndb-nodeid=2

Deigualformamedianteelscriptquesehadesarrolladoparatalefectoen
/etc/init.d/cluster_mgmt start

Si ademsse quierecargar una nueva versin delfichero deconfiuracin seles debe pasar al arranquedeambosnodoselparmetroinitial Elscriptdecontroldelservicio(etc/init/cluster_mgmt)sepuedeutilizarparaarrancarelnodo (start)yparapararlo(stop)oreiniciarlo(restart)as comoparasabersuestado(status).

47.3.2.IniciodelosNodosdeDatosdelcluster(SOLOINSTALACIN)
UnavezelManagerhasidolanzado,procedemosalanzarlosnodosconelsiguientecomandoenla consola(comoroot):

889

IniciodelCluster

ndbmtd -initial

Estoestablecelaconfiguracininiciallosnodos(queobtienendelmanager)yreservaelespaciode redolog.Inicionormaldelosnodosdedatosdelcluster Encasodeunreniciodeunodelosnodos,porcaidaoporalg ntipodeparadatcnica,losnodos searrancarnusandotanslondbmtd,sinelinitial,yaquedichoparmetrohacequesecargue decerolaconfiguracinyreinicialosficherosdedatosdelnodoylosredolog(haciendonecesario restaurarlosdatosdeseunBackup).


ndbmtd

Sepodr usarelscriptdesarrolladoparaelcontroldeldemoniodelnododealmacenamientodel cluster:


/etc/init.d/cluster_node start

Dicho script se puede utilizar para arrancar el nodo (start) y para pararlo (stop) o reiniciarlo (restart)ascomoparasabersuestado(status).

Por la importancia del proceso de arranque de los nodos de datos del cluster, este proceso NO SE AUTOMATIZA. Es decir, hay que realizarlo manualmente despus de un reinicio

Elprocesodearranquedelosnodosesmuydelicado(sisehizounaparadadesordenada,oel cluster se ha quedado en un estado no sincronizado, habra que consultar los logs y la documentacindelfabricante(MySQL)parasabercomosolucionarelproblemaantesdearrancar losnodos. ElprocesodearranquedeunnododedatospuedeserunprocesoLENTO,ypuedetardarde10a 20minutos.Paraconsultarelestado,dentrodelprocesodearranque,utiliceelcomandoSHOW dentrodelaconsoladegestindelclusterdeMySQL,talycomoseindicamsadelante.

47.3.3.IniciodelosNodosSQL
LosNodosSQLsearrancanutilizandoelcomando:
/etc/init.d/mysql start

yseparancon
/etc/init.d/mysql stop

comosifueraunservidormysqlnormal.Estohacequeseconectentodoslosthreadsdefinidosenel /etc/my.cnfalclustercompletandoaselarranquecompletodelcluster.

890

IniciodelCluster

47.3.4.VerelestadodelCluster
Una vez tenemos todos los elementos iniciados, podemos ver si se han conectado al cluster correctamente.ParaelloenlaconsoladelManagerescribimos: ndb_mgm Yentramosenlainterfazdeadministracindelcluster,unavezenellaescribimos: show Yobtendremosalgocomoesto:
Connected to Management Server at: 10.1.1.221:1186 Cluster Configuration --------------------[ndbd(NDB)] 2 node(s) id=3 @10.1.1.215 (mysql-5.1.34 ndb-7.0.6, Nodegroup: 0, Master) id=4 @10.1.1.216 (mysql-5.1.34 ndb-7.0.6, Nodegroup: 0) [ndb_mgmd(MGM)] 2 node(s) id=1 @10.1.1.221 (mysql-5.1.34 ndb-7.0.6) id=2 @10.1.1.216 (mysql-5.1.34 ndb-7.0.6) [mysqld(API)] 29 node(s) id=11 @10.1.1.215 (mysql-5.1.34 id=12 @10.1.1.216 (mysql-5.1.34 id=13 @10.1.1.216 (mysql-5.1.34 id=14 @10.1.1.216 (mysql-5.1.34 id=15 @10.1.1.216 (mysql-5.1.34 id=16 @10.1.1.216 (mysql-5.1.34 . ndb-7.0.6) ndb-7.0.6) ndb-7.0.6) ndb-7.0.6) ndb-7.0.6) ndb-7.0.6)

Comovemosenesasalida,tenemoslosNodosdegesti ,losNodosdeDatosylosNodosSQLode APIconectadosenelcluster,ademshayunaseriedenodosSQLodeAPIlibres,sinconexiones, queaceptanconexionesdesdecualquierhost,yqueseutilizar nparaconsultasdeestado,creacin debackups,etc... Siacabamosdeiniciarlosnodosdedatosveremosunmensajecomoelsiguiente: [ndbd(NDB)] 2 node(s) id=3 @10.1.1.215 (mysql5.1.34 ndb7.0.6, starting, Nodegroup: 0, Master)id=4@10.1.1.216(mysql5.1.34ndb7.0.6,starting,Nodegroup:0) Estoindicaqueelsistemaesttodaviainicializandolosnodosdedatos.

47.3.5.InicioyparadadenodosdesdeelManager.
EsposiblelaparadaeiniciodenodosenelclusterdesdeelManager,esdecir,sintenerqueirala consoladecadanodo. Parapararunnodousaremoslaorden: <id>stop Siendoel<id>elnmeroqueaparecealhacerunshow.Ejemplo: 2stop Parainiciaresenodoquehemosparadousaremoslaorden: <id>start Siendoel<id>elnmeroqueaparecealhacerunshow.Ejemplo: 2start
891

BackupsdelCluster

47.4.BackupsdelCluster
Esrecomendablehacerunacopiadeseguridaddelosdatosyestructurasdelcluster.Paraellose handeusarlossiguientespasos: 1. .Arrancarelservidordeadministracin(ndb_mgm). 2. .EjecutarelcomandoSTARTBACKUP. 3. .Obtendremosunasalidacomolasiguiente:
ndb_mgm> START BACKUP Waiting for completed, this may take several minutes Node 2: Backup 6 started from node 1 Node 2: Backup 6 started from node 1 completed StartGCP: 267411 StopGCP: 267414 #Records: 2050 #LogRecords: 0 Data: 32880 bytes Log: 0 bytes

Esposibleiniciarlacopiadeseguridaddelashelldelsistemausando
ndb_mgm -e "START BACKUP"

Estos backups crearn una serie de ficheros en el directorio: /var/lib/mysql cluster/BACKUP/BACKUPXdecadanododelcluster,dondelaXeselnmerodebackup Endichodirectorioseguardanunaseriedeficherosconlassiguientesextensiones: Data:Datosdelcluster .ctl:Metadatosdelcluster .log:FicherosdeLOGdelcluster.

47.4.1.Restauradodecopiasdeseguridad.
CadanodoalmacenaunapartedelaBBDDenlosbackups,deformaquepararecomponerel cuadrocompletohayquehacerunrestoredetodosloselementosdelcluster,enordenyunopor uno.

47.4.1.1.Pasosprevios
Pararestaurarunbackuppreviamentehayquereinicializarlosnodosyeliminarsucontenido. Estoes,arrancarlosconelparmetroinitial.
ndbmtd initial

47.4.1.2.Ordendelprocesoderestauracin
Pararestaurarunbackup,hayquehacerloprimeroenelnodomarcadocomomaster.Laprimera restauracincrearlosmetadatos,elrestosololosdatos.

47.4.2.Procesoderestauracin
La orden para restaurar un backup esla siguiente(tomamos como ejemplo la restauraci ndel backup#5sobreelnodeid#3): Enelprimernodo,ejecutamoslosiguienteenlaconsoladeLinux
892

BackupsdelCluster

ndb_restore -b 5 -n 3 -m -r /var/lib/mysql-cluster/BACKUP/BACKUP-5

Yobtendremoslasiguientesalida:
Backup Id = 5 Nodeid = 3 backup path = /var/lib/mysql-cluster/BACKUP/BACKUP-5 Ndb version in backup files: Version 5.0.51

Enelsegundoysucesivosnodos,sersimilarperosinelparmetrom
ndb_restore -b 5 -n 4 -r /var/lib/mysql-cluster/BACKUP/BACKUP-5

Lasopcionesqueselepasansedetallanacontinuacin: b:indicaelnumerodebackup n:indicaelnodoenconcreto(quesepuedemirarenelmanagerconun"show") m:indicaqueserestaurenlosmetadatosdelcluster r:indicaquerestaurenlosdatosenelcluster.

Luegohayqueponerelpathaldirectorio(hayqueponerelpathalbackupquehayamospuestoen elb)

47.5.LogsdelCluster
ElclusterdeMySQLproveedostiposdelogs

47.5.1.Ellogdelcluster
Incluyeloseventosgeneradosporcadanododelcluster.Esellogm srecomendableparamirarsi algofalla,yaqueincluyelainformacindelclusterentero. Pordefectoestelogesteneldirectorio/var/lib/mysqlcluster/ndb_1_cluster.log Unejemplodeestetipodelogseselsiguiente:
2009-05-26 11:56:59 [MgmSrvr] INFO -- Node 5: mysqld --server-id=0 2009-05-26 12:14:32 [MgmSrvr] INFO -- Mgmt server state: nodeid 6 reserved for ip 10.1.1.220, m_reserved_nodes 0000000000000062. 2009-05-26 12:14:32 [MgmSrvr] INFO -- Node 6: mysqld --server-id=0 2009-05-26 13:35:47 [MgmSrvr] INFO -- Mgmt server state: nodeid 6 freed, m_reserved_nodes 0000000000000022. 2009-05-26 13:46:44 [MgmSrvr] INFO -- Mgmt server state: nodeid 6 reserved for ip 10.1.1.220, m_reserved_nodes 0000000000000062. 2009-05-26 13:46:44 [MgmSrvr] INFO -- Node 6: mysqld --server-id=0 2009-05-26 13:46:44 [MgmSrvr] INFO -- Node 2: Node 6 Connected 2009-05-26 13:46:45 [MgmSrvr] INFO -- Node 3: Node 6 Connected 2009-05-26 13:46:45 [MgmSrvr] INFO -- Node 3: Node 6: API version 5.0.51 2009-05-26 13:46:45 [MgmSrvr] INFO -- Node 2: Node 6: API version 5.0.51

LainformacintilestidentificadaconlaspalabrasWARNING,ERRORyCRITICAL.

893

LogsdelCluster

47.5.2.LogsdelosNodos
Cadanododelclustertienesuspropioslogs,quesedividenasuvezendossublogs.(todosloslogs estnbajoeldirectorio/var/lib/mysqlcluster/

47.5.2.1.ndb_X_out.log
Elprimerlogymsgeneralsellama:ndb_X_out.log(siendoXeliddelnodo).Estelogcontienela informacingeneraldelclusterytieneelsiguienteaspecto:
2009-09-29 13:15:51 [ndbd] INFO -- Angel pid: 30514 ndb pid: 30515 NDBMT: MaxNoOfExecutionThreads=8 NDBMT: workers=4 threads=4 2009-09-29 13:15:51 [ndbd] INFO -- NDB Cluster -- DB node 3 2009-09-29 13:15:51 [ndbd] INFO -- mysql-5.1.34 ndb-7.0.6 -2009-09-29 13:15:51 [ndbd] INFO -- WatchDog timer is set to 40000 ms 2009-09-29 13:15:51 [ndbd] INFO -- Ndbd_mem_manager::init(1) min: 4266Mb initial: 4286Mb Adding 4286Mb to ZONE_LO (1,137151) NDBMT: num_threads=7 thr: 1 tid: 30520 cpu: 1 OK BACKUP(0) DBLQH(0) DBACC(0) DBTUP(0) SUMA(0) DBTUX(0) TSMAN(0) LGMAN(0) PGMAN(0) RESTORE(0) DBINFO(0) PGMAN(5) thr: 0 tid: 30519 cpu: 0 OK DBTC(0) DBDIH(0) DBDICT(0) NDBCNTR(0) QMGR(0) NDBFS(0) TRIX(0) DBUTIL(0) thr: 2 tid: 30521 cpu: 2 OK PGMAN(1) DBACC(1) DBLQH(1) DBTUP(1) BACKUP(1) DBTUX(1) RESTORE(1) thr: 3 tid: 30522 cpu: 3 OK PGMAN(2) DBACC(2) DBLQH(2) DBTUP(2) BACKUP(2) DBTUX(2) RESTORE(2) thr: 4 tid: 30523 cpu: 4 OK PGMAN(3) DBACC(3) DBLQH(3) DBTUP(3) BACKUP(3) DBTUX(3) RESTORE(3) thr: 6 tid: 30515 cpu: 6 OK CMVMI(0) thr: 5 tid: 30524 cpu: 5 OK PGMAN(4) DBACC(4) DBLQH(4) DBTUP(4) BACKUP(4) DBTUX(4) RESTORE(4) saving 0x7f6161d38000 at 0x994538 (0) 2009-09-29 13:15:53 [ndbd] INFO -- Start initiated (mysql-5.1.34 ndb-7.0.6) saving 0x7f61621e8000 at 0x9ab2d8 (0) NDBFS/AsyncFile: Allocating 310392 for In/Deflate buffer

47.5.2.2.ndb_X_error.log
Elsegundotipodelogesellogdeerroresdelclusterquesellama:ndb_X_error.log(siendoXelid delnodo).Enestelogtenemosloserroresqueseproducenenelclusteryquenosenlazanaotro logcreadoanivelmsaltodedebug Aquvemoslasalidadeunficherodelogdeerroresenlazandoaotrologdetrazas:
Current byte-offset of file-pointer is: 1067 Time: Friday 9 October 2009 - 12:57:13 Status: Temporary error, restart node Message: Node lost connection to other nodes and can not form a unpartitioned cluster, please investigate if there are error(s) on other node(s) (Arbitration error) Error: 2305 Error data: Arbitrator decided to shutdown this node Error object: QMGR (Line: 5300) 0x0000000e Program: ndbmtd Pid: 30515 Trace: /var/lib/mysql-cluster/ndb_3_trace.log.1 /var/lib/mysqlcluster/ndb_3_trace.log.1_t1 /var/lib/mysql-cluster/ndb_3_

894

LogsdelCluster

Time: Tuesday 24 November 2009 - 12:01:59 Status: Temporary error, restart node Message: Node lost connection to other nodes and can not form a unpartitioned cluster, please investigate if there are error(s) on other node(s) (Arbitration error) Error: 2305 Error data: Arbitrator decided to shutdown this node Error object: QMGR (Line: 5300) 0x0000000a Program: /usr/sbin/ndbmtd Pid: 10348 Trace: /var/lib/mysql-cluster/ndb_3_trace.log.2 /var/lib/mysqlcluster/ndb_3_trace.log.2_t1 /var/lib/mysql-c

Como vemos nos deja una traza en los siguientes ficheros: /var/lib/mysql cluster/ndb_3_trace.log.2,/var/lib/mysqlcluster/ndb_3_trace.log.2_t1,... Podemosverunfragmentodeunodeestosficherosyversuaspecto:
--------------- Signal ---------------r.bn: 252 "QMGR", r.proc: 3, r.sigId: -411879481 gsn: 164 "CONTINUEB" prio: 0 s.bn: 252 "QMGR", s.proc: 3, s.sigId: -411879485 length: 3 trace: 0 #sec: 0 fragInf: 0 H'00000005 H'00000002 H'00000007 --------------- Signal ---------------r.bn: 253 "NDBFS", r.proc: 3, r.sigId: -411879482 gsn: 164 "CONTINUEB" prio: 0 s.bn: 253 "NDBFS", s.proc: 3, s.sigId: -411879492 length: 1 trace: 0 #sec: 0 fragInf: 0 Scanning the memory channel every 10ms

Es relativamente fcil monitorizar estos logs con el propio Pandora haciendo bsquedas de las palabrasWARNINGyCRITICAL.

47.6.Procedimientosgenerales
Se presentan incialmente los procedimientos individuales de gesti n de cada tipo de nodo, y finalmenteelprocedimientodeinicioyparadadelcluster.

47.6.1.GestindelprocesoManagerdelcluster
Comoroot: Paraarrancarelmanagerdelcluster:
/etc/init.d/cluster_mgmt start

Paraverificarqueestcorriendo:
/etc/init.d/cluster_mgmt status

ParapararelprocesodelManager:
/etc/init.d/cluster_mgmt stop

895

Procedimientosgenerales

47.6.2.GestindelosNodosdesdeelManager
EntramosenlashelldelManagerdelclustercon:
ndb_mgm

Paramoselnodoquequeramoscon:
2 stop

Siendoel2elIDdelnodoaparar Parainiciarunnodousaremoslaorden:
2 start

47.6.3.GestindelosNodosdedatosconlosscriptsdearranque
Comoroot: Paraarrancarunnododedatos /etc/init.d/cluster_nodestart Parapararunnododedatos: /etc/init.d/cluster_nodestop Parainicializarunnododedatos:

Esta operacin borra los datos del nodo del cluster y recrea los redologs y puede requerir una recuperacin desde backup

/etc/init.d/ndbmtdinitial

47.6.4.GestindelosnodosSQLconscriptsdearranque
LosnodosSQLsegestionandelamismamaneraqueunservidorMySQLquenoest encluster, medianteelscriptdeinicio/etc/init.d/mysql ParaarrancartantosnodosSQLcomoindiqueelfichero/etc/my.cnf
/etc/init.d/mysql start

ParaparartantosnodosSQLcomoindiqueelfichero/etc/my.cnf
/etc/init.d/mysql stop

Lanzamiento de un Nodo manualmente si se cae. Si un nodo se cae deberemos arrancarlo manualmentedesdelalineadecomandossiguiendolasiguientesecuencia:


896

Procedimientosgenerales

PrimerohayqueasegurarsequenohayningunainstanciadelNodocorriendo:
ps -fea | grep -v grep | grep ndbmtd

Obien:
/etc/init.d/cluster_node status

Sielcomandomuestraalgnprocesondbmtdcorriendo,deberamosmirarloslogsparaverporque aunconelprocesocorriendosehaconsiderdadocaido. Parainiciarelnodousaremos:


/etc/init.d/cluster_node start

47.6.5.Creacindebackupsdesdelalineadecomandos
Esteeselmtododecreacindeunbackupdesdelalineadecomandosdeformamanual:
ndb_mgm -e "START BACKUP

Losbackupssequedanen:
/var/lib/mysql-cluster/BACKUP

ElscriptdebackupdiarioestenelApendice1

47.6.6.Restauradodebackupsdesdelalineadecomandos
UnavezdentrodelNododelquesequiererestaurarelbackup:
ndb_restore -b X -n Y -m -r /var/lib/mysql-cluster/BACKUP/BACKUP-X

LaXdebesersubstituidaporelnmerodelbackupquesedeseacambiarylaYporeln mero delNodoenelqueseest.

47.6.7.Procedimientodeparadatotaldelcluster
Antes de parar el cluster se debera hacer un backup del mismo, siguiendo el procedimiento anteriormenteindicadooutlizandoelscriptdebackupproporcioandoenelApendice1. Unavezsehacompletadoelbackup,tambinesrecomendablepararlosservidoresdePandora FMSantesdepararelcluster. Contodoslospreparativosnecesariosrealizados,elclusterseparardesdeelmanagerconlaorden SHUTDOWN.Desdelaconsola:
ndb_mgm

897

Procedimientosgenerales

ndbm_mgm> SHUTDOWN

Obiendesdelalineadecomandos
ndb_mgm -e SHUTDOWN

Estoparar losnodosdegestinydedatosdelcluster,ylosnodosSQL(oAPI)separanpor separadotalycomosehaindicadoanteriormente.

47.6.8.Procedimientodearranquedelcluster
Elarranquedelclustercompletoesunaoperacinquedeberasersupervisadaydurantelacualse deberevisarellogprincipaldelclusterycomprobarquetodohafuncionadocorrectamente. Estandotodoslosnodosparados,sedebearrancarenprimerlugarelmanagerprincipal(elde pandoradbhis),indicndoleelficherodeconfiguracindelcluster. Utilizandoelscriptdearranque.
/etc/init.d/cluster_mgmt start

Obiendesdelalineadecomandos.
/usr/sbin/ndb_mgmd config-file=/var/lib/mysql-cluster/config.ini --configdir=/var/lib/mysql-cluster

Acontinuacinsearrancaelmanagersecundariodelcluster(eldepandora2)dndolelacadenade conexinalmanagerpricipalysuiddenodo. Utilizandoelscritpdearranque.


/etc/init.d/cluster_mgmt start

Obiendesdelalineadecomandos
/usr/sbin/ndb_mgmd -c pandoradbhis -ndb-nodeid=2 configdir=/var/lib/mysql-cluster

Enestepuntosepuedeconectaracualquieradelosdosmanagersymostrarelestadoconun SHOW,peroesimportanteindicarqueaestasalturasdelarranquelosnodosmanagernoseven entresiyaquesecomunicanatravsdelosnodosdedatos,yportantocadaunomostrar una salidadiferenteenlaqueelniconodoconectadodelclustereselpropionodomanager. Unavezarrancadoslos2nodosmanagerseprocedeaarancarlos2nodosdedatos(tantoen pandoradb1comoenpandoradb2)talycomosehaindicadoanteriormente,porejemploconel scriptdearranque:


/etc/init.d/cluster_node start

Elprocesodearranquedelosnodosdedatoseslentoyconstadevariasfasesquesepuedenseguir
898

Procedimientosgenerales

enellogdelcluster. Mientras tanto se arrancan los nodos SQL o API (tanto en pandoradb1 como en pandoradb2) tambintalycomoseinidicanteriormente.
/etc/init.d/mysql start

Una vez dadas todas las rdenes de arranque hay que comprobar en el log del cluster que el arranque se completa sin ningn error. Al final se puede ver que todos los servidores est n conectadosdesdeelmanagerconelcomandoSHOW.
ndb_mgm -e SHOW

Yviendoquetodoslosnodosarrancadosestnconectados.

47.7.Apndice.Ejemplosdeficherosdeconfiguracin
47.7.1./etc/mysql/ndb_mgmd.cnf
FicherodelgestordelCluster.Elgestorsecundarioobtienelaconfiguraci ndelprimario(quetiene queestaractivocuandoelsecundariosearranca),peroesteficherodebeestarenambosnodos.
# # # # # # # # MySQL Cluster Configuration file By Pablo de la Concepcion Sanz <pablo.concepcion@artica.es> This file must be present on ALL the management nodes in the directory /var/lib/mysql-cluster/ For some of the parameters there is an explanation of the possible values that the parameter can take following this format: ParameterName (MinValue, MaxValue) [DefaultValue]

########################################################## # MANAGEMENT NODES # # This nodes are the ones running the management console # ########################################################## # More info at: # http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster-ndbd-definition.html # Common configuration for all management nodes: [ndb_mgmd default] # This parameter is used to define which nodes can act as arbitrators. # Only management nodes and SQL nodes can be arbitrators. # ArbitrationRank can take one of the following values: # * 0: The node will never be used as an arbitrator. # * 1: The node has high priority; that is, it will be preferred # as an arbitrator over low-priority nodes. # * 2: Indicates a low-priority node which be used as an arbitrator # only if a node with a higher priority is not available # for that purpose. # # Normally, the management server should be configured as an # arbitrator by setting its ArbitrationRank to 1 (the default for # management nodes) and those for all SQL nodes to 0 (the default # for SQL nodes). ArbitrationRank=1 # Directory for management node log files

899

Apndice.Ejemplosdeficherosdeconfiguracin

datadir=/var/lib/mysql-cluster # # # # # # # # Using 2 management servers helps guarantee that there is always an arbitrator in the event of network partitioning, and so is recommended for high availability. Each management server must be identified by a HostName. You may for the sake of convenience specify a node ID for any management server, although one will be allocated for it automatically; if you do so, it must be in the range 1-255 inclusive and must be unique among all IDs specified for cluster nodes.

[ndb_mgmd] id=1 # Hostname or IP address of management node hostname=10.1.1.230 [ndb_mgmd] id=2 # Hostname or IP address of management node hostname=10.1.1.220 ################# # STORAGE NODES # ################# # More info at: # http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster-ndbd-definition.html # Options affecting ndbd processes on all data nodes: [ndbd default] # # # # # # # Redundancy (number of replicas): Using 2 replicas is recommended to guarantee availability of data; using only 1 replica does not provide any redundancy, which means that the failure of a single data node causes the entire cluster to shut down. We do not recommend using more than 2 replicas, since 2 is sufficient to provide high availability, and we do not currently test with greater values for this parameter.

NoOfReplicas=2 # Directory for storage node trace files, log files, pid files and error logs. datadir=/var/lib/mysql-cluster

### Data Memory, Index Memory, and String Memory ### # This parameter defines the amount of space (in bytes) available for storing # database records. The entire amount specified by this value is allocated in # memory, so it is extremely important that the machine has sufficient # physical memory to accommodate it. # DataMemory (memory for records and ordered indexes) (recomended 70% of RAM) # DataMemory antes 22938MB (recomended 70% of RAM) DataMemory=4096MB # IndexMemory (memory for Primary key hash index and unique hash index) # Usually between 1/6 or 1/8 of the DataMemory is enough, but depends on the # number of unique hash indexes (UNIQUE in table def) # Also can be calculated as 15% of RAM # IndexMemory antes 4915MB IndexMemory= 512MB

900

Apndice.Ejemplosdeficherosdeconfiguracin

# This parameter determines how much memory is allocated for strings # such as table names # * A value between 0 and 100 inclusive is interpreted as a percent of the # maximum default value (wich depends on a number of factors) # * A value greater than 100 is interpreted as a number of bytes. StringMemory=25 ### Transaction Parameters ### # MaxNoOfConcurrentTransactions (32,4G) [4096] # Sets the number of parallel transactions possible in a node # # This parameter must be set to the same value for all cluster data nodes. # This is due to the fact that, when a data node fails, the oldest surviving # node re-creates the transaction state of all transactions that were ongoing # in the failed node. # # Changing the value of MaxNoOfConcurrentTransactions requires a complete # shutdown and restart of the cluster. # MaxNoOfConcurrentTransactions antes 4096 MaxNoOfConcurrentTransactions=8192 # MaxNoOfConcurrentOperations (32,4G) [32k] # Sets the number of records that can be in update phase or locked # simultaneously. MaxNoOfConcurrentOperations=10000000 # MaxNoOfLocalOperations (32,4G) # Recomentded to set (110% of MaxNoOfConcurrentOperations) MaxNoOfLocalOperations=11000000 ### Transaction Temporary Storage ### # MaxNoOfConcurrentIndexOperations (0,4G) [8k] # For queries using a unique hash index, another temporary set of operation # records is used during a query's execution phase. This parameter sets the # size of that pool of records. Thus, this record is allocated only while # executing a part of a query. As soon as this part has been executed, the # record is released. The state needed to handle aborts and commits is handled # by the normal operation records, where the pool size is set by the parameter # MaxNoOfConcurrentOperations. # # The default value of this parameter is 8192. Only in rare cases of extremely # high parallelism using unique hash indexes should it be necessary to increase # this value. Using a smaller value is possible and can save memory if the DBA # is certain that a high degree of parallelism is not required for the cluster. MaxNoOfConcurrentIndexOperations=8192 # MaxNoOfFiredTriggers (0,4G) [4000] # The default value is sufficient for most situations. In some cases it can # even be decreased if the DBA feels certain the need for parallelism in the # cluster is not high. MaxNoOfFiredTriggers=4000 # TransactionBufferMemory (1k,4G) [1M] # The memory affected by this parameter is used for tracking operations # when updating index tables and reading unique indexes. This memory is # store the key and column information for these operations. It is only # rarely that the value for this parameter needs to be altered from the TransactionBufferMemory=1M ### Scans and Buffering ### # MaxNoOfConcurrentScans (2,500) [256] # This parameter is used to control the number of parallel scans that can be # performed in the cluster. Each transaction coordinator can handle the number fired used to very default.

901

Apndice.Ejemplosdeficherosdeconfiguracin

# of parallel scans defined for this parameter. Each scan query is performed # by scanning all partitions in parallel. Each partition scan uses a scan # record in the node where the partition is located, the number of records # being the value of this parameter times the number of nodes. The cluster # should be able to sustain MaxNoOfConcurrentScans scans concurrently from all # nodes in the cluster. MaxNoOfConcurrentScans=400 # MaxNoOfLocalScans (32,4G) # Specifies the number of local scan records if many scans are not fully # parallelized. If the number of local scan records is not provided, it is # calculated as the product of MaxNoOfConcurrentScans and the number of data # nodes in the system. The minimum value is 32. # MaxNoOfLocalScans antes 32 MaxNoOfLocalScans=6400 # BatchSizePerLocalScan (1,992) [64] # This parameter is used to calculate the number of lock records used to # handle concurrent scan operations. # # The default value is 64; this value has a strong connection to the # ScanBatchSize defined in the SQL nodes. BatchSizePerLocalScan=512 # LongMessageBuffer (512k,4G) (4M) # This is an internal buffer used for passing messages within individual nodes # and between nodes. Although it is highly unlikely that this would need to be # changed, it is configurable. In MySQL Cluster NDB 6.4.3 and earlier, the # default is 1MB; beginning with MySQL Cluster NDB 7.0.4, it is 4MB. # LongMessageBuffer antes 32M LongMessageBuffer=4M ### Logging and Checkpointing ### # Redolog # Set NoOfFragmentLogFiles to 6xDataMemory [in MB]/(4 *FragmentLogFileSize [in MB] # The "6xDataMemory" is a good heuristic and is STRONGLY recommended. # NoOfFragmentLogFiles=135 NoOfFragmentLogFiles=300 # FragmentLogFileSize (3,4G) [16M] # Size of each redo log fragment, 4 redo log fragment makes up on fragment log # file. A bigger Fragment log file size thatn the default 16M works better with # high write load and is strongly recommended!! # FragmentLogFileSize=256M FragmentLogFileSize=16M # # # # # # # # # By default, fragment log files are created sparsely when performing an initial start of a data node that is, depending on the operating system and file system in use, not all bytes are necessarily written to disk. Beginning with MySQL Cluster NDB 6.3.19, it is possible to override this behavior and force all bytes to be written regardless of the platform and file system type being used by mean of this parameter. InitFragmentLogFiles takes one of two values: * SPARSE. Fragment log files are created sparsely. This is the default value * FULL. Force all bytes of the fragment log file to be written to disk.

# InitFragmentLogFiles (SPARSE,FULL) [SPARSE] InitFragmentLogFiles=FULL

902

Apndice.Ejemplosdeficherosdeconfiguracin

# This parameter sets a ceiling on how many internal threads to allocate for # open files. Any situation requiring a change in this parameter should be # reported as a bug. MaxNoOfOpenFiles=80 # This parameter sets the initial number of internal threads to allocate for # open files. InitialNoOfOpenFiles=37 # MaxNoOfSavedMessages [25] # This parameter sets the maximum number of trace files that are kept before # overwriting old ones. Trace files are generated when, for whatever reason, # the node crashes. MaxNoOfSavedMessages=25

### Metadata Objects ### # MaxNoOfAttributes (32, 4294967039) [1000] # Defines the number of attributes that can be defined in the cluster. #MaxNoOfAttributes antes 25000 MaxNoOfAttributes=4096 # MaxNoOfTables (8, 4G) [128] # A table object is allocated for each table and for each unique hash # index in the cluster. This parameter sets the maximum number of table # objects for the cluster as a whole. MaxNoOfTables=8192 # MaxNoOfOrderedIndexes (0, 4G) [128] # Sets the total number of hash indexes that can be in use in the system # at any one time #MaxNoOfOrderedIndexes antes 27000 MaxNoOfOrderedIndexes=2048 #MaxNoOfUniqueHashIndexes: Default value 64 Each Index 15 KB per node #MaxNoOfUniqueHashIndexes antes 2500 MaxNoOfUniqueHashIndexes=1024 # MaxNoOfTriggers (0, 4G) [768] # This parameter sets the maximum number of trigger objects in the cluster. #MaxNoOfTriggers antes 770 MaxNoOfTriggers=4096 ### Boolean Parameters ### # Most of this parameters can be set to true (1 or Y) or false (0 or N) # LockPagesInMainMemory (0,2) [0] # On Linux and Solaris systems, setting this parameter locks data node # processes into memory. Doing so prevents them from swapping to disk, # which can severely degrade cluster performance. # Possible values: # * 0: Disables locking. This is the default value. # * 1: Performs the lock after allocating memory for the process. # * 2: Performs the lock before memory for the process is allocated. LockPagesInMainMemory=1 # This parameter specifies whether an ndbd process should exit or perform # an automatic restart when an error condition is encountered. StopOnError=1 # This feature causes the entire cluster to operate in diskless mode. # When this feature is enabled, Cluster online backup is disabled. In # addition, a partial start of the cluster is not possible. Diskless=0 # Enabling this parameter causes NDBCLUSTER to try using O_DIRECT # writes for local checkpoints and redo logs; this can reduce load on # CPUs. We recommend doing so when using MySQL Cluster NDB 6.2.3 or

903

Apndice.Ejemplosdeficherosdeconfiguracin

# newer on systems running Linux kernel 2.6 or later. ODirect=1 # Setting this parameter to 1 causes backup files to be compressed. The # compression used is equivalent to gzip --fast, and can save 50% or more # of the space required on the data node to store uncompressed backup files CompressedBackup=1 # Setting this parameter to 1 causes local checkpoint files to be compressed. # The compression used is equivalent to gzip --fast, and can save 50% or # more of the space required on the data node to store uncompressed # checkpoint files CompressedLCP=1 ### Controlling Timeouts, Intervals, and Disk Paging ### # # # # # Most of the timeout values are specified in milliseconds. Any exceptions to this are mentioned where applicable. TimeBetweenWatchDogCheck (70,4G) [6000] To prevent the main thread from getting stuck in an endless loop at some point, a watchdog # the number of milliseconds between checks. If the process remains in the # same state after three checks, the watchdog thread terminates it. TimeBetweenWatchDogCheck=40000 # TimeBetweenWatchDogCheckInitial (70,4G) [6000] # This is similar to the TimeBetweenWatchDogCheck parameter, except that # TimeBetweenWatchDogCheckInitial controls the amount of time that passes # between execution checks inside a database node in the early start phases # during which memory is allocated. TimeBetweenWatchDogCheckInitial=60000 # StartPartialTimeout (0,4G) [30000] # This parameter specifies how long the Cluster waits for all data nodes to # come up before the cluster initialization routine is invoked. This timeout # is used to avoid a partial Cluster startup whenever possible. # # This parameter is overridden when performing an initial start or initial # restart of the cluster. # # The default value is 30000 milliseconds (30 seconds). 0 disables the timeout, # in which case the cluster may start only if all nodes are available. StartPartialTimeout=30000 # StartPartitionedTimeout (0, 4G) [60000] # If the cluster is ready to start after waiting for StartPartialTimeout # milliseconds but is still possibly in a partitioned state, the cluster waits # until this timeout has also passed. If StartPartitionedTimeout is set to 0, # the cluster waits indefinitely. # # This parameter is overridden when performing an initial start or initial # restart of the cluster. StartPartitionedTimeout=60000 # StartFailureTimeout (0, 4G) [0] # If a data node has not completed its startup sequence within the time # specified by this parameter, the node startup fails. Setting this # parameter to 0 (the default value) means that no data node timeout # is applied. StartFailureTimeout=1000000 # HeartbeatIntervalDbDb (10,4G)[1500] # One of the primary methods of discovering failed nodes is by the use of # heartbeats. This parameter states how often heartbeat signals are sent # and how often to expect to receive them. After missing three heartbeat # intervals in a row, the node is declared dead. Thus, the maximum time # for discovering a failure through the heartbeat mechanism is four times # the heartbeat interval. # This parameter must not be changed drastically HeartbeatIntervalDbDb=2000 # HeartbeatIntervalDbApi (100,4G)[1500]

904

Apndice.Ejemplosdeficherosdeconfiguracin

# Each data node sends heartbeat signals to each MySQL server (SQL node) # to ensure that it remains in contact. If a MySQL server fails to send # a heartbeat in time it is declared dead, # transactions are completed and all resources released. The SQL node # cannot reconnect until all activities initiated by the previous MySQL # instance have been completed. The three-heartbeat criteria for this # determination are the same as described for HeartbeatIntervalDbDb. HeartbeatIntervalDbApi=3000 # TimeBetweenLocalCheckpoints (0,31)[20] Base-2 Logarithm # This parameter is an exception in that it does not specify a time to # wait before starting a new local checkpoint; rather, it is used to # ensure that local checkpoints are not performed in a cluster where # relatively few updates are taking place. In most clusters with high # update rates, it is likely that a new local checkpoint is started # immediately after the previous one has been completed. # # The size of all write operations executed since the start of the # previous local checkpoints is added. This parameter is also exceptional # in that it is specified as the base-2 logarithm of the number of 4-byte # words, so that the default value 20 means 4MB (4 220) of write # operations, 21 would mean 8MB, and so on up to a maximum value of 31, # which equates to 8GB of write operations. # All the write operations in the cluster are added together. TimeBetweenLocalCheckpoints=20 # TimeBetweenGlobalCheckpoints (10,32000)[2000] # When a transaction is committed, it is committed in main memory in all # nodes on which the data is mirrored. However, transaction log records # are not flushed to disk as part of the commit. The reasoning behind this # behavior is that having the transaction safely committed on at least two # autonomous host machines should meet reasonable standards for durability. # # It is also important to ensure that even the worst of cases a complete # crash of the cluster is handled properly. To guarantee that this happens, # all transactions taking place within a given interval are put into a global # checkpoint, which can be thought of as a set of committed transactions that # has been flushed to disk. In other words, as part of the commit process, a # transaction is placed in a global checkpoint group. Later, this group's log # records are flushed to disk, and then the entire group of transactions is # safely committed to disk on all computers in the cluster. TimeBetweenGlobalCheckpoints=2000 # TimeBetweenEpochs (0,32000)[100] # This parameter defines the interval between synchronisation epochs for MySQL # Cluster Replication. TimeBetweenEpochs=100 # TransactionInactiveTimeout (0,32000)[4000] # This parameter defines a timeout for synchronisation epochs for MySQL Cluster # Replication. If a node fails to participate in a global checkpoint within # the time determined by this parameter, the node is shut down. TransactionInactiveTimeout=30000 # TransactionDeadlockDetectionTimeout (50,4G)[1200] # When a node executes a query involving a transaction, the node waits for # the other nodes in the cluster to respond before continuing. A failure to # respond can occur for any of the following reasons: # * The node is dead # * The node requested to perform the action could be heavily overloaded. # This timeout parameter states how long the transaction coordinator waits # for query execution by another node before aborting the transaction, and # is important for both node failure handling and deadlock detection. TransactionDeadlockDetectionTimeout=1200 # DiskSyncSize (32k,4G)[4M] # This is the maximum number of bytes to store before flushing data to a # local checkpoint file. This is done in order to prevent write buffering,

905

Apndice.Ejemplosdeficherosdeconfiguracin

# which can impede performance significantly. This parameter is NOT # intended to take the place of TimeBetweenLocalCheckpoints. DiskSyncSize=4M # DiskCheckpointSpeed (1M,4G)[10M] # The amount of data,in bytes per second, that is sent to disk during a # local checkpoint. DiskCheckpointSpeed=10M # DiskCheckpointSpeedInRestart (1M,4G)[100M] # The amount of data,in bytes per second, that is sent to disk during a # local checkpoint as part of a restart operation. DiskCheckpointSpeedInRestart=100M # ArbitrationTimeout (10,4G)[1000] # This parameter specifies how long data nodes wait for a response from # the arbitrator to an arbitration message. If this is exceeded, the # network is assumed to have split. ArbitrationTimeout=10 ### Buffering and Logging ### # # # # # # UndoIndexBuffer (1M,4G)[2M] The UNDO index buffer, is used during local checkpoints. The NDB storage engine uses a recovery scheme based on checkpoint consistency in conjunction with an operational REDO log. To produce a consistent checkpoint without blocking the entire system for writes, UNDO logging is done while performing the local checkpoint.

# This buffer is 2MB by default. The minimum value is 1MB, which is # sufficient for most applications. For applications doing extremely # large or numerous inserts and deletes together with large # transactions and large primary keys, it may be necessary to # increase the size of this buffer. If this buffer is too small, # the NDB storage engine issues internal error code 677 (Index UNDO # buffers overloaded). # IMPORTANT: It is not safe to decrease the value of this parameter # during a rolling restart. UndoIndexBuffer=2M # UndoDataBuffer (1M,4G)[16M] # This parameter sets the size of the UNDO data buffer, which performs # a function similar to that of the UNDO index buffer, except the UNDO # data buffer is used with regard to data memory rather than index memory # If this buffer is too small and gets congested, the NDB storage # engine issues internal error code 891 (Data UNDO buffers overloaded). # IMPORTANT: It is not safe to decrease the value of this parameter # during a rolling restart. UndoDataBuffer=16M # RedoBuffer (1M,4G)[32M] # All update activities also need to be logged. The REDO log makes it # possible to replay these updates whenever the system is restarted. # The NDB recovery algorithm uses a fuzzy # together with the UNDO log, and then applies the REDO log to play # back all changes up to the restoration point. # If this buffer is too small, the NDB storage engine issues error # code 1221 (REDO log buffers overloaded). # IMPORTANT: It is not safe to decrease the value of this parameter # during a rolling restart. RedoBuffer=32M # ## Logging ## # # In managing the cluster, it is very important to be able to control # the number of log messages sent for various event types to stdout.

906

Apndice.Ejemplosdeficherosdeconfiguracin

# For each event category, there are 16 possible event levels (numbered # 0 through 15). Setting event reporting for a given event category to # level 15 means all event reports in that category are sent to stdout; # setting it to 0 means that there will be no event reports made in # that category. # More info at: # http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster-log-events.html # # LogLevelStartup (0,15)[1] # The reporting level for events generated during startup of the process. LogLevelStartup=15 # LogLevelShutdown (0,15)[0] # The reporting level for events generated as part of graceful shutdown # of a node. LogLevelShutdown=15 # LogLevelStatistic (0,15)[0] # The reporting level for statistical events such as number of primary # key reads, number of updates, number of inserts, information relating # to buffer usage, and so on. LogLevelStatistic=15 # LogLevelCheckpoint (0,15)[0] # The reporting level for events generated by local and global checkpoints. LogLevelCheckpoint=8 # LogLevelNodeRestart (0,15)[0] # The reporting level for events generated during node restart. LogLevelNodeRestart=15 # LogLevelConnection (0,15)[0] # The reporting level for events generated by connections between cluster # nodes. LogLevelConnection=0 # LogLevelError (0,15)[0] # The reporting level for events generated by errors and warnings by the # cluster as a whole. These errors do not cause any node failure but are # still considered worth reporting. LogLevelError=15 # LogLevelCongestion (0,15)[0] # The reporting level for events generated by congestion. These errors do # not cause node failure but are still considered worth reporting. LogLevelCongestion=0 # LogLevelInfo (0,15)[0] # The reporting level for events generated for information about the general # state of the cluster. LogLevelInfo=3 # MemReportFrequency (0,4G)[0] # This parameter controls how often data node memory usage reports are recorded # in the cluster log; it is an integer value representing the number of seconds # between reports. # Each data node's data memory and index memory usage is logged as both a # percentage and a number of 32 KB pages of the DataMemory and IndexMemory. # The minimum value in which case memory reports are logged only when memory # usage reaches certain percentages (80%, 90%, and 100%) MemReportFrequency=900 # When a data node is started with the --initial, it initializes the redo log # file during Start Phase 4. When very large values are set for # NoOfFragmentLogFiles, FragmentLogFileSize, or both, this initialization can # take a long time. StartupStatusReportFrequency configuration parameter # make reports on the progress of this process to be logged periodically. StartupStatusReportFrequency=30

907

Apndice.Ejemplosdeficherosdeconfiguracin

### Backup Parameters ### # This section define memory buffers set aside for execution of # online backups. # IMPORTANT: When specifying these parameters, the following relationships # must hold true. Otherwise, the data node will be unable to start: # * BackupDataBufferSize >= BackupWriteSize + 188KB # * BackupLogBufferSize >= BackupWriteSize + 16KB # * BackupMaxWriteSize >= BackupWriteSize # # BackupReportFrequency (0,4G)[0] # This parameter controls how often backup status reports are issued in # the management client during a backup, as well as how often such reports # are written to the cluster log. BackupReportFrequency represents the time # in seconds between backup status reports. BackupReportFrequency=10 # BackupDataBufferSize (0,4G)[16M] # In creating a backup, there are two buffers used for sending data to the # disk. The backup data buffer is used to fill in data recorded by scanning # a node's tables. Once this buffer has been filled to the level specified # as BackupWriteSize (see below), the pages are sent to disk. While # flushing data to disk, the backup process can continue filling this # buffer until it runs out of space. When this happens, the backup process # pauses the scan and waits until some disk writes have completed freed up # memory so that scanning may continue. BackupDataBufferSize=16M # # # # # # # # # # # # # BackupLogBufferSize (0,4G)[16M] The backup log buffer fulfills a role similar to that played by the backup data buffer, except that it is used for generating a log of all table writes made during execution of the backup. The same principles apply for writing these pages as with the backup data buffer, except that when there is no more space in the backup log buffer, the backup fails. The default value for this parameter should be sufficient for most applications. In fact, it is more likely for a backup failure to be caused by insufficient disk write speed than it is for the backup log buffer to become full. It is preferable to configure cluster nodes in such a manner that the processor becomes the bottleneck rather than the disks or the network connections.

BackupLogBufferSize=16M # BackupMemory (0,4G)[32] # This parameter is simply the sum of BackupDataBufferSize and # BackupLogBufferSize. BackupMemory=64M # BackupWriteSize (2k,4G)[256k] # This parameter specifies the default size of messages written to disk # by the backup log and backup data buffers. BackupWriteSize=256K # BackupMaxWriteSize (2k,4G)[1M] # This parameter specifies the maximum size of messages written to disk # by the backup log and backup data buffers. BackupMaxWriteSize=1M # This parameter specifies the directory in which backups are placed # (The backups are stored in a subdirectory called BACKUPS) BackupDataDir=/var/lib/mysql-cluster/ ### Realtime Performance Parameters ###

908

Apndice.Ejemplosdeficherosdeconfiguracin

# # # # # # #

This parameters are used in scheduling and locking of threads to specific CPUs on multiprocessor data node hosts. NOTE: To make use of these parameters, the data node process must be run as system root. Setting these parameters allows you to take advantage of real-time scheduling of NDBCLUSTER threads (introduced in MySQL Cluster NDB 6.3.4) to get higher throughput.

# On systems with multiple CPUs, these parameters can be used to lock # NDBCLUSTER # threads to specific CPUs # LockExecuteThreadToCPU (0,64k) # When used with ndbd, this parameter (now a string) specifies the ID of the # CPU assigned to handle the NDBCLUSTER execution thread. When used with # ndbmtd, the value of this parameter is a comma-separated list of CPU IDs # assigned to handle execution threads. Each CPU ID in the list should be # an integer in the range 0 to 65535 (inclusive) # The number of IDs specified should match the number of execution threads # determined by MaxNoOfExecutionThreads LockExecuteThreadToCPU=0,1,2,3,4,5,6,7 # RealTimeScheduler (0,1)[0] # Setting this parameter to 1 enables real-time scheduling of NDBCLUSTER # threads RealTimeScheduler=1 # SchedulerExecutionTimer (0,110000)[50] # This parameter specifies the time in microseconds for threads to be # executed in the scheduler before being sent. Setting it to 0 minimizes # the response time; to achieve higher throughput, you can increase the # value at the expense of longer response times. # The default is 50 sec, which our testing shows to increase throughput # slightly in high-load cases without materially delaying requests. SchedulerExecutionTimer=100 # SchedulerSpinTimer (0,500)[0] # This parameter specifies the time in microseconds for threads to be executed # in the scheduler before sleeping. SchedulerSpinTimer=400 #Threads # MaxNoOfExecutionThreads (2,8) # For 8 or more cores the recomended value is 8 MaxNoOfExecutionThreads=8 # Options for data node "A": [ndbd] id=3 hostname=10.1.1.215 # Hostname or IP address # Options for data node "B": [ndbd] id=4 hostname=10.1.1.216 # Hostname or IP address ####################################### # SQL NODES (also known as API NODES) # ####################################### # Common SQL Nodes Parameters [mysqld default] # This parameter is used to define which nodes can act as arbitrators. # Only management nodes and SQL nodes can be arbitrators. # ArbitrationRank can take one of the following values: # * 0: The node will never be used as an arbitrator. # * 1: The node has high priority; that is, it will be preferred

909

Apndice.Ejemplosdeficherosdeconfiguracin

# # # # # # # # #

as an arbitrator over low-priority nodes. * 2: Indicates a low-priority node which be used as an arbitrator only if a node with a higher priority is not available for that purpose. Normally, the management server should be configured as an arbitrator by setting its ArbitrationRank to 1 (the default for management nodes) and those for all SQL nodes to 0 (the default for SQL nodes).

ArbitrationRank=2

# BatchByteSize (1024,1M) [32k] # For queries that are translated into full table scans or range scans on # indexes, it is important for best performance to fetch records in properly # sized batches. It is possible to set the proper size both in terms of number # of records (BatchSize) and in terms of bytes (BatchByteSize). The actual # batch size is limited by both parameters. # The speed at which queries are performed can vary by more than 40% depending # upon how this parameter is set # This parameter is measured in bytes and by default is equal to 32KB. BatchByteSize=32k # BatchSize (1,992) [64] # This parameter is measured in number of records. BatchSize=512 # MaxScanBatchSize (32k,16M) [256k] # The batch size is the size of each batch sent from each data node. # Most scans are performed in parallel to protect the MySQL Server from # receiving too much data from many nodes in parallel; this parameter sets # a limit to the total batch size over all nodes. MaxScanBatchSize=8MB # SQL node options: [mysqld] id=11 # Hostname or IP address hostname=10.1.1.215 [mysqld] id=12 # Hostname or IP address hostname=10.1.1.216 # Extra SQL nodes (also used for backup & checks) [mysqld] id=13 [mysqld] id=14 [mysqld] id=15 [mysqld] id=16 [mysqld] id=17 [mysqld] id=18 ################## # TCP PARAMETERS # ##################

910

Apndice.Ejemplosdeficherosdeconfiguracin

[tcp default]

# Increasing the sizes of these 2 buffers beyond the default values # helps prevent bottlenecks due to slow disk I/O. SendBufferMemory=3M ReceiveBufferMemory=3M

47.7.2./etc/mysql/my.cf
FicherodeconfiguracindelosNodosSQL(quetbsonlosnodosNDB).
# MySQL SQL node config # ===================== # Written by Pablo de la Concepcion, pablo.concepcion@artica.es # # The following options will be passed to all MySQL clients [client] #password = your_password port = 3306 socket = /var/lib/mysql/mysql.sock # Here follows entries for some specific programs # The MySQL server [mysqld] port = 3306 socket = /var/lib/mysql/mysql.sock datadir = /var/lib/mysql skip-locking key_buffer_size = 4000M table_open_cache = 5100 sort_buffer_size = 64M net_buffer_length = 512K read_buffer_size = 128M read_rnd_buffer_size = 256M myisam_sort_buffer_size = 64M query_cache_size = 256M query_cache_limit = 92M #slow_query_log = /var/log/mysql/mysql-slow.log max_connections = 500 table_cache = 9060 # Thread parameters thread_cache_size = 1024 thread_concurrency = 64 thread_stack = 256k # Point the following paths to different dedicated disks #tmpdir = /tmp/ #log-update = /path-to-dedicated-directory/hostname # Uncomment the following if you are using InnoDB tables #innodb_data_home_dir = /var/lib/mysql/ #innodb_data_file_path = ibdata1:10M:autoextend #innodb_log_group_home_dir = /var/lib/mysql/

911

Apndice.Ejemplosdeficherosdeconfiguracin

# You can set .._buffer_pool_size up to 50 - 80 % # of RAM but beware of setting memory usage too high #innodb_buffer_pool_size = 16M #innodb_additional_mem_pool_size = 2M # Set .._log_file_size to 25 % of buffer pool size #innodb_log_file_size = 5M #innodb_log_buffer_size = 8M #innodb_flush_log_at_trx_commit = 1 #innodb_lock_wait_timeout = 50 # The safe_mysqld script [safe_mysqld] log-error = /var/log/mysql/mysqld.log socket = /var/lib/mysql/mysql.sock [mysqldump] socket = /var/lib/mysql/mysql.sock quick max_allowed_packet = 64M [mysql] no-auto-rehash # Remove the next comment character if you are not familiar with SQL #safe-updates [myisamchk] key_buffer_size = 10000M sort_buffer_size = 20M read_buffer = 10M write_buffer = 10M [mysqld_multi] mysqld = /usr/bin/mysqld_safe mysqladmin = /usr/bin/mysqladmin #log # user # password = /var/log/mysqld_multi.log = multi_admin = secret

# If you want to use mysqld_multi uncomment 1 or more mysqld sections # below or add your own ones. # # # # # # # WARNING -------If you uncomment mysqld1 than make absolutely sure, that database mysql, configured above, is not started. This may result in corrupted data! [mysqld1] port = 3306 datadir = /var/lib/mysql pid-file = /var/lib/mysql/mysqld.pid # socket = /var/lib/mysql/mysql.sock # user = mysql # Cluster configuration # by Pablo de la Concepcion <pablo.concepcion@artica.es> # Options for mysqld process: [mysqld] # Run NDB storage engine ndbcluster # Location of management servers

912

Apndice.Ejemplosdeficherosdeconfiguracin

ndb-connectstring="10.1.1.215:1186;10.1.1.216:1186" # Number of connections in the connection pool, the config.ini file of the # cluster have to define also [API] nodes at least for each connection. ndb-cluster-connection-pool=3 # Forces sending of buffers to NDB immediately, without waiting # for other threads. Defaults to ON. ndb-force-send=1 # Forces NDB to use a count of records during SELECT COUNT(*) query planning # to speed up this type of query. The default value is ON. For faster queries # overall, disable this feature by setting the value of ndb_use_exact_count # to OFF. ndb-use-exact-count=0 # # # # # # # # # # # This variable can be used to enable recording in the MySQL error log of information specific to the NDB storage engine. It is normally of interest only when debugging NDB storage engine code. The default value is 0, which means that the only NDB-specific information written to the MySQL error log relates to transaction handling. If the value is greater than 0 but less than 10, NDB table schema and connection events are also logged, as well as whether or not conflict resolution is in use, and other NDB errors and information. If the value is set to 10 or more, information about NDB internals, such as the progress of data distribution among cluster nodes, is also written to the MySQL error log.

ndb-extra-logging=00 # # # # # Determines the probability of gaps in an autoincremented column. Set it to 1 to minimize this. Setting it to a high value for optimization makes inserts faster, but decreases the likelihood that consecutive autoincrement numbers will be used in a batch of inserts. Default value: 32. Minimum value: 1.

ndb-autoincrement-prefetch-sz=256 engine-condition-pushdown=1 # Options for ndbd process: [mysql_cluster] # Location of management servers (list of host:port separated by ;) ndb-connectstring="10.1.1.230:1186;10.1.1.220:1186"

913

Apndice.Ejemplosdeficherosdeconfiguracin

47.7.3./etc/cron.daily/backup_cluster
Trantandose de un cluster el mysqldump no es fiable por que las escrituras son distribuidas y no se puede asegurar la coherencia. Aunque no est recomendado, y es preferible hacer un backup del cluster completo (ver siguiente apartado), se puede tratar de sacar un backup vlido si se limitan las escrituras en el cluster (parando los servidores de pandora) y en modo signle user (ver http://dev.mysql.com/doc/refman/5.1/en/mysqlcluster-single-user-mode.html )

Estescriptdebackuprealizaelbackupmedianteelsistemaseguro(comandoSTARTBACKUP) desdelaconsoladegestindelcluster.
#!/bin/bash LOG_TEMPORAL=/tmp/mysql_cluster_backup_script.log #Directorios de los Backups DIR_NODO3=/var/lib/mysql-cluster/BACKUPS/Nodo_03 DIR_NODO4=/var/lib/mysql-cluster/BACKUPS/Nodo_04 # Se lanza el backup y se espera a que se complete /usr/bin/ndb_mgm -e "START BACKUP WAIT COMPLETED" > $LOG_TEMPORAL echo "Procesando Log $LOG_TEMPORAL" NUM_BACKUP=`grep Backup $LOG_TEMPORAL | grep completed | awk '{print $4}'` echo "Procesando backup $NUM_BACKUP" # Se copian por scp los backups scp -i /root/.ssh/backup_key_rsa -r root@10.1.1.215:/var/lib/mysqlcluster/BACKUP/BACKUP-$NUM_BACKUP/ $DIR_NODO3 >>$LOG_TEMPORAL 2>> /var/lib/mysqlcluster/BACKUPS/logs/backup_$NUM_BACKUP.err scp -i /root/.ssh/backup_key_rsa -r root@10.1.1.216:/var/lib/mysqlcluster/BACKUP/BACKUP-$NUM_BACKUP/ $DIR_NODO4 >>$LOG_TEMPORAL 2>> /var/lib/mysqlcluster/BACKUPS/logs/backup_$NUM_BACKUP.err #Se almacena el log mv $LOG_TEMPORAL /var/lib/mysql-cluster/BACKUPS/logs/backup_$NUM_BACKUP.log Para programar este script diariamente debemos poner la siguiente linea en el fichero /etc/crontab (Esto har un backup diario a las 5 de la maana) 00 5 * * * root /tmp/backup_cluster

47.7.4./etc/init.d/cluster_mgmt
Este script es ligeramente diferente en la consola de gestion del cluster secundaria (diferentes parametros en DAEMON_PARAMETERS)

#!/bin/bash # Copyright (c) 2005-2009 Artica ST # # Author: Sancho Lerena <slerena@artica.es> 2006-2009

914

Apndice.Ejemplosdeficherosdeconfiguracin

# # /etc/init.d/cluster_mgmt # # System startup script for MYSQL Cluster Manager # ### BEGIN INIT INFO # Provides: cluster_mgmt # Required-Start: $syslog cron # Should-Start: $network cron # Required-Stop: $syslog # Should-Stop: $network # Default-Start: 2 3 5 # Default-Stop: 0 1 6 # Short-Description: MySQL Cluster Management console startup script # Description: See short description ### END INIT INFO export PROCESS_DAEMON=ndb_mgmd export PROCESS_PARAMETERS="--config-file=/var/lib/mysql-cluster/config.ini --configdir=/var/lib/mysql-cluster" # Uses a wait limit before sending a KILL signal, before trying to stop # Pandora FMS server nicely. Some big systems need some time before close # all pending tasks / threads. export MAXWAIT=300 # Check for SUSE status scripts if [ -f /etc/rc.status ] then . /etc/rc.status rc_reset else # Define rc functions for non-suse systems, "void" functions. function rc_status () (VOID=1;) function rc_exit () (exit;) function rc_failed () (VOID=1;) fi # This function replace pidof, not working in the same way in different linux distros function pidof_process () ( # This sets COLUMNS to XXX chars, because if command is run # in a "strech" term, ps aux don't report more than COLUMNS # characters and this will not work. COLUMNS=400 PROCESS_PID=`ps aux | grep "$PROCESS_DAEMON $PROCESS_PARAMETERS" | grep -v grep | tail -1 | awk '{ print $2 }'` echo $PROCESS_PID ) # Main script if [ `which $PROCESS_DAEMON | wc -l` == 0 ] then echo "Server not found, please check setup and read manual" rc_status -s rc_exit fi case "$1" in start) PROCESS_PID=`pidof_process`

915

Apndice.Ejemplosdeficherosdeconfiguracin

if [ ! -z "$PROCESS_PID" ] then echo "Server is currently running on this machine with PID ($PROCESS_PID). Aborting now..." rc_failed 1 rc_exit fi $PROCESS_DAEMON $PROCESS_PARAMETERS sleep 1 PANDORA_PID=`pidof_process` if [ ! -z "$PANDORA_PID" ] then echo "Server is now running with PID $PANDORA_PID" rc_status -v else echo "Cannot start Server. Aborted." rc_status -s fi ;; stop) PANDORA_PID=`pidof_process` if [ -z "$PANDORA_PID" ] then echo "Server is not running, cannot stop it." rc_failed else echo "Stopping Server" kill $PANDORA_PID COUNTER=0 while [ do $COUNTER -lt $MAXWAIT ] PANDORA_PID=`pidof_process` if [ -z "$PANDORA_PID" ] then COUNTER=$MAXWAIT fi COUNTER=`expr $COUNTER + 1` sleep 1 done # Send a KILL -9 signal to process, if it's alive after 60secs, we need # to be sure is really dead, and not pretending... if [ ! -z "$PANDORA_PID" ] then kill -9 $PANDORA_PID fi rc_status -v fi ;; status) PANDORA_PID=`pidof_process` if [ -z "$PANDORA_PID" ] then echo "Server is not running." rc_status else echo "Server is running with PID $PANDORA_PID." rc_status fi

916

Apndice.Ejemplosdeficherosdeconfiguracin

;; force-reload|restart) $0 stop $0 start ;; *) echo "Usage: server { start | stop | restart | status }" exit 1 esac rc_exit

47.7.5./etc/init.d/cluster_node
#!/bin/bash # Copyright (c) 2005-2009 Artica ST # # Author: Sancho Lerena <slerena@artica.es> 2006-2009 # # /etc/init.d/cluster_node # # System startup script for MYSQL Cluster Node storage # ### BEGIN INIT INFO # Provides: cluster_node # Required-Start: $syslog cron # Should-Start: $network cron # Required-Stop: $syslog # Should-Stop: $network # Default-Start: 2 3 5 # Default-Stop: 0 1 6 # Short-Description: MySQL Cluster Node startup script # Description: See short description ### END INIT INFO export PROCESS_DAEMON=ndb_ndb export PROCESS_PARAMETERS="-d" # Uses a wait limit before sending a KILL signal, before trying to stop # Pandora FMS server nicely. Some big systems need some time before close # all pending tasks / threads. export MAXWAIT=300 # Check for SUSE status scripts if [ -f /etc/rc.status ] then . /etc/rc.status rc_reset else # Define rc functions for non-suse systems, "void" functions. function rc_status () (VOID=1;) function rc_exit () (exit;) function rc_failed () (VOID=1;) fi # This function replace pidof, not working in the same way in different linux distros

917

Apndice.Ejemplosdeficherosdeconfiguracin

function pidof_process () ( # This sets COLUMNS to XXX chars, because if command is run # in a "strech" term, ps aux don't report more than COLUMNS # characters and this will not work. COLUMNS=400 PROCESS_PID=`ps aux | grep "$PROCESS_DAEMON $PROCESS_PARAMETERS" | grep -v grep | tail -1 | awk '{ print $2 }'` echo $PROCESS_PID ) # Main script if [ `which $PROCESS_DAEMON | wc -l` == 0 ] then echo "Server not found, please check setup and read manual" rc_status -s rc_exit fi case "$1" in start) PROCESS_PID=`pidof_process` if [ ! -z "$PROCESS_PID" ] then echo "Server is currently running on this machine with PID ($PROCESS_PID). Aborting now..." rc_failed 1 rc_exit fi $PROCESS_DAEMON $PROCESS_PARAMETERS sleep 1 PANDORA_PID=`pidof_process` if [ ! -z "$PANDORA_PID" ] then echo "Server is now running with PID $PANDORA_PID" rc_status -v else echo "Cannot start Server. Aborted." rc_status -s fi ;; stop) PANDORA_PID=`pidof_process` if [ -z "$PANDORA_PID" ] then echo "Server is not running, cannot stop it." rc_failed else echo "Stopping Server" kill $PANDORA_PID COUNTER=0 while [ do $COUNTER -lt $MAXWAIT ] PANDORA_PID=`pidof_process` if [ -z "$PANDORA_PID" ] then COUNTER=$MAXWAIT fi COUNTER=`expr $COUNTER + 1` sleep 1

918

Apndice.Ejemplosdeficherosdeconfiguracin

done # Send a KILL -9 signal to process, if it's alive after 60secs, we need # to be sure is really dead, and not pretending... if [ ! -z "$PANDORA_PID" ] then kill -9 $PANDORA_PID fi rc_status -v fi ;; status) PANDORA_PID=`pidof_process` if [ -z "$PANDORA_PID" ] then echo "Server is not running." rc_status else echo "Server is running with PID $PANDORA_PID." rc_status fi ;; force-reload|restart) $0 stop $0 start ;; *) echo "Usage: server { start | stop | restart | status }" exit 1 esac rc_exit

919

Apndice.Ejemplosdeficherosdeconfiguracin

48MODELODEREPLICACIONBINARIO MYSQLPARAHA

920

Introduccin

48.1.Introduccin
SeproponeestaconfiguracinparatenerunentornoHAcompletoenPandoraFMSqueestbasado enunmodeloactivo/pasivo.ElMySQLestandar(NoelclusterdeMySQL),permitetenerun nico MASTER(quepermitalasoperacionesINSERT/UPDATE)yvariosSLAVES,alosques lolesest permitidoleeroperaciones.Estoseutilizaendiversosentornosparatenerunmodelodebasesde datosdistribuido.EnPandoratodaslasoperacionesdeLectura/escriturasehacencontraelmismo servidordelaBD,as queestemodelonosepuedeutilizar.Decualquiermodo,lareplicaci nse utilizatambinparateneruna"copia"denuestrabasededatosprincipal,conloquesihayalg n fallo,sepueda"Levantar"elslaveparaqueseaelmasterdelabasededatosylause. EmpleamoslaaplicacinUCARPparaproporcionarelmecanismodeIP(VIP)virtualparatenerun tiemporealH/A.Elelmodelomssencillo,condosdemoniosUCARPcorriendo,sielmasterfalla, elsecundariocogerelVIPyprocederconlaoperacindemaneranormal.Unslavereanudarlas operacionesMySQLenelServidor/ConsoladePandoraFMS,yelusuariononotarnada. Despues del failover, necesitar reiniciar (manualmente, ya que se trata de un proceso muy delicado),elsistemaMaestroytransferirtodoslosdatosdesdeelSlavealMasterdenuevo.

48.2.ComparacinconotrosmodelosdeMySQLHA
ExistenmuchasmanerasdeimplementarMySQLHA,aquhemosexploradotresdeellas: MySQLCluster:muycomplejayconunapenalizacinderendimiento.Esel nicomodode tenerunentornodeclusterrealactivo/inactivo.Est descritoenprofundidadennuestra documentacin. MySQLBinaryReplica/ucarp:Sencillo,rpidoyestandar,peroconmultituddescriptsy complejopararecuperarelmasterenelsistema.Verdocumentacin. DRBD/heartbeat:Sencillo,rpidoybasadoendispositivosdesistemadebloques.Tambi n aparece descrito ennuestra documentacin. Es la manera oficialde implementar HAen PandoraFMS. Ennuestraopinin,lamejormaneradeimplementarelHAestenerlaconfiguraci nmssencilla posible,porquecuandoalgofalla,cualquiercomplejidadextrallevar alaconfusinyalaprdida de datossilosprocedimientosnoestnextremadamentetestadosyescritos.La mayora delas veces,losoperadoresslosiguenlosprocedimientosynopuedenreaccionarantelascosasque ocurrenfueradelosprocedimientos,yenelHApuedesermuydificiltenerlosprocedimientos exactosenlamayoriadeloscasos.

48.3.EntornoInicial
Esteesunvistazoanuestroescenariodepruebas 192.168.10.101(castor)>Master 192.168.10.102(pollux)>Slave 192.168.10.100virtualip 192.168.10.1pandora>mysqlapp

921

EntornoInicial

48.3.1.ConfigurandoelServidordeMysqlServer
48.3.1.1.Masternode(Castor)
Editemy.cnffile(sistemasdebian):
[mysqld] bind-address=0.0.0.0 log_bin=/var/log/mysql/mysql-bin.log server-id=1 innodb_flush_log_at_trx_commit=1 sync_binlog=1 binlog_do_db=pandora binlog_ignore_db=mysql

48.3.1.2.Slavenode(Pollux)
Editeelficheromy.cnf:
[mysqld] bind-address=0.0.0.0 server-id=2 innodb_flush_log_at_trx_commit=1 sync_binlog=1

48.3.1.3.CrearunUsuarioparaReplicacin
Cadaesclavodebeconectarseconelmasterutilizandounnombreycontrase aMySQL,as pues, debeexistirunacuentadeusuarioenelmasterqueelslavepuedautilizarparaconectarse.Se puedeutilizarcualquiercuentapararealizarestaoperaci n,entantoelprivilegiodeREPLICATION SLAVEseagarantizado.
mysql> CREATE USER 'replica'@'192.168.10.102' IDENTIFIED BY 'slayer72'; mysql> GRANT REPLICATION SLAVE ON *.* TO 'replica'@'192.168.10.102'; mysql> FLUSH PRIVILEGES;

48.3.1.4.InstalacindesuBDdepandora
Cree una nueva desde los ficheros de instalacin .sql o lanze la actual sobre el master node (Castor). Lgeseenelmasterserver:
mysql> mysql> mysql> mysql> create database pandora; use pandora; source /tmp/pandoradb.sql; source /tmp/pandoradb_data.sql;

48.3.1.5.ConfiguracindelaReplicacinconlosdatosexistentes.
AhoraqueremosreplicarelestadoinicialdelabasededatoscargadaenelMASTERnode(castor). Esteeselpuntode"arranque"parareplicartodalainformaci nalesclavo,yseasumequetienesu
922

EntornoInicial

basededatos"FROZEN"enelmomentoenquehacela"foto",despuesdehacerlafotosedanlas "coordenadas"yseescribeneneldumpdeSQL,silabasededatosmastercontinuaescribiendo datos,nosepreocupe,lareplicacincontinuar replicandotodoslosdatosdesdelascoordenadas iniciales.Pienseenellocomounarutalineal,y"freeze"unpuntoinicialparaelesclavoparaque empiezeareplicarlainformacin.Sigaestospasos: 1.Inicieunasesionenelmasterconectadosealconelclientedelalineadecomandosyhagasalir todaslastablasybloqueeloswritestatementsejecutandolosFLUSHTABLESWITHREADLOCK statement:


mysql> FLUSH TABLES WITH READ LOCK;

2.Lasbasesdedatosescritasestn ahorabloqueadas.Utilize elSHOW MASTERSTATUSpara determinarelnombreylaposicindelficherobinariologactual.


mysql > SHOW MASTER STATUS; +------------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+------------------+ | mysql-bin.000003 | 98 | pandora | mysql | +------------------+----------+--------------+------------------+

Lacolumna Filemuestra elnombre delficherolog yladePositionmuestra la posici nconel fichero.Enesteejemploelficherodellogbinarioesmysqlbin.000003ylaposici nes98.Los necesitarsdespuscuandoestsconfigurandoelslave.Representanlascoordenadasdereplicacin enlasqueelesclavodeberaempezaraprocesarlasnuevasactualizacionesdelmaster. 3.Abraunshellhagauncomandomysqldump:
$ mysqldump -u root -pnone pandora -B --master-data > /tmp/dbdump.sql

Estedumpes"especial"ycontienelascordenadasparaelservidoresclavo(masterdata),ytambi n crealabasededatosylautilizasobreeldumpdel.SQLcreado. 4.AbrasiservodorprimariodeMysql


mysql> unlock tables;

5.CopieelficheroSQLalservidorSLAVE(ftp.ssh...) 6.Conectesealaconsolamysql,ydetengasuservidorSLAVE.
mysql> SLAVE STOP;

7.VuelquesubasededatosactualdepandoraenelservidorSLAVE(siexiste).
mysql> drop database pandora;

8.IntroduzcalasiguientesentenciaSQLparaprepararlascredencialesyestablecercomunicaci n conelmaster:

923

EntornoInicial

mysql> CHANGE MASTER TO MASTER_HOST='192.168.10.101', MASTER_USER='replica', MASTER_PASSWORD='slayer72';

TengaencuentaqueseestadirigiendoalservidoractualdelMASTER(192.168.10.101). 9.ImporteelsqlvertidosacadodelservidorMasteractual:
mysql> SOURCE /tmp/dbdump.sql;

10.InicieSLAVE
mysql> SLAVE START;

11.Vigileelstatusdelasincronizacin.
mysql> SHOW SLAVE STATUS;

12.Deberaver:"Waitingformastertosendevents"paraconfirmarquetodoestcorrecto.

48.4.ConfigurandoelservidorSQLparasuusoenelservidordePandora
Enambosservidores:
mysql> grant all privileges on pandora.* to pandora@192.168.10.1 identified by 'pandora'; mysql> flush privileges;

48.4.1.IniciarelServidordePandora
Tododeberaircorrectamente.Compruebesitodovabien: Enlosservidoresslaveymastercompruebelosprocesosqueseest nejecutandoconelsiguiente comandoSQL:
mysql> show processlist;

Deberamostraralgocomo:
+----+-------------+-----------+------+---------+-----+---------------------------------------------------------| Id | User | Host | db | Command | Time | State | Info | +----+-------------+-----------+------+---------+-----+---------------------------------------------------------| 32 | root | localhost | NULL | Sleep | 72 | | NULL | | 36 | system user | | NULL | Connect | 906 | Waiting for master to send event | NULL | | 37 | system user | | NULL | Connect | 4 | Has read all relay log; waiting for the slave I/O thread to update it | NULL | | 39 | root | localhost | NULL | Query | 0 | NULL

924

ConfigurandoelservidorSQLparasuusoenelservidordePandora

| show processlist | +----+-------------+-----------+------+---------+-----+----------------------------------------------------------

48.5.Switchover
Estoimplica:hagaqueelslaveseconviertaenmaster.EneleventoelservidorMASTERest cado, oporalgunaraznlospuntosVIPalservidorSLAVE,debeasegurarsedequeelservidorSLAVE ejecutelossiguientescomandosSQL:
mysql> STOP SLAVE; mysql> RESET MASTER;

SuservidorSLAVEestahoratrabajandocomoMASTER.ElSLAVEnoutilizaellogdereplicaci n delMASTERyelMASTERestaahora"outofsync",quesignificaquesisuPANDORAFMSse alaal antiguo servidor master, usted obtendr informacin vieja. Este es uno de los aspectos ms problemticosylamayoradelosproblemasprocedendeah. Elprimer"Switchover",quesignifica,quecuandoelMASTERoficialsecae,yelSLAVEoficialse convierte en el NUEVO master, no constituye un problema, es algo completamente autom tico puesto que los sistemas hacen las consultas contra el SLAVE/ servidor del nuevo master. El problemaesel"segundo"switchover,cuandoustedquierequeelantiguomasterseconviertade nuevoenelmasteroficial. Enestepaso,necesitar volverarealizarelprocesocompletoparasincronizartodoelmodeloHA, estosignifica: 1.Detenertodoslospandoras. 2.Volcarlabasededatosdesdeelviejoslave(Pollux)aunSQLlimpio:
$ mysqldump -B -u root -pnone pandora > /tmp/pandoradump.sql

3.Copiarelsqlvertidoalmasteroficial(Castor) 4.RestaurarelSQLyvolcartodalainformacinantigua.
mysql> drop database pandora; mysql> source /tmp/pandoradump.sql;

5.Enestepunto,ambasbasesdedatossoniguales.S lotendr queobtenerlascoordenadaspara hacerqueelesclavovuelvaa"replicar"ysedegradehastaSLAVE.Obtengalascoordenadasdesdeel MASTERoficial:


mysql> SHOW MASTER STATUS; +------------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+------------------+ | mysql-bin.000003 | 234234 | pandora | mysql | +------------------+----------+--------------+------------------+

925

Switchover

(LascoordenadassonFileyPosition) 6.UtilizeesteSQLenelSLAVE:
mysql> SLAVE STOP; myqsl> CHANGE MASTER TO MASTER_HOST='192.168.10.101', MASTER_USER='replica', MASTER_PASSWORD='slayer72', MASTER_LOG_FILE='mysql-bin.000003', MASTER_LOG_POS=234234; mysql> SLAVE START;

7.Tododeberairbien.AhorapuedereiniciarsuprocesoVIPparaasignarelVIPalmasteroficial (Castor)ydejaraPolluxotravezconelroldeslave.

Existe otra manera de implementar failover, lo que MASTER/SLAVE no est fijado, pero significa que este implementado en el modelo VIP, utilizando UCARP, lo prioridad en vhid. Otro modo de resolver este problema Heartbeat VIP (lea nuestra documentacin acerca de DRBD)

supone que rol "relativo" que significa es utilizar el

el rol de debera ser cambiar la dispositivo

48.6.Instalareldispositivobalanceadordecarga
Estamos utilizando UCARP, que usa el protocolo CARP (http://en.wikipedia.org/wiki/Common_Address_Redundancy_Protoco). Ver ms informacin en: http://ucarp.org/ Obtenga el paquete e instlelo. Configurarlo es muy sencillo. Necesita tener un proceso ucarp corriendoencadaservidormysql.

48.6.1.Castor/Master
ucarp --interface=eth1 --srcip=192.168.10.101 --vhid=1 --pass=pandora --addr=192.168.10.100 --upscript=/etc/vip-up.sh --downscript=/etc/vip-down.sh &

48.6.2.Pollux/Slave
ucarp --interface=eth1 --srcip=192.168.10.102 --vhid=2 --pass=pandora --addr=192.168.10.100 --upscript=/etc/vip-up.sh --downscript=/etc/vip-down.sh &

48.6.2.1.Contenidodelosscripts
[/etc/vipup.sh]
#!/bin/bash /sbin/ifconfig "$1":254 "$2" netmask 255.255.255.0

[/etc/vipdown.sh]

926

Instalareldispositivobalanceadordecarga

#!/bin/bash /sbin/ifconfig "$1":254 down

48.6.2.2.Algunosscriptsqueproponemos
[/etc/mysqlcreatefullreplica.sh]
#!/bin/bash echo "FLUSH TABLES WITH READ LOCK;" | mysql -u root -pnone -D pandora mysqldump -u root -pnone pandora -B --master-data > /tmp/dbdump.sql echo "UNLOCK TABLES;" | mysql -u root -pnone -D pandora

[/etc/mysqlrestorereplica.sh]
scp root@192.168.10.101:/tmp/dbdump.sql . echo "SLAVE STOP; drop database pandora; SOURCE /tmp/dbdump.sql;" | mysql -u root -pnone -D pandora

[/etc/mysqlbecomeslave.sh]
echo "CHANGE MASTER TO MASTER_HOST='192.168.10.101', MASTER_USER='replica', MASTER_PASSWORD='slayer72'; SLAVE START;" | mysql -u root -pnone

[/etc/mysqlbecomemaster.sh]
echo "STOP SLAVE; RESET MASTER;" | mysql -u root -pnone

927

Instalareldispositivobalanceadordecarga

49ESTUDIOSVOLUMTRICOSENPANDORA FMS

928

Introduccin

49.1.Introduccin
PandoraFMSesunaaplicacindistribuidabastantecomplejaquetienediferenteselementosclave, susceptiblesderepresentaruncuellodebotellasinosedimensionayconfiguracorrectamente,el propsitodeestecaptuloesayudararealizarunestudiopropiodecapacidad,paraanalizarla escalabilidaddePandoraFMSenfuncindeunaserieespecficadeparmetros.Esteestudionos ayudar conocerlosrequisitosquedeberatenerlainstalacinparapodersoportardeterminada capacidad. Laspruebasdecargasirventambinparaobservarlacapacidadmximaporservidor.Enelmodelo dearquitecturaactual(v3.0osuperior),conNservidoresindependientesyuna Metaconsola,esta escalabilidad tiende a ser de orden lineal, mientras que la escalabilidad basada en modelos centralizadosnoloes(seradeltipomostradoenlasiguientegrfica)

49.1.1.Almacenamientodedatosycompactacin
ElhechodequePandoracompactedatosentiemporeal,esmuyrelevantedecadaacalcularel tamaoquevanaocupar.Serealiz unestudioinicialquerelacionabalaformadealmacenarlos datosunsistemaclsicoconlaformaasncronadealmacenarlosdatosdePandoraFMS.Estose puedeverenelesquemaquehayincluidoenestecaptulo.

929

Introduccin

Enunsistemaconvencional Paraunchequeo,conunamediade20chequeosalda,tenemosuntotalde5MBalaoenespacio ocupado.Para50chequeosporagente,estoes250MBporao. Enunsistemanoconvencional,asncronooconcompactacin,comoPandoraFMS Paraunchequeo,conunamediade0.1variacionesalda,tenemosuntotalde12,3KBalaoen espacioocupado.Para50chequeosporagente,estoes615KBporao.

49.1.2.Terminologaespecfica
Se describe a continuacin un glosario de trminos especficos para este estudio, para mejor comprensindellector. Fragmentacindelainformacin:LainformacinquemanejaPandoraFMSpuedetener diferentecomportamiento:cambiarconstantemente(comop.eunmedidordeporcentajede CPU),osermuyesttica(comoporejemplo,determinarelestadodeunservicio).Dadoque PandoraFMSaprovechaestoparacompactarlainformaci nenlaBD,esunfactorcrtico paraelrendimientoyelestudiodecapacidad,yaqueamsfragmentacin,mstamaoen la BD y ms capacidad de proceso ser necesario emplear para procesar la misma informacin. Mdulo:Eslapiezabsicadeinformacinrecolectadaparasumonitorizacin.Enalgunos entornosseleconocecomoEvento,enotroscomomonitoryenotroscomom trica. Intervalo:Eslacantidaddetiempoquetranscurreentrerecogidasdeinformaci ndeun mdulo.Generalmenteseexpresaenminutososegundos.Elintermedio"medio"sueleser de5minutos. Alerta:Seconoceas alanotificacinqueejecutaPandoraFMScuandoundatosesalede unosmrgenesestablecidosocambiadeestadoaCRITICALoWARNING.

930

Ejemplodeestudiodecapacidad

49.2.Ejemplodeestudiodecapacidad
49.2.1.Definicindelalcance
Elestudiosehahechopensandoenunaimplantacindivididaentresfasesprincipales: Fase1:Desplieguede500agentes. Fase2:Desplieguede3000agentes. Fase3:Desplieguede6000agentes. ParadeterminarconexactitudlosrequisitosdePandoraFMSenimplantacionesdeestevolumende datoshayqueconocermuybienquetipodemonitorizaci nsevaarealizar,conlamayorexactitud posible.Paraelsiguienteestudiosehatenidoencuentadeformaespec ficalascaractersticasdel entorno de un cliente ficticio llamado "QUASAR TECNOLOGIES" que se pueden resumir en los siguientespuntos: Monitorizacinbasadaal90%enagentessoftware. Sistemas homogneos con una serie de catacterizaciones agrupadas en tecnolog as / polticas. Intervalosmuyvariablesentrelosdiferentesmdulos/eventosamonitorizar. Grancantidaddeinformacinasncrona(eventos,elementosenlogs). Muchainformacindeestadodeprocesosconmuypocaprobabilidaddecambio. Pocainformacinderendimientorespectodeltotal. Despusde hacerunestudioexhaustivodetodaslastecnolog asydeterminarelalcancedela implentacin (identificando los sistemas y sus perfiles de monitorizaci n), hemos llegado a las siguientesconclusiones: Existeunamediade40mdulos/eventospormquina. Elintervalomediodemonitorizacinesde1200segundos(20min). Existiendo mdulos que reportan informacin cada 5 minutos y mdulos que reportan informacinunavezalasemana. Detodoelconjuntodemdulostotales(240,000)sehadeterminadoquelaprobabilidadde cambiodecadaeventoparacadamuestra,esdel25%. Sehadeterminadoquelatasadealertaspormduloesdel1,3(esdecir1,3alertaspor mdulo/evento). Se estima (en este caso es una estimacin basada en nuestra experiencia), que la probabilidaddedisparodeunaalerta,esdel1%. Estasconclusionessirvencomobaseparaprepararlaestimacin,ysecodificanenlahojaexcel utilizadaparahacerelestudio:

Conestosdatosdepartida,yaplicandolosclculosnecesariospodemosestimartamaoenBBDD, ndemodulosporsegundoqueesnecesarioprocesaryotrosparmetrosesenciales:

931

Ejemplodeestudiodecapacidad

49.2.2.Medidadecapacidad
Unavezconocidoslosrequisitosbsicosparalaimplantacinencadafase(Tasademodulos/ segundo),ndealertastotales,mdulospordia,yMB/mes,sevaarealizarunapruebadestress realsobreunservidorrelativamentesimilaralossistemasdeproducci n(nosehapodidohacerel testenunamquinasimilaralasdeproduccin). staspruebasdestress,nosdirnquecapacidaddeprocesotienePandoraFMSenunservidory cual es su nivel de degradacin con el tiempo. Esto nos tiene que servir para los siguientes objetivos: 1. Pormediodeunaextrapolacin,sabersielvolumenfinaldelproyectoserasumibleconel hardwareprovistoatalefecto. 2. Sabercualessonloslmitesdealmacenamientoonlineycualesdebenserlospuntosde corteapartirdeloscualessemuevalainformacinalasbasesdedatosdehistrico. 3. Conocer los mrgenes de respuesta ante picos de proceso, derivados de problemas que puedansurgir(paradadeservicio,paradasplanificadas)dondeseacumulelainformaci n pendientedeprocesar. 4. Conocerelimpactoenelrendimientoderivadodeladiferentecalidad(%decambio)dela informacindemonitorizacin. 5. Conocerelimpactodelprocesodealertasengrandesvolmenes. Laspruebasrealizadas,hansidosobreunservidorDELLPowerEdgeT100conprocesadorIntelCore Duo 2,4Ghz y 2 GB de RAM. Este servidor, funcionando sobre un Ubuntu Server 8.04, ha proporcionado la basede nuestro estudiopara laspruebas enentornos de Alta Capacidad. Las pruebassehanrealizadosobreconfiguracionesdeagenterelativamentesimilaresalasdelproyecto de QUASAR TECNOLOGIES. La intencin de las pruebas no es replicar exactamente el mismo volumendeinformacinquevaatenerQUASARTECNOLOGIES,yaquenopodemosdisponerdel mismohardware,sinoreplicarunentornodealtacapacidad,similaraldeQUASARTECNOLOGIES para evaluarel impacto en elrendimiento a lo largo deltiempo y determinar otrosproblemas (principalmentedeusabilidad)derivadosdemanejargrandesvolmenesdedatos.

932

Ejemplodeestudiodecapacidad

Losresultadosobtenidossonmuypositivos,yaqueelsistema,aunquemuysobrecargado,eracapaz de procesar un volumen de informacin muy considerable (180,000 modulos, 6000 agentes, 120,000alertas).Lasconclusionesderivadasdeesteestudiosonlassiguientes: 1. Sedebemoverlainformaciondetiemporealalabasededatosdehist ricoenunplazo mximo de 15 dias, siendo lo ptimo hacerlo para datos de ms de una semana. Esto garantizaunaoperacinmsrpida. 2. Elmargendemaniobraenelcaso ptimoesdecasideun50%decapacidaddeproceso, masaltodeloesperadoteniendoencuentaestevolumendeinformacin. 3. Latasadefragmentacindelainformacinesclaveparadeterminarelrendimientoyla capacidadnecesariaparaelentornodondequeramosimplantarelsistema.

49.3.Metodologadetallada
Sibienelpuntoanteriorrepresentabaunestudio"rapido"basadounicamenteenmodulosdetipo "dataserver", en este capitulo se presenta una forma mas completa de hacer un analisis de la capacidaddePandoraFMS. Comopuntodepartida,entodosloscasosutilizaremossiemprelafilosof ade "elpeordelos casos"siemprequesepuedaescoger.Seasumequesinosepuedeescoger,serlafilosofia"elcaso habitual".Nuncaseestimarnadaenel"mejordeloscasos"yaquenoesvlida. Acontinuacinveremoscomocalcularlacapacidaddelsistema,portipodemonitorizaci noen basealorigendelainformacin.

49.3.1.Servidordedatos
Enbaseaunosobjetivos, calculadostalcomovimosenelpuntoanterior,supondremos que el objetivoestimado,esvercomosecomportaconunacargade100,000modulos,repartidoentreun totalde3000agentes,estoesunamediade33modulosporagente.
933

Metodologadetallada

Secrearunatarea(ejecutadamediantecronoscriptmanual)depandora_xmlstressquecontenga 33modulos,repartidosconunaconfiguracinsimilaraesta: 1modulosdetipocadena. 17modulosdetipogeneric_proc. 15modulosdetipogeneric_data. Configuraremoslosumbralesdelos17modulosdetipogeneric_procdeestamanera:


module_begin module_name Process Status X module_type generic_proc module_description Status of my super-important daemon / service / process module_exec type=RANDOM;variation=1;min=0;max=100 module_end

Enlos15modulosdetipogeneric_datadeberemosestablecerumbrales.Elprocedimientoaseguir serelsiguiente: Configuraremoslosumbralesdelos15modulosdetipogeneric_datadeformaquegeneredatosde tipo:


module_exec type=SCATTER;prob=20;avg=10;min=0;max=100

Configuraremoslosumbralesparaesos15modulos,deformaquetenganestepatr n:
0-50 normal 50-74 warning 75- critical

Aadiremosalficherodeconfiguraciondenuestropandora_xml_stressunostokensnuevos,para poder definir los umbrales ya desde la generacion del XML. OJO; porque Pandora FMS solo "adopta"ladefiniciondeumbralesenlacreaciondelmodulo,peronoenlaactualizaci ncondatos nuevos.
module_min_critical 75 module_min_warning 50

Ejecutaremoselpandoraxmlstress. Debemos dejarlo corriendo al menos 48 horas sin ningun tipo de interrupcion y debemos monitorizar(conunagentedepandora)lossiguientesparmetros: ndepaquetesencolados:
find /var/spool/pandora/data_in | wc -l

CPUdepandora_server
ps aux | grep "/usr/bin/pandora_server" | grep -v grep | awk '{print $3}'

Memoriatotaldepandora_server

934

Metodologadetallada

ps aux | grep "/usr/bin/pandora_server" | grep -v grep | awk '{print $4}'

CPUdemysqld(revisarsintaxisdelaejecucion,dependedeladistrodemysql)
ps aux | grep "sbin/mysqld" | grep -v grep | awk '{print $3}'

TiempomedioderespuestadelaBBDDdepandora:
/usr/share/pandora_server/util/pandora_database_check.pl /etc/pandora/pandora_server.conf N de monitores en unknown echo "select SUM(unknown_count) FROM tagente;" | mysql -u pandora -pxxxxxx -D pandora | tail -1

(ponerdondeponexxxlapassworddelabbdd"pandora"parausarlaconelusuario"pandora") Las primeras ejecuciones tienen que servirnos para "tunear" el servidor y la configuracion de MySQL. Utilizaremoselscript/usr/share/pandora_server/util/pandora_count.shparacontar(cuandohaya xmlpendientesdeprocesar)latasadeprocesamientodepaquetes.Elobjetivoeslograrquese puedan"procesar"todoslospaquetesgenerados(3000)enunintervaloinferioral80%deltiempo limite(5minutos).Estoimplicaquesetienenqueprocesar3000paquetesen4minutos,luego:
3000 / (4x60) = 12,5

Tenemos que lograr una tasa de procesamiento de 12,5 paquetes como minimo para estar razonablementesegurosdequepandorapuedeprocesaresainformacin. Recordatorio de cosas a tocar: n de hilos, n maximo de elementos en cola intermedia (max_queue_files),yporsupuestotodoslosparmetrospertinentesdeMySQL(importantsimo). Solouncomentarioacercadelaimportanciadeesto:unPandoraconunservidorLinuxinstalado "por defecto" en una maquina potente, puede no pasar de 56 paquetes por segundo, en una mquinapotentebien"optimizada"y"tuneada"puedellegarperfectamentea3040paquetespor segundo.Tambiendependemuchodelacantidaddemodulosquehayaencadaagente. Se configura el sistema para que el script de mantenimiento de bbdd en /usr/share/pandora_server/util/pandora_db.plseejecutecadahoraenvezdecadadia:
mv /etc/cron.daily/pandora_db /etc/cron.hourly

Sedejafuncionandoelsistema,conelgeneradordepaquetesunminimode48horas.Unavez pasadoesetiemposeevaluanlossiguientespuntos: 1. Est elsistemaestable?,sehacado?.Sihayproblemas,mirarlogsygrficasdelas metricasquehemosobtenido(principalmentememoria). 2. Evaluarlatendenciadetiempodelamtrica"ndemonitoresenunknown".Notieneque habertendenciasnipicosimportantes.Deberianserlaexcepcion.Sisesucedenconuna regularidad de una hora, es porque hay problemas con la concurrencia del proceso de
935

Metodologadetallada

gestiondebbdd. 3. Evaluarlamtrica"TiempomedioderespuestadelaBBDDdepandora".Nodeberiacrecer coneltiemposinomantenerseconstante. 4. Evaluarlamtrica"CPUdepandora_server",deberiatenerfrecuentespicos,peroconuna tendenciaconstante,nocreciente. 5. Evaluarlamtrica"CPUdelservidorMYSQL",deberapermanecerconstanteconfrecuentes picos,peroconunatendenciaconstante,nocreciente.

49.3.1.1.Evaluacindelimpactodealertas
Sitodohaidobien,ahoradebemosevaluarelimpactodelrendimientodelaejecuciondealertas. Aplicaremosunaalertaacincomdulosespecficosdecadaagente(detipogeneric_data),parala condicionCRITICAL.Algoquesearelativamenteligero,comocrearuneventooescribirasyslog (paredespreciarelimpactoquepudierateneralgoconaltalatenciacomoenviarunmail). Opcionalmente,podemoscrearunaalertadecorrelaciondeeventos,paragenerarunaalertapara cualquiercondicioncriticaldecualquieragenteconunodeesoscincomodulos. Dejamoselsistema12horasoperandobajoesoscriteriosyevaluamoselimpacto,siguiendoel criterioanterior.

49.3.1.2.Evaluacindelpurgado/trasladodedatos.
Suponiendoquelapolticadealmacenamientodedatosfuera: Borradodeeventosdemsde72horas. Moverdatosahistoricodemsde7dias. Deberamos dejar el sistema funcionando "solo" durante al menos 10 dias para evaluar el rendimientoa largo plazo. Puede que vieramos un"pico" sustacial alcabo de7diasdebido al movimientodedatosalabbdddehistorico.Esadegradaci nesIMPORTANTEtenerlaencuenta.Si nosepuededisponerdetantotiempo,sepuedereproducir(conmenos"realismo")cambiandoel intervalodepurgadoa2diaseneventosy2diasparamoverdatosahistorico,paraevaluarese impacto.

49.3.2.ServidordeICMP(Enterprise)
AquihablaremosespecficamentedelservidorderedICMP.Encasoderealizarlaspruebasparael servidorderedopen,veaelpuntocorrespondientealservidordered(genrico). Suponemos que ya tiene el servidor funcionando y configurado. Pasaremos a explicar algunos parmetrosclaveparasufuncionamiento:
block_size X

Defineelnumerode"pings"quehar elsistemaporcadaejecucin.Silamayoradepingsvana tardarlomismo,puedesubirelnumeroaunnumeroconsiderablementealto,p.e:50o70. Siporelcontrarioelparquetemodulosdepingesheterog neoyestnenredesmuydiferentes, contiemposdelatenciamuydiferentes,noleinteresaponerunnmeroaltopueslapruebatardar loquetardeelmslento,asquepuedeutilizarunnumerorelativamentebajo,como15o20.


icmp_threads X

Evidentemente,cuantosmashilostenga,mschequeospodrejecutar.Sisumatodosloshilosque
936

Metodologadetallada

ejecutaPandoranodeberanllegara3040.Nodeberausarmsde10hilosaqu,aunquedepende muchodeltipodehardwareyversiondeLinuxqueestusando. Ahora,debe"crear"unnmeroficticiodemodulosdetipopingparaprobar.Asumimosquevaa probaruntotalde3000modulosdetipoping.Paraello,lomejorescogerunsistemaenlaredque seacapazdeaguantartodoslospings(unservidorLinuxcualquieravaldra). UtilizandoelimportadorCSVdePandora(disponibleenlaversionEnteprise),creeunaficherocon elsiguienteformato:


(Nombre agente, IP,os_id,Interval,Group_id)

Puedeusarseesteshellscriptparageneraresefichero(cambiandolaIPdedestinoyelIDdegrupo)
A=3000 while [ $A -gt 0 ] do echo "AGENT_$A,192.168.50.1,1,300,10" A=`expr $A - 1` done

Antesdehacernada,deberemostenerelpandoramonitorizado,midiendolasmetricasquevimos enelpuntoanterior:consumodeCPU(pandora ymysql),ndemodulosenunknownyotros monitoresinteresantes. Importaremos el CSVpara crear 3000agentes (tardar unosminutos). Luegoiremos al primer agente(AGENT_3000)ylecrearemosunmodulodetipoPING. Luegoiremosalaherramientadeoperacionesmasivasycopiaremosesemoduloalosotros2999 agentes. Pandoradeberaempezaraprocesaresosmodulos.Mediremosconlasmismasm tricasqueelcaso anterioryveremoscomoevoluciona.Elobjetivoesdejarunsistemaoperableparaelnumerode modulosdetipoICMPrequeridosinqueningunodeellosllegueaestadounknown.

49.3.3.ServidordeSNMP(Enterprise)
Aqui hablaremos especficamente del servidor de red SNMP Enterprise. En caso de realizar las pruebasparaelservidorderedopen,veaelpuntocorrespondientealservidordered(genrico). Suponemos que ya tiene el servidor funcionando y configurado. Pasaremos a explicar algunos parmetrosclaveparasufuncionamiento:
block_size X

DefineelnumerodepeticionesSNMPquehar elsistemaporcadaejecucin.Hayqueteneren cuenta que el servidor los agrupa por IP de destino, de forma que ese bloque es orientativo. Conviene que no sea muy grande (3040 maximo). Cuando un elemento del bloque falla, un contadorinternohacequeloreintenteelservidorenterprise,ysitrasXintentosnofunciona,selo pasaralservidoropen.
snmp_threads X

Evidentemente,cuantosmashilostenga,mschequeospodrejecutar.Sisumatodosloshilosque
937

Metodologadetallada

ejecutaPandoranodeberanllegara3040.Nodeberausarmsde10hilosaqu,aunquedepende muchodeltipodehardwareyversiondeLinuxqueestusando. ElservidordeSNMPEnterprisenosoportaversin3.Esosmodulos(v3)sernejecutuadosporla versionopen. LaformamsrapidadeprobaresmedianteundispositivoSNMP,aplicandoatodoslosinterfaces, todoslosmodulosdemonitorizacin"bsicos"deserie.Estosehacemediantelaaplicacindel SNMPExplorer(Agente>Mododeadministracion>SNMPExplorer).Identifiquelasinterfaces, yaplica todaslasmetricasa cada interfaz. En un switchde24 puertos, esto genera unos 650 modulos. Sigeneraotroagenteconotronombre,peorlamismaIP;tendr otros650modulos.Otraopcin puedesercopiartodoslosmodulosaunaseriedeagentesquetengantodoslamismaIPdeforma quelosmoduloscopiadosfuncionenatacandoalmismoswitch. OtraopcinesutilizarunemuladordeSNMP,comoelJalasoftSNMPDeviceSimulator. Elobjetivodeestepuntoessercapazdemonitorizardeforma constante,unpooldemodulos SNMPdurantealmenos48horas,monitorizandolainfraestructura,paraasegurarsedequeelratio demonitorizaciondemod/segesconstante,ynoexistenperiodosdetiempodondeelservidor producemdulosenestadodesconocido.Estasituacinsepodradarpor: Escasez de recursos (mem, CPU). Se podra ver una tendencia de estas mtricas en incrementocontnuo,locualesunamalaseal. Problemas puntuales: reinicio del servidor diario (para rotado de logs), ejecuci n del mantenimientoprogramadodebasededatos,uotrosscriptsqueseejecutenenelservidoro elservidordeBBBDD. Problemasdered,derivadosdeprocesosnorelacionados(p.e:backupdeunservidorenla red)queafectenalavelocidad/disponibilidaddelared.

49.3.4.ServidordePlugins,Red(open)yHTTP
Aquiaplicaelmismoconceptoquearriba,perodeformamassimplificada.Habraquecontrolar: Ndehilos. Timeouts(paracalcularlaincidenciaenelpeordeloscasos). Tiempomediodechequeo. Dimensionarconesosdatosunconjuntodeprueba,yverificarquelacapacidaddelservidores constantealolargodeltiempo.

49.3.5.Recepcindetraps
Aquielsupuestoesmssencillo:Partimosqueelsistemanovaarecibirtrapsdeformaconstante, sinoque msbiensetratadeevaluarla respuestaanteunaavalanchade traps,de loscuales, algunosgenerarnalertas. Paraellosimplementehayquehacerunscriptsencilloquegeneretrapsdeformacontroladaagran velocidad:
#!/bin/bash TARGET=192.168.1.1 while [ 1 ] do snmptrap -v 1 -c public $TARGET .1.3.6.1.4.1.2789.2005 192.168.5.2 6 666 1233433 .1.3.6.1.4.1.2789.2005.1 s "$RANDOM" done

938

Metodologadetallada

NOTA: Cortarlo con CTRLC a los pocos segundos, pues generar cientos de traps en pocos segundos. Unavezmontadoelentornohayquevalidarlossiguientessupuestos: 1. Inyeccindetrapsaunatasaconstante(bastaconmeterunsleep1alscriptanteriordentro delbuclewhile,paragenerar1trap/seg.Sedejaelsistemaoperando48hryseeval ael impactoenelservidor. 2. Tormentadetraps.Evaluarelantes,eldurante,ylarecuperacinanteunatormentade traps. 3. Efectosdelsistemasobreunatabladetrapsmuygrande(>50,000).Estoincluyeelefecto depasarelmantenimientodelabbdd.

49.3.6.Eventos
DeformasimilaralosSNMP,evaluaremoselsistemaendossupuestos: 1.Tasanormalderecepcindeeventos.Estoyasehaprobadoenelservidordedatos,puesencada cambia de estado, se genera un evento. 2. Tormenta de generacin de eventos. Para ello, forzaremoslageneracindeeventosviaCLI.Utilizandoelcomandosiguiente:
/usr/share/pandora_server/util/pandora_manage.pl /etc/pandora/pandora_server.conf --create_event "Prueba de evento" system Pruebas

Nota:Suponemosqueexisteungrupollamado"Pruebas". Esecomando,usadoenunbuclecomoelusadoparagenerartrapssepuedeusarparagenerar decenas de eventos por segundo. Se puede paralelizar en un script con varias instancias para provocarunnmasaltodeinserciones.Estoserviraparasimularelcomportamientodelsistema anteunatormentadeeventos.Deestaformapodramosprobarelsistema,antes,duranteydespus deunatormentadeeventos.

49.3.7.Concurrenciadeusuarios
Para ello usaremos otro servidor independiente de Pandora, utilizando la funcionalidad de monitorizacinWEB.Realizaremosunasesindeusuariodonderealizaremoslassiguientestareas enesteorden,ymediremosloquetardan. 1. 2. 3. 4. 5. Loginenlaconsola. Vereventos. Iralavistadegrupo. Iralavistadedetalledeagente Visualizaruninforme(enHTML).Dichoinformedeberacontenerunpardegrficasyun pardemodulosconinformesdetipoSUMAoMEDIA.Elintervalodecadaelementodeber a serdeunasemanaocincodas. 6. Visualizacindeunagrficacombinada(24hr). 7. GeneracindeinformeenPDF(otroinformediferente). Serealizaestapruebaconalmenostresusuariosdiferentes.Sepuedeparalelizaresatareapara ejecutarla cada minuto, de forma que si hay 5 tareas (cada uno con su usuario), estar amos simulandolanavegacindecincousuariossimultneos.Unavezestablecidoelentorno,tendremos encuenta: 1. .Lavelocidadmediadecadamoduloesrelevantedecaraaidentificar"cuellosdebotella" relacionadosconotrasactividadesparalelas,comolaejecuci ndescriptdemantenimiento, etc.
939

Metodologadetallada

2. .SemedirelimpactodeCPU/Memoriaenelservidorparacadasesinconcurrent. 3. .Semedir elimpactodecadasesindeusuariosimuladarespectoaltiempomediodel resto de sesiones. Es decir, se debera estimar cuantos segundos de demora aade cada sesinextrasimultnea.

940

Metodologadetallada

50CONSEJOSDEUSOBDORACLE

941

ConsejosgeneralessobreelusodeOracle

50.1.ConsejosgeneralessobreelusodeOracle
UnadelastcnicasusadasparafavorecerlaadministracindelaBDOracleconsisteensepararen tablespacedistintoslosndicesdelastablasyaqueencasodequesepierdaeltablespacede ndices todavasepodrrecuperarlainformacindelastablas. ParapoderrealizarestoantesdelacreacindelesquemadePandorasedebenseguirlossiguientes pasosdesdeunclienteoraclecomoSQL*plus:
CREATE TABLESPACE "PANDORA" LOGGING DATAFILE '<ruta_fichero>/PANDORADAT.dbf' SIZE 1024M EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO; CREATE TABLESPACE "PANDORA_DX" LOGGING DATAFILE '<ruta_fichero>/PANDORADAT_DBX.dbf' SIZE 512M EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO; CREATE USER "PANDORA" PROFILE "DEFAULT" IDENTIFIED BY "<contrasea>" DEFAULT TABLESPACE "PANDORA" TEMPORARY TABLESPACE "TEMP" ACCOUNT UNLOCK; GRANT "CONNECT" TO "PANDORA"; GRANT "RESOURCE" TO "PANDORA"; GRANT GRANT GRANT GRANT GRANT GRANT GRANT GRANT GRANT GRANT GRANT GRANT GRANT GRANT GRANT GRANT GRANT GRANT GRANT GRANT GRANT GRANT GRANT GRANT ALTER ANY INDEX TO "PANDORA"; ALTER ANY SEQUENCE TO "PANDORA"; ALTER ANY TABLE TO "PANDORA"; ALTER ANY TRIGGER TO "PANDORA"; CREATE ANY INDEX TO "PANDORA"; CREATE ANY SEQUENCE TO "PANDORA"; CREATE ANY SYNONYM TO "PANDORA"; CREATE ANY TABLE TO "PANDORA"; CREATE ANY TRIGGER TO "PANDORA"; CREATE ANY VIEW TO "PANDORA"; CREATE PROCEDURE TO "PANDORA"; CREATE PUBLIC SYNONYM TO "PANDORA"; CREATE TRIGGER TO "PANDORA"; CREATE VIEW TO "PANDORA"; DELETE ANY TABLE TO "PANDORA"; DROP ANY INDEX TO "PANDORA"; DROP ANY SEQUENCE TO "PANDORA"; DROP ANY TABLE TO "PANDORA"; DROP ANY TRIGGER TO "PANDORA"; DROP ANY VIEW TO "PANDORA"; INSERT ANY TABLE TO "PANDORA"; QUERY REWRITE TO "PANDORA"; SELECT ANY TABLE TO "PANDORA"; UNLIMITED TABLESPACE TO "PANDORA";

ConestosehacreadounesquemaconnombrePandoraylostablespacePANDORAparatablasy PANDORA_DXpara ndices.Alahoradecrearlos ndicesenvezdeusarlasentenciadelfichero pandoradb.oracle.sql:


CREATE INDEX taddress_ip_idx ON taddress(ip);

modificarlaporlasentencia:
CREATE INDEX taddress_ip_idx ON taddress(ip) TABLESPACE PANDORA_DX;

entodaslascreacionesdendices.
942

ConsejosgeneralessobreelusodeOracle

51CONFIGURACINDESENSORDE TEMPERATURAHWGSTE

943

Introduccin

51.1.Introduccin
En esta gua rpida de configuracin vamos a ver paso a paso, como utilizar pandora para monitorizar un sensor de temperatura HWgSTE, tambien asignaremos alertas via email y generaremosuninformebsico.

51.2.Instalacinyconfiguracin
51.2.1.Paso1.InstalaciondelPandora
Mireelmanualopartadeunpandorapreinstaladoconimagenvirtual(enlaces).

51.2.2.Paso2.Instalacindelsensor
VamosausarelsensorHWgSTE.

Documentacin del fabricante: STE/STE_ip_temperature_sensor_en.html

http://www.hwgroup.com/products/HWg

Enlacedelmanualdelsensor:http://www.hwgroup.com/download/HWgSTE_MAN_en.pdf LomasimportanteesconfigurarlaIPdeaccesoyasegurarsedequeelsensordetemperaturaest conectadoyconocemossuOID.Paraello,debemosaccederaldispositivoviawebyconfigurarlo:

944

Instalacinyconfiguracin

EnlapantallaSystem TXTListofcommonSNMPOID'spodemosconsultarelOIDdenuestro sensor:

Dadoquesolotenemosunsensor,elOIDser
.1.3.6.1.4.1.21796.4.1.3.1.5.1

Hay que destacar que el dispositivo devuelve la temperatura en grados, sin coma decimal. Deberemosdividirelvalorentre10parapodermostrarelvalorreal,estepostprocesosehaceen Pandora. YlaIPdeldispositivo:

945

Instalacinyconfiguracin

51.2.3.Paso3.ConfiguracionenPandoradelsensor
Mevoyalapantalladeconfiguraciondeagentes.Creounagenteyrellenolainformacionrelevante .ElagentedebetenerlaIPqueacabodeconfigurarenelsensor:

946

Instalacinyconfiguracin

Loheasociadoalgruposerversperoestolopuedocambiarposteriormentesidecidocrearungrupo desensores. MevoyalapantallademdulosydefinounmoduloSNMP.

CreounmodulodetipoSNMPNumericdata

947

Instalacinyconfiguracin

EnelcampoSNMPOIDpongoelobtenidopreviamente.PordefectolacomunidadSNMPespublic.

Tengoqueiralaseccinavanzada,paraespecificarunpostprocesoyquedividaelvalorpor10.

Hacemosclickenelbotndecrear: Recincreadoelmdulo,deberamosveralgoasi:

Sihacemosclickenlasolapadelabombilla(mdulos)

Elaspectodelmoduloquehemoscreadosedeberainicializarydesparecereliconorojotriangular:

948

Instalacinyconfiguracin

Sivamosalavistadeagente(Lupa):

Yapodremosverlosdatosobtenidosdelsensor:

Yaestoperativo.Enunashorastendremosdatossuficientesparapintarunag aficacomoesta:

51.2.4.Paso4.Configurarunaalerta
Queremos que cuando se superen 38 grados, se genere una alerta por email. Lo primero es configurarelmoduloparaquecuandosupere38gradossepongaenestadoCritical. Editamoselmodulo,(pinchandoenlallave,dentrodelavistadeedicionodevisualizacionde datosdeunagente).

ModificamoslosumbralesparaquesepongaCRITICALapartirde38C:

949

Instalacinyconfiguracin

Ahorahabraquedefinirunaacciondealertaparaenviarelcorreoaunadireccionespecifica.Me voyalmenudeAdministracin>Gestindealertas>Accionesycreounanueva.Voyadefinir unaacciondealertaparaenviodeemailgenrica,quemevalgaparacualquiermduloquese pongaenestadoCRITICAL:

Despusdecrearlaaccin,solotengoquedefinirunaalertaenelagentequecontienealsensor. Paraelloeditoelagenteyvoyalasolapadealertas:

Creounanuevaalerta,partiendodelaplantilladealertaspordefectoCriticalcondition:

Yaestlistalaalerta,ylavisualizarasi:

950

Instalacinyconfiguracin

51.2.5.Paso5.Creacindeuninformebsico
Voyacrearuninformeconunagrficadetemperaturasimple,yelvalormedioymximo. MevoyalmenudeadministracinInformesCrearinforme.

Vamosalasolapadelallave,paraaadirelementosalinforme.Yelegimosunelementodetipo Simplegraphogrficasimple.

De igual forma creamos dos elementos de tipo AVG (Media) y MAX (Valor maximo). Una vez creados, para visualizarlo, pincho en la solapa de visualizaci n del informe (la primera a la izquierda)ovoyalmenudeOperacionInformesyhagoclickenelinformequeacabodecrear.El informesedeberaveralgoasi(unavezquehayadatos,pasadosunashoras/dias).

951

Instalacinyconfiguracin

952

Instalacinyconfiguracin

52EFICIENCIAENERGTICACONPANDORA FMS

953

EficienciaenergticaconPandoraFMS

Lasostenibilidadylaeficiencienciaenergticason ahorro.Diferentesfabricantes,tantodesoftware comodehardwareproponenmtodos,estrategiasyherramientasdiferentes.PandoraFMSpuede integrarlastodasenunanicaherramienta.

52.1.PluginIPMIparaPandoraFMS
IPMI (Intelligent Platform Management Interface) es un interfaz creado por Intel para la administrar y monitorizar sistemasIT. A travs de IPMI es posible , porejemplo, consultar los sensoresdetemperatura,voltajesovelocidaddeventiladores,todoellodeformaremota.

52.1.1.FuncionamientodelpluginIPMI
LamonitorizacinatravsdeIPMIsebasaendoscomponentes.Unpluginquerecogelosdatosdel dispositivoyunaReconTaskquedescubredeformaautom ticatodoslosdispositivosdeunared quesoportenIPMI.

52.1.2.Instalacindelpluginyrecontask
52.1.2.1.Requisitosprevios
TantoelplugincomolarecontasknecesitanlautilidadFreeIPMIensuversin0.7.16 EndistribucionesDebianpuedeusarelcomando:
#apt-get install freeipmi-tools

52.1.2.2.RegistrodelpluginIPMI
Elprimerpasoesregistrarelplugin.SitienealgunadudapuedeconsultarlaseccinMonitorizacin conPlugins.Losparmetrosderegistrodelpluginsonlossiguientes:

954

PluginIPMIparaPandoraFMS

Losvaloresquedebeponerenlosdiferentescampossonlossiguientes: Name:IPMIPlugin Plugin Command: /home/admin/ipmiplugin.pl (Path donde est el archivo ipmi plugin.pl) Plugintype:Standard Max.timeout:300 IPaddressoption:h Portoption:<vacio> Useroption:u Passwordoption:p Description:ThisplugingetsinformationfromIPMIdevices.

Es importante que el nombre del plugin sea exactamente "IPMI Plugin" ya que de esto depende que la recon task funcione correctamente

52.1.2.3.RegistrodeReconScript
Elsegundopasoparaterminarla instalacinesregistrarelRecon Script.Puedeverelproceso completoderegistroenlaseccinReconServer.Elpluginregistradoquedaraas.

955

PluginIPMIparaPandoraFMS

Name:IPMIDiscovery Scriptfullpath:/home/admin/ipmirecon.pl(Pathdondeestelarchivoipmirecon.pl)

52.1.3.MonitorizandoconelpluginIPMI
ParacomenzarlamonitorizacincrearemosunaReconTaskquedescubratodoslosdispositivos IPMI.Estatareacrear unagenteporcadadispositivodescubierto,ylosmduloscontodoslos chequeosdisponiblesparacadadispositivo. Lasiguientecapturamuestraunejemploparaexplorarlared192.168.70.0/24,enellatodoslos dispositivosIPMItienencomocredencialesadmin/admin,

ConestaconfiguracinlaReconTaskrealizar unbarridodelaredycrearaunagenteporcada dispositivoencontradocontodolosmdulosdisponibles.


956

PluginIPMIparaPandoraFMS

Enlasiguienteimagenpuedeverelresultadofinal,algunosdelosm duloscreadosenunagente delaredexplorada.

52.1.4.MonitorizacindevaloresOEM
LosvaloresdevueltosporloscommandosIPMIdependendecadafabricante.Porelloesposibleque pordefectolaReconTasknoencuentreelmduloquenecesitamonitorizar. Ademsdelosmdulospordefecto,cadafabricantepuedehabilitarunaseriedecomandosOEM propiosdesusplacasbase.Puedeconsultarlosdispositivossoportadosyloscomandosdisponibles paracadaunoes:http://www.gnu.org/s/freeipmi/manpages/man8/ipmioem.8.html Con estos comandos puede crear un mdulo de tipo plugin que ejecute el comando necesario, puedevercomoenlaseccin:MonitorizacinconPlugins

957

PluginIPMIparaPandoraFMS

53MONITORIZACINDEREDCON IPTRAF

958

Introduccin

53.1.Introduccin
Con Pandora FMS es posible realizar una monitorizaci n del trfico de red que resulta del procesamientorealizadoporlaaplicacinIPTraf. AtravesdelautilidaddeestadsticasderedIPTrafserecogeralaactividaddelaredenunainterfaz determinada(IPTraftambiennosdalaposibilidaddeescogertodaslasinterfaces).Todalaactivdad delaredesalmacenadaenunlog. Un recolectorpasivo filtralainformacinbasndoseenunasreglasestablecidasycreaun rbol conlainformacin.Coneste rbol,quecontienetodalainformacindelaactividaddered,se genernunarchivoXMLporcadadireccinIPdetectadacontodalainformacindesutrficode red. UnavezlosarchivosXMLsonprocesadosporPandoraFMSverunagenteporcadaIPdetectaday comomduloslainformacindesutrficoderedasociado.

53.2.Funcionamiento
El recolectorpasivo esunscriptllamado passive.pl.Estescriptrealizatodoelprocesamientoyla creacindelosficherosXMLdeformaasncronaporloqueesnecesarioejecutarlocadavezquese requieraintroduciroactualizarlainformacindelamonitorizacindetrficoenPanodraFMS.

El script debe ejecutarse con permisos de adminsitrador

Antes de ejecutar el proceso es necesario parar el proceso IPTraf. Despus de la ejecucin del recolector pasivo ser necesario borrar el archivo de log consultado y arrancar de nuevo el proceso IPTraf

Enlaejecucionselepasaracomoparametrolarutadelficherodeconfiguraciondelasiguiente manera:
# ./passive.pl /home/usuario/iptraf/passive.collector.conf

Lospasosparaejecutarelscriptseranlossiguientes: 1. 2. 3. 4. 1. 2. 3. 4. 5. 6. PararIPTraf Ejecutarelrecolectorpasivo Borrarelarchivodelog ArrancarIPTraf Seleeellog Seaplicanlasreglasdedescarte Seaplicanlasreglasdeprocesado Seconstruyeelarbol SegeneranyalmacenanlosXMLeneldirectordata_indePandoraFMS Terminalaejecucin

Lasaccionesqueejecutaelscriptsonlassiguiente:

959

Configuracin

53.3.Configuracin
Para utilizar el script primero deberemos editar el fichero de configuracion llamado passive.collector.conf y ajustar los parametros deseados. Este fichero dispone de los siguientes ajustes: incomingdir:Rutaabsolutadeldirectoriodata_indePandora. interval:Intervaloensegundosenelqueseejecutaraelscript.Esteparametronoharaque seejecutecadaesetiempo,sinoqueserviraparaquepandorasepacadacuandoseejecutay deestemodosepacuandolosmoduloscreadosestanenestadodesconocido.Elqueelscript seejecutecadaciertotiemposecontrolaraexternamente. iface:Nombredelinterfazdondeseescucharaeltrafico. min_size:Sepodranfiltrarlosregistrosporuntama ominimo,estandoestedesactivado pordefectoconunvalor0. log_path:SeestableceralarutaabsolutadelficherodelogdondeIPTrafiraalmacenando losregistrosdeltraficodetectado. rules:Lasreglaspuedenserdedostipos: 1. discard:Lasreglasdedescartesernejecutadasenprimerlugarydescartarndelfiltrado todosaquellosregistrosquecoincidanconellas. 2. process: Las reglas de procesado sern ejecutadas en segundo lugar y decidiran, de los registrosrestantestraseldescarte,cualesseranincluidosenelarbolycualesno.

53.4.Reglasdefiltrado
ParaentenderlasreglasdebemosentenderprimerolaestructuradellogquenosgeneraraelIPTraf.

53.4.1.EstructuradellogdeIPTraf
Unejemploderegistrodellog:
Mon Nov 22 15:41:59 2010; TCP; eth0; 52 bytes; from 192.168.50.2:54879 to 91.121.0.208:80; first packet

Traselregistrodelafechayhoraderegistro,apareceelprotocolo,elnombredelainterfaz,el numero de bytes transferidos, la ip y puerto de origen y la ip y puerto de destino de la comunicacion.Despusapareceraalgomasdeinformacionqueenestecasoesunindicardordeque lacomunicacionsetratadelprimerpaquete. Losdatosimportantesdeesteregistrodecaraalscriptseraelnombredelainterfaz,elnumerode bytestransferidosylasIPsyPuertosdeorigenydestino.

53.4.2.Reglasdefiltradodelrecolector
Lasreglastienenlasiguienteestructura:
[process/discard] [!][ip_src/ip_dst] ip/mask [!][port_src/port_dst] port [!] [protocol] protocol

Elprimerparametropuedeserprocesssiqueremosquelosregistrosquecoincidanconlareglase
960

Reglasdefiltrado

introduzcanenelarbolodiscardsiporelcontrarioqueremosdescartarlascoincidencias. Elsegundoparametroindicasilacoincidenciadebeserconlaipdeorigen(ip_src)odedestino (ip_dst).Esteparametropuedeirnegadoconelcaracterdeexclamacion(!)delante,indicandoque queremoslosregistrosqueNOcoincidanconesaIP. EltercerparametroesunaIPseguidadeunamascaradered.SisedeseasolamenteunaIPenla reglasepodraespecificarobiensinmascaraobienconlamascara32.Siseespecificaotramascara seconsideraranlasIPsqueestendentrodedichorango. Por ejemplo, 192.168.50.0/24 seran lasIPs del rango 192.168.50.1192.168.50.254. En cambio 192.168.50.23y192.168.50.23/32correspondendeigualmaneraalaIP192.168.50.23. El cuartoparametro esparecidoalsegundo,solamentequeenvezdeconlaIPseespecificasi vamos a procesar o descartar (dependiendo de que aparezca o no el simbolo de exclamacion delante)unpuertodeorigen(port_src)odedestino(port_dst). Elquintoparametroeselpuertooconjuntodepuertosquelareglaharacoincidir. Sepuedenespecificarenlossiguientesformatos: Unsolopuertocontansoloponerdichonumero.Porejemplo8080. Unintervalodepuertosconunguioncomoseparador.Porejemplo2134paraqueevalue lospuertosdel21al34ambosincluidos. Unaenumeraciondemodulosseparadosporcomas.Porejemplo21,23,80,8080. Unacombinaciondeintervalosyenumeraciones.Porejemplo2134,80,8080,4323443244. Elsextoparametroeselprotocoloporelqueserealizalacomunicacion.Esteparametropuedeir negadoconelcaracterdeexclamacion(!)delante,indicandoquequeremoslosregistrosqueNO coincidanconeseprotocolo. Sepuedenespecificarenlossiguientesformatos: Unsoloprotocolo.PorejemploTCP. Unaenumeracindeprotocolos.PorejemoloTCP,UDP,FTP Unapalabraespecialparaindicarqueseescuchenlastransferenciasdetodoslosprotocolos. Enlugardelospuertosseponelapalabra"all"

53.4.2.1.Ejemplos
Algunosejemplosvalidosdereglasserian:
discard src_ip 192.168.70.222/32 !port_dst 21-23,80,8080 protocol all process src_ip 192.168.70.0/24 !port_src 0 !protocol TCP process src_ip 192.168.80.0/24 !port_dst 80,8080 protocol UDP,TCP

Lacombinaciondeestasreglasnosharaqueseprocesen: TodoslosregistrosquetengancomoIPorigenIPsdelared192.168.80.Xsiemprequeno tengancomopuertodestinoniel80niel8080yseandeprotocoloTCPoUDP. Todos los registros que tengan como IP origen IPs de la red 192.168.70.X independientemente del puerto de origen y que no sean de protocolo TCP excepto los descartadosporlaprimeraregla,queseranaquellosregistrosconlaIP192.168.70.222de origen cuyo puerto destino sea diferente a los puertos 21,22,23,80 y 8080 independientementedelprotocolo.

961

Datosgenerados

53.5.Datosgenerados
Losdatosgeneradosporel recolectorpasivo sonarchivosXML.SegeneranunarchivoXMLpor cadaIPdetectadayquecumplenlasreglasdefinidasenelarchivodeconfiguraci n.Estosarchivos se copian en la ruta definida en la variable incomingdir delarchivode configuracin quedebe coincidirconeldirectoriodata_indePandoraFMS. ElcontenidodelosarchivosXMLsonmdulosdePandoraFMSquecontienenlasestadsticasde redparaesaIP.Unejemplodearchivopuedeserelsiguiente:
<agent_data interval='300' os_name='Network' os_vesion='4.0.2' version='N/A' timestamp='AUTO' address='192.168.70.1' agent_name='IP_192.168.70.1'> <module> <name>Port_67</name> <type>async_data</type> <description>Total bytes of port 67</description> <interval>300</interval> <data>1312</data> </module> <module> <name>Port_67_Protocol_UDP</name> <type>async_data</type> <description>Total bytes of port 67 for protocol UDP</description> <interval>300</interval> <data>1312</data> </module> <module> <name>IP_192.168.70.141</name> <type>async_data</type> <description>Total bytes of IP 192.168.70.141</description> <interval>300</interval> <data>1312</data> </module> <module> <name>IP_192.168.70.141_Port_67</name> <type>async_data</type> <description>Total bytes of IP 192.168.70.141 for port 67</description> <interval>300</interval> <data>1312</data> </module> <module> <name>Protocol_UDP</name> <type>async_data</type> <description>Total bytes of Protocol UDP</description> <interval>300</interval> <data>1312</data> </module> </agent_data>

962

Datosgenerados

54DESARROLLANDOPANDORAFMS

963

ArquitecturageneraldelcdigodePandoraFMS

54.1.ArquitecturageneraldelcdigodePandoraFMS
54.1.1.Comohacerloslinkscompatibles
Paratodosloslinks,esnecesariousarlasfuncinui_get_full_url. Comousarui_get_full_url

Previamente a llamara la funcin es necesario incluir "functions_ui.php". Cuando necesitas la URL para refrescar: Por ejemplo
$url_refresh = ui_get_full_url();

Necesitas una url para un camino relativo Por ejemplo


Mtodoantiguo
$url = $config['homeurl'] . "/relative/path/file_script.php";

Mtodonuevo
$url = ui_get_full_url("/relative/path/file_script.php");

Y en javascript? Es igual de fcil. Por ejemplo


Mtodoantiguo
<?php ... $url = $config['homeurl'] . "/relative/path/file_script.php"; ... ?> <script type="text/javascript> ... jQuery.post ('<?php $url; ?>', { ... }); ... </script>

Mtodoantiguo
<?php ... $url = ui_get_full_url("/relative/path/file_script.php"); ...

964

ArquitecturageneraldelcdigodePandoraFMS

?> <script type="text/javascript> ... jQuery.post ('<?php $url; ?>', { ... }); ... </script>

Casosespeciales:

Los links directos hacia el index.php no es necesario usar esta funcin. Por ejemplo
echo '<form method="post" action="index.php? param=111&param=222&param=333&param=444&param=555&param=666">';

54.1.2.PuntosdeentradadeejecucindePandoraConsole
PandoraConsolesolodisponedeunoscuantospuntosdeentradadeejecucindelaaplicacinweb. AlcontrarioqueotrasaplicacioneswebcomoporejemploWordpressqueapenastieneunpuntode entradaparaelfrontendyunodebackendparalaadministraci n.OeldesarrollowebsdePyMEs quenormalmentecadaficherophpesunposiblepuntodeentrada.

54.1.2.1.Instalacin
Estepuntodeentradaespararealizarunainstalaci ndePandoraConsoleylabasededatos.Una vezfinalizadalainstalacinPandoraConsolesolicitaelborradodelficheroporseguridad.
install.php

54.1.2.2.EjecucinNormal
Todainteracindelosusuariosenlaconsolalarealizanporestepuntodeentrada.
index.php

54.1.2.3.PeticionesAJAX
Todaslaspeticionesajaxporsecurizarlas(yaquesechequeapermisosdeusuario)ymantenerlas coherentesyfcilesdemantenerserealizanatravsdeesteficheropasandoleporGEToPOSTel parmetropageladireccinrelativadelscriptaejecutar.
ajax.php

965

ArquitecturageneraldelcdigodePandoraFMS

54.1.2.4.Consolamovil
Para los terminales mviles que disponen de una pantalla sensiblemente mas peque a que el monitordeunordenador,PandoraFMSdisponedeunaversinreducidadelaconsolaparaestos dispositivos, reducida tanto en aspecto visual como simplificada la funcionalidad ya que estos dispositivostampocodisponendeunainterfazdeusooptima.
mobile/index.php

54.1.2.5.API
DesdelaversinPandoraFMS3.1disponedeunaAPIdetipoRESTconlaquetercerasaplicaciones puedeninteraccionaratravsdeuncanalsimpleporelpuerto80yconelprotocoloHTTP. Lasecurizacindeestescriptespormediodetresparmetros,validandolostres: QuelaIPdelclientequeloejecutaesteenlalistadeIPsvalidasseteadasenelsetupde PandoraConsoleomacheeconlaexpresinregulartambinguardadaenelmismolugar. QuelehayanpasadoporparmetroelAPIpasswordqueseseteatambinenelsetupde PandoraConsole. Quelepaseporparmetroeluseryelpassworddelusuarioquevaarealizarlaacci ndel API.
include/api.php

54.1.2.6.Casosespeciales
DentrodePandoraConsolehayvarioscasosespecialesparapuntosdeentrada,normalmentepor evitarloginoprocesamientosgeneralesquesehacenenelpuntodeentradaprincipal(index.php delraiz).
Extensin Tareas Cron

Estaextensinpormediodeuncomandowgetenelcronpuedeejecutarlastareasdecronquesele han asignado sin pedir login de forma interactiva. Por supuesto el conjunto de tareas esta delimitadoyconocidoimpidiendolaejecucindecdigomaliciososinlogin.
enterprise/extensions/cron/cron.php

Consola visual vista externa

Estegeneraunapginaconlavistadeunaconsolavisualapantallacompletasinsernecesarioun login,aunqueparaautentificacinsiesnecesariounhashgeneradoparacadavistaquesepublique deestamanera.


operation/visual_console/public_console.php

Consola Networkmap Popup detalle

Un popup que muestra la vista en detalle de un agente que tiene un item en el Consola
966

ArquitecturageneraldelcdigodePandoraFMS

Networkmap. Usa para autentificarse la session del usuario que se ha logueado en el Pandora Console.
enterprise/operation/agentes/networkmap_enterprise.popup.php

Grfica de mdulos Popup

Unpopupquemuestraunagrficadeunmoduloaldetalleyquepermitetambinconfigurarvarios parmetrosdevisualizacin.Usaparalaautenticacinlosdatoselusuarioquesehalogueadoenel PandoraConsole.


operation/agentes/stat_win.php

Grficas estticas

LasgrficasestticassonficherosdeimagenquesegeneranpormediodescriptsPHP,losdatosa mostrar,sisonextensosseguardanserializadosenunficheroespecialqueprocesaelscript,este ficherotieneuntiempodevidaparaevitaraccesosmaliciososyataquesporDOS.Paralaejecuci n deestescriptnoesnecesarioestarautentificadoenPandora.


include/graphs/fgraph.php

Informes

54.1.2.6.1.1.

Informe en CSV

ElscriptgeneraunficherodetextoquecontienelosdatosCSV,paralaautentifaci nusalosdatos delusuariologueado. enterprise/operation/reporting/reporting_viewer_csv.php


54.1.2.6.1.2. Informe en PDF

ElscriptgeneraunficherodetextoquecontienelosdatosPDF,paralaautentifaci nusalosdatos delusuariologueado. enterprise/operation/reporting/reporting_viewer_pdf.php

Eventos

54.1.2.6.1.3.

Eventos sonoros Popup

VentanadePopupqueestachequeandoperiodicamentesiexistealgneventoparamostrarlode formasonorayvisual,laautentificacinespormediodelosdatosdelusuariologueado. operation/events/sound_events.php


54.1.2.6.1.4. Eventos en CSV

ElscriptgeneraunficherodetextoquecontienelosdatosCSV,paralaautentifaci nusalosdatos
967

ArquitecturageneraldelcdigodePandoraFMS

delusuariologueado. operation/events/export_csv.php
54.1.2.6.1.5. Marquesina de eventos

VentanadepopupquemuestraunamarquesinaconloseventosdePandora.Paralaautentificaci n usaelAPIpassword. operation/events/events_marquee.php


54.1.2.6.1.6. Eventos en RSS

ElscriptgeneraunficherodetextoquecontienelosdatosCSV,paralaautentifaci nusalosdatos delusuariologueadoenunhashquevacomoparametro. operation/events/events_rss.php

54.2.Funcionesbsicasparaobtenerestadodeagente,moduloygrupos
54.2.1.CriterioparaEstadosycodificacinenlabasededatos
Descripcindeestadosdelagente: Crtico(colorrojo):1omsmdulosenestadocrtico. Adventencia(coloramarillo):1omsmdulosenestadoadvertenciayningunoenestado crtico. Desconocido (color gris): 1 o ms mdulos en estado desconocido y ninguno en estado crticoyadvertencia. Normal(colorverde):todoslosmdulosestnenestadonomal. CdigointernodelestadoenlaBBDD: Crtica:1 Advertencia:2 Desconocida:3 Normal:0

54.2.2.Agentes
54.2.2.1.FuncionesdeEstado
Estasfuncionesdevuelvenelnmerodemdulosyalertasdisparadasdeunagenteaplicandoun filtrodeformaopcional. Todaslasfuncionestienenlaopcin filter quefueaadidoparahacerlafuncinmsflexible.El contenidodelfiltroseaadealfinaldelaconsultasqlentodaslasfunciones.Conelfiltropuede aadir clasulas sql especficas para crear filtros usando las tablas: tagente_estado, tagente y tagente_modulo. agents_monitor_critical ($id_agent, $filter="") : Devuelve el nmero de mdulos en estadocrticoparaelagente. agents_monitor_warning ($id_agent, $filter="") : Devuelve el nmero de mdulos en estadoadvertenciaparaelagente. agents_monitor_unknown ($id_agent, $filter="") : Devuelve el nmero de mdulos en
968

Funcionesbsicasparaobtenerestadodeagente,moduloygrupos

estadodesconocidoparaelagente. agents_monitor_ok ($id_agent, $filter=""): Devuelve el nmero de mdulos en estado normalparaelagente. agents_get_alerts_fired($id_agent,$filter="") :Devuelveelnmerodealertasdisparadas paraelagente.

54.2.2.2.Funcionesauxiliares
Estasfuncionesrealizantareasrelacionadasconlosagentesparaalgunasvistas: agents_tree_view_alert_img($alert_fired):Devuelvelarutadelaimagendealertausada enlavistaTreeView. agetns_tree_view_status_img($critical,$warning,$unknown):Devuelvelaruttadela imagenparaelestadodelagenteusadaenalvistaTreeView.

54.2.3.Grupos
Estas funciones devuelven las estadsticas de agentes y mdulos para los grupos de agentes definidosenPandora.

Ten cuidado! Las funciones del servidor y la consola deben usar las mismas consultas sql para asegurar que el resultado es calculado de la misma forma

54.2.3.1.Funcionesdelservidor
pandora_group_statistics:Estafuncin calcula lasestadsticasdegruposielparmetro Userealtimestatisticsestdesactivado.

54.2.3.2.Funcionesdelaconsola
Lasfuncionesdelaconsolacalculanlasestadsticasenbaseaunarraydegruposdeagentes.Estas funcionesnousanlosagentesomdulosdeshabilitados. groups_agent_unknown ($group_array): Devuelve en nmero de agentes en estado desconocidoparalosgruposdados. groups_agent_ok($group_array):Devuelveennmerodeagentesenestadonormalpara losgruposdados. groups_agent_critical($group_array):Devuelveennmerodeagentesenestadocrtico paralosgruposdados. groups_agent_warning ($group_array): Devuelve en nmero de agentes en estado advertenciaparalosgruposdados. Estas funciones calculan las estadsticas para los mdulos. No usan los mdulos o agentes deshabilitados. groups_monitor_not_init($group_array):Devuelveelnmerodemdulosconestadonon inicalizadoparalosgruposdados. groups_monitor_ok($group_array):Devuelveelnmerodemdulosconestadonormal paralosgruposdados.
969

Funcionesbsicasparaobtenerestadodeagente,moduloygrupos

groups_monitor_critical ($group_array): Devuelve el nmero de mdulos con estado crticoparalosgruposdados. groups_monitor_warning ($group_array): Devuelve el nmero de mdulos con estado advertenciaparalosgruposdados. groups_monitor_unknown($group_array):Devuelveelnmerodemdulosconestado desconocidoparalosgruposdados. groups_monitor_alerts($group_array):Devuelveelnmerodemdulosconalertaspara losgruposdados. groups_monitor_fired_alerts($group_array):Devuelveelnmerodemdulosconalertas disparadasparalosgruposdados.

54.2.4.Mdulos
Estasfuncions devuelve lasestadsticas en baseal nombre del mdulo. No tiene en cuenta los agentesymdulosdeshabilitados. modules_agents_unknown ($module_name): Devuelve el nmero de agents en estado desconocidoquetienenunmduloconelnombredado. modules_agents_ok ($module_name):Devuelveelnmerodeagentsenestadonormal quetienenunmduloconelnombredado. modules_agents_critical ($module_name): Devuelve el nmero de agents en estado crticoquetienenunmduloconelnombredado. modules_agents_warning ($module_name): Devuelve el nmero de agents en estado advertenciaquetienenunmduloconelnombredado. Estasfunciones devuelven las estadsticasusando como filtro elgrupo de mdulo. No tiene en cuentaagentesomdulosdeshabilitados. modules_group_agent_unknown($module_group):Devuelveelnmerodeagentescon estadodesconocidoquetienenmdulosquepertenecenalgrupodemdulosdado. modules_group_agent_ok($module_group):Devuelveelnmerodeagentesconestado normalquetienenmdulosquepertenecenalgrupodemdulosdado. modules_group_agent_critical ($module_group): Devuelve el nmero de agentes con estadocrticoquetienenmdulosquepertenecenalgrupodemdulosdado. modules_group_agent_warning ($module_group): Devuelve el nmero de agentes con estadoadvertenciaquetienenmdulosquepertenecenalgrupodemdulosdado.

54.2.5.Polticas
Estasfuncionesdevuelvenelnmerodeagentesparacadaestadoypolticadada.Nousanlos agentesymdulosdeshabilitadosparacalcularelresultado. policies_agents_critical ($id_policy): Devuelve el nmero de agentes con estado crtico quepertenecenaunapolticadada. policies_agents_ok($id_policy):Devuelveelnmerodeagentesconestadonormalque pertenecenaunapolticadada. policies_agents_unknown ($id_policy): Devuelve el nmero de agentes con estado desconocidoquepertenecenaunapolticadada.
970

Funcionesbsicasparaobtenerestadodeagente,moduloygrupos

policies_agents_warning ($id_policy): Devuelve el nmero de agentes con estado advertenciaquepertenecenaunapolticadada.

54.2.6.OS
EstasfuncionescalculanlasestdsticasparalosagentesenbaselosSistemasOperativosalosque pertenecen.Nousanagentesomdulosdeshabilitados. os_agents_critical($id_os):Devuelveelnmerodeagentesenestadocrticoquepertencen alSistemaOperativodado. os_agents_ok($id_os):Devuelveelnmerodeagentesenestadonormalquepertencenal SistemaOperativodado. os_agents_warning($id_os):Devuelveelnmerodeagentesenestadoadvertenciaque pertencenalSistemaOperativodado. os_agents_unknown($id_os):Devuelveelnmerodeagentesenestadodesconocidoque pertencenalSistemaOperativodado.

54.3.Desarrolloyampliacin
Lamayoradelasampliacioneshansidodescritascomoanexosindependientes,especializadospara creacindeplugindeservidor,pluginsdeagenteUnix,yextensionesdelaconsola.Enestecap tulo sedescribecomocolaborarenPandora FMSycomocompilarel agentedeWindowsdesde las fuentes.Enelfuturo,cualquierotrotemarelacionadoconeldesarrolloquenotengaunap ndice especficopasaraengrosarestecaptulo.

54.3.1.ColaborarconelproyectoPandoraFMS
Este proyecto lo mantienen desarrolladores voluntarios con sus colaboraciones. Nuevos desarrolladores,redactoresdedocumentacin,ogentequequieraayudarsersiemprebienvenida. Unabuenamaneradeempezaressubscribndoseanuestraslistasdecorreoy/oalforo.

54.3.2.Subversion(SVN)
El desarrollo dePandora FMS se hace mediante SVN (code revision control system). Se puede encontrarmsinformacinacercadecmoentraralosrepositoriosdeSVNen:OpenIdeasWiki. NuestrosistemadeSVNespblicoyestalojadoenSourceforge: Navegar:http://sourceforge.net/p/pandora/code/HEAD/tree/ UsandolalneadecomandosdelclientedeSVN:
svn co https://svn.code.sf.net/p/pandora/code/ pandora

54.3.3.Bugs/Fallos
InformaracercadeposibleserroresnosayudaamejorarPandoraFMS.Porfavor,antesdeenviar uninformedeerror,revisanuestrabasededatosdebugsyencasodedetectarunonoreportado, envalousandolaexcelenteherramientadeSourceforgeparaseguimientoeinformedefallosenla WEBdelproyecto:http://sourceforge.net/projects/pandora/

971

Desarrolloyampliacin

54.3.4.Listasdecorreo
Laslistasdecorreosonunaexcelentemanerademantenersealdaporcorreoelectrnico.Tenemos unalistadecorreopblicaparausuariosyanuncios(conpocotrfico)yunalistadecorreode desarrolloparadiscusionestcnicasynotificaciones(avecesdiarias)deldesarrollomedianteel sistemaautomticodenotifiacindenuestroSVN(Sistemadecontroldeversindecdigo).

54.4.CompilacindelagentedeWindowsdesdeelcdigo
54.4.1.Obtenerlaltimaversindelcdigo
Paraobtenerla ltimaversindelcdigoesimprescindiblehacerlodescargandolasfuentesdel repositoriodecdigoSubVersiondeSourceforge,dondetenemospublicadoelrepositoriooficialde PandoraFMS.Paraello,necesitainstalarunclientedeSubversion.Cuandolotengalisto,ejecutelo siguientedesdelalneadecomandos:
svn co https://svn.sourceforge.net/svnroot/pandora pandora

54.4.2.CompilacindesdeWindows
Para compilar/linkar desde las fuentes, necesitar obtener la ltima version del entorno de desarrollo (IDE) DevCPP, que incluye a su vez el compilador MinGW. Descrguela desde este enlace. Abra el fichero PandoraAgent.dev con DevCPP y construya el proyecto. Despus de ajustar diferentesparmetros(pathsprincipalmente),deberiasercapazdecompilarelagenteWindows. Si encuentra problemas al compilar desde las fuentes, contacte directamente con el jefe de desarrollodelequipoWindows:(ramon.novoa @artica.es)obienatravsdenuestrapginaWEB deSourceforge.

54.4.3.CompilacincruzadadesdeLinux
Paralograrunacompilacincruzada(estosignificacrearelejecutablenativodeWindowsdesdeun entornoLinux),necesitaseguirlossiguientespasos:

54.4.3.1.InstaleelcompiladorWinGWparaLinux
ParaentornosUbuntu/debian:
sudo aptitude install mingw32

ParaentornosSUSEoRPMcompatibles,puedehacerloconzypperomanualmenteconestaURL:
http://download.opensuse.org/repositories/CrossToolchain:/mingw/openSUSE_11.1/

54.4.3.2.Instalacindelaslibreriaseincludesextrasquenecesitaelagente
win32api odbc++
972

CompilacindelagentedeWindowsdesdeelcdigo

curl openssl zlib BoostC++libraries(http://sourceforge.net/projects/boost/files/)

Por ejemplo, para instalar el paquete de librias OpenSSL, vaya a http://sourceforge.net/projects/devpaks/files ydescargeelfichero:
openssl-0.9.8e-1cm.DevPak

Descomprimaelficheroopenssl0.9.8e1cm.DevPak:
tar jxvf openssl-0.9.8e-1cm.DevPak

CopielaslibreraseincludesasuentornodecompilacioncruzadaconMinGW:
cp lib/*.a /usr/i586-mingw32msvc/lib/ cp -r include/* /usr/i586-mingw32msvc/include/

Descargueeinstalelospaquetes'autogen'y'autoconf'
sudo apt-get install autogen autoconf

VayaaldirectoriodondeseencuentranlasfuentesdelagentedeWindowsyejecute:
./autogen.sh

Existeunaalternativa,masrpida,cmodayfcil,peronecesitar resolverposiblesproblemasde dependenciasy versiones usted solo. Hemos hechoun tarballcon todas las librerias e includes necesarias y las hemos subido al sitio WEB oficial con el nombre de mingw_pandorawin32_libraries_9Oct2009.tar.gz

54.4.3.3.Compilacinylinkado
Despusdeinstalarelcompilador,vayaaldirectoriodondeseencuentranlasfuentesdelagentede Windowsyejecute
./configure --host=i586-mingw32msvc && make

EstodeberacompilarylinkarelejecutabledelagentedePandoraFMSparaWindows.

54.5.APIdePandoraFMS
ExisteunaAPIexternadePandoraFMSparapoderenlazartercerasaplicacionesconPandoraFMS, tanto para obtener informacin de Pandora FMS como para introducir informacin dentro de PandoraFMS.TodaestadocumentacinestenelapndicedeAPIExternadePandoraFMS.Puede encontrarmasdocumentacinenPandora:Documentationes:AnexoAPIexternal.

973

FormatodelosficherosdedatosXML

54.6.FormatodelosficherosdedatosXML
ConocerelformatodelosXMLdedatosdePandoraFMStepuedeayudaramejorarlospluginsde agente,crearagentespersonalizadososimplementeenviarficherosXMLpersonalizadosalservidor dedatosdePandoraFMS. ComocualquierdocumentoXML,elficherodedatosdeberacomenzarconunadeclaracinXML:
<?xml version='1.0' encoding='UTF-8'?>

Acontinuacinvieneelelementoagent_dataquedefinealagentequeenvalosdatos.Soportalos siguientesatibutos:Nextcomestheagent_dataelement,thatdefinestheagentsendingthedata.It supportsthefollowingattributes: description:Descripcindelagente. group:Nombredelgrupoalqueperteneceelagente(debeexistirenlabasededatosde PandoraFMS). os_name:Nombredelsistemaoperativoenelquecorreelagente(debeexistirenlabasede datosdePandoraFMS). os_version:Cadenalibrequedescribelaversindelsistemaoperativo. interval:Intervalodelagente(ensegundos). version:Cadenaconlaversindelagente. timestamp: Marca de tiempo que indica cundo se gener el XML (YYYY/MM/DD HH:MM:SS). agent_name:Nombredelagente. timezone_offset:Desplazamientoquesesumaalamarcadetiempo(enhoras). tilsise trabajaconUTC. Porejemplo:
<agent_data description= group= os_name='linux' os_version='Ubuntu 10.10' interval='30' version='3.2(Build 101227)' timestamp='2011/04/20 12:24:03' agent_name='foo' timezone_offset='0'>

A continuacin necesitamos un elemento module por cada mdulo, y se pueden anidar los siguienteselementosparadefinirelmdulo: name:Nombredelmdulo. description:Descripcindelmdulo. type:Tipodelmdulo(debeexistirenlabasededatosdePandoraFMS). data:Datodelmdulo. max:Valormximodelmdulo. min:Valormnimodelmdulo. post_process:Valordeposprocesado. module_interval:Intervalodelmdulo(intervaloensegundos/intervalodelagente). min_critical:Valormnimoparaelestadocrtico. max_critical:Valormximoparaelestadocrtico. min_warning:Valormnimoparaelestadodealerta. max_warning:Valormximoparaelestadodealerta. disabled: Deshabilita (0) o habilita (1) el mdulo. Los mdulos deshabilitados no se procesan. min_ff_event:UmbraldeFF(ver[1]). status:Estadodelmdulo(NORMAL,WARNINGorCRITICAL).Loslmitesdelosestados
974

FormatodelosficherosdedatosXML

crticoydealertaseignoransiseespecificaelestado. Cualquierotroelementosesalvarcomoinformacinextendidadelmduloenlabasededatosde PandoraFMS:

Unmdulodeberteneralmenosunelementoname,typeydata. Porejemplo:
<module> <name>CPU</name> <description>CPU usage percentage</description> <type>generic_data</type> <data>21</data> </module>

PuedehabercualquiernmerodeelementosenunficherodedatosXML.Por ltimo,nohayque olvidarcerrarlaetiquetaagent_data!

975

FormatodelosficherosdedatosXML

55CLIDEPANDORAFMS

976

CLIdePandoraFMS

La CLI (CommandLineInterface o Interfazde Lnea deComandos) de Pandora FMSseutiliza haciendollamadasenlneadecomandossobreelfichero /util/pandora_manage.pl.Estemtodo es especialmente til para integrar aplicaciones de terceros con Pandora FMS mediante tareas automatizadas.Bsicamenteconsisteenunllamadaconlosparmetrosformateadospararealizar unaaccincomolacreacinyeliminacindeunagente,unmduloounusuario,entreotras. ElCLIesunficheroenPerl,porloqueunallamadaalCLIestanfcilcomo:
perl pandora_manage.pl <ruta de pandora_server.conf> <opcin> <parmetros de esa opcin>

ElCLIdePandoraFMSdisponedelassiguientesopciones: Agentes create_agent:Crearunagente update_agent:Actualizaruncampodeunagente delete_agent:Eliminarunagente disable_group:Desactivarlosagentesdetodoungrupo enable_group:Activarlosagentesdetodoungrupo create_group:Crearungruponuevo stop_downtime:Detieneunadesconexinprogramada get_agent_group:Obtenerelnombredelgrupodeunagente get_agent_modules:Obtenerlalistademdulosdeunagente get_agents:Obtenerlalistadeagentesdeacuerdoaunosparametros delete_conf_file:Borrarelficherodeconfiguracindeunagente clean_conf_file:Limpiarelficherodeconfiguracindeunagenteeliminandotodos losmdulos,polticasycolecciones get_bad_conf_files: Obtener los ficheros mal configurados (sin los tokens principales) Mdulos create_data_module:Aadirunmdulodedatosaunagente create_network_module:Aadirunmduloderedaunagente create_snmp_module:AadirunmduloSNMPaunagente create_plugin_module:Aadirunmdulodetipopluginaunagente delete_module:Eliminarunmdulodeunagente data_module:Insertardatosaunmdulo get_module_data: Muestra los datos de un mdulo en los ltimos X segundos (interval)enformatoCSV delete_data Eliminarelhistricodedatosdeunmdulo,delosmdulosdeun agenteodelosmdulosdelosagentesdeungrupo update_module:Actualizaruncampodeunmdulo Alertas create_template_module:Aadirunaplantilladealertaaunagente delete_template_module:Eliminarunaplantilladealertadeunagente create_template_action:Aadirunaaccinaunaalerta delete_template_action:Eliminarunaaccindeunaalerta disable_alerts:Desactivarlasalertasentodoslosgrupos enable_alerts:Activarlasalertasentodoslosgrupos create_alert_template:Crearunaplantilladealerta delete_alert_template:Eliminarunaplantilladealerta update_alert_template:Actualizaruncampodeunaplantilladealerta
977

CLIdePandoraFMS

validate_all_alerts:Validartodaslasalertas Usuarios create_user:Crearunusuario delete_user:Eliminarunusuario update_user:Actualizaruncampodeunusuario enable_user:Activarunusuariodado disable_user:Desactivarunusuariodado create_profile:Aadirunperfilaunusuario delete_profile:Eliminarunperfildeunusuario add_profile_to_user:Aadirunperfilaunusuarioenungrupo disable_eacl:DesactivarelsistemaACLenterprise enable_eacl:ActivarelsistemaACLenterprise Eventos create_event:Crearunevento validate_event:Validarunevento validate_event_id:Validaruneventodadosuidentificador. get_event_info:Mostrarinformacinsobreuneventodadosuidentificador. Incidentes create_incidentCrearunincidente Polticas apply_policyFuerzaelaplicadodeunapoltica apply_all_policies:Aadealacoladeaplicacindepolticastodaslaspolticas add_agent_to_policy:Aadirunagenteaunapoltica delete_not_policy_modules Eliminartodoslosmdulosnoasociadosaninguna polticadelarchivodeconfiguracin disable_policy_alerts:Desactivarlasalertasdeunapoltica create_policy_data_module:Crearunmodulodedatosenunapoltica create_policy_network_module:Crearunmodulodedatosenunapoltica create_policy_snmp_module:CrearunmodulodetipoSNMPenunapoltica create_policy_plugin_module:Crearunmodulodetipopluginenunapoltica validate_policy_alerts:Validartodaslasalertasdeunapoltica get_policy_modules:Obtenerlalistademdulosdeunapoltica get_policies: Obtener todas las polticas (sin parmetros) o las polticas de un agente(consunombrecomoparmetro) Herramientas exec_from_file:EjecutacualquieropcindelCLIusandomacrosdesdeunfichero CSV

55.1.1.Agentes
55.1.1.1.Create_agent
Parmetros: <nombre_agente> <sistema_operativo> <nombre_grupo> <nombre_servidor> [<direccion><descripcion><intervalo>] Descripcin: Se crear un agente con el nombre, el sistema operativo, el grupo y el servidor especificados.Opcionalmenteselepodrotorgarunadireccin(IPonombre),unadescipcinyun intervaloensegundos(pordefecto300). Ejemplo:

978

CLIdePandoraFMS

perl pandora_manage.pl /etc/pandora/pandora_server.conf --create_agent 'Mi agente' Windows Databases Central-Server 192.168.12.123 'Descripcin del agente' 600

55.1.1.2.Delete_agent
Parmetros:<nombre_agente> Descripcin:Seeliminarelagentepasadocomoparmetrosunombre. Ejemplo:
perl pandora_manage.pl /etc/pandora/pandora_server.conf --delete_agent 'Mi agente'

55.1.1.3.Disable_group
Parmetros:<nombre_grupo> Descripcin:Losagentesdelgrupopasadocomoparmetroserndesactivadosconlaejecucinde estaopcin.Sisepasa'All'comogruposedesactivarntodoslosagentesdetodoslosgrupos. Ejemplo:
perl pandora_manage.pl /etc/pandora/pandora_server.conf --disable_group Firewalls

55.1.1.4.Enable_group
Parmetros:<nombre_grupo> Descripcin: Losagentesdelgrupopasadocomoparmetrosernactivadosconlaejecucinde estaopcin.Sisepasa'All'comogruposeactivarntodoslosagentesdetodoslosgrupos. Ejemplo:
perl pandora_manage.pl /etc/pandora/pandora_server.conf --enable_group All

55.1.1.5.Create_group
Parmetros:<group_name>[<parent_group_name><icon><description>] Descripcin:Secrearungruposiyanoexisteyopcionalmenteselepodrasignarungrupopadre yunicono(elnombredeliconosinextensin).Elgrupopadrepordefectoes'All'yeliconoes cadenavaca(sinicono). Ejemplo:
perl pandora_manage.pl /etc/pandora/pandora_server.conf --create_group 'Nuevo grupo' 'Grupo padre' 'computer'

979

CLIdePandoraFMS

55.1.2.Modulos
55.1.2.1.Create_data_module
Parmetros: <nombre_modulo> <tipo_modulo> <nombre_agente> [<descripcion> <grupo_modulo> <min> <max> <post_process> <intervalo> <warning_min> <warning_max><critical_min><critical_max><history_data><fichero_definicion>] Descripcin: Secrear unmdulodetipodataenunagenteconelnombredelm dulo,tipode mduloynombredelagentedondesecrear.Opcionalmenteselepodr otorgarunadescripcin, elgrupodelmdulo,unosvaloresminymax,unvalorpost_process,unintervaloensegundos, unosvaloreswarningminymax,unosvalorescriticalminymax,unvalorhistorydatayunfichero dedefinicindelmdulo. Elficherodedefinicindelmdulocontendralgodeesteestilo:
module_begin module_name Mi modulo module_type generic_data module_exec cat /proc/meminfo module_end

| grep MemFree | awk '{ print $2 }'

Losvalorespordefectoson0paralosminimosym ximos,history_dataypost_processy300para elintervalo. Ejemplo:


perl pandora_manage.pl /etc/pandora/pandora_server.conf --create_data_module 'Mi modulo' generic_data 'Mi agente' 'Descripcion del modulo' 'General' 1 3 0 300 0 0 0 0 1 /home/user/ficherodefinicion

Siseintroduceunnombreotipodiferenteentrelosparmetrosyladefinicindelfichero,tendr prioridadloestablecidoenelfichero.

55.1.2.2.Create_network_module
Parmetros: <nombre_modulo> <tipo_modulo> <nombre_agente> <direccion_modulo> [<puerto_modulo> <descripcion> <grupo_modulo> <min> <max> <post_process> <intervalo><warning_min><warning_max><critical_min><critical_max><history_data>] Descripcin:Secrearunmduloderedenunagenteconelnombredelmdulo,tipodemdulo, nombredelagentedondesecrear yladireccindelmduloespecificados.Opcionalmentesele podr otorgar un puerto, una descripcin, unos valores min y max, un valor post_process, un intervaloensegundos,unosvaloreswarningminymax,unosvalorescriticalminymax,yunvalor historydata. Losvalorespordefectoson0paralosminimosym ximos,history_dataypost_processy300para elintervalo. ElpuertoesoptativoyaquelomdulosdetipoICMPnoprecisande l.Enelrestodetipossique esnecesarioespecificarunmdulo. Ejemplo:
perl pandora_manage.pl /etc/pandora/pandora_server.conf --create_network_module 'Mi modulo' remote_tcp 'Mi agente' 192.168.12.123 8080 'Descripcion del modulo'

980

CLIdePandoraFMS

'General' 1 3 0 300 0 0 0 0 1

55.1.2.3.Create_snmp_module
Parmetros: <nombre_modulo> <tipo_modulo> <nombre_agente> <direccion_modulo> <puerto_modulo><version>[<community><oid><descripcion><grupo_modulo><min> <max> <post_process> <intervalo> <warning_min> <warning_max> <critical_min> <critical_max> <history_data> <snmp3_priv_method> <snmp3_priv_pass> <snmp3_sec_level><snmp3_auth_method><snmp3_auth_user><snmp3_priv_pass>] Descripcin:Secrear unmdulodetiposnmpenunagenteconelnombredelm dulo,tipode mdulo, nombre del agente donde se crear, la direccin del mdulo, el puerto asociado y la versindeSNMPespecificados.Opcionalmenteselepodr suministrarunacommunity,unaOID, unadescripcin,elgrupodelmdulo,unosvaloresminymax,unvalorpost_process,unintervalo ensegundos,unosvaloreswarningminymax,unosvalorescriticalminymax,unvalorhistory dataylosparmetrosdesnmp3talescomomtodos,passwords,etc. Losvalorespordefectoson0paralosminimosym ximos,history_dataypost_processy300para elintervalo. Ejemplo:
perl pandora_manage.pl /etc/pandora/pandora_server.conf --create_snmp_module 'Mi modulo' remote_snmp_inc 'Mi agente' 192.168.12.123 8080 1 mycommunity myoid 'Descripcion del modulo'

55.1.2.4.Create_plugin_module
Parmetros: <nombre_modulo> <tipo_modulo> <nombre_agente> <direccion_modulo> <puerto_modulo> <nombre_plugin> <usuario> <password> <parametros> [<descripcion> <grupo_modulo> <min> <max> <post_process> <intervalo> <warning_min> <warning_max><critical_min><critical_max><history_data>] Descripcin:Secrearunmdulodetipopluginenunagenteconelnombredelm dulo,tipode mdulo,nombredelagentedondesecrear,ladireccindelmdulo,elpuertoasociadoynombre deplugincorrespondiente.Opcionalmenteselepodr suministrarunadescripcin,elgrupodel mdulo,unosvaloresminymax,unvalorpost_process,unintervaloensegundos,unosvalores warningminymax,unosvalorescriticalminymax,yunvalorhistorydata. Losvalorespordefectoson0paralosminimosym ximos,history_dataypost_processy300para elintervalo. Ejemplo:
perl pandora_manage.pl /etc/pandora/pandora_server.conf --create_plugin_module 'Mi modulo' generic_data 'Mi agente' 192.168.12.123 8080 myplugin myuser mypass 'param1 param2 param3' 'Descripcion del modulo' 'General' 1 3 0 300 0 0 0 0 1

55.1.2.5.Delete_module
Parmetros:<nombre_modulo><nombre_agente> Descripcin:Seeliminarunmdulodeunagentepasadoselnombredeamboscomopar metro.
981

CLIdePandoraFMS

Enelcasodequeestemduloest enunagentelocal,tambin ser eliminado delficherode configuracinsisedisponedelaversinEnterprise. Ejemplo:


perl pandora_manage.pl /etc/pandora/pandora_server.conf --delete_module 'Mi modulo' 'Mi agente'

55.1.2.6.Data_module
Parmetros: <nombre_servidor> <nombre_agente> <nombre_modulo> <tipo_modulo> [<fechahora>] Descripcin:Semandarndatosaunmdulodeunagentepasndolecomoparmetroelnombre delservidor,delagente,delmduloyeltipodemdulo.Deformaoptativasepodr enviarla fechahoraquefigurar comodeenvodelosdatosconformato24horas:'YYYMMDDHH:mm'. Enelcasodenoenviaresteparmetrofigurarlafechaactual. Ejemplo:
perl pandora_manage.pl /etc/pandora/pandora_server.conf --data_module ServidorGeneral 'Mi agente' 'Mi modulo' 'generic_data' '2010-05-31 15:53'

55.1.2.7.Delete_data
Parmetros: <nombre_modulo> <nombre_agente> | a <nombre_agente> | g <nombre_grupo> Descripcin:Seeliminar delhistricodedatostodoslosdatosasociadosaunm duloenelcaso depasarcomoparmetrolaopcinmyelnombredestejuntoaldesuagente;delosmdulosde unagente,sicomoparmetrosepasalaopcin'a'yelnombredeunagenteodelosm dulosde todoslosagentesdeungrupo,sicomoparmetrosepasalaopcin'g'yelnombredeungrupo. Ejemplo:
perl pandora_manage.pl /etc/pandora/pandora_server.conf --delete_data -a 'Mi agente'

Enesteejemploseeliminaranlosdatoshistricosdetodoslosmdulospertenecientesalagente 'Miagente'.

55.1.2.8.Update_module
Parmetros:<module_name><agent_name><field_to_update><new_value> Descripcin:Seactualizaruncampodadodeunmduloexistente.Sedetectareltipodemdulo parapermitiractualizarloscamposespecficosdecadatipo. Loscamposposiblesson: Comunes a cualquier mdulo: module_name, agent_name, description, module_group, min, max, post_process, history_data, interval, warning_min, warning_max, critical_min, critical_max,warning_str,critical_str Paralosmdulosdered:ff_threshold,module_address,module_port Para los mdulos de tipo SNMP: ff_threshold, module_address, module_port, version,
982

CLIdePandoraFMS

community, oid, snmp3_priv_method, snmp3_priv_pass, snmp3_sec_level, snmp3_auth_method,snmp3_auth_user,snmp3_priv_pass Para los mdulos de tipo plugin: ff_threshold, module_address, module_port, plugin_name,user,password,parameters Ejemplo:
perl pandora_manage.pl /etc/pandora/pandora_server.conf --update_module 'Nombre del mdulo' 'Nombre del agente' description 'Nueva descripcin'

55.1.3.Alertas
55.1.3.1.Create_template_module
Parmetros:<nombre_plantilla><nombre_modulo><nombre_agente> Descripcin: Se asignar una plantilla a un mdulo de un agente pasndole el nombre de la plantilla,elmduloyelagentecomoparmetro. Ejemplo:
perl pandora_manage.pl /etc/pandora/pandora_server.conf --create_template_module plantilla001 'Mi modulo' 'Mi agente'

55.1.3.2.Delete_template_module
Parmetros:<nombre_plantilla><nombre_modulo><nombre_agente> Descripcin:Sedesasignar unaplantilladeunmdulodeunagentepasndoleelnombredela plantilla,elmduloyelagentecomoparmetro. Ejemplo:
perl pandora_manage.pl /etc/pandora/pandora_server.conf --delete_template_module plantilla001 'Mi modulo' 'Mi agente'

55.1.3.3.Create_template_action
Parmetros: <nombre_accion> <nombre_plantilla> <nombre_modulo> <nombre_agente> [<fires_min><fires_max>] Descripcin:Seaadirunaaccinaunaalertapasandocomoparmetroselnombredelaaccin yeldelaplantilla,mduloyagentequeconformanlaalerta.Tambinselepodrnpasardeforma optativalosvaloresdeescaladofires_minyfires_max(pordefecto0). Ejemplo:
perl pandora_manage.pl /etc/pandora/pandora_server.conf --create_template_action accin012 plantilla001 'Mi modulo' 'Mi agente' 0 4

983

CLIdePandoraFMS

55.1.3.4.Delete_template_action
Parmetros:<nombre_accion><nombre_plantilla><nombre_modulo><nombre_agente> Descripcin:Seaadirunaaccinaunaalertapasandocomoparmetroselnombredelaaccin yeldelaplantilla,mduloyagentequeconformanlaalerta. Ejemplo:
perl pandora_manage.pl /etc/pandora/pandora_server.conf --delete_template_action accin012 plantilla001 'Mi modulo' 'Mi agente'

55.1.3.5.Disable_alerts
Parmetros:No Descripcin: Todaslasalertasserndesactivadasconlaejecucindeestaopcin.Sicuandose ejecutatuvieramosalgunaalertadesactivadayvolvemosaactivartodas,estatambi nseractivada. Ejemplo:
perl pandora_manage.pl /etc/pandora/pandora_server.conf --disable_alerts

55.1.3.6.Enable_alerts
Parmetros:No Descripcin:Todaslasalertassernactivadasconlaejecucindeestaopcin.Sicuandoseejecuta tuvieramosalgunaalertaactivadayvolvemosadesactivartodas,estatambi nserdesactivada. Ejemplo:
perl pandora_manage.pl /etc/pandora/pandora_server.conf --enable_alerts

55.1.3.7.Create_alert_template
Parmetros: <template_name> <condition_type_serialized> <time_from> <time_to> [<description> <group_name> <field1> <field2> <field3> <priority> <default_action> <days> <time_threshold> <min_alerts> <max_alerts> <alert_recovery> <field2_recovery> <field3_recovery><condition_type_separator>] Descripcin:Secrearunaplantilladealerta. Elcampo<condition_type_serialized> sonlasopcionesdetipodeplantillaserializadasconel separador ';' por defecto. Se puede cambiar el separador con el par metro <condition_type_separator>paraevitarconflictosenalgunasopcionesisexistieralaposibilidadde quecontuviesenelcaracterpordefecto. Lasposibilidadessonlassiguientes: NOTA:Enestosejemplosesusadoelseparadorpordefecto';'yelcampomatches_valueesunvalor binarioparaestablecersilaalertasedisparar cuandoelvalorcoincidaonoconlascondiciones. Expresinregular: Sintaxis:<type>;<matches_value>;<value> Ejemplo:regex;1;stopped|error(Alertacuandoelvalorcoincida conlaexpresin
984

CLIdePandoraFMS

regular'stopped|error') Mx.ymn.: Sintaxis:<type>;<matches_value>;<min_value>;<max_value> Ejemplo:max_min;0;30;50(Alertacuandoelvalorestfueradelintervalo3050) Mx.: Sintaxis:<type>;<max_value> Ejemplo:max;70(Alertacuandoelvaloresmayorde70) Mn.: Sintaxis:<type>;<min_value> Ejemplo:min;30(Alertacuandoelvaloresmenorde30) Iguala: Sintaxis:<type>;<value> Ejemplo:equal;0(Alertacuandoelvaloresiguala0) Diferentede: Sintaxis:<type>;<value> Ejemplo:not_equal;100(Alertacuandoelvaloresdistintode100) Estadoadvertencia: Sintaxis:<type> Ejemplo:warning(Alertacuandoelestadocambieaadvertencia) Estadocrtico: Sintaxis:<type> Ejemplo:critical(Alertacuandoelestadocambieacrtico) Estadodesconocido: Sintaxis:<type> Ejemplo:unknown(Alertacuandoelestadocambieadesconocido) Enestadodecambio: Sintaxis:<type>;<matches_value> Ejemplo:onchange;1(Alertacuandoelvalorcambie) Siempre: Sintaxis:<type> Ejemplo:always(Alertasiempre) Elcampo<days> sonsietecaracteresbinariosqueespecificanlosd asdelasemanacuandola alertaestaractivada.p.e.:0000011paraactivarlaalertasoloSbadoyDomingo. Example:
perl pandora_manage.pl /etc/pandora/pandora_server.conf.2011-10-25 --create_alert_template 'nombre de la plantilla' "max_min@1@3@5" 09:00 18:00 "Manda un email cuando el valor est en el intervalo 3-5, entra las 9AM y las 6PM, y solo los Lunes. El separador es forzado a @" "Unknown" "mail@mail.com" "asunto" "mensaje" 3 "Mail to XXX" 1000000 38600 1 2 0 @

55.1.4.Usuarios
55.1.4.1.Create_user
Parmetros:<nombre_usuario><contrasea><es_admin>[<comentarios>] Descripcin:Secrearunusuarioconelnombreypasswordrecibidoscomopar metro.Ademsse recibirunvalorbinarioqueespecifiquesielusuarioseronoadministrador.Deformaoptativase podrnenviartambincomentariosacercadelusuariocreado.
985

CLIdePandoraFMS

Ejemplo:
perl pandora_manage.pl /etc/pandora/pandora_server.conf --create_user usuario002 'renardo' 0 'Este usuario tiene como clave renardo'

55.1.4.2.Delete_user
Parmetros:<nombre_usuario> Descripcin:Seeliminarunusuariopasadosunombrecomoparmetro. Ejemplo:
perl pandora_manage.pl /etc/pandora/pandora_server.conf --delete_user usuario002

55.1.4.3.Create_profile
Parmetros:<nombre_usuario><nombre_perfil><grupo> Descripcin:Seaadirunperfilaunusuariopasndolecomoparmetroelnombredeusuario,el nombre del perfil y el nombre del grupo sobre el que tendr los privilegios de ese perfil. Se especificarelgrupo'All'sisedeseaqueelperfiltengavalidezentodoslosgrupos. Ejemplo:
perl pandora_manage.pl /etc/pandora/pandora_server.conf --create_profile usuario002 'Group coordinator' All

55.1.4.4.Delete_profile
Parmetros:<nombre_usuario><nombre_perfil><grupo> Descripcin:Seeliminarunperfildeunusuariopasndolecomoparmetroelnombredeusuario, elnombredelperfilyelnombredelgruposobreelquetienelosproivilegioselperfil.Sielperfila eliminarestasociadoal"grupoAll"deberemosespecificarcomogrupo"All". Ejemplo:
perl pandora_manage.pl /etc/pandora/pandora_server.conf --delete_profile usuario002 'Chief Operator' Applications

55.1.4.5.Disable_aecl
Parmetros:No Descripcin: El sistema ACL del modo enterprise ser desactivado en la configuracin con la ejecucindeestaopcin. Ejemplo:
perl pandora_manage.pl /etc/pandora/pandora_server.conf --disable_eacl

986

CLIdePandoraFMS

55.1.4.6.Enable_aecl
Parmetros:No Descripcin:ElsistemaACLdelmodoenterpriseseractivadoenlaconfiguracinconlaejecucin deestaopcin. Ejemplo:
perl pandora_manage.pl /etc/pandora/pandora_server.conf --enable_eacl

55.1.5.Events
55.1.5.1.Create_event
Parmetros: <nombre_evento> <tipo_evento> <nombre_grupo> [<nombre_agente> <nombre_modulo> <estado_evento> <severity> <nombre_plantilla> <nombre_usuario> <comentario><fuente><id_extra><tags>] Descripcin: Secrear uneventoconlosdatosnombreytipodelevento,ynombredelmodulo, agenteygrupoasociados.Opcionalmentesepodrenviar nombredelagente nombredelmdulo estadodelevento(0sinoestvalidadoy1siloest). severidad:0(Mantenimiento),1(Informativo),2(Normal),3(Advertencia),4(Crtica). nombredelaplantillaenelcasodequeestasociadoaunaalerta. nombredeusuario comentario fuente id_extra etiquetas: El formato de las etiquetas debe ser <etiqueta> <url>,<etiqueta> <url> Sepuedenaadirvariasetiquetasseparadasporcomas.Esimportantequenohayaespacios entrelacomaylasiguienteetiqueta.

El tipo de evento es un campo obligatorio y podr tomar alguno de estos valores: unknown, alert_fired, alert_recovered, alert_ceased, alert_manual_validation, recon_host_detected, system, error,new_agent,going_up_warning,going_up_criticalgoing_down_warning,going_down_normal, going_down_critical,going_up_normal,configuration_change. Ejemplo:
perl pandora_manage.pl /etc/pandora/pandora_server.conf --create_event ' Evento CLI' system Firewalls 'Mi agente' 'Mi modulo' 0 4 Plantilla004

55.1.5.2.Validate_event
Parmetros: <nombre_agente> <nombre_modulo> <fechahora_min> <fechahora_max> <nombre_usuario><criticidad><nombre_plantilla> Descripcin: Se validarn todos los eventos atendiendo a una serie de filtros. Los filtros configurablessonelnombredelagente,elnombredelmodulo,unafechahoram nimayunafecha horamxima,elnombredeusuario,lacriticidadyelnombredelaplantillaasociada.

987

CLIdePandoraFMS

Sepuedencombinarlosparmetrosdemuchasmaneras,dejandoenblancoconcomillasvac as('') losquenosequieranutilizaryrellenandolosdems. Ejemplo:


perl pandora_manage.pl /etc/pandora/pandora_server.conf --validate_event 'Mi agente' 'Mi modulo' '' '2010-06-02 22:02'

Enesteejemplosevalidarantodosloseventosasociadosalmdulo'Mimdulo'delagente'Mi agente'cuyafechaseainferioral2dejuniode2010omitiendoelrestodefiltros.As mismose podranfiltrarloseventosentredosfechasrellenandoambasolosquetenganunafechasuperiora unadada,rellenandosolamentelafechahoramnima.

55.1.6.Policies
55.1.6.1.Apply_policy
Parmetros:<nombre_poltica> Descripcin:Seaplicardeformaforzadaunapolticapasadacomoparmetro.Dentrodelproceso de aplicar una poltica est la de creacin de los mdulos de la poltica en todos sus agentes asociados, la creacin de las alertas de la poltica en los mdulos creados, y la realizacin de cambiosenelficherodeconfiguracindelosagenteslocalesquepuedatenerlapolticaparaaadir losmduloscreadosylascoleccionesasociadasalapoltica. Ejemplo:
perl pandora_manage.pl /etc/pandora/pandora_server.conf --apply_policy 'Mi politica'

55.1.6.2.Delete_not_policy_modules
Parmetros:No Descripcin: Seeliminarn,tantodelabasededatoscomodelficherodeconfiguracindelos agentes(encasodeexistir),todoslosmdulosquenopertenezcananingunapoltica. Ejemplo:
perl pandora_manage.pl /etc/pandora/pandora_server.conf --delete_nor_policy_modules

55.1.6.3.Disable_policy_alerts
Parmetros:<nombre_poltica> Descripcin: Todas las alertas de una poltica pasada por parmetro sern marcadas como desactivadas Ejemplo:
perl pandora_manage.pl /etc/pandora/pandora_server.conf --disable_policy_alerts 'Mi politica'

988

Ayuda

55.2.Ayuda
ParaobtenerlaayudageneraldelCLIdePandoraFMSbastaraconponer:
perl pandora_manage.pl --h

Paraobtenerlaayudadeunaopcinenparticularbastaraconponeresaopcinsinparmetros (estoparalasopcionesqueusanparmetros)
perl pandora_manage.pl /etc/pandora/pandora_server.conf --create_user

989

Ayuda

56CONSIDERACIONESENELDESARROLLO DEPLUGINS

990

Introduccin

56.1.Introduccin
LospluginspermitenaPandoraobtenerinformacinquerequiereunprocesamientocomplejooque requiereelusodesistemasoAPIscomplejas.Ejemplosdepluginspuedenserlamonitorizaci nde basesdedatosOraclequerequiereuncomplejoprocesoparalamonitorizaci nyademsciertas tareasdeautodescubrimiento,otroejemplopodraserunplugindeparseodeHTMLsimple,pero querequieraalgoquenopuedehacerGoliat.

56.2.Diferenciasenlaimplementacinyrendimiento
Pandora ofrece dos posibilidades a la hora de ejecutar plugins: ejecucin en el agente o en el servidor.Losplugindeservidorrealizanejecucionesindependientespararecogercadapiezade informacin. La ejecucin deplugin de servidor es muy costosa por lo queslo es viable para pluginsquenoseanpesados,esdecir,quenorequieranvariasconsultasparaobteneruna nica piezadeinformacin.UnplugindeservidorpodraserunplugindeparseoHTMLespecficoqueno requieremuchasconsultasyporlotantonocargarmuchoelservidor. Los plugin de agente permiten obtener varios mdulos de una vez y por ello son mucho ms flexiblesquelospluginsdeservidor.Sonidealesparapluginsquerequieranvariasconsultaspara obtener una pieza de informacin ya que permiten ms flexibilidad al programador ya que se puedendevolvervariosmdulosalavez.

56.3.Tareasdereconocimiento
Para realizar tareas de reconocimiento en plugins que as lo requieran tenemos de nuevo dos posibilidades. LaprimeraconsisteenusarelservidorReconTaskdelservidordePandora.Paraelloser necesario crearelcdigoadhocparalatecnologaosituacinconcreta.DenuevolasReconTaskcargarel servidordePandoraporloquesipararealizarlatareadereconocimientosonnecesariasmuchas peticionesdedatosestaopcindeberserdescartada. Comoalternativaesposiblecrearunatareadereconusandounplugindeagente.Normalmentelos pluginsdeagentedevuelveunosmdulosqueseadjuntanalXMLqueenvaelagentealservidorde Pandora.Ahorabien,alinstalarelagenteelunam quinaconesseinstalaTentacleloquepermite enviarXMLalservidorde Pandora.Pararealizarunarecontaskdesdeunplugindeagentees posibleaprovecharestoy,ademsdeaadirlosmdulosalagentecomohaceunpluginnormal, dotara nuestroplugindela capacidaddeenviarXMLsa Pandora con la informaci n deotros agentesactualizadacomoloharaunarecontask. Laideaesqueelpluginademsdecrearlosmdulosnormales,recolectelainformacin,montey envelosXMLsimulandootrosagentesinstaladossifueranecesario. La razn para realizar un plugin que enve datos por XML y adems realice tareas de reconocimientoesparapoderdistribuirlacargadelamonitorizaci nendistintasmquinasyno centralizarlaenelservidor.

56.4.Plugindeservidoroplugindeagente?
Seusarunplugindeservidorcuando: Lacargadecadaejecucinseapoca,porejemploconsultassimples. LaReconTasknorequiermuchoprocesodedatos LosintervalosdeejecucindelaReconTaskseangrandes,porejemplounavezalasemana.
991

Plugindeservidoroplugindeagente?

Seusarunplugindeagentecuando: Lacolectadeinformacinrequierademuchoprocesoomuchasconsultas. LaReconTaskasociadarequieraunaaltacargadeprocesoodemuchasconsultas. Los intervales de ejecucin de la Recon Task estn cerca de los intervalos de ejecucin tpicosparaagentes,porejemplocada5minutos.

56.5.Estandarizacineneldesarrollo
Conelfindequetodoslospluginsseanlomsestandarposibleyquedispongandecaractersticas similareshayquetenerencuentalossiguientesaspectos.

56.5.1.Versionadodepluginsyextensiones
EnPandoraFMSseguimosunsistemadeversionesparalospluginquetieneelsiguienteformato:
v1r1

Siendo: vX:versindelplugin,elpasodeunaversinaotraseproducecuandoseaadeunanueva funcionalidadimportanteosecorrigeunerrorqueimpideelcorrectofuncionamientodel plugin.Laprimeraversineslav1. rY:revisindelplugin,elpasodeunarevisinaotraseproducecuandosearreglaalgn bugoseimplementaunafeaturemenor.Laprimerarevisineslar1. Siemprequesepaseaunanuevaversinsecomenzarporlaprimerarevisin,esdecir,sitenemos unpluginenlaversinv1r5ydebeaumentarelnmerodeversinentoncestendremosv2r1.

56.5.2.Usageyversindelplugin
Todoslospluginsdebernresponderanteunallamadasinparmetros,obienconunaopcintipo hohelp,mostrandoelcomandoparasuejecucinylosdiferentesparmetrosdelmismo,adems sernecesariomostrarlaversindelplugin.Porejemplo:
$ ./myplugin myplugin version: v1r1 Usage myplugin <param1> <param2> <param3> param1: este parametro es una cosa param2: este parametro es otra cosa

992

Estandarizacineneldesarrollo

57DESARROLLODEPLUGINSDEL
SERVIDOR

993

Caractersticasbsicasdeplugindeservidor

57.1.Caractersticasbsicasdeplugindeservidor
ElplugindeservidoresejecutadoporelPluginServerdePandoraFMSporloquetienequetener unascaracterticasespeciales: Cadaejecucindelplugindeberdevolverunnicovalor.EstodebeserasyaqueelPlugin Serverrealizaunaejecucinporcadamdulodetipoplugin. Debepoderaccederalosrecursosamonitorizardeformaremota. Esposibleusarcualquierlenguajedeprogramacinquesoporteelsistemaoperativodonde estinstaladoelservidordePandora. Todaslasdependenciasosoftwarenecesarioparaejecutarelplugindeber estardisponible oserinstaladoenlamismamquinaqueejecutaelservidordePandora.

57.2.Ejemplodesarrolloplugindeservidor
AcontinuacinsedescribeunejemploposibledeplugindeservidorparaPandoraFMS. El siguiente plugin devuelve la suma del trfico de entrada y salida de una interfaz de un dispositivo,losdatosseobtienenporSNMP. Elcdigodelpluginseraelsiguiente:
#!/usr/bin/perl -w use strict; use warnings; sub get_param($) { my $param = shift; my $value = undef; $param = "-".$param; for(my $i=0; $i<$#ARGV; $i++) { if ($ARGV[$i] eq $param) { $value = $ARGV[$i+1]; last; } } return $value; } sub usage () { print "iface_bandwith.pl version v1r1\n"; print "\nusage: $0 -ip <device_ip> -community <community> -ifname <iface_name>\n"; print "\nIMPORTANT: This plugin uses SNMP v1\n\n"; } #Global variables my $ip = get_param("ip"); my $community = get_param("community"); my $ifname = get_param("ifname"); if (!defined($ip) || !defined($community) || !defined($ifname) ) { usage(); exit;

994

Ejemplodesarrolloplugindeservidor

} #Browse interface name my $res = `snmpwalk -c $community -v1 $ip .1.3.6.1.2.1.2.2.1.2 -On`; my $suffix = undef; my @iface_list = split(/\n/, $res); foreach my $line (@iface_list) { #Parse snmpwalk line if ($line =~ m/^([\d|\.]+) = STRING: (.*)$/) { my $aux = $1; #Chec if this is the interface requested if ($2 eq $ifname) { my @suffix_array = split(/\./, $aux); #Get last number of OID $suffix = $suffix_array[$#suffix_array]; } } } #Check if iface name was found if (defined($suffix)) { #Get octets stats my $inoctets = `snmpget $ip -c $community -v1 .1.3.6.1.2.1.2.2.1.10.$suffix -OUevqt`; my $outoctets = `snmpget $ip -c $community -v1 .1.3.6.1.2.1.2.2.1.16.$suffix -OUevqt`; print $inoctets+$outoctets; }

Unaparteimportantedelcdigoeslafuncinusage:
sub usage () { print "iface_bandwith.pl version v1r1\n"; print "\nusage: $0 -ip <device_ip> -community <community> -ifname <iface_name>\n"; print "\nIMPORTANT: This plugin uses SNMP v1\n\n"; }

Enestafuncindescribelaversinycmousarelplugin,esmuyimportanteysiempresedebe mostraralejecutarelpluginsinningntipodeparmetroobienconunaopcintipohohelp. Respectoalvalorquedevueltoelplugin,esteseimprimeenlasalidaest ndarenlapenltimalnea conlasiguienteinstruccin:


print $inoctets+$outoctets;

Comosepuedeverelvalordevueltoporelpluginesun nicodato,queluegoelPluginServerde Pandoraaadircomodatoalmduloasociado. Para poder ejecutar este plugin de servidor ser necesario instalar los comandos snmpwalk y snmpgetenlamquinaqueejecutaelservidordePandora.

995

EmpaquetadoenPSPZ

57.3.EmpaquetadoenPSPZ
57.3.1.ElPluginZipfile(.pspz)delServidordePandora
DesdePandoraFMS3.0existeunanuevamaneraderegistrarpluginsym dulosqueusanelnuevo plugin(comoporejemplolalibrerademdulosquedependedelplugin).Es,bsicamente,una extensindeadministradorparasubirunficheroenformato.pspz,queest descritomsabajo.El sistemaleeelfichero,lodesempaquetaeinstalalosbinarios/scriptenelsistema.Adem sregistrael pluginycreatodoslosmdulosdefinidosenel.pspzenlalibrerademdulosdePandoraFMS (componentesdered). Estaseccindescribecmocrearunfichero.pspz.

57.3.2.PackageFile
Un.pspzesunficherozipcondosfilas: plugin_definition.ini:contienelaespecificacindelpluginydelosmdulos.Deber tenereste nombre(escasesensitive). <script_file>:eselpluginscript/binaryens.Podrtenercualquiernombrevlido.Unejemplode unfichero.pspz(renombradocomo.zip)sepuededescargarde:[1]

57.3.3.Estructuradeplugin_definition.ini
57.3.3.1.Cabecera/Definicin
Este es un fichero INI clsico con secciones opcionales. La primera seccin, que es la ms importante,esunaseccindenombrefijollamada"plugin_definition".Esteesunejemplo:
[plugin_definition] name = Remote SSH exec filename = ssh_pandoraplugin.sh description = This plugin execute remotely any command provided timeout = 20 ip_opt = -h execution_command = execution_postcommand = user_opt = -u port_opt = pass_opt = plugin_type = 0 total_modules_provided = 1

filename:deberatenerelmismonombrequeelscriptincluidoenelfichero.pspz,nombradoantes como<script_file>.Enesteejemploesunshellscript.shllamado"ssh_pandoraplugin.sh". *_opt:aqu estnlasopcionesderegistrodelplugin,mostradasenelformulariopararegistrar "manualmente"elpluginenlaconsoladePandoraFMS. plugin_type:0paraunpluginestandardePandoraFMS,y1paraunplugintipoNagios. total_modules_provided:definecuantosmdulossedefinenabajo.Debedefinirunocomomnimo (parausarenunejemplocomomnimo). execution_command:siseemplea,hayqueponerlodelantedelscript.Podr serunintrprete, comoporejemplo"javajar".As pues,elpluginsellamar,desdeelPluginSereverdePandora
996

EmpaquetadoenPSPZ

FMS:"javajar<plugin_path>/<plugin_filename>". execution_postcommand:siseemplea,definelosparmetrosadicionalestransmitidosalplugin despusdelplugin_filename,queesinvisibleparaelusuario.

57.3.3.2.DefinicindelModulo/ComponentesdeRed
Estassedefinencomoseccionesdinmicas(seccionesconunnombreincremental),ypuedetener tantascomo quiera. Necesitar definiraqu elmismo nmero demdulosquelos definidos en total_modules_provideddelaseccinanterior.Sitieneporejemplo4mdulos,losnombresdelas seccionesdebernser:mdulo1,mdulo2,mdulo3ymdulo4. Esteesunejemplodeunadefinicindemdulo:
[module1] name = Load Average 1Min description = Get load average from command uptime id_group = 12 type = 1 max = 0 min = 0 module_interval = 300 id_module_group = 4 id_modulo = 4 plugin_user = root plugin_pass = plugin_parameter = "uptime | awk '{ print $10 }' | tr -d ','" max_timeout = 20 history_data = 1 min_warning = 2 min_critical = 5 str_warning = "peligro" min_critical = "alerta" min_ff_event = 0 tcp_port = 0 critical_inverse = 0 warning_inverse = 0 critical_instructions = "Llamar al jefe" warning_instructions = "Llamar a la NASA" unknown_instructions = "Pedir una pizza"

Algunascosasquedebertenerencuentason: No"olvide"ningncampo.Todosloscampos*DEBEN*estardefinidos.Sinodisponede datos,djeloenblanco,comoelcampoplugin_passdelejemplodearriba. Utilizedoblescomillas""paradefinirvaloresquecontengancarcteresespecialesoespacios, como el campo plugin_parameter del ejemplo de arriba. Los ficheros INI que contengan caracterescomo'"/_()[]yotros,DEBENtenerdoblescomillas.Intenteevitarelusodel carcter"paralosdatos.Sidebeemplearlo,escapeconlacombinacin\". Si tiene dudas sobre el propsito o significado de estos campos, eche un vistazo al tnetwork_component de su base de datos de Pandora FMS.Esta tiene casi los mismos campos.Cuandosecreaunnuevocomponentedered,esteesalmacenadoenestabasede datos.Intentecrearuncomponentederedqueutilizesupluginyanalizeelregistrode entradaenesatablaparaentendertodoslosvalores. id_module,debersersiempre4(estosignificaqueesunmduloplugin) type,definequetipodemduloes:generic_data(1),generic_proc(2),generic_data_string (3)ogeneric_data_inc(4)talycomofuerondefinidosenttipo_modulo
997

EmpaquetadoenPSPZ

id_group,eslaPK(primarykey)delatablatgrupoquecontienedefinicionesdegrupo.EL grupo1es"todoslosgrupos",yactuacomoungrupoespecial. id_module_group,procede dela tabla tmodule_group. Esuna asociacin de mdulo por funcionalidad,puramentedescriptiva.Puedeusar"1"paraelGeneralmodulegroup.

57.3.4.Versin2
ApartirdePandoraFMSv5,lospluginsdeservidorutilizanmacros. Con este cambio, plugin_definition.ini ha cambiado. Seha a adido unparmetro version y los parmetrosip_opt,user_opt,port_optypass_opthandesaparecido.Encambiosepuedena adir macrosalparmetroexecution_postcommandtalescomo_field1_,_field2_..._fieldN_ Cada macro tendr unparmetro con la estructura macro_desc_field1_ , macro_desc_field2_ ... macro_desc_fieldN_conladescripcincortadelamacro. Estanuevaestructuraseconocecomolaversin2.

La versin anterior sigue siendo compatible. Si el parmetro versin no est definido, se asume que la versin es 1

57.3.4.1.Ejemplodedefinicindeunpluginv2
[plugin_definition] version = 2 name = Remote SSH exec filename = ssh_pandoraplugin.sh description = This plugin execute remotely any command provided timeout = 20 execution_command = execution_postcommand = -h _field1_ -u _field2_ macro_desc_field1_ = Host address macro_desc_field2_ = User plugin_type = 0 total_modules_provided = 1

998

EmpaquetadoenPSPZ

58DESARROLLODEPLUGINSDEAGENTE

999

Caractersticasbsicasdeplugindeagente

58.1.Caractersticasbsicasdeplugindeagente
Elplugindeagente esejecutadoporelAgenteSoftware dePandoraFMSporloquetieneque tenerunascaractersticasespeciales: Cadaejecucindelpluginpodr devolverunoovariosmdulosconsuscorrespondientes valores.LasalidadebertenerunformatoXMLcomoseexplicarmsadelante. Podr accedertantoarecursoslocalesalamquinaoarecursosdeotramquinadeforma remota. Es posible usar cualquier tipo de lenguaje de programaci n soportado por el sistema operativoenelqueestinstaladoelagentesoftwaredePandora. Todaslasdependenciasosoftwarenecesarioparaejecutarelplugindeber estardisponible oserinstaladoenlamismamquinaqueejecutaelagentedePandora. Losplugindeagentepuedenrealizarunaespeciedetareadereconocimientoyaqueelpluginpuede devolvervariosmdulosenunaejecucinyelnmeropuedecambiarentredistintasejecuciones.

58.2.Ejemplodesarrolloplugindeagente
A continuacin se explica un ejemplo de un plugin sencillo. Este plugin de agente devuelve el porcentajedeusodelosfilesystemsdelsistema.Elcdigoeselsiguiente:
#!/usr/bin/perl use strict; sub usage() { print "\npandora_df.pl v1r1\n\n"; print "usage: ./pandora_df\n"; print "usage: ./pandora_df tmpfs /dev/sda1\n\n"; } # Retrieve information from all filesystems my $all_filesystems = 0; # Check command line parameters if ($#ARGV < 0) { $all_filesystems = 1; } if ($ARGV[0] eq "-h") { usage(); exit(0); } # Parse command line parameters my %filesystems; foreach my $fs (@ARGV) { $filesystems{$fs} = '-1%'; } # Retrieve filesystem information # -P use the POSIX output format for portability my @df = `df -P`; shift (@df); # No filesystems? Something went wrong. if ($#df < 0) { exit 1; }

1000

Ejemplodesarrolloplugindeagente

# Parse filesystem usage foreach my $row (@df) { my @columns = split (' ', $row); exit 1 if ($#columns < 4); $filesystems{$columns[0]} = $columns[4] if (defined ($filesystems{$columns[0]}) || $all_filesystems == 1); } while (my ($filesystem, $use) = each (%filesystems)) { # Remove the trailing % chop ($use); # Print module output print "<module>\n"; print "<name><![CDATA[" . $filesystem . "]]></name>\n"; print "<type><![CDATA[generic_data]]></type>\n"; print "<data><![CDATA[" . $use . "]]></data>\n"; print "<description>% of usage in this volume</description>\n"; print "</module>\n"; } exit 0;

Unaparteimportantedelcdigoeslafuncinusage:
sub usage() { print "\npandora_df.pl v1r1\n\n"; print "usage: ./pandora_df\n"; print "usage: ./pandora_df tmpfs /dev/sda1\n\n"; }

Enestafuncindescribelaversinycmousarelplugin,esmuyimportanteysiempresedebe mostraralejecutarelpluginsinningntipodeparmetroobienconunaopcintipohohelp.En esteejemploseejecutacuandoseusaelparmetroh,loverificanlassiguienteslneas:


if ($ARGV[0] eq "-h") { usage(); exit(0); }

Respectoalosvaloresdevuelosporelpluginsepuedeobservarqueunavezsehanrecogidolos datosdelossiguetemasdeficherossecreaimprimeunapartedeXMLporlasalidaest ndarpara cadaunodeellos,estalaborserealizaenlassiguienteslneas:


while (my ($filesystem, $use) = each (%filesystems)) { # Remove the trailing % chop ($use); # Print module output print "<module>\n"; print "<name><![CDATA[" . $filesystem . "]]></name>\n"; print "<type><![CDATA[generic_data]]></type>\n"; print "<data><![CDATA[" . $use . "]]></data>\n"; print "<description>% of usage in this volume</description>\n"; print "</module>\n";

1001

Ejemplodesarrolloplugindeagente

Unejemplodelresultadoquedevuelteestepluginpodraser:
<module> <name><![CDATA[tmpfs]]></name> <type><![CDATA[generic_data]]></type> <data><![CDATA[0]]></data> <description>% of usage in this volume</description> </module> <module> <name><![CDATA[/dev/mapper/VolGroup-lv_home]]></name> <type><![CDATA[generic_data]]></type> <data><![CDATA[26]]></data> <description>% of usage in this volume</description> </module> <module> <name><![CDATA[/dev/sda9]]></name> <type><![CDATA[generic_data]]></type> <data><![CDATA[34]]></data> <description>% of usage in this volume</description> </module>

Elnmerodemdulosdevueltosporesteplugindependerdelnmerodefilesystemsconfigurados ypodrcambiarentrelasdiferentesejecuciones. El fragmento de XML se aade al XML general que genera el agente software y es enviado al servidordePandoraparaserprocesadoporelDataServer.

58.3.Solucindeproblemas
SiPandoraFMSnoreconocetuplugindeagente,noconsigueslainformaci nesperadaoelagente simplementenoquierefuncionar,aquhayvariascosasquedeberastenerencuenta:

58.3.1.Revisaeldocumentopandora_agent.conf
ElAgentedeSoftwarerequieredeunalneaenestearchivoconlarutacorrectadelplugin. Ejemplo:
module_plugin /etc/pandora/plugins/MyMonitor.pl /etc/pandora/plugins/MyMonitor.conf 2> /etc/pandora/plugins/MyMonitor.err

MyMonitor.pleselplugindeagente, MyMonitor.confeselarchivodeconfiguracinpasadocomo argumento,yMyMonitor.erresunarchivoquerecibirposibleserroresdelaejecucindelpluginy mantendrlimpialasalidaestndar.

58.3.2.Reiniciaelpandora_agent_daemon
SitieneslaversinbsicadePandoraFMS(noEnterprise),elAgentedeSoftwareejecutar los plugins cada 5 minutos. Para aquellas personas que no pueden esperar, es posible reiniciar el AgentedeSoftwaredesdelalneadecomandos. Ejemplo:

1002

Solucindeproblemas

/etc/init.d/pandora_agent_daemon restart

58.3.3.Revisalospermisosdelplugin
Elpluginylosarchivosquevaausar, debentenerlospermisoscorrectosdelectura,escrituray ejecucin.EnUNIX,estodeberabastar:
chmod 755 <ruta_plugin>

58.3.4.Validalasalida
Una forma fcil de encontrar los errores, es ejecutar el plugin manualmente en lnea de comandos.Sintateyrevisalasalidacuidadosamente. Porejemplo:
popeye:/etc/pandora/plugins # ./pandora_df <module> <name><![CDATA[/dev/sda2]]></name> <type><![CDATA[generic_data]]></type> <data><![CDATA[19]]></data> <description>% of usage in this volume</description> </module> <module> <name><![CDATA[udev]]></name> <type><![CDATA[generic_data]]></type> <data><![CDATA[1]]></data> <description>% of usage in this volume</description> </module>

58.3.5.ValidaelXMLresultante
ElXMLqueimprimeelplugin debetenerunasintaxisdeXMLvlida.ElXML,adems,debeestar bien formado. Para comprobar si lo est, puedes seguir estos dos pasos desde la lnea de comandos: 1. CreaundocumentoXMLconlasalidadelplugin:./Plugin.pl>Plugin.xml 2. CompruebaeldocumentoXML:xmllintPlugin.xml

58.3.6.ModoDebug
Puedes activar el modo de desarrollo cambiando el valor de la etiqueta debug en el archivo pandora_agent.conf de0a1.Unavezhayashechoesto,cuandoelAgentedeSoftwareejecuteel plugin,losresultadosseguardarnenundocumentoXMLcontodalainformacindelagente. Elnombredeldocumentoserelnombredelagenteconlaextensin .data,yestarlocalizadoenel directorio /tmp (echa un vistazo al log del agente de pandora en /var/log/pandora/pandora_agent.log). Revisando el documento, podrs ver si los datos de tu pluginestnsiendorecogidosysisoncomoesperas.

1003

Solucindeproblemas

Cuando habilitas el modo Debug, el agente se ejecuta solo una vez y posteriormente sale

58.3.7.Foro
Sidespuesdetodo,elerrorpersiste,sintetelibredepreguntarennuestroforo.

1004

Solucindeproblemas

59DESARROLLODEEXTENSIONESDELA CONSOLA

1005

DesarrollodeextensionesdelaConsola

ExtensionessonunamaneradedesarrollarunanuevafuncionalidadparasuPandoraConsolecomo plugins. Enestecaptuloaprendercomodesarrollarunaextensin:

59.1.TiposdeExtensiones
Unaextensinpuedeseralgunodelostiposovariosalavez: Pestaa agente, extensiones que aparecen en el la cabecera de pestaas de la vista de operacinoyedicindelagente. Visibles,extensionesqueaparecenenelMendePandora. Invisibles,extensionesquesecarganyejecutanenelindex.phpdelMen dePandorapero quenoaparecenenelMendePandora.

59.2.DirectoriodeExtensiones
Eldirectoriodeextensionesesunsubdirectoriodentrodesuinstalaci nlocaldela consolade Pandora que tiene el nombre de "extensiones". Este directorio contiene lo siguiente para cada extensin:

Fichero principal de la extensin este fichero tiene el cdigo que se ha de cargar en la consola de Pandora Subdirectorio de extensin es opcional y puede contener el fichero de imagen del icono( 18x18) que se muestra al lado del nombre de la extensin en el men, as como otros ficheros como traducciones, mdulos e imagenes.

59.3.Estructuradelaextensin
<?php < Comments with license, author/s, etc... > < php auxiliary code as functions, variables, classes that your extension use > function < name of main function > () { < Main function Code > } /*-------------------------------------*/ /* Adds the link in the operation menu */ extensions_add_operation_menu_option ('< Name Extension >', '< father ID menu >', '< relative path Icon >'); /* Adds the link in the godmode menu */ extensions_add_godmode_menu_option ('< Name Extension >', '< ACL level >', '< father ID menu >', '< relative path Icon >') /*-------------------------------------*/ /* Sets the callback function to be called when the extension is selected in the operation menu */ extensions_add_main_function ('< name of main function >');

1006

Estructuradelaextensin

/* Sets the callback function to be called when the extension is selected in the godmode menu */ extensions_add_godmode_function('< name of godmode function >'); ?>

59.4.APIparaExtensiones
El API para extensiones est todava en desarrollo y puede cambiar en el futuro

PuedeobtenermsinformacinsobreelAPIenpandoradevelopmailnglistoenelforum. LassiguientesseccionesquecontienenladescripcindelasfuncionesenelAPIparaextensiones son:

59.4.1.extensions_add_operation_menu_option
extensions_add_operation_menu_option('<stringname>','<fatherIDmenu>','<relative path Icon >'):esta funcion aade el link a la extension con el nombre dado en el men Operaciones.Eltercerparmetroesopcionalyesteeselcampoopcionalparaquelaimagende icono(18x18 pixels)aparezcaalladodellink.Siesteparmetronoest definido,seutilizar el iconodeunenchufe.

59.4.2.extensions_add_godmode_menu_option
extensions_add_godmode_menu_option('<NameExtension>','<ACLlevel>','<fatherID menu>','<relativepathIcon>') :Estafuncinaadeellinkalaextensinconelnombredado enelmenu Godmode sielusuariotieneelniveldeACLrequeridotalycomoindicaelsegundo parmetro. El cuarto parmetro es opcional y es el campo relativo para que ala imagen del icono(18x18pixels)aparezcaalladodellink.Siestepar metronoest definido,seutilizar el iconodeunenchufe.( )

59.4.3.extensions_add_main_function
extensions_add_main_function ('< name of main function >') : fija la funcin callback que devolvercuandoelusuariohagaclickenellinkdelaextensindelmenoperacin.

59.4.4.extensions_add_godmode_function
extensions_add_godmode_function ('< nameof godmode function >') :aade la funcin de extensinparallamarunavezqueelusuariovayaalaextensi nenelgodmodedelaconsolade Pandoraenlugardecargarlafuncin_principal.

1007

APIparaExtensiones

59.4.5.extensions_add_login_function
extensions_add_login_function('<nameofloginfunction>') :aadelafuncindeextensin parallamarunavezqueelusuarioselogecorrectamenteenlaconsoladePandora.

59.4.6.extensions_add_godmode_tab_agent
extensions_add_godmode_tab_agent('<IDofextensiontab>','<Nameofextensiontab>', '<Imagefilewithrelativedir>','<Nameoffunctiontoshowcontentofgodmodetabagent >'):aadeunapestaamasalavistadeedicindelagentequecuandoseseleccionaseejecutael cdigodelafuncindelnombrequeselepasa.

59.4.7.extensions_add_opemode_tab_agent
extensions_add_opemode_tab_agent('<IDofextensiontab>','<Nameofextensiontab>', '<Imagefilewithrelativedir>','<Nameoffunctiontoshowcontentofoperationtabagent >'):aadeunapestaamasalavistadeoperacindelagentequecuandoseseleccionaseejecuta elcdigodelafuncindelnombrequeselepasa.

59.4.8.FatherIDsenelmen
ListadestingsIDsdisponiblesparausarenextensinAPI.Siutilizaunvalornuloonoincluye parmetroenlafuncincall,entonceslaextensinaparecenicamenteenelsubmendeextensin

59.4.8.1.Operacin
'estado':Vistademonitorizacin network:Vistaderedes reporting:Informesyvisualizacindedatos gismaps:VistaGIS eventos:Vistadeeventos workspace:Espaciodetrabajodelusuario

59.4.8.2.Administration
'gagente':Gestindelamonitorizacin gmassive:Operacionesmasivas 'gmodules':Gestindemudulos 'galertas':Gestindealertas 'gusuarios':Gestindeusuarios 'godgismaps':GestinGIS 'gserver':Gestindeservidores 'glog':Logsdelsistema 'gsetup':Configuracin 'gdbman':MantenimientoBBDD

Administration Enterprise

Estos elementos slo estn disponibles con la versin Enterprise

1008

APIparaExtensiones

gpolicies:Gestindepolticas

59.5.Ejemplo

Laextensinmuestraunatabladondelascolumnassongruposdem dulosylasfilasgruposde agentes.Cadaceldatieneuncolorconlossiguientessignificados: Verde:cuandotodoslosmdulosdelgrupoestanOK. Amarillo:cuandoexistealmenosunmonitorenalerta. Rojo:cuandoalmenosunmonitorfalla. YestaextensincuelgadelmenuOperacinenAgentes.

1009

Cdigofuente

59.6.Cdigofuente
<?php /** * Pandora FMS- http://pandorafms.com * ================================================== * Copyright (c) 2005-2009 Artica Soluciones Tecnologicas * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation for version 2. * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ /** * Translate the array texts using gettext */ function translate(&$item, $key) { $item = __($item); } /** * The main function of module groups and the enter point to * execute the code. */ function mainModuleGroups() { global $config; //the useful global var of Pandora Console, it has many data can you use //The big query $sql = "select COUNT(id_agente) AS count, estado FROM tagente_estado WHERE utimestamp != 0 AND id_agente IN (SELECT id_agente FROM tagente WHERE id_grupo = %d AND disabled IS FALSE) AND id_agente_modulo IN (SELECT id_agente_modulo FROM tagente_modulo WHERE id_module_group = %d AND disabled IS FALSE AND delete_pending IS FALSE) GROUP BY estado"; echo "<h1>" . __("Combine table of agent group and module group") . "</h1>"; echo "<p>" . __("This table show in columns the modules group and for rows agents group. The cell show all modules") . "</p>"; $agentGroups = get_user_groups ($config['id_user']); $modelGroups = get_all_model_groups(); array_walk($modelGroups, 'translate'); //Translate all head titles to language is set $head = $modelGroups; array_unshift($head, ' '); //Metaobject use in print_table $table = null; $table->align[0] = 'right'; //Align to right the first column. $table->style[0] = 'color: #ffffff; background-color: #778866; font-weight: bolder;'; $table->head = $head;

1010

Cdigofuente

//The content of table $tableData = array(); //Create rows and celds foreach ($agentGroups as $idAgentGroup => $name) { $row = array(); array_push($row, $name); foreach ($modelGroups as $idModelGroup => $modelGroup) { $query = sprintf($sql,$idAgentGroup, $idModelGroup); $rowsDB = get_db_all_rows_sql ($query); $states = array(); if ($rowsDB !== false) { foreach ($rowsDB as $rowDB) { $states[$rowDB['estado']] = $rowDB['count']; } } $count = 0; foreach ($states as $idState => $state) { $count = $state; } $color = 'transparent'; //Defaut color for cell if ($count == 0) { $color = '#babdb6'; //Grey when the cell for this model group and agent group hasn't modules. $alinkStart = ''; $alinkEnd = ''; } else { $alinkStart = '<a href="index.php? sec=estado&sec2=operation/agentes/status_monitor&status=-1&ag_group=' . $idAgentGroup . '&modulegroup=' . $idModelGroup . '">'; $alinkEnd = '</a>'; if (array_key_exists(0,$states) && (count($states) == 1)) $color = '#8ae234'; //Green when the cell for this model group and agent has OK state all modules. else { if (array_key_exists(1,$states)) $color = '#cc0000'; //Red when the cell for this model group and agent has at least one module in critical state and the rest in any state. else $color = '#fce94f'; //Yellow when the cell for this model group and agent has at least one in warning state and the rest in green state. } } array_push($row, '<div style="background: ' . $color . ' ; height: 15px; margin-left: auto; margin-right: auto; text-align: center; padding-top: 5px;"> ' . $alinkStart . $count . ' modules' . $alinkEnd . '</div>'); }

1011

Cdigofuente

array_push($tableData,$row); } $table->data = $tableData; print_table($table); echo "<p>" . __("The colours meaning:") . "<ul>" . '<li style="clear: both;"> <div style="float: left; background: #babdb6; height: 20px; width: 80px;margin-right: 5px; margin-bottom: 5px;"> </div>' . __("Grey when the cell for this model group and agent group hasn't modules.") . "</li>" . '<li style="clear: both;"> <div style="float: left; background: #8ae234; height: 20px; width: 80px;margin-right: 5px; margin-bottom: 5px;"> </div>' . __("Green when the cell for this model group and agent has OK state all modules.") . "</li>" . '<li style="clear: both;"><div style="float: left; background: #cc0000; height: 20px; width: 80px;margin-right: 5px; margin-bottom: 5px;"> </div>' . __("Red when the cell for this model group and agent has at least one module in critical state and the rest in any state.") . "</li>" . '<li style="clear: both;"><div style="float: left; background: #fce94f; height: 20px; width: 80px;margin-right: 5px; margin-bottom: 5px;"> </div>' . __("Yellow when the cell for this model group and agent has at least one in warning state and the rest in green state.") . "</li>" . "</ul>" . "</p>"; } extensions_add_operation_menu_option("Modules groups", 'estado', 'module_groups/icon_menu.png'); extensions_add_main_function('mainModuleGroups'); ?>

59.7.Explicacin
Enelcdigofuenteexistendospartes: Elcdigofuentedelaextensin. LasfuncionesdellamadaAPI. Elordendelaspartesesindiferente,peroesmejorponerlas"funcionesAPIdellamada"debajode tuficheroprincipaldeextensinporquelasguiasdeestiloadviertenquesedebesituarestaparte debajoparaquetodaslasextensionestenganaproximadamenteelmismoestilo.

59.7.1.Cdigofuentedeextensin
Enelcasodeesteejemplohaydosfuncionesenelmismofichero,perosiustedtieneunc digoms complejo, entonces es mejor dividirlo en muchos ficheros (y guardarlo en extensi n de subdirectorio).Lasfuncionesson: funcindetraduccin(&$item,$key)

El uso de esta funcin para callback en array_walk function.Debido a que la funcin principal mantiene los ttulos de las columnas y los ttulos de las filas seleccionados sin traduccines
1012

Explicacin

funcinmainModuleGroups()

Es el ncleo de la extensin y tiene una enorme cantidad de lneas. No se visualiza todo el cdigo, pero s algunas partes importantes: La primera es el acceso al global var config. En este var tiene muchas configuraciones y valores por defecto para muchos elementos de la consola de Pandora. El segundo var es el query en MySQL en un string. Y el %d es el format placeholders es para Id Groupy Id Module Groupy estos son sustitutos para el valor en sprintf function en Algunos echos para imprimir el texto delante de la tabla Extracto de dos selecciones de la BD con una dimensin con el ndice como id y el contenido como ttulo para columnas (Module groups) y filas (Agent group). Traduce los ttulos de la seleccion del Model Group. Hace estable el meta-object rellena con filas e imprime. Delante de los foreach loops, define como $table la cabecera y estilos de la tabla. El primer loop es para las filas (cada grupo de agentes). El segundo loop es para las columnas en hilera normal(cada grupo de mdulos). Despus, para cada celda, hay dos nmeros, id model group e id agent group.Con estos dos nmeros haremos una query a la base de datos y obtendremos los ficheros. Procesa la seleccin resultante para obtener otra seleccin y el indice es una integracin de diferentes tipos de estado de monitor y el contenido es un cmputo del monitor en ese estado. Lo nico que queda por hacer es rellenar el contenido de la celda en html. El modo de hacerlo es sencillo:si el cmputo de todos los estados es cero, el background para div en CSS es gris. Si $states[1] != 0 existe al menos un monitor en estado crtico , entonces el div tendr un color rojo. Si la seleccin tiene slo una celda y est en modo normal entonces el color verde estar en esta div. En los otros casos el amarillo ser el color para div. Aadir un link en la celda si el cmputo es mayor que 0. Guardar la serie en $table, y empezar otra iteration de foreach. Imprimir la tabla. Imprimir la leyenda y otras notas en la parte inferior de la pgina.

59.7.2.APIcallsfunctions
Haypocaslneasdecdigo.Lasoperacionesenestaslneasson: InsertarlaextensinenelmenudePandora.

Y aparece como extensions_add_operation_menu_option("Modules groups", 'estado', 'module_groups/icon_menu.png'); donde: 'Modules groups' es el nombre que aparece en el submen de agentes.
1013

Explicacin

'estado' el el elemento que cuelga de la extensin. 'module_groups/icon_menu.png'es el icono de la imagen que aparece en el submenu, el compo est relacionado con el directorio de extensin que usted tenga..
Definelafuncinprincipaldeestaextensin.

Y aparece como extensions_add_main_function('mainModuleGroups'); donde: 'mainModuleGroups' es el nombre de la funcin principal de la extensin.


Elordenparanombrarlasfuncionesesindiferente.

59.7.3.OrganizacindelDirectorio

La instalacin de la extensin resulta muy fcil, ya que la consola de Pandora busca nuevas extensionesylasaadealsistemacuandolasencuentra. nicamente deber copiar todos los ficheros deextensiones a la extension deldirectorio en su instalacindePandoraConsole.PerodebeinstalarlospermisosparaquelaconsoladePandora puedaleerlosficherosylossubdirectoriosdeextensin. Enelpantallazolaextensintieneestaestructuradedirectorio: module_groups

icon_menu.png
module_groups.php Ylaextensiondeldirectorioestporejemploen/var/www/pandora_console.

1014

Explicacin

59.7.4.Subdirectorio
Enestecaso,elejemplotieneunsubdirectorioygeneralmentecualquierextensi ndebetenerun subdirectorio.Elsubdirectoriotieneelmismonombrequeelnombredelaextensionyelfichero principal.Elsubdirectoriodelejemplotieneslounficherodeimagendeicono(icon_menu.png). EsteiconoapareceenelMendePandora.

1015

Вам также может понравиться