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
|
Pour entreposer toutes ces valeurs numériques, il existe plusieurs
|
||||||
choix, et nous allons en évaluer quelques uns :
|
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{influxdb}\index{influxdb} (page \pageref{influxdb}),
|
||||||
\texttt{gnocchi}\index{gnocchi}...
|
\texttt{gnocchi}\index{gnocchi}...
|
||||||
|
|
||||||
@ -100,6 +100,8 @@ de bonne efficacité.
|
|||||||
|
|
||||||
Promis, on va en mettre ! Dès que ça marche\dots
|
Promis, on va en mettre ! Dès que ça marche\dots
|
||||||
|
|
||||||
|
Premier exemple avec rrdb en page \pageref{rrdb}.
|
||||||
|
|
||||||
\subsection{Analyses}
|
\subsection{Analyses}
|
||||||
|
|
||||||
Bla bla bla\dots Corrélations, toussa\dots
|
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 !}.
|
du Tetalab\footnote{Jean-Yves, je vous demande de vous calmer !}.
|
||||||
|
|
||||||
Je suis parti sur trois scripts shell, pour créer, mettre à jour et
|
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
|
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
|
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
|
source ./commun.sh
|
||||||
|
|
||||||
|
tmpf="somevalues.dat"
|
||||||
|
|
||||||
rrdtool fetch $RRDB LAST |
|
rrdtool fetch $RRDB LAST |
|
||||||
tr -d ':' |
|
tr -d ':' |
|
||||||
awk '
|
awk '
|
||||||
(!/nan/ && NF==2) { print $1, $2 }
|
(!/nan/ && NF==2) { print $1, $2 }
|
||||||
' \
|
' \
|
||||||
> toto
|
> ${tmpf}
|
||||||
|
|
||||||
|
#
|
||||||
|
# as an example, we are gnuploting our datas
|
||||||
|
#
|
||||||
gnuplot << __EOC__
|
gnuplot << __EOC__
|
||||||
set term png size 800,600
|
set term png size 800,600
|
||||||
set output "graphe.png"
|
set output "graphe.png"
|
||||||
plot "toto" with lines
|
set grid
|
||||||
|
plot "${tmpf}" with lines
|
||||||
__EOC__
|
__EOC__
|
||||||
|
|
||||||
rm toto
|
rm ${tmpf}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user