Home - macadanedhel/Search-Log-Information GitHub Wiki

Vamos a crear un grafo

Parseo del fichero

Suponiendo que existe la base de datos. El modo de ejecución es igual si existe o no

La información que parsea es log.txt :


./search.logs.v.1.0.py -c -g -f log.txt -l



('Managed error :[1.1]:', OperationalError('table c_NODE already exists',))
('Managed error :[2.1]:', OperationalError('table t_GRAPH already exists',))
('Managed error :[3.1]:', OperationalError('table t_CHANGES already exists',))

[0] 
[1] + * + * + * + * j j + * j + * j + * j + * 
[2] - - - - - - + * j + * j + * j + * 
[3] - - + * + * + * 
[4] - - - - - - + * + * + * 
[5] - - - - - - + * + * + * 
[6] - - - - - - + * + * 
[7] - - - - - - - - 
[8] 
[9] 
[10] 
[11] 
[12] 
[13] - - + * + * + * j + * + * + * + * + * + * + * + * j + * + * + * + * + * + * + * 
[14] - - - - - - + * + * + * + * 
[15] - - - - - - + * - * + * + * 
[16] - - - - - - + * j + * - * + * 
[17] - - - - - - - - j - - j + * - * 
[18] - - - - - - + * + * + * 
[19] - - - - - - + * + * + * 
[20] - - - - - - + * j + * j + * + * j + * + * 
[21] - - - - - - j - - + * + * + * j + * j + * j + * j + * j + * 
[22] - - - - - - j + * + * j + * - * + * j + * + * 
[23] - - - - - - + * j + * j - * j j + * + * 
[24] - - - - - - j + * j j + * j j j + * j j + * + * + * + * 
[25] - - - - - - + * + * j + * 
[26] - - - - - - + * j + * + * - * j + * 
[27] - - - - - - - - - - j - - dentro del log
[28] - - - - - - - - j - - - - - - j - - 
[29] - - - - - - + * j + * j + * + * j + * + * 
[30] - - - - - - - - j - - j - - + * j - * - - 
[31] - - - - - - - - j - - j - - + * j - * - - 
[32] - - - - - - + * - * + * j + * j + * + * 
[33] - - - - - - + * j + * j + * j + * + * + * j j + * + * + * + * + * + * + * 
[34] - - - - - - + * 
[35] - - - - - - + * j + * 
[36] - - - - - - - - j + * + * j j + * 
[37] - - - - - - + * 
[38] - - - - - - j + * + * j + * j + * 
[39] - - - - - - - - + * + * + * j + * + * 
[40] - - - - - - j + * + * j - * j + * 
[41] - - - - - - - - - - - - - - j - - - - 
[42] - - - - - - j - - - - j - - j - - 
[43] - - - - - - j - - + * j - * j - - 
[44] - - - - - - j - - + * j - * j - - 
[45] - - - - - - j + * j j + * + * + * + * 
[46] - - - - - - j + * j + * + * j + * + * + * 
[47] - - - - - - - - j - - j + * + * + * j + * j + * j + * + * j + * + * 
[48] - - - - - - + * + * + * + * 
[49] - - - - - - + * + * j + * j + * + * + * + * 
[50] - - - - - - + * + * + * + * j + * + * j j + * + * + * j + * + * j j + * + * 
![octocat](https://raw.githubusercontent.com/wiki/macadanedhel/Search-Log-Informationhttps://github.com/username/repository/blob/master/img/octocat.png)
	45 Lines with paths
	50 Lines read

   eof

Vemos cómo actualiza la base de datos, da de alta los nuevos valores, actualiza la información de los nodos. Ha leído 50 líneas y ha cargado 45, eso supone que existe multilínea.

Los J son los valores que salta, las stop words, artículos y cosas así que no aportan valor.

Se podría comprobar el fichero para ver ese típo de multilínea en ejecutando el mismo script con distintas opciones

Del mismo modo se podría comprobar la existencia de información "sensible" [dentro del log] (https://github.com/macadanedhel/Search-Log-Information/wiki/Amenazas-en-el-ejemplo)

Para visualizar la información de este fichero ejecutamos nuevamente

./search.logs.v.1.0.py -vg 

En este momento se han creado en ./img/ dos ficheros

  • graph.svg
  • graph.dot

Con el segundo fichero podemos hacer lo que se nos ocurra tal y como explican el web del producto y con el comando dot. En mi equipo con ristretto se visualiza lo siguiente: ![Log RAW](https://raw.githubusercontent.com/wiki/macadanedhel/Search-Log-Informationhttps://raw.githubusercontent.com/macadanedhel/Search-Log-Information/master/branches/00. V.1/img/graph.png)

Para verlo chulo pulsa el link al svg

Posteriormente podemos normalizar el grafo, sabemos que es 4 el factor común. Si se ejecuta la opción se puede ver ...


./search.logs.v.1.0.py -gn -j 4

= = = = = = # + + * + * = = = = = # + + * + * + * = = = = = # + + * = = = # + + * = = = # + + * = = = # + + * = = = = = = = = = = = = = = = = # + + * = = = # + + * = = = # + + * = = = # + + * = = = = # + + * = = = # + + * + = * = = = = = = # + + * = = = # + + * + = * = = = # + + * = = = = = = = # + + * = = = # + + * = = = # + + * + = * = = = = = # + + * = = = = = = = = = = = = = # + + * = = = = # + + * = = = = = = # + + * = = = = = # + + * = = = = = # + + * = = = = = = = = = = # + + * = = = = # + + * = = = = = = = # + + * = = = = = = = = = = = = = # + + *

eof


La transformación queda de la siguiente forma: graph clean Para verlo chulo pulsa el link al svg

Por último ejecutando ./search.logs.v.1.0.py -sg obtenemos el fichero ordenado

¿Y ahora?

Lo primero sacar los campos variables y luego la imaginación...