1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

HowTo Script für tägliche Logauswertung (not found / reject / timeout) per Mail verschicken

Dieses Thema im Forum "IPC" wurde erstellt von xetic, 17. Juli 2012.

  1. xetic
    Offline

    xetic Board Guru

    Registriert:
    24. November 2010
    Beiträge:
    1.372
    Zustimmungen:
    255
    Punkte für Erfolge:
    83
    Hi,

    ich habe ein Script geschrieben, dass den OScam LOG nach "not found" und "reject group" von heute durchsucht und mir das Ergebnis per Mail schickt.
    Basiert auf Funktionen von IPC. Also IPC muss installiert sein.

    Wenn irgendwelche Anregungen vorhanden sind, schreibt ruhig :)


    Ihr müsst das Script in crontab einpflegen. Per ipc jobs gelangt ihr direkt herein.
    Dann macht ihr eine neue Zeile:
    58 23 * * * root /home/x3451/oscam_mail_log.sh #OSCam - MAIL LOG

    Das Script liegt bei mir im Home Verzeichnis. Ist eigentlich egal wo ihr es speichert. Müsst halt nur den Pfad anpassen.
    Somit wird es täglich um 23:58 Uhr ausgeführt.
    Ihr könnt das Script auch öfters ausführen lassen, falls ihr kleine Logfiles habt.

    CHANGELOG:

    V2.1
    - Logauswertung von OScam.log-prev hinzugefügt
    - Variable für den OScam LOG-Pfad hinzugefügt (Standart IPC Variable $CAMLOGS)
    - Variable für Auswertungslogs hinzugefügt (Standart /tmp/)
    - Möglichkeit das Script mit dem Zusatz p aufzurufen. Dadurch werden die Logs vorher zusammengepackt (Danke an Aragorn)
    - GREP genauer gestaltet
    - Löschen der Logs am Ende des Scripts mit dem Zusatz -f erweitert (Danke an Aragorn)
     
    Zuletzt bearbeitet: 19. Juli 2012
    #1
    Pilot, Richie880, chrisbi und 3 anderen gefällt das.
  2. phantom

    Nervigen User Advertisement

  3. meister85
    Offline

    meister85 VIP

    Registriert:
    21. September 2009
    Beiträge:
    7.927
    Zustimmungen:
    5.229
    Punkte für Erfolge:
    113
    AW: Script für tägliche Logauswertung (not found / reject) per Mail verschicken

    Erstmal vielen Dank für deine Mühe! Ich habe das Script mal ausprobiert aber außer eine leere Mail kommt bei mir nichts an?
     
    #2
  4. xetic
    Offline

    xetic Board Guru

    Registriert:
    24. November 2010
    Beiträge:
    1.372
    Zustimmungen:
    255
    Punkte für Erfolge:
    83
    AW: Script für tägliche Logauswertung (not found / reject) per Mail verschicken

    :( echt? oh miese...

    ich schau mal was ich falsch gemacht habe

    Nicht mal Text?
     
    #3
  5. meister85
    Offline

    meister85 VIP

    Registriert:
    21. September 2009
    Beiträge:
    7.927
    Zustimmungen:
    5.229
    Punkte für Erfolge:
    113
    AW: Script für tägliche Logauswertung (not found / reject) per Mail verschicken

    Als Text steht --> OScam LOG vom Homeserver (Homeserver ist der Hostname).

    Der Betreff ist auch OK --> OScam LOG vom 2012-07-17 16:22

    Habe absichtlich NOK´s produziert aber Mail ist leider leer :-(

    ps. Hab das Script noch um Timeouts erweitert. Vielleicht kannst du es auch einbauen.
     
    #4
  6. xetic
    Offline

    xetic Board Guru

    Registriert:
    24. November 2010
    Beiträge:
    1.372
    Zustimmungen:
    255
    Punkte für Erfolge:
    83
    AW: Script für tägliche Logauswertung (not found / reject) per Mail verschicken

    Ja ich weis...
    ich hab zum testen die functions.sh bearbeitet.
    Ich ändern das noch.... bringe V2 mit timeouts :)

    gib mir 5 Minuten
     
    #5
    meister85 gefällt das.
  7. xetic
    Offline

    xetic Board Guru

    Registriert:
    24. November 2010
    Beiträge:
    1.372
    Zustimmungen:
    255
    Punkte für Erfolge:
    83
    AW: Script für tägliche Logauswertung (not found / reject) per Mail verschicken

    So ich habe oben eine neue Version hochgeladen
    mit timeouts und email sollte auch klappen... hoffe ich :)
     
    #6
    meister85 gefällt das.
  8. meister85
    Offline

    meister85 VIP

    Registriert:
    21. September 2009
    Beiträge:
    7.927
    Zustimmungen:
    5.229
    Punkte für Erfolge:
    113
    AW: Script für tägliche Logauswertung (not found / reject / timeout) per Mail verschi

    Klappt wunderbar, vielen Dank ;-)

    Ich würde nur aus dem not ein not found machen, da sonst alles was mit not zu tun hat mit in den Log kommt. hier ein beispiel:

    2012/07/17 15:58:56 40110F90 c xxxxxxx[camd35] WARNING: client->udp_fd was not 0
    2012/07/17 15:58:56 181E020 c xxxxxxxx[camd35] WARNING: client->udp_fd was not 0
    2012/07/17 15:58:56 40112940 c xxxxxxxx[camd35] WARNING: client->udp_fd was not 0
    2012/07/17 15:58:56 40110F90 c xxxxxxxx[camd35] WARNING: client->udp_fd was not 0

    die sind ok:

    2012/07/17 16:22:19 40026190 c wohnzimmer (1702&000000/0000/0078/93:BD79): not found (875 ms) by skyde2 (P/2/2/2) - Sky Select HD (skyde2 irdeto_do_cmd [2] 90
    2012/07/17 16:22:22 40026190 c wohnzimmer (1702&000000/0000/0078/93:8D19): not found (3372 ms) by skyde2 (F/2/1/2) - Sky Select HD (skyde2 irdeto_do_cmd [2] 90
    2012/07/17 16:22:22 40026190 c wohnzimmer (1702&000000/0000/0078/93:8D19): not found (1122 ms) by skyde2 (F/0/1/2) - Sky Select HD
     
    #7
    xetic gefällt das.
  9. xetic
    Offline

    xetic Board Guru

    Registriert:
    24. November 2010
    Beiträge:
    1.372
    Zustimmungen:
    255
    Punkte für Erfolge:
    83
    AW: Script für tägliche Logauswertung (not found / reject / timeout) per Mail verschi

    Ja kann ich machen...
    danke für das Testen :)
     
    #8
    meister85 gefällt das.
  10. aragorn
    Offline

    aragorn Guest

    AW: Script für tägliche Logauswertung (not found / reject / timeout) per Mail verschi

    wie meister85 schon sagte solltest du die grep´s verbessern da du zur zeit einfach alles ins log speicherst was mit "not" oder "rej" zu tun hat aber das auch auf anderes zutreffen kann wie zum beispiel logins usw also anstatt:
    Code:
    cat /var/log/ipc/OScam.log | grep $GREP_DATUM | grep not > $NOT_LOG
    besser so:
    Code:
    grep $GREP_DATUM /var/log/ipc/OScam.log | grep "not found" > $NOT_LOG
    und wenn das log ins aktuelle verzeichniss gespeichert werden soll dann brauchst du kein " ./ " und um compact flash karten zu entlasten solltest du die logs vielleicht auch besser in /tmp/ ablegen..
    das "rm" solltest du auch lieber in ein "rm -f" ändern für den fall das es eines der files nicht gibt käme dann auch keine fehlermeldung

    beachten müsste man auch das die logs ungepackt bei mach einem vielleicht ziemlich gross werden könnten aber die meisten email accounts eine maximal grösse für angehängte dateien haben also ich würd die zu verschickenden logs vorher auch noch packen:
    Code:
    tar -cz $NOT_LOG $REJ_LOG $TOUT_LOG > oscam_logs.tgz
    *.tgz sollte man eigentlich mit jedem entpacker öffnen können

    und was man vielleicht auch noch beachten müsste wäre das manch einer in der oscam.conf eine sehr geringe maxlogsize eingestellt hat wodurch das logfile rotiert wird aber wenn man erst um mitternacht das aktuelle log durch sucht erwischt man wohl möglich nicht alle einträge die es an dem tag gab.. um das zu lösen gabe es 2 möglichkeiten:
    - auch das /var/log/ipc/OScam.log-prev zu durch suchen
    - das script zum beispiel alle 5 minuten durch laufen lassen und die grep´s zu den "ergebnis logs" appenden also einfügen ( >> anstatt > ) aber erst zu einer eingestellten zeit die email verschicken lassen
    erstes wäre einfacher allerdings könnte es auch da bei einer zu niedrigen maxlogsize passieren das OScam.log-prev an dem tag bereits überschrieben wurde..


    ps: da du ipc vorraussetzt könntest du auch ab 11.4 die functions.sh variable $OSLOGFILE nutzen aber die gibt es in 11.3 leider noch nicht.. würd ich auch als einstellbare variable angeben damit man nicht 3 zeilen auf ein mal abändern müsste wenn die log wo anders liegen sollte
     
    #9
  11. xetic
    Offline

    xetic Board Guru

    Registriert:
    24. November 2010
    Beiträge:
    1.372
    Zustimmungen:
    255
    Punkte für Erfolge:
    83
    Hi Aragorn,
    danke für die Tipps.
    2 Sachen habe ich schon eingebaut.
    Grep verbessert und die Logs zusammengepackt :)

    Ich werde morgen mal schauen, wie man am besten mit der Logrotation umgeht ;)

    Mit der CF Karte habe ich nicht bedacht, danke.
     
    #10
  12. xetic
    Offline

    xetic Board Guru

    Registriert:
    24. November 2010
    Beiträge:
    1.372
    Zustimmungen:
    255
    Punkte für Erfolge:
    83
    AW: Script für tägliche Logauswertung (not found / reject / timeout) per Mail verschi

    V2.1 ist draußen ;)
     
    #11
  13. aragorn
    Offline

    aragorn Guest

    AW: Script für tägliche Logauswertung (not found / reject / timeout) per Mail verschi

    da kannst du eigentlich überall meinen namen dahinter schreiben :D
    (im post schreibst du übrigends $CSLOGS aber meinst eigentlich $CAMLOGS)

    die abfrage nach den variablen solltest du aber besser drin lassen da bash die angewohnheit hat bei fehlern mit dem script trotzdem weiter zu machen und es somit bei anderen ohne ipc "müll" fabrizieren könnte

    ein bug hast du noch und zwar das löschen der $P_LOG nach dem verschicken..
    ich würd die variablen auch nicht alle *LOG nennen da kommt man schnell durcheinander
    und ein weiterer bug wäre das du vorher nicht prüfst ob es das logfile zum auswerten überhaupt gibt genau so wie die auswertungs logs vor dem verschicken beziehungsweise ob da überhaupt etwas drin steht..

    eine sache wäre vielleicht auch noch bei den jenigen die das script öfter am tag ausführen oder dessen logs nicht so gross werden weil es nur einen client gibt usw zu prüfen ob der log eintrag bereits ausgewertet wurde



    ps: den "cat" befehl kannst du dir eigentlich auch sparen da das bereits mit "grep" geht
     
    #12
  14. xetic
    Offline

    xetic Board Guru

    Registriert:
    24. November 2010
    Beiträge:
    1.372
    Zustimmungen:
    255
    Punkte für Erfolge:
    83
    AW: Script für tägliche Logauswertung (not found / reject / timeout) per Mail verschi

    Jetzt übertreibst du :D

    Ok... eins nach dem anderen.
    Ich hab hier mehrere Baustellen im Script. Muss nur schauen ob es Sinn macht oder nicht ;)
    Das Script wird noch perfekt :p
     
    #13
    meister85 und (gelöschter Benutzer) gefällt das.
  15. Layouter
    Offline

    Layouter Newbie

    Registriert:
    21. Juni 2011
    Beiträge:
    27
    Zustimmungen:
    8
    Punkte für Erfolge:
    3
    AW: Script für tägliche Logauswertung (not found / reject / timeout) per Mail verschi

    Hi,
    wollte das Script mal testen (IPC11.5) aber ich bekomme auch nur leere Files und eines mit Header.
    Woran könnte es liegen?

    Layouter
     
    Zuletzt bearbeitet: 27. Dezember 2012
    #14
  16. aragorn
    Offline

    aragorn Guest

    AW: Script für tägliche Logauswertung (not found / reject / timeout) per Mail verschi

    nein. in IPC 11.5 ist voreingestellt: /var/log/ipc/OScam.log
    wenn du in deiner oscam.conf selber etwas anderes eingestellt hast, musst du das auch in /var/emu/script/functions.sh anpassen - denn sonst gibts auch mit den scripts und dem IPC WebInterface probleme..

    Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ?




    ansonsten musst du in dem Script eben den Pfad " OSLOG " anpassen, also in deinem fall auf " /var/log " stellen, aber wie gesagt empfiehlt es sich besser sich an den von IPC vorgesehenen standard zu halten
     
    #15

Diese Seite empfehlen