rrdb : improving doc and code
This commit is contained in:
parent
8fd8381fc3
commit
5aa3f73daa
@ -68,7 +68,7 @@ par exemple si des algues\footnote{ou des pleurotes.} tentent de s'échapper.
|
||||
|
||||
Pour entreposer toutes ces valeurs numériques, il existe plusieurs
|
||||
choix, et nous allons en évaluer quelques uns :
|
||||
\texttt{rrdb}\index{rrdb},
|
||||
\texttt{rrdb}\index{rrdb} (page \pageref{rrdb}),
|
||||
\texttt{influxdb}\index{influxdb} (page \pageref{influxdb}),
|
||||
\texttt{gnocchi}\index{gnocchi}...
|
||||
|
||||
@ -100,6 +100,8 @@ de bonne efficacité.
|
||||
|
||||
Promis, on va en mettre ! Dès que ça marche\dots
|
||||
|
||||
Premier exemple avec rrdb en page \pageref{rrdb}.
|
||||
|
||||
\subsection{Analyses}
|
||||
|
||||
Bla bla bla\dots Corrélations, toussa\dots
|
||||
@ -114,7 +116,62 @@ Première tentative d'utilisation le lendemain du premier apéro 2019
|
||||
du Tetalab\footnote{Jean-Yves, je vous demande de vous calmer !}.
|
||||
|
||||
Je suis parti sur trois scripts shell, pour créer, mettre à jour et
|
||||
exploiter l'enregistrement d'une valeur de type \textsc{gauge}.
|
||||
analyser les enregistrements d'une valeur de type \textsc{gauge}.
|
||||
|
||||
\subsection{Create}
|
||||
\begin{lstlisting}
|
||||
#!/bin/bash
|
||||
|
||||
source ./commun.sh
|
||||
|
||||
starttime=$(date +'%s')
|
||||
echo creating $RRDB at ${starttime}s since epoch
|
||||
rrdtool create $RRDB \
|
||||
--start $starttime \
|
||||
--step 60 \
|
||||
DS:value:GAUGE:150:0:10 \
|
||||
RRA:AVERAGE:0.5:1:60
|
||||
\end{lstlisting}
|
||||
|
||||
\subsection{Update}
|
||||
\index{rrdtool}
|
||||
\begin{lstlisting}
|
||||
#!/bin/bash
|
||||
|
||||
source ./commun.sh
|
||||
ctime=$(date +'%s')
|
||||
value=$(cut -d ' ' -f 1 /proc/loadavg)
|
||||
|
||||
# inject value in the rrdb file
|
||||
rrdtool update $RRDB ${ctime}:${value}
|
||||
\end{lstlisting}
|
||||
|
||||
\subsection{Analyze}
|
||||
\begin{lstlisting}
|
||||
#!/bin/bash
|
||||
|
||||
source ./commun.sh
|
||||
tmpf="somevalues.dat"
|
||||
|
||||
rrdtool fetch $RRDB LAST |
|
||||
tr -d ':' |
|
||||
awk '
|
||||
(!/nan/ && NF==2) { print $1, $2 }
|
||||
' \
|
||||
> ${tmpf}
|
||||
|
||||
# as an example, we are gnuploting our datas
|
||||
gnuplot << __EOC__
|
||||
set term png size 800,600
|
||||
set output "graphe.png"
|
||||
set grid
|
||||
plot "${tmpf}" with lines
|
||||
__EOC__
|
||||
|
||||
rm ${tmpf}
|
||||
\end{lstlisting}
|
||||
|
||||
|
||||
|
||||
% -------------------------------------------------------------------
|
||||
|
||||
@ -123,7 +180,8 @@ exploiter l'enregistrement d'une valeur de type \textsc{gauge}.
|
||||
La communication avec la bédédé se fait \textit{over HTTP}, un peu
|
||||
comme tous ces trucs de d'jeunz d'aujourd'hui\dots
|
||||
|
||||
Au programme : écriture d'un injecteur en Perl\index{Perl}.
|
||||
Au programme : écriture d'un injecteur en Perl\index{Perl}, en suivant
|
||||
plus ou moins l'exemple de rrdb..
|
||||
|
||||
|
||||
% -------------------------------------------------------------------
|
||||
|
@ -2,18 +2,24 @@
|
||||
|
||||
source ./commun.sh
|
||||
|
||||
tmpf="somevalues.dat"
|
||||
|
||||
rrdtool fetch $RRDB LAST |
|
||||
tr -d ':' |
|
||||
awk '
|
||||
(!/nan/ && NF==2) { print $1, $2 }
|
||||
' \
|
||||
> toto
|
||||
> ${tmpf}
|
||||
|
||||
#
|
||||
# as an example, we are gnuploting our datas
|
||||
#
|
||||
gnuplot << __EOC__
|
||||
set term png size 800,600
|
||||
set output "graphe.png"
|
||||
plot "toto" with lines
|
||||
set grid
|
||||
plot "${tmpf}" with lines
|
||||
__EOC__
|
||||
|
||||
rm toto
|
||||
rm ${tmpf}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user