Saltar al contenido principal

Guía de Operaciones

Esta guía describe los trabajos programados de OmniRoam, la transferencia de archivos, el archivo, las ubicaciones de los registros y el mantenimiento rutinario.

Tabla de Contenidos

Descripción General de Trabajos Programados

OmniRoam funciona en un ciclo diario. La tabla muestra los trabajos principales y su orden.

TrabajoSe EjecutaPropósito
Ingesta de CDRProgramado por cronRecoge, correlaciona y califica CDRs.
Exportación TAPDiaria, a la hora configuradaGenera archivos TAP por socio.
CargaDespués de cada exportaciónEnvía los nuevos archivos TAP a la casa de compensación.
Extracción entranteDiaria, y una ejecución completa semanalExtrae archivos TAP y RAP entrantes.
Monitor de RAPCada 4 horasAlerta a los operadores sobre un nuevo archivo RAP.
ArchivoMensualVuelca y purga CDRs antiguos de la base de datos.

Ingesta de CDR

El trabajo de ingesta recoge CDRs de las puertas de enlace de servicio, los correlaciona y los califica. El trabajo ejecuta las herramientas de Python en orden.

  1. Extraer los archivos CDR ASN.1 de 3GPP y eliminar los archivos locales de más de 60 días.
  2. Convertir los archivos ASN.1 de 3GPP a XML e importarlos.
  3. Extraer los archivos CSV de la puerta de enlace de servicio OmniCore.
  4. Correlacionar los registros de OmniCore y escribirlos en Redis.
  5. Drenar Redis, calificar cada CDR y almacenar el resultado.

Consulte Procesamiento de CDR para los detalles del pipeline y los filtros de edad.

Exportación TAP Programada

El programador inicia la exportación diaria. El programador lee config.export_schedule en cada tick, por lo que un cambio se aplica sin reiniciar. Consulte la Referencia de Configuración.

  • El programador se ejecuta cuando enabled es true, la hora UTC actual alcanza at, y la exportación no se ha ejecutado hoy.
  • El programador encola un trabajo de exportación por socio objetivo.
  • La cola de trabajos ejecuta una exportación a la vez. Este límite protege el pool de base de datos compartido.
  • Cuando la cola se drena, OmniRoam ejecuta el comando en on_export_complete.
  • OmniRoam publica un mensaje de Slack en el webhook configurado al completarse o fallar.

El programador no ejecuta una exportación adicional al arrancar. Si el servicio comienza después de la hora diaria, la primera exportación se ejecuta al día siguiente.

Para ejecutar una exportación ahora, use la API. Consulte la Referencia de API HTTP.

Transferencia de Archivos

OmniRoam mueve archivos entre el almacenamiento local y la casa de compensación.

Carga

OmniRoam ejecuta el comando de carga después de cada exportación, a través de on_export_complete. El comando de carga envía los nuevos archivos TAP a la casa de compensación y mueve cada archivo enviado al directorio OutputFiles_Sent.

El script de carga se ejecuta como el usuario de transferencia. La casa de compensación rechaza la clave del usuario root. Ejecute la carga como el usuario correcto, o la transferencia fallará.

Extracción entrante

El trabajo de extracción recupera archivos entrantes de la casa de compensación al directorio TAP entrante. El trabajo de extracción copia un archivo a la vez, porque la cuenta de la casa de compensación no permite una transferencia masiva.

PrefijoTipo de archivo
CDUn archivo TAP en vivo entrante.
TDUn archivo TAP de prueba entrante.
RCUn archivo RAP que rechaza una presentación en vivo.
RTUn archivo RAP que rechaza una presentación de prueba.

El trabajo de extracción realiza una extracción incremental diaria y una extracción completa semanal. El trabajo de extracción se ejecuta como el usuario de transferencia.

Archivado

El trabajo de archivo controla el crecimiento de la base de datos de CDR. El trabajo de archivo vuelca los CDRs procesados que son más antiguos que la ventana de retención a un archivo y luego elimina esas filas.

Programe el trabajo de archivo mensualmente. Confirme que el archivo de volcado esté completo antes de confiar en la eliminación. Mantenga la ventana de retención consistente con su política de purga de base de datos.

Mantenimiento del Contador de Secuencia

El número de secuencia del archivo TAP es un campo de 5 dígitos, con un rango de 00001 a 99999. OmniRoam no restablece el contador automáticamente.

  1. Monitoree los contadores CD y TD para cada socio en counters.yaml.
  2. Antes de que un contador alcance 99999, acuerde un restablecimiento con el socio.
  3. Restablezca el contador a 1 en el momento acordado.
  4. Haga una copia de seguridad de counters.yaml con config.yaml.

Consulte la Referencia de Configuración.

Mantenimiento de Almacenamiento

Monitoree estos almacenes por crecimiento.

AlmacénAcción
OutputFilesConfirme que la carga mueva cada archivo enviado a OutputFiles_Sent. Un recuento pendiente creciente significa que la carga falló. Observe tap3_files_pending y tap3_hours_since_last_file.
InfluxDBEstablezca una política de retención. La medición raw_cdr tiene alta cardinalidad.
Base de datos de CDREjecute el trabajo de archivo según lo programado.
Archivos de registroLas herramientas de Python escriben un nuevo archivo de registro con marca de tiempo por ejecución en /tmp. Elimine archivos de registro antiguos.

Consulte la Referencia de Métricas para las métricas de monitoreo.

Ubicaciones de Registros

Las herramientas de Python escriben un archivo de registro con marca de tiempo por ejecución.

Patrón de archivoFuente
/tmp/import_CDR_Logger_Marben_*.logLos importadores ASN.1 y Redis.
/tmp/import_CDR_Logger_OmniCore_*.logEl importador de OmniCore.
/tmp/tap3_export_*.logLa herramienta de exportación heredada.
/tmp/convert_cdr_logger_*.logEl convertidor de 3GPP ASN.1 a XML.
/tmp/rate_creator_Logger_*.logEl provisionador de tarifas.

La aplicación OmniRoam registra a través del administrador de servicios del sistema. El script de carga escribe su estado en un archivo de registro que el colector de métricas lee.