Resumen

Cuando se trata de miles de eventos que llegan a su NOC desde muchos lugares y diferentes clientes, los operadores confían en obtener información útil que les ayude a dar sentido a los eventos que pasan por el NOC.

Utilizando opEvents, es relativamente fácil incorporar casi cualquier fuente de datos a su fuente de eventos para que el equipo de operaciones tenga un mejor contexto de lo que está sucediendo y, en última instancia, cuál podría ser la causa raíz de la interrupción de la red que están investigando actualmente.

Uso de los feeds de Twitter para la gestión de eventos

Si investigas en Twitter, encontrarás que muchos gobiernos y otras organizaciones utilizan Twitter para emitir alertas y hacer anuncios. Buscando un poco en Google, he encontrado algunas fuentes de Twitter excelentes para el tiempo severo, el tiempo general y los tweets de terremotos. Al monitorear estos en opEvents, el resultado es que usted tiene tweets visualizados en su vista general de Gestión de Eventos.

opEvents MGMT Ver - 700

Feeds de Twitter útiles

Malas condiciones meteorológicas

Tiempo Tweet

Terremoto Tweet

Escuchar los feeds de Twitter

Hay varias formas de escuchar los feeds de Twitter. La más rápida para mí fue utilizar Node-RED, algo que utilizo para la automatización del hogar y aplicaciones similares a IoT. Configurar Node-RED con los datos de la alimentación anterior y luego crear un evento opEvents JSON fue muy sencillo.

Vista de configuración del nodo rojo - 700

El código incluido en el nodo "Make Event" está abajo. Crea un documento JSON con la carga útil correcta que es un evento JSON compatible con opEvents (que son una forma realmente genial de tratar los eventos), y luego lo escribe en el archivo:

if ( msg.lang === "en" ) {
// initialise payload to be an object.
details = msg.payload;
event = msg.topic;
timenow = Date.now();
msg.filename = "/data/json-events/event-"+timenow+".json";
msg.payload = {
node: "twitter",
event: event,
element: "Sentiment: " + msg.sentiment.score,
details: details,
sentiment_score: msg.sentiment.score
};
return msg;
}

Cómo introducir los eventos de Twitter en opEvents

Ahora tenemos un documento JSON bien formado con los campos necesarios, opEvents lo consumirá una vez que se le diga en qué directorio debe buscar.

Añadí lo siguiente al opCommon.nmis en la sección opevents_logs y reinicié el demonio opEvents, opeventsd.

'nmis_json_dir' => [
'/data/json-events'
],

El resultado se puede ver bien en opEvents cuando se profundiza en el nodo "twitter" (por supuesto, se puede llamar a este nodo como se quiera, por ejemplo, "tiempo" o "terremoto").

Twitter de opEvents - 700

Al hacer clic en uno de los fenómenos meteorológicos con una alta puntuación de sentimiento (más sobre esto en un segundo), puedes ver más detalles sobre este evento y el impacto que podría tener. Desgraciadamente, en estos momentos tenemos un ciclón tropical en el norte de Queensland; esperemos que nadie resulte herido.

Vista de eventos opEvents - 700

Enriquecer el tuit con una puntuación de sentimiento

La puntuación del sentimiento es una heurística que calcula cuán positivo o negativo es un texto, es decir, cuál es el sentimiento de ese texto. El análisis del texto busca palabras clave y calcula una puntuación, y luego, en opEvents, utilizamos esta puntuación para establecer la prioridad del evento, de modo que podamos ver mejor los eventos meteorológicos más críticos porque el sentimiento de esos tuits será negativo.

En los opEvents, EventActions.nmis incluí alguna política de eventos para establecer la prioridad de los mismos basada en la puntuación de sentimiento, que era una propiedad de los eventos que se transmite desde Node-RED. Esto se traslada al resto de opEvents de forma automática.

'15' => {
IF => 'event.sentiment_score =~ /\d+/',
THEN => {
'5' => {
IF => 'event.sentiment_score > 0',
THEN => 'priority(2)',
BREAK => 'false'
},
'10' => {
IF => 'event.sentiment_score == -1',
THEN => 'priority(3)',
BREAK => 'false'
},
'20' => {
IF => 'event.sentiment_score == -2',
THEN => 'priority(4)',
BREAK => 'false'
},
'30' => {
IF => 'event.sentiment_score == -3',
THEN => 'priority(5)',
BREAK => 'false'
},
'40' => {
IF => 'event.sentiment_score < -3',
THEN => 'priority(8)',
BREAK => 'false'
},
},
BREAK => 'false'
},

Dado que opEvents utiliza varias técnicas para facilitar la integración, pude introducir los tweets en el sistema en menos de una hora (originalmente estaba monitorizando tweets sobre el Tour de Francia), luego pasé un poco más de tiempo buscando tweets interesantes sobre el tiempo y refinando cómo se veían los eventos (otra hora más o menos).

Resumen

Si desea un sistema de gestión de eventos que pueda integrarse fácilmente con cualquier tipo de datos de prácticamente cualquier fuente en su flujo de trabajo, entonces opEvents podría ser la solución adecuada para usted. Como ventaja, puede observar la popularidad de eventos deportivos mundiales como el Tour de Francia.

Seguimiento de los tuits del Tour de Francia con opEvents

opEvents Tour de France Ver - 700