Projekt:graphs.k4cg.org: Unterschied zwischen den Versionen

Aus k4cg.org
Keine Bearbeitungszusammenfassung
(link zur Stats-Seite/Skript eingefuegt)
(5 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 7: Zeile 7:
Wir brauchen schon länger eine Möglichkeit anständige Graphen für all unsere Sensoren zu bauen.
Wir brauchen schon länger eine Möglichkeit anständige Graphen für all unsere Sensoren zu bauen.
Dieses Projekt soll diese Möglichkeit nun bringen.  
Dieses Projekt soll diese Möglichkeit nun bringen.  
''' DOKU HOECHST UNVOLLSTAENDIG - WORK IN PROGRESS '''


== Setup ==
== Setup ==
Zeile 16: Zeile 14:
=== InfluxDB ===
=== InfluxDB ===


Läuft auf Port 8086 unter v6 auf der Nixe
Läuft auf Port 8086 unter v6 auf der Nixe.
Ist ausschliesslich über localhost erreichbar
 
Die NixOS Config auf Nixe für InfluxDB ist unspektakulär. Nur Services Enabled.


=== Grafana ===
=== Grafana ===


Unter https://graphs.k4cg.org erreichbar.  
Unter https://graphs.k4cg.org erreichbar.  
Intern unter Port 3000 erreichbar.
Intern unter Port 3000.
 
Es gibt momentan 2 Public Dashboards. Um die Graphen unter [[Stats]] einzubetten muss Anonymous Access erlaubt werden
 
https://graphs.k4cg.org/dashboard/db/besucher
https://graphs.k4cg.org/dashboard/db/sensors
 
 
<pre>
  services.grafana = {
    enable = true;
    protocol = "http";
    port = 3000;
    auth.anonymous.enable = true;
  };
</pre>
 


=== Apache ===
=== Apache ===
Zeile 61: Zeile 78:


Hier wird dokumentiert welche Daten wie zustande kommen, wie sie gesendet werden und wo man den Code dazu finden kann.
Hier wird dokumentiert welche Daten wie zustande kommen, wie sie gesendet werden und wo man den Code dazu finden kann.
Die meisten Daten werden über das Skript https://github.com/k4cg/sensor-fetcher erfasst.


=== Licht ===
=== Licht ===
Momentane UV Werte in der CG werden über den Tischtennisschläger(tm) aus [https://organic-entropy.org organic-entropy.org] erfasst.
Die Werte sind meistens null, da der Sensor momentan sehr weit weg vom Fenster montiert ist.
Ein Test wurde jedoch vollzogen mit einem geliehenen UV Strahler.
[[Datei:UVstrahler.jpg|400px]]


=== Geraeusche ===
=== Geraeusche ===
Die momentane Geräuschkulisse wird ebenfalls über den Noise Sensor von Tinkerforge an dem Tischtennisschläger(tm) erfasst.


=== Temperatur ===
=== Temperatur ===
Im Temperatur Graphen sind aktuell 3 verschiedene Daten enthalten.
1. Interner Temperatur Sensor
Temperatur Sensor von  Tinkerforge der über sensor-fetcher erfasst wird.
2. Interner Temperatursensor
Waijb brachte einen weiteren Temperatursensor mit welcher an Scotty angeschlossen ist.
Siehe [Host:scotty.intern.k4cg.org] unter 'Tempi'
3. Externer Temperatur Sensor
Über die API von wunderground wird die Außentemperatur in den Graphen eingepflegt. Hierzu ist nur ein REST Call nötig und wird emebfalls über sensor-fetcher erledigt.


=== Geraete in der CG ===
=== Geraete in der CG ===
Die Netzwerk Geräte innerhalb der CG werden über das [[Projekt:openstatus]] abgefragt. Die bereits erstellte JSON Datei <code>devices.json</code> wird auch hier über sensor-fetcher abgefragt.


=== Besucherzaehlungen (manuell) ===
=== Besucherzaehlungen (manuell) ===


Die Besucherzaehlungen werden von Hand in der InfluxDB hinterlegt.
<pre>
date +%s -d "last thursday"
1476914400
curl -i -XPOST 'http://localhost:8086/write?db=sensors' --data-binary "besucher besucher=15 1476914400000000000"
</pre>


Früher oder später wird es hierfür ein Skript geben. --> [[Stats#Besucherzahlen_2]]


== Ich will auch Graphen zeichnen ==
== Ich will auch Graphen zeichnen ==
TODO.  
TODO.  
Bisher bei noqqe melden
Bisher bei noqqe melden

Version vom 10. Juni 2017, 16:40 Uhr

Projekt:graphs.k4cg.org
Betreuer*In noqqe
Jahr 2016
Läuft auf nixe.k4cg.org

Wir brauchen schon länger eine Möglichkeit anständige Graphen für all unsere Sensoren zu bauen. Dieses Projekt soll diese Möglichkeit nun bringen.

Setup

InfluxDB und Grafana. Daten werden per REST an InfluxDB geschickt.

InfluxDB

Läuft auf Port 8086 unter v6 auf der Nixe. Ist ausschliesslich über localhost erreichbar

Die NixOS Config auf Nixe für InfluxDB ist unspektakulär. Nur Services Enabled.

Grafana

Unter https://graphs.k4cg.org erreichbar. Intern unter Port 3000.

Es gibt momentan 2 Public Dashboards. Um die Graphen unter Stats einzubetten muss Anonymous Access erlaubt werden

https://graphs.k4cg.org/dashboard/db/besucher https://graphs.k4cg.org/dashboard/db/sensors


  services.grafana = {
    enable = true;
    protocol = "http";
    port = 3000;
    auth.anonymous.enable = true;
  };


Apache

      {
        documentRoot = "/var/www/graphs.k4cg.org";
        port = 80;
        hostName = "graphs.k4cg.org";
        serverAliases = [ "www.graphs.k4cg.org" ];
        adminAddr = "xxx";
        extraConfig = ''
        Alias /.well-known/acme-challenge/ /var/www/challenges/
        <Directory /var/www/challenges/>
           AllowOverride None
           Require all granted
           Satisfy Any
        </Directory>
        '';
      }

      {
        documentRoot = "/var/www/graphs.k4cg.org/public";
        port = 443;
        enableSSL = true;
        sslServerCert = "/usr/local/acme-tiny/k4cg.org.crt";
        sslServerKey = "/usr/local/acme-tiny/k4cg.org.key";
        sslServerChain = "/usr/local/acme-tiny/intermediate.crt";
        hostName = "graphs.k4cg.org";
        serverAliases = [ "www.graphs.k4cg.org" ];
        adminAddr = "xxx";
        extraConfig = ''
        ProxyPass "/" "http://localhost:3000/"
        '';
      }

Collectors

Hier wird dokumentiert welche Daten wie zustande kommen, wie sie gesendet werden und wo man den Code dazu finden kann.

Die meisten Daten werden über das Skript https://github.com/k4cg/sensor-fetcher erfasst.

Licht

Momentane UV Werte in der CG werden über den Tischtennisschläger(tm) aus organic-entropy.org erfasst.


Die Werte sind meistens null, da der Sensor momentan sehr weit weg vom Fenster montiert ist. Ein Test wurde jedoch vollzogen mit einem geliehenen UV Strahler.

UVstrahler.jpg

Geraeusche

Die momentane Geräuschkulisse wird ebenfalls über den Noise Sensor von Tinkerforge an dem Tischtennisschläger(tm) erfasst.

Temperatur

Im Temperatur Graphen sind aktuell 3 verschiedene Daten enthalten.

1. Interner Temperatur Sensor

Temperatur Sensor von Tinkerforge der über sensor-fetcher erfasst wird.

2. Interner Temperatursensor

Waijb brachte einen weiteren Temperatursensor mit welcher an Scotty angeschlossen ist. Siehe [Host:scotty.intern.k4cg.org] unter 'Tempi'

3. Externer Temperatur Sensor

Über die API von wunderground wird die Außentemperatur in den Graphen eingepflegt. Hierzu ist nur ein REST Call nötig und wird emebfalls über sensor-fetcher erledigt.

Geraete in der CG

Die Netzwerk Geräte innerhalb der CG werden über das Projekt:openstatus abgefragt. Die bereits erstellte JSON Datei devices.json wird auch hier über sensor-fetcher abgefragt.

Besucherzaehlungen (manuell)

Die Besucherzaehlungen werden von Hand in der InfluxDB hinterlegt.

date +%s -d "last thursday"
1476914400
curl -i -XPOST 'http://localhost:8086/write?db=sensors' --data-binary "besucher besucher=15 1476914400000000000"

Früher oder später wird es hierfür ein Skript geben. --> Stats#Besucherzahlen_2

Ich will auch Graphen zeichnen

TODO. Bisher bei noqqe melden