View this PageEdit this PageUploads to this PageVersions of this PageHomeRecent ChangesSearchHelp Guide

Configuración y resolución de incidencias en servidor bd_controlid

Servidor bd_controlid (16.0.77.19/16.0.78.19)
metro/maxtop
root/brownie

Respecto a la BD de Oracle propiamente dicha, aquí hay un enlace donde se detallan los 5 errores más comunes que puden ocurrir y como solucionarlos: http://3.0.1.46:8000/HowTo/176

Este servidor contiene la base de datos de ControlId. Almacena los eventos que le llegan de los equipos de ControlId (TeleCancelas, TelePortones, Controles de Acceso, PDI's, SAGIR, etc) a través de los TCE de estación y hojaruta. También genera las listas blancas de los equipos de ControlId que serán recogidas por los TCE y hojaruta. Por otro lado también dispone de un servidor (cidServerBD) que actua de pasarela de comunicación con la base de datos para distintas aplicaciones. Es importante que todos estos servicios se encuentren funcionando correctamente. A continuación se detalla la información de comprobación y configuración para resolución de incidencias.
Todos los programas y scripts necesarios para su funcionamiento se encuentran en el directorio /home/metro/ControlId. Aquí se deja un paquete de todos los programas por si hiciera falta reponer alguno: bd controlid.tar.gz

  • Recepción de eventos de equipos y carga en la BD
    • Los equipos de ControlId envían los eventos por NFS a los TCE's y hojaruta. En estos servidores hay un script /home/metro/ControlId/MandaEventos que se encarga de comprobar periódicamente si existen eventos que enviar a la BD y los envía por rcp al directorio /home/metro/ControlId/Eventos de bd_controlid
    • En bd_controlid el script /home/metro/ControlId/scripts/CargaEventos, se encarga de cargar los eventos que van llegando a la BD.
    • Es necesario asegurarse que está corriendo el script /home/metro/ControlId/scripts/CargaEventos (ps -efa)
    • El script se arranca automáticamente al arrancar la máquina a través de /etc/rc.d/rc3.d/S99local -> ../rc.local llamando a la ejecución de /home/metro/ControlId/scripts/RunCargaEventos
    • El crontab del usuario root debe tener la siguiente línea para que se compruebe la ejecución del script cada hora. (crontab -l para ver el crontab. crontab -e para editar el crontab)
      • 0 * * * * /home/metro/ControlId/scripts/RunCargaEventos
    • Los logs de la carga de eventos se guardan en el directorio /home/metro/ControlId/logs

  • Generación de listas blancas
    • La generación de listas blancas se realiza automáticamente cada vez que se produce algún cambio en la base de datos de agentes de Metro (AGT) mediante la activación del trigger de actualizaciones_agt_trigger cada vez que se realiza algún cambio en la tabla actualizaciones_agt.
    • También es posible realizar la generación de listas a través de la aplicación de ControlId.
    • En cualquier caso para realizar la generación de listas blancas se realizan los siguientes pasos (todos los scrtips están contenidos en el directorio /home/metro/ControlId/GenerarListasBlancas:
      • Se ejecuta el script ProgramarContrab que programa el crontab para que se ejecute el script RunGenerarListasBlancas en 1 minuto si no está ya programado.
      • El script RunGenerarListasBlancas, desprograma el crontab (mediante el script DesProgramarCrontab), arranca el programa GenerarListasBlancas y una vez terminado arranca el script ComprimirListas.
      • El programa GenerarListasBlancas es un programa compilado en ProC que se conecta a la base de datos y ejecuta el procedimiento almacenado P_GENERAR_TODAS_LISTAS_BLANCAS del Package PACKAGE_LISTAS_BLANCAS, que genera las listas blancas de accesos permitidos en un directorio concreto (/u02/utl_dir_ControlID).
      • El script ComprimirListas se encarga de comprimir las listas en paquetes preparados para cada TCE o hojaruta que se dejan en el directorio /home/metro/ControlId/Listas
      • Cada TCE y hojaruta (mediante su script /home/metro/ControlId/ActualizaListas) comprobará periódicamente si hay una nuevo paquete generado para él, y se lo traerá por rcp y descomprimirá las listas en el directorio /home/metro/ControlId/Listas compartido por NFS con los equipos de ControlId.
    • Los logs de la generación de listas blancas se almacenan en el directorio /home/metro/ControlId/GenerarListasBlancas (.log)
    • ¡IMPORTANTE! El crontab del usuario metro no puede estar vacío, debe tener al menos una línea de comentario
    • Si la actualización de listas deja de funcionar, comprobar si hay algún error en el crontab de metro. Sólo debería haber 1 llamada a la actualización de lista si hay alguna en curso.

  • Servidor cidServerBD
    • Actualmente se está usando la versión 2 de este servidor que se encuenta en /home/metro/ControlId/cidServerBD/cidServerBD2. Es un programa escrito en C que actúa de pasarela de la BD para que distintas aplicaciones puedan realizar tareas en la BD de ControlId (como consultas de permisos, envío de eventos o actualización de listas) de una forma más cómoda mediante una conexión tcp, sin necesidad de utilizar NFS.
    • Este servidor está escuchando en el puerto 22119/tcp (debe estar presente en el /etc/services con el alias cidServerBD2)
    • Es necesario asegurarse que está corriendo el programa /home/metro/ControlId/cidServerBD/cidServerBD2 (ps -efa)
    • El programa se arranca automáticamente al arrancar la máquina a través de /etc/rc.d/rc3.d/S99local -> ../rc.local llamando a la ejecución de /home/metro/ControlId/cidServerBD/RuncidServerBD2
    • El crontab del usuario root debe tener la siguiente línea para que se compruebe la ejecución del script cada hora. (crontab -l para ver el crontab. crontab -e para editar el crontab)
      • 0 * * * * /home/metro/ControlId/cidServerBD/RuncidServerBD2
    • Los logs de este servidor se guardan en el directorio /home/metro/ControlId/logs


  • Crontab de root
00 4 * * 1 /etc/init.d/dbora stop >/home/oracle/dbora_stop.log 2>&1; /etc/init.d/dbora start >/home/oracle/dbora_start.log 2>&1
00 5 * * * rdate -s main1
30 3 * * * /home/metro/ControlId/cidServerBD/RunServerBD2
0,10,20,30,40,50 * * * * /home/metro/ControlId/cidServerBD/CheckServerBD2
0 * * * * /home/metro/ControlId/scripts/RunCargaEventos


  • Crontab de metro
# Crontab de metro



Link to this Page

  • ControlId last edited on 20 October 2023 at 10:58:27 am by 3.0.1.250