added Screenshots
added Literatur changed Daten hinzufügen
This commit is contained in:
parent
0f36c31593
commit
5d517695e3
Binary file not shown.
|
@ -5,14 +5,76 @@
|
||||||
|
|
||||||
\anhangsverzeichnis
|
\anhangsverzeichnis
|
||||||
|
|
||||||
\anhang{Gesprächsnotizen}
|
%\anhang{Gesprächsnotizen}
|
||||||
|
|
||||||
\subanhang{Gespräch mit Werner Müller}
|
%\subanhang{Gespräch mit Werner Müller}
|
||||||
|
|
||||||
Gespräch mit Werner Müller am 01.01.2013 zum Thema XXX:
|
%Gespräch mit Werner Müller am 01.01.2013 zum Thema XXX:
|
||||||
\begin{compactitem}
|
%\begin{compactitem}
|
||||||
\item Über das gute Wetter gesprochen
|
% \item Über das gute Wetter gesprochen
|
||||||
\item Die Regenwahrscheinlichkeit liegt immer bei ca. 3\%
|
% \item Die Regenwahrscheinlichkeit liegt immer bei ca. 3\%
|
||||||
\item Das Unternehmen ist total super
|
% \item Das Unternehmen ist total super
|
||||||
\item Hier könnte eine wichtige Gesprächsnotiz stehen
|
% \item Hier könnte eine wichtige Gesprächsnotiz stehen
|
||||||
\end{compactitem}
|
%\end{compactitem}
|
||||||
|
|
||||||
|
\anhang{InfluxDB Webinterface Screenshot}
|
||||||
|
|
||||||
|
\begin{figure}[hbt]
|
||||||
|
\centering
|
||||||
|
\begin{minipage}[t]{0.9\textwidth} % Breite, z.B. 1\textwidth
|
||||||
|
\caption{InfluxDB Dashboard} % Überschrift
|
||||||
|
\includegraphics[width=1\textwidth]{img/InfluxDB-Dashboard}% Pfad
|
||||||
|
\source{Eigner Screenshot InfluxDB Webinterface} % Quelle\label{fig:dashboard}
|
||||||
|
\label{fig:dashboard}
|
||||||
|
\end{minipage}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
\begin{figure}[hbt]
|
||||||
|
\centering
|
||||||
|
\begin{minipage}[t]{0.9\textwidth} % Breite, z.B. 1\textwidth
|
||||||
|
\caption{InfluxDB Load Data Source} % Überschrift
|
||||||
|
\includegraphics[width=1\textwidth]{img/InfluxD-LoadData-Sources.PNG} % Pfad
|
||||||
|
\source{Eigner Screenshot InfluxDB Webinterface} % Quelle
|
||||||
|
\label{fig:load-data-source}
|
||||||
|
\end{minipage}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
\begin{figure}[hbt]
|
||||||
|
\centering
|
||||||
|
\begin{minipage}[t]{0.9\textwidth} % Breite, z.B. 1\textwidth
|
||||||
|
\caption{InfluxDB Load Data Bucket} % Überschrift
|
||||||
|
\includegraphics[width=1\textwidth]{img/InfluxD-LoadData-Bucket.PNG} % Pfad
|
||||||
|
\source{Eigner Screenshot InfluxDB Webinterface} % Quelle
|
||||||
|
\label{fig:load-data-bucket}
|
||||||
|
\end{minipage}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
\begin{figure}[hbt]
|
||||||
|
\centering
|
||||||
|
\begin{minipage}[t]{0.9\textwidth} % Breite, z.B. 1\textwidth
|
||||||
|
\caption{InfluxDB Load Data Bucket hinzufügen} % Überschrift
|
||||||
|
\includegraphics[width=1\textwidth]{img/InfluxD-LoadData-AddBucket.PNG} % Pfad
|
||||||
|
\source{Eigner Screenshot InfluxDB Webinterface} % Quelle
|
||||||
|
\label{fig:load-data-add-bucket}
|
||||||
|
\end{minipage}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
\begin{figure}[hbt]
|
||||||
|
\centering
|
||||||
|
\begin{minipage}[t]{0.9\textwidth} % Breite, z.B. 1\textwidth
|
||||||
|
\caption{InfluxDB Load Data API Tokens} % Überschrift
|
||||||
|
\includegraphics[width=1\textwidth]{img/InfluxD-LoadData-API-Key.PNG} % Pfad
|
||||||
|
\source{Eigner Screenshot InfluxDB Webinterface} % Quelle
|
||||||
|
\label{fig:load-data-api-token}
|
||||||
|
\end{minipage}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
\begin{figure}[hbt]
|
||||||
|
\centering
|
||||||
|
\begin{minipage}[t]{0.9\textwidth} % Breite, z.B. 1\textwidth
|
||||||
|
\caption{InfluxDB Load Data API Token hinzufügen} % Überschrift
|
||||||
|
\includegraphics[width=1\textwidth]{img/InfluxD-LoadData-API-Key-anlegen.PNG} % Pfad
|
||||||
|
\source{Eigner Screenshot InfluxDB Webinterface} % Quelle
|
||||||
|
\label{fig:load-data-add-token}
|
||||||
|
\end{minipage}
|
||||||
|
\end{figure}
|
|
@ -12,7 +12,6 @@ Dazu werden die Wetterdaten vom \gls{DWD} Importiert und ausgewertet.
|
||||||
\subsection{Aufbau und Vorgehensweise}
|
\subsection{Aufbau und Vorgehensweise}
|
||||||
|
|
||||||
Im ersten Teil dieser Arbeit werden die Grundlagen von \gls{TSDB} erklärt und besonderheiten beschreiben.
|
Im ersten Teil dieser Arbeit werden die Grundlagen von \gls{TSDB} erklärt und besonderheiten beschreiben.
|
||||||
Im darauf Folgenden Kapitel wird dann exemplarisch an InfluxDB gezeigt wie mit einer \gls{TSDB} gearbeitet wird.
|
Im darauf Folgenden Kapitel wird dann exemplarisch an InfluxDB gezeigt wie mit einer \gls{TSDB} gearbeitet wird. Im
|
||||||
|
letzen Kapitel werden die Inhalte dieser Arbeit zusammengefasst.
|
||||||
Im letzen Kapitel werden die Inhalte dieser Arbeit zusammengefasst.
|
|
||||||
|
|
||||||
|
|
|
@ -61,7 +61,7 @@ auf Platz 29.\footnote{\cite[vgl.][]{dbranking}}
|
||||||
\centering
|
\centering
|
||||||
\begin{minipage}[t]{0.9\textwidth} % Breite, z.B. 1\textwidth
|
\begin{minipage}[t]{0.9\textwidth} % Breite, z.B. 1\textwidth
|
||||||
\caption{DB-Engines Ranking} % Überschrift
|
\caption{DB-Engines Ranking} % Überschrift
|
||||||
\includegraphics[width=1\textwidth]{img/DB-Engines-Ranking}\\ % Pfad
|
\includegraphics[width=1\textwidth]{img/DB-Engines-Ranking} % Pfad
|
||||||
\source{https://db-engines.com/de/ranking?msclkid=4f2a29e5d08811ec95ccd74f8f5146ab} % Quelle
|
\source{https://db-engines.com/de/ranking?msclkid=4f2a29e5d08811ec95ccd74f8f5146ab} % Quelle
|
||||||
\label{fig:db-ranking}
|
\label{fig:db-ranking}
|
||||||
\end{minipage}
|
\end{minipage}
|
||||||
|
|
|
@ -16,23 +16,22 @@ ein \gls{HTTP} \gls{API} zur verfügung für die es in vielen Programmiersprache
|
||||||
In InfluxDB werden Daten immer in Buckets gespeichert. Um Daten hochzuladen muss zunächst erst einmal ein Bucket angelegt werden. Dazu gibt es zwei
|
In InfluxDB werden Daten immer in Buckets gespeichert. Um Daten hochzuladen muss zunächst erst einmal ein Bucket angelegt werden. Dazu gibt es zwei
|
||||||
Möglichkeiten. Die einfachste ist es über das Web \gls{UI} von InfluxDB einen neuen Bucket anzulegen. Dazu muss nach dem Login der Navigationspunkt Data
|
Möglichkeiten. Die einfachste ist es über das Web \gls{UI} von InfluxDB einen neuen Bucket anzulegen. Dazu muss nach dem Login der Navigationspunkt Data
|
||||||
und der Reiter Buckets ausgewählt werden. Hier kann dann mit dem Button Create Bucket ein neuer Bucket angelegt werden. Bein anlegen kann noch eine
|
und der Reiter Buckets ausgewählt werden. Hier kann dann mit dem Button Create Bucket ein neuer Bucket angelegt werden. Bein anlegen kann noch eine
|
||||||
Lebensdauer für die Daten ausgewählt werden nach welcher die jeweiligen Datenpunkte gelöscht werden.
|
Lebensdauer für die Daten ausgewählt werden nach welcher die jeweiligen Datenpunkte gelöscht werden.\footnote{vgl. \cref{fig:dashboard}, \cref{fig:load-data-source}, \cref{fig:load-data-bucket}, \cref{fig:load-data-add-bucket}}
|
||||||
%Quelle selbst im Webinterface ausprobiert.
|
|
||||||
|
|
||||||
Daten werden immer nach dem InfluxDB Line Protokoll formatiert an die Datenbank gesendet. Das Protokoll ist wie in Listing~\ref{list:lineproto}
|
Daten werden immer nach dem InfluxDB Line Protokoll formatiert an die Datenbank gesendet. Das Protokoll ist wie in Listing~\ref{list:lineproto}
|
||||||
dargestellt aufgebaut. Im ersten Teil des Line Protokolls wird der Name der Messreihe angegeben. Das kann zum Beispiel der Name des Sensors sein oder
|
dargestellt aufgebaut. Im ersten Teil des Line Protokolls wird der Name der Messreihe angegeben. Das kann zum Beispiel der Name des Sensors sein oder
|
||||||
der Ort an dem der Messwert genommen wurde. Wichtig ist, dass groß und Kleinschreibung beachtete werden muss und Unterstriche nicht
|
der Ort an dem der Messwert genommen wurde. Wichtig ist, dass groß und Kleinschreibung beachtete werden muss und Unterstriche nicht
|
||||||
genutzt werden dürfen. Sonderzeichen müssen mit einem \textbackslash maskiert werden. Nach dem Namen kommen getrennt durch ein Komma die Tags der Messung.
|
genutzt werden dürfen. Sonderzeichen müssen mit einem %\textbackslash
|
||||||
|
maskiert werden. Nach dem Namen kommen getrennt durch ein Komma die Tags der Messung.
|
||||||
Tags werden indexiert und dazu genutzt um Messwerte zu durchsuchen. Tags werden als Key Value Paar angegeben. Hier sollen Metadaten wie
|
Tags werden indexiert und dazu genutzt um Messwerte zu durchsuchen. Tags werden als Key Value Paar angegeben. Hier sollen Metadaten wie
|
||||||
zum Beispiel der Standort des Sensors oder der Name des Servers einzutragen werden zu dem die Datenpunkt/e gehören. Die eigentlichen Werte sind mit einem
|
zum Beispiel der Standort des Sensors oder der Name des Servers einzutragen werden zu dem die Datenpunkt/e gehören. Die eigentlichen Werte sind mit einem
|
||||||
Leerzeichen von den Tags abgegrenzt und bestehen aus durch Kommas getrennte Key Value Feldern. Der letzte Wert einer Zeile ist der Unix Timestamp in Millisekunden.
|
Leerzeichen von den Tags abgegrenzt und bestehen aus durch Kommas getrennte Key Value Feldern. Der letzte Wert einer Zeile ist der Unix Timestamp in Millisekunden.
|
||||||
In einer Datei oder anfrage kann es mehrere Zeilen mit Daten geben.
|
In einer Datei oder anfrage kann es mehrere Zeilen mit Daten geben.\footnote{\cite[vgl.][]{InfluxDBLineProtolkoll}}
|
||||||
%Quelle https://docs.influxdata.com/influxdb/v2.2/reference/syntax/line-protocol/
|
%Quelle https://docs.influxdata.com/influxdb/v2.2/reference/syntax/line-protocol/
|
||||||
%https://docs.influxdata.com/influxdb/v2.2/reference/syntax/line-protocol/#naming-restrictions
|
%Quelle https://docs.influxdata.com/influxdb/v2.2/reference/syntax/line-protocol/#naming-restrictions
|
||||||
|
|
||||||
|
|
||||||
\begin{figure}[bht]
|
\begin{figure}[bht]
|
||||||
\begin{lstlisting}[caption=InfluxDB Line Protokoll, label=list:lineproto]
|
\begin{lstlisting}[caption=InfluxDB Line Protokoll {Quelle: \cite[][]{InfluxDBLineProtolkoll}}, label=list:lineproto]
|
||||||
measurementName,tagKey=tagValue fieldKey="fieldValue" 1465839830100400200
|
measurementName,tagKey=tagValue fieldKey="fieldValue" 1465839830100400200
|
||||||
--------------- --------------- --------------------- -------------------
|
--------------- --------------- --------------------- -------------------
|
||||||
| | | |
|
| | | |
|
||||||
|
@ -40,8 +39,22 @@ measurementName,tagKey=tagValue fieldKey="fieldValue" 1465839830100400200
|
||||||
\end{lstlisting}
|
\end{lstlisting}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
%Quelle https://docs.influxdata.com/influxdb/v2.2/reference/syntax/line-protocol/
|
%Quelle https://docs.influxdata.com/influxdb/v2.2/reference/syntax/line-protocol/
|
||||||
%https://docs.influxdata.com/influxdb/v2.2/reference/syntax/line-protocol/#naming-restrictions
|
%Quelle https://docs.influxdata.com/influxdb/v2.2/reference/syntax/line-protocol/#naming-restrictions
|
||||||
|
|
||||||
|
Die im Line Protokoll formatierten Daten können jetzt entweder mithilfe eines Rest Requests oder des InfluxDB \gls{CLI} in die Datenbank übertragen werden.
|
||||||
|
Um diese Anfragen zu Autorisieren muss ein \gls{API} Token mitgesendet werden.\footnote{\cite[vgl.][]{InfluxDBWriteAPI}}
|
||||||
|
Um einen Token zu bekommen kann dieser entweder über das Webinterface, die \gls{CLI} oder über die \gls{API} angelget werden. Der einfachste Weg ist es
|
||||||
|
den Token über das Webinterface anzulegen. Dazu wird wie beim anlegen eines Buckets zunächst der Menüpunkt Data ausgewählt und anschließend der Reiter API
|
||||||
|
Tokens. Mit einem Klick auf Generate API Token kann dann ein API Token erstellt werden.\footnote{vgl. \cref{fig:dashboard}, \cref{fig:load-data-source}, \cref{fig:load-data-api-token}, \cref{fig:load-data-add-token}}
|
||||||
|
Dabei kann zwischen einem All-Access token und einem Read/Write token ausgewählt werden. Mit dem All Access Token kann auf alles zugegriffen werden.
|
||||||
|
Mit einem Read/Write Token kann wie in \cref{fig:load-data-add-token} zu sehen ausgewählt werden auf welchen Bucket geschrieben oder gelesen werden kann.
|
||||||
|
\footnote{\cite[vgl.][]{InfluxDBToken}}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
%https://docs.influxdata.com/influxdb/cloud/security/tokens/#all-access-token
|
||||||
|
|
||||||
\subsection{{Daten abrufen}}
|
\subsection{{Daten abrufen}}
|
||||||
|
|
||||||
|
@ -103,6 +116,7 @@ STATIONS_ID;MESS_DATUM; QN;PP_10;TT_10;TM5_10;RF_10;TD_10;eor
|
||||||
...
|
...
|
||||||
\end{lstlisting}
|
\end{lstlisting}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
%Eventuell kürzen wenn zu viele Seiten
|
||||||
|
|
||||||
|
|
||||||
In der CSV Datei gibt es 9 Felder.
|
In der CSV Datei gibt es 9 Felder.
|
||||||
|
@ -126,23 +140,15 @@ TM5\_10 & Lufttemperatur auf 5cm höhe \\ \hline
|
||||||
TD\_10 & relative Luftfeuchtigkeit auf 2m höhe \\ \hline
|
TD\_10 & relative Luftfeuchtigkeit auf 2m höhe \\ \hline
|
||||||
eor & END OF RECORD kann ignriert werden.
|
eor & END OF RECORD kann ignriert werden.
|
||||||
|
|
||||||
|
|
||||||
\end{tabular}
|
\end{tabular}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
In dieser CSV Datei sind die Daten mit einem Semikoln voneinander getrennt. Der erste Wert in der CSV Datei ist die STATIONS\_ID auf die später noch weiter eingegangen wird.
|
In dieser CSV Datei sind die Daten mit einem Semikoln voneinander getrennt. Der erste Wert in der CSV Datei ist die STATIONS\_ID auf die später noch weiter eingegangen wird.
|
||||||
Danach folgt das Feld Mess\_Datum Formatiert nach dem
|
Danach folgt das Feld Mess\_Datum Formatiert nach dem
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
\subsubsection{{Wetterdaten abrufen}}
|
\subsubsection{{Wetterdaten abrufen}}
|
||||||
|
|
||||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
|
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
|
||||||
At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
|
At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
|
||||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,
|
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,
|
||||||
sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
|
sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
|
||||||
|
|
||||||
\subsubsection{{Wetterdaten verarbeiten}}
|
|
BIN
arbeit/img/InfluxD-LoadData-API-Key-anlegen.PNG
Normal file
BIN
arbeit/img/InfluxD-LoadData-API-Key-anlegen.PNG
Normal file
Binary file not shown.
After Width: | Height: | Size: 51 KiB |
BIN
arbeit/img/InfluxD-LoadData-API-Key.PNG
Normal file
BIN
arbeit/img/InfluxD-LoadData-API-Key.PNG
Normal file
Binary file not shown.
After Width: | Height: | Size: 86 KiB |
BIN
arbeit/img/InfluxD-LoadData-AddBucket.PNG
Normal file
BIN
arbeit/img/InfluxD-LoadData-AddBucket.PNG
Normal file
Binary file not shown.
After Width: | Height: | Size: 28 KiB |
BIN
arbeit/img/InfluxD-LoadData-Bucket.PNG
Normal file
BIN
arbeit/img/InfluxD-LoadData-Bucket.PNG
Normal file
Binary file not shown.
After Width: | Height: | Size: 170 KiB |
BIN
arbeit/img/InfluxD-LoadData-Sources.PNG
Normal file
BIN
arbeit/img/InfluxD-LoadData-Sources.PNG
Normal file
Binary file not shown.
After Width: | Height: | Size: 118 KiB |
BIN
arbeit/img/InfluxDB-Dashboard.PNG
Normal file
BIN
arbeit/img/InfluxDB-Dashboard.PNG
Normal file
Binary file not shown.
After Width: | Height: | Size: 161 KiB |
|
@ -49,6 +49,33 @@ year = {2022},
|
||||||
keywords = {web}
|
keywords = {web}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@misc{InfluxDBToken,
|
||||||
|
author = {Influxdata},
|
||||||
|
title = {{Manage API tokens}},
|
||||||
|
url = {https://docs.influxdata.com/influxdb/cloud/security/tokens/#all-access-token},
|
||||||
|
urldate = {2022-05-29},
|
||||||
|
year = {2022},
|
||||||
|
keywords = {web}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@misc{InfluxDBLineProtolkoll,
|
||||||
|
author = {Influxdata},
|
||||||
|
title = {{Line protocol}},
|
||||||
|
url = {https://docs.influxdata.com/influxdb/v2.2/reference/syntax/line-protocol/},
|
||||||
|
urldate = {2022-05-29},
|
||||||
|
year = {2022},
|
||||||
|
keywords = {web}
|
||||||
|
}
|
||||||
|
|
||||||
|
@misc{InfluxDBWriteAPI,
|
||||||
|
author = {Influxdata},
|
||||||
|
title = {{Write data with the InfluxDB API}},
|
||||||
|
url = {https://docs.influxdata.com/influxdb/v2.2/write-data/developer-tools/api/},
|
||||||
|
urldate = {2022-05-29},
|
||||||
|
year = {2022},
|
||||||
|
keywords = {web}
|
||||||
|
}
|
||||||
|
|
||||||
@misc{InfluxDataSQL,
|
@misc{InfluxDataSQL,
|
||||||
author = {Influxdata},
|
author = {Influxdata},
|
||||||
|
|
Binary file not shown.
Reference in a new issue