Ergebnis 1 bis 8 von 8

Thema: Rics filtern?

  1. #1
    Registriert seit
    14.12.2001
    Beiträge
    259

    Rics filtern?

    Hallo
    Frage an die Developer bgl. der Monitord Version aus dem SVN (Rev. 292):

    Gibt es eine Möglichleit RICS festzulegen die NICHT in die DB geschrieben werden sollen?
    Geändert von DocSteel (11.03.2008 um 13:33 Uhr) Grund: Updated

  2. #2
    Registriert seit
    11.12.2001
    Beiträge
    1.008
    Die Option ist bisher nicht für die Serverseite vorgesehen. Ich für meinen Teil würde mir langfristig einen Transfer-Filter per regulärem Ausdruck vorstellen können.

    Bis dahin würde ich ein regelmässiges "delete from [Tabelle] where not (ric > .start. and ric < .ende.)" vorschlagen. Wobei Start und Ende die erste und letzte sinnvolle RIC sind (Jeder LK hat normalerweise einen eigenen Bereich zugeteilt bekommen).

  3. #3
    Registriert seit
    14.12.2001
    Beiträge
    259
    So....ich habe über einen Workaround eine Filterung eingebaut:

    Lösung 1:
    ======

    Filtern der Ausgabe des PHP-Frontends:
    Code:
    index.php:
    
    // Auslesen pocsag
            //
            $result = mysql_query("SELECT a.num, a.adresse AS adresse_neu, a.bezeichnung AS bezeichnung_neu, a.text, DATE_FORMAT(a.zeit, '%Y%m%d%H%i%s') AS zeit, a.funktion, a.REC_TYP, a.done,
                                            b.adresse, b.formatierung_id, b.bezeichnung,
                                            d.id AS org_id, d.org_name, d.org, d.alarm_count, d.last_alarm
                                    FROM dme a
                                    LEFT JOIN ric_zvei b ON b.adresse = a.adresse
                                    LEFT JOIN organisation d ON d.id = b.org_id
                                    $show_filter AND a.adresse<>1xxxxxx AND a.adresse<>1xxxxxx
                                    ORDER BY a.zeit DESC") or die (mysql_error());
    die Änderung ist hier in der Zeile hinter $show_filter die einfach die beiden unerwünschten RICs wegfiltert.


    Lösung2:
    ======

    Im trunk Ordner editieren der Datei: /trunk/monitord/plugins/libmplugin_mysql.cpp

    Unter Zeile 114 einfügen:
    Code:
    mysql_query(&m_mysql,"delete from dme where adresse = 1xxxxxx or adresse = 1xxxxxx");
    Nach der Änderung neues configure --with-mysql --enable-plugins --with-alsa && make && make install
    Das löscht die Einträge mit den RICs sofort wieder aus der DB.

    ACHTUNG: Das ganze ist nicht erprobt und erstmal nur ein Versuch! läuft stabil! Trotzdem: Verwendung auf eigene Gefahr!
    Lob und Kritik bitte hier im Thread oder via PM :)
    Geändert von DocSteel (25.02.2008 um 17:26 Uhr)

  4. #4
    Registriert seit
    14.12.2001
    Beiträge
    259
    Version 2:
    So die aktuelle Lösung um RICS die nicht in die DB sollen zu filtern sieht jetzt so aus:


    Im trunk Ordner editieren der Datei: /trunk/monitord/plugins/libmplugin_mysql.cpp

    Unter Zeile 114 die beiden Zeilen einfügen:
    Code:
    mysql_query(&m_mysql,"delete from dme where adresse = 1xxxxxx or adresse = 1xxxxxx");
    mysql_query(&m_mysql,"delete from dme where adresse < STARTRIC or adresse > ENDRIC");
    STARTRIC= Die erste verwendete Ric des Landkreises.
    ENDRIC= Die letzte verwendete Ric des Landkreises.

    Die erste Zeile ist weiterhin wie in der alten Lösung die Ausfilterung der Netzric.

    Nach der Änderung neues configure --with-mysql --enable-plugins --with-alsa && make && make install
    Das löscht die Einträge mit den RICs sofort wieder aus der DB.


    Lob und Kritik bitte wie immer hier im Thread oder via PM :)

  5. #5
    Registriert seit
    21.05.2003
    Beiträge
    217
    das heisst, er schreibt erst alle datensätze in die DB und sucht dann die dem entsprechenden raus und löscht sie wieder. ist doch irgendwie doppelt gemoppelt ;)

    kann man das schreiben in die DB nciht sofort unterbinden, sowie eine nicht "erlaubte" RIC vorhanden ist?

    Gruß
    Tüddeldraht - ein Mittel für jeden Zweck ;)

  6. #6
    Registriert seit
    14.12.2001
    Beiträge
    259
    Das ganze war damals als "Quick and Dirty" Lösung entwickelt worden um überhaupt erstmal was zu haben. Wenn Du eine Idee hast wie man das besser umsetzten kann dann immer her damit. :)

  7. #7
    Registriert seit
    21.05.2003
    Beiträge
    217
    die idee steht oben ;) muss "nur" noch umgesetzt werden..aber das bekomme ich nicht alleine hin ;)
    Tüddeldraht - ein Mittel für jeden Zweck ;)

  8. #8
    Registriert seit
    15.11.2007
    Beiträge
    213
    Moinmoin,

    der monitord bietet mittlerweile LUA-Unterstützung. Damit ist Filtern per Skriptsprache direkt möglich (sowohl am Socket als auch für das MySQL-Plugin). Ernst zu nehmende Doku fehlt noch, aber hier im Forum gibt es einen Thread. Such mal nach LUA :)! Ich wollt schon immer mal eine kleine Doku dazu bauen... den Thread "Informationen zum monitord 2.0" bzw. den ersten Beitrag darin habe ich schon angepasst.

    Viele Grüße
    Martin

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •