ncp_storm_validate.sh

Utilice este script como ayuda para la resolución de problemas del sistema de cálculo en tiempo real de Apache Storm, que se utiliza para agregar datos de sondeos en bruto a datos de sondeos históricos.

Sintaxis

El script ncp_storm_validate utiliza la sintaxis siguiente:
$NCHOME/precision/scripts/ncp_storm_validate.sh [storm] testName testArgs
Donde:
  • storm es un argumento opcional que sirve para utilizar scripts de Storm de forma adicional para iniciar código Java. De forma predeterminada, el código Java se inicia directamente para reducir mensajes inútiles. Añada el argumento de storm opcional para ejecutar este script utilizando scripts de Storm.
  • testName es el nombre de la prueba para ejecutar.
  • testArgs son los argumentos necesarios de esa prueba.

Ejemplos

Aquí se muestran algunos ejemplos de cómo ejecutar el script:
Mostrar la configuración predeterminada actual
$NCHOME/precision/scripts/ncp_storm_validate.sh config
Mostrar la configuración de la topología con el nombre "NMAnotherTopology"
$NCHOME/precision/scripts/ncp_storm_validate.sh config NMAnotherTopology
Validar el acceso a la base de datos NCPOLLDATA utilizando las credenciales existentes
$NCHOME/precision/scripts/ncp_storm_validate.sh db
Validar el acceso a la base de datos de NCPOLLDATA utilizando las credenciales existentes, pero adicionalmente utilizando los scripts de Apache Storm.
$NCHOME/precision/scripts/ncp_storm_validate.sh storm db
V4.2 Fixpack 1:Suprimir todos los datos de sondeo histórico agregados por Storm
V4.2 Fixpack 1:
$NCHOME/precision/scripts/ncp_storm_validate.sh clear -aggregate

Opciones de línea de mandatos

La tabla siguiente describe las opciones de línea de mandatos para el script ncp_storm_validate. En todos los casos, [topology_name] adopta el valor predeterminado NMStormTopology si no se proporciona.

Tabla 1. ncp_storm_validate.sh opciones de línea de mandatos
Opción de línea de mandatos Descripción
V4.2 Fixpack 1:clear [topology_name] [-raw | -aggregate | -all] V4.2 Fixpack 1:Suprime los datos de sondeo históricos. Se le solicitará que confirme esta acción antes de suprimir ningún dato. Puede suprimir los siguientes datos de sondeo históricos:
  • -raw: suprime los datos de sondeo sin procesar almacenados por el sondeador, que todavía no se han procesado en Storm. En la práctica, son los datos de última hora de las tablas pollData y pollBatch dentro de la base de datos NCPOLLDATA.
  • -aggregate: suprime los datos de sondeo históricos agregados por Storm. Son los datos anteriores a una hora e incluyen todos los datos en todas las tablas de datos de sondeo históricos de la base de datos NCPOLLDATA. Estas son las tablas con el prefijo pdEwmaFor, por ejemplo, pdEwmaForDay.
  • -all: suprime los datos sin procesar y los datos agregados.
Aviso: Esta opción está pensada para su uso sólo durante la configuración y la prueba, y no para su uso durante el uso de producción.
config [topology_name] Muestra la topología especificada de Storm. Si no especifica un nombre de topología, el mandato muestra la topología predeterminada NMStormTopology.
crypt [topology_name] -password password [-decrypt] Cifra o descifra una contraseña en los registros. Muestra la contraseña descifrada en texto sin formato.
Nota: Esta opción no es compatible con el archivo de configuración .cfg DbLogins. Utilice el mandato ncp_crypt para trabajar con este archivo.
db [topology_name] Valida el acceso a la base de datos NCPOLLDATA. Intenta conectarse a la base de datos utilizando las credenciales existentes. La ejecución de este script con esta opción produce una salida similar a la del script ncp_db_access.pl, pero también valida la conexión JDBC.
dbconfig [topology_name] Muestra la configuración de base de datos de NCPOLLDATA. Identifica el nombre de usuario de JDBC URLand utilizado para acceder a la base de datos. Esta información se define mediante el archivo de configuración DbLogins.cfg para el dominio designado y puede sobrescribirse con el valor jdbc.url procedente del archivo de configuración backend tnm.properties.
dblogins [topology_name] Carga el archivo DbLogins.cfg backend utilizando JNI.
La carga de JNI de la configuración DbLogins es un proceso que consta de dos fases.
  1. La ruta a la biblioteca C++ libNcpDbJni.so) se indica en la propiedad java.library.path del archivo $NCHOME/precision/storm/conf/storm.yaml. Esa vía de acceso no debe modificarse nunca.
  2. Para cargar la biblioteca, la vía de acceso a la biblioteca (LD_LIBRARY_PATH en Linux, LIBPATH en AIX) debe configurarse para incorporar más dependencias C++. Esto debería suceder de forma predeterminada en función de los valores recogidos automáticamente de $NCHOME/precision/bin/ncp_common.
hb [topology_name] Muestra el estado actual de la tabla maestra de Apache Storm en la base de datos NCPOLLDATA. Utilice esta opción para identificar la topología maestra, y muestran la indicación de fecha y hora actual. Si ejecuta el script con esta opción a lo largo de varios minutos, podrá ver un identificador de lote que se incremente, lo que indica que el sondeador está almacenando continuamente datos.
hbconfig [topology_name] Muestra la configuración de la señal de monitorización de la tabla maestra de Apache Storm en la base de datos NCPOLLDATA.
V4.2 Fixpack 1:kafkaexport V4.2 Fixpack 1:Exporta datos de ejemplo para temas seleccionados. El tema seleccionado determina el formato de salida. Para obtener una descripción completa de los parámetros de esta opción, consulte Exportación de datos de ejemplo utilizando la opción kafkaexport.
V4.2 Fixpack 1:kafkaimport V4.2 Fixpack 1:Escucha las solicitudes de datos sobre un tema de kafka especificado o para un número especificado de segundos. Para obtener una descripción completa de los parámetros de esta opción, consulte Escuchar solicitudes de datos utilizando la opción kafkaimport.
keyfile [keyFileName] Valida una clave de cifrado existente o crea una nueva si no existe.
V4.2 Fixpack 1:

Exportación de datos de ejemplo utilizando la opción kafkaexport

La opción kafkaexport utiliza la siguiente sintaxis:
kafkaexport [topology_name] -topic topic [-clientid clientid] [-instanceid monitoredInstanceId] [-objectid monitoredObjectId] [-value value] [-message messageString]
A continuación, se muestran algunos ejemplos de cómo exportar datos de ejemplo utilizando la opción kafkaexport.
Nota: Los nombres de tema distinguen entre mayúsculas y minúsculas. Si realiza un uso normal, no es necesario que se preocupe por los nombres de tema. No obstante, sí debe preocuparse cuando solucione problemas con el script ncp_storm_validate.sh. En este caso, tenga en cuenta que debe escribir el nombre de tema exactamente como aparece aquí, es decir, todo en minúsculas, por ejemplo: nm.monitoredobject.
V4.2 Fixpack 1:Exportar datos de prueba a kafka
V4.2 Fixpack 1:

El formato se codifica basándose en los temas configurados. Los siguientes ejemplos muestran las opciones relevantes para las distintas configuraciones de temas.

V4.2 Fixpack 1:
ncp_storm_validate.sh kafkaexport -topic nm.polldata
ncp_storm_validate.sh kafkaexport -topic nm.polldata -value 10 -instanceid 4 -objectid 3
ncp_storm_validate.sh kafkaexport -topic nm.monitoredinstance
ncp_storm_validate.sh kafkaexport -topic nm.monitoredinstance -instanceid 4
ncp_storm_validate.sh kafkaexport -topic nm.monitoredobject
ncp_storm_validate.sh kafkaexport -topic nm.monitoredobject -objectid 3
V4.2 Fixpack 1:Solicitar un volcado de tabla completo
V4.2 Fixpack 1:

La opción de volcado requiere que se esté ejecutando Apache Storm. Los siguientes ejemplos muestran las opciones relevantes para las distintas configuraciones de temas.

V4.2 Fixpack 1:
ncp_storm_validate.sh kafkaexport -topic nm.datarequest -message monitoredobject
ncp_storm_validate.sh kafkaexport -topic nm.datarequest -message monitoredinstance
Tabla 2. Parámetros de la opción kafkaexport
Opción de línea de mandatos Descripción
topology_name Exporta los datos de ejemplo desde la topología de Storm especificada. Si no especifica un nombre de topología, el mandato exporta datos de ejemplo desde la topología predeterminada NMStormTopology.
-topic topic El tema para el que desea exportar datos de sondeo.
Las opciones son:
  • nm.datarequest
  • nm.monitoredinstance
  • nm.monitoredobject
  • nm.polldata
-clientid clientid El sistema genera automáticamente este identificador, que se registra en el archivo de registro de Apache Storm correspondiente. Normalmente, no es necesario especificar este valor.
Nota: Si necesita resolver problemas, puede especificar un valor para clientid modificando el valor registrado en el archivo de registro de Apache Storm correspondiente.
-instanceid monitoredInstanceId Valor ficticio que puede especificarse si se ha especificado un tema nm.polldata o nm.monitoredinstance. Se exportará el valor que se especifique aquí.
Nota: Este valor no se utiliza para buscar una fila en la base de datos de topología de NCIM.
-objectid monitoredObjectId Valor ficticio que puede especificarse si se ha especificado un tema nm.monitoredobject.
Nota: Este valor no se utiliza para buscar una fila en la base de datos de topología de NCIM.
-value value Puede utilizarse con el tema nm.polldata para especificar un valor ficticio a efectos de prueba.
-message messageString Puede utilizarse con el tema nm.datarequest para identificar el tipo de datos solicitados. Actualmente, debe ser 'monitoredobject' o 'monitoredinstance', lo que activa un volcado completo de la tabla especificada en cada caso.
V4.2 Fixpack 1:

Escucha de solicitudes de datos utilizando la opción kafkaimport

La opción kafkaimport utiliza la siguiente sintaxis:
kafkaimport [topology_name] -topic topic [-runseconds runseconds] [-groupid groupId]
A continuación, se muestran algunos ejemplos de cómo escuchar solicitudes de datos utilizando la opción kafkaimport. El formato de la salida depende de los temas configurados.
Nota: Los nombres de tema distinguen entre mayúsculas y minúsculas. Si realiza un uso normal, no es necesario que se preocupe por los nombres de tema. No obstante, sí debe preocuparse cuando solucione problemas con el script ncp_storm_validate.sh. En este caso, tenga en cuenta que debe escribir el nombre de tema exactamente como aparece aquí, es decir, todo en minúsculas, por ejemplo: nm.monitoredobject.
ncp_storm_validate.sh kafkaimport -topic nm.monitoredinstance
ncp_storm_validate.sh kafkaimport -topic nm.monitoredobject -runseconds 100000
ncp_storm_validate.sh kafkaimport -topic nm.polldata
Tabla 3. Parámetros de la opción kafkaimport
Opción de línea de mandatos Descripción
topology_name Escucha las solicitudes de datos de la topología de Storm especificada. Si no especifica un nombre de topología, el mandato escucha las solicitudes de datos en la topología predeterminada NMStormTopology.
-topic topic El tema para el que desea escuchar solicitudes de datos.
Las opciones son:
  • nm.datarequest
  • nm.monitoredinstance
  • nm.monitoredobject
  • nm.polldata
-runseconds runseconds El número de segundos que desea escuchar solicitudes de datos.
-groupid groupId
El sistema genera automáticamente este identificador, que se registra en el archivo de registro de Apache Storm correspondiente. Normalmente, no es necesario especificar este valor.
Nota: Si necesita resolver problemas, puede especificar un valor para groupid modificando el valor registrado en el archivo de registro de Apache Storm correspondiente.