Browse Source

plus d'erreur de moyenne.
ajouté un cas d'erreur dans la doc : int overflow en lecture d'un fichier de logs
ajout doc pour installation YaPLog manuelle
script py3 genTrafic écrit un CSV

Citnop 3 years ago
parent
commit
21841e3fcf
3 changed files with 47 additions and 3 deletions
  1. 1 1
      cpp/main.cpp
  2. 45 1
      doc/user_manual_dev_handbook.tex
  3. 1 1
      genTrafic/genTrafic.py

+ 1 - 1
cpp/main.cpp

@@ -565,7 +565,7 @@ bool sma(Data* vData)
565 565
 		if (i%ECH == 0) // 
566 566
 		{
567 567
 			//resval.at(i/ECH) = somme/pas/ECH; // moy faite sur pas*ECH
568
-			resval.at(i/ECH) = somme/pas; // moy faite sur pas
568
+			resval.at(i/ECH) = somme/pas; // moy faite sur pas*ECH. resultat sur ECH.
569 569
 		}
570 570
 		somme -= movAvgQ.front(); // <=> somme -= vData->getTrafficAt(...);
571 571
 		movAvgQ.pop(); // pop front

+ 45 - 1
doc/user_manual_dev_handbook.tex

@@ -309,7 +309,7 @@ précéde, si le second \texttt{\#} et tout ce qui suit.
309 309
     \hline
310 310
       \cellcolor{blue!15} \ad{su} & \cellcolor{blue!15}commande à taper pour devenir \rt{}. Il faut connaître le mot de passe \rt{}. \\
311 311
     \hline
312
-       &  \\
312
+      \texttt{\textasciitilde{}} & le répertoire de l'utilisateur. Si l'utilisateur est \texttt{administrateur}, il s'agit de \texttt{/home/administrateur/} \\
313 313
     \hline
314 314
       \cellcolor{blue!15} & \cellcolor{blue!15} \\
315 315
     \hline
@@ -611,6 +611,19 @@ facile à monitorer, puisqu'il va occuper tous les CPU et 150 Mo de RAM.
611 611
 
612 612
 Regarder les logs.
613 613
 
614
+Erreurs connues potentielles :
615
+\begin{itemize}
616
+    \item "terminate called recursively", "Aborted" :
617
+        un flow nfcapd a une taille en octets supérieure à 2 147 483 647 (2 Go). 
618
+        Note : il s'agit-là d'un cas hypothétique possible mais improbable, 
619
+        on n'a jamais dépassé 11 Mo par flow en pratique sur le site le plus 
620
+        important. Dans ce cas, il faudrait transformer la classe 
621
+        \texttt{Packet()} dans le programme C++, de telle sorte que la taille 
622
+        d'un \texttt{Packet} soit décrite par un \texttt{uint64\_t} au lieu d'un 
623
+        \texttt{int} (ou au minimum par un \texttt{uint32\_t}).
624
+\end{itemize}
625
+
626
+
614 627
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
615 628
 % htop -s M_RESIDENT PERCENT_CPU
616 629
 \part{Outils}
@@ -728,7 +741,38 @@ Compiler nfdump :\\
728 741
 Installer nfdump :\\
729 742
 \su{make install}
730 743
 
744
+\section{Installation de YaPLog}
745
+
746
+\subsection{Prérequis}
747
+
748
+Pour l'instant, le programme tourne dans le répertoire 
749
+\texttt{/home/administrateur/prod} par défaut. Il faut donc avoir créé 
750
+l'utilisateur administrateur et son home.
731 751
 
752
+\subsection{Compilation}
753
+
754
+Cloner le réperoire git :\\
755
+\ad{git clone https://git.hashtagueule.fr/citnop/YaPLog.git \&\& cd YaPLog/}\\
756
+puis compiler :\\
757
+\ad{make all}\\
758
+Ceci génère :
759
+\begin{itemize}
760
+    \item le pré-parser (compilation avec \texttt{flex} et \texttt{gcc}) ;
761
+    \item le parser (compilation avec \texttt{g++}) ;
762
+    \item la documentation (compilation avec \texttt{pdflatex}) ;
763
+\end{itemize}
764
+
765
+\subsection{Installation}
766
+
767
+Il faut déplacer les programmes dans les répertoires suivants :
768
+\begin{itemize}
769
+    \item \texttt{graphEchantTabl.out} dans \texttt{\textasciitilde{}/prod/parser/}
770
+    \item \texttt{acsvify.out} dans \texttt{\textasciitilde{}/prod/preparser/}
771
+    \item \texttt{useRAM.out} dans \texttt{\textasciitilde{}/prod/cleanRAM/}
772
+    \item \texttt{plotgnu.sh} dans \texttt{\textasciitilde{}/prod/parser/}
773
+    \item \texttt{chef\_d\_orchestre.sh} dans \texttt{\textasciitilde{}/prod/scripts/bash/}
774
+    \item \texttt{nfdumpall.sh} dans \texttt{\textasciitilde{}/prod/scripts/bash/}
775
+\end{itemize}
732 776
 
733 777
 
734 778
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

+ 1 - 1
genTrafic/genTrafic.py

@@ -12,7 +12,7 @@ sec = int(datetime.date.today().strftime("%s"))
12 12
 
13 13
 IPsrc = input("IP source : ")
14 14
 IPdst = input("IP destination : ")
15
-f = '/home/administrateur/traficTest.txt'
15
+f = '/home/administrateur/traficTest.csv'
16 16
 
17 17
 
18 18
 with open(f, 'w') as fw: