FHEM Forum

FHEM => Codeschnipsel => Thema gestartet von: farion am 29 Dezember 2016, 13:05:00

Titel: Neues Modul: Graphite
Beitrag von: farion am 29 Dezember 2016, 13:05:00
Hi,

da ich nun schon eine Weile meine FHEM-Daten mit Graphite logge habe ich das Ganze mal in ein Modul verpackt.

Wer Graphite nicht kennt: Graphite ist eine Software, welche Daten entgegennimmt und diese dann in beliebigen Diagrammen darstellen kann. Wird z.B. oft verwendet um Serverstatistiken zu generieren. Das schöne dabei ist, dass es diverse Frontends gibt und man sich seine Reports und Diagramme schön zusammenklicken kann. Zugegriffen und geloggt wird über Netzwerk. D.h. der Graphite-Server kann getrennt von FHEM laufen. Mehr infos: http://graphiteapp.org/

Anbei noch ein Screenshot wie das aussieht.

Und hier die aktuelle Commandref:

GRAPHITE

Define
define <name> GRAPHITE <graphite_server> <graphite_port> <send_interval>

Example:
define GRAPHITE graphite.example.com 2003 60

Set

Attributes

Additional information

Edit:
29.12.2016 - Neue Version 0.0.2
Titel: Antw:Neues Modul: Graphite
Beitrag von: sash.sc am 29 Dezember 2016, 13:23:35
Muss man dafür noch was installieren, auf dem pi oder so?

Von mobil gesendet daher kurze Antwort

Titel: Antw:Neues Modul: Graphite
Beitrag von: farion am 29 Dezember 2016, 13:44:58
Also für das Modul braucht man nur Net::Graphite.

Aber du brauchst natürlich einen Graphite-Server, der besteht aus dem Logging-Backend (Carbon), der Datenbank (Whisper) und einem Web-Frontend (mitgeliefert wird Graphite-Web). Das kann man alles auf einem Pi installieren. Das ist aber ziemlich langsam beim Diagramme rendern (ich weiss allerdings nicht wie das im Vergleich zu den FHEM-eigenen Plots ist, da ich die nie ausprobiert habe).

Bei mir ist es so, dass ich Graphite sowieso auf einem "echte" Server in einem Rechenzentrum für diverse Web-Server etc. betreibe, FHEM loggt dort einfach auch hin.

Gruss Frieder
Titel: Antw:Neues Modul: Graphite
Beitrag von: farion am 29 Dezember 2016, 22:38:48
Habe eine neue Version hinzugefügt, mit besserem Errorhandling und der Möglichkeit das Protokoll sowie den Timeout für Graphite einzustellen.
Neue Version hängt im ersten Post.

Gruss farion
Titel: Antw:Neues Modul: Graphite
Beitrag von: texel am 05 Februar 2017, 01:43:58
Hallo Frieder,

klasse Modul. Hat auf anhieb funktioniert und ist bei mir nun fester Logging-Bestandteil!

VG Texel
Titel: Antw:Neues Modul: Graphite
Beitrag von: texel am 05 Februar 2017, 07:06:16
Hallo nochmals,

bei mir kommt ein Fehler, dass die Routine Blocking nicht gefunden wird.

Lösung:

require 'Blocking.pm';

explizit angeben..

package main;
use strict;
use warnings;
use POSIX;
use Net::Graphite;

use Scalar::Util qw(looks_like_number);

require 'Blocking.pm';


VG Texel