Neu Worker überwachung?

vmgmbh

Sehr aktives Mitglied
26. November 2010
1.054
14
@vmgmbh
Kein Wunder ;)



Die Parameter im Format-Befehl sind falsch:
SQL:
Format([dAmazonStart],'dd-mm-yyyy / hh:mm:ss')

Du hast im Datum und in der Zeit das kleingeschriebene "m" angegeben. Das kleine "m" steht für Minuten und das großgeschriebene "M" steht für Monat. Also ändere den Code mal so ab:
SQL:
Format([dAmazonStart],'dd-MM-yyyy / hh:mm:ss')

Ciao,
Mike
Danke für den Tipp aber soll das für die unregelmäßigen Mails verantwortlich sein? Ist doch nur ne Ausgabe, oder wird daraus auch der Vergleich gezogen etwa?
Der Code stammt übrigens von der Website von @css-umsetzung ...
 

Xantiva

Sehr aktives Mitglied
28. August 2016
1.789
316
Düsseldorf
Die Ausgabe ist der Inhalt der Variable DBList und die wiederum wird analysiert um zu entscheiden, ob eine Warnung gesendet wird oder nicht.

Aber was das Script da genau auswertet müsste ich testen.
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
7.276
1.986
Berlin
Ja das Stimmt, es ist nur die Ausgabe, aber mach da mal MM hin, damit man sieht ob die Werte wirklich passen.
Ich werde mir den Query mal zusammensetzen und testen ob ich da etwas übersehen habe.
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
7.276
1.986
Berlin
Ich hab den Query mal geprüft, der sieht für mich gut aus :)

ändere mal die Concat Teile, dann siehst du in der Mail die Start und Endzeit noch mal extra:
Code:
set concatShop=CONCAT('letzter Start Shopabgleich: ', Format([dShopStart],'dd-MM-yyyy / hh:mm:ss'), ' - Dies war vor ',DATEDIFF(minute,dShopStart,getdate()), ' Minuten', ' / Start: ', dShopStart, ' - Ende: ',dShopEnde) as shopInformation,
set concatEbay=CONCAT(CHAR(13) + CHAR(10) + 'letzter Start ebayabgleich: ', Format([dEbayStart],'dd-MM-yyyy / hh:mm:ss'), ' - Dies war vor ',DATEDIFF(minute,dEbayStart,getdate()), ' Minuten', ' / Start: ', dEbayStart, ' - Ende: ',dEbayEnde) as ebayInformation,
set concatAmazon=CONCAT(CHAR(13) + CHAR(10) + 'letzter Start Amazonabgleich: ', Format([dAmazonStart],'dd-MM-yyyy / hh:mm:ss'), ' - Dies war vor ',DATEDIFF(minute,dAmazonStart,getdate()), ' Minuten' , ' / Start: ', dAmazonStart, ' - Ende: ',dAmazonEnde) as amazonInformation
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
7.276
1.986
Berlin
Hier noch der Query der dann am Ende abgesetzt wird, ausgehend von den 90 Minuten die da eingetragen sind, eventuell habe ich da einen Denkfehler, das möchte ich jetzt nicht ausschliessen:

Code:
SELECT
CONCAT('letzter Start Shopabgleich: ', Format([dShopStart],'dd-MM-yyyy / hh:mm:ss'), ' - Dies war vor ',DATEDIFF(minute,dShopStart,getdate()), ' Minuten', ' / Start: ', dShopStart, ' - Ende: ',dShopEnde) as shopInformation,
CONCAT(CHAR(13) + CHAR(10) + 'letzter Start ebayabgleich: ', Format([dEbayStart],'dd-MM-yyyy / hh:mm:ss'), ' - Dies war vor ',DATEDIFF(minute,dEbayStart,getdate()), ' Minuten', ' / Start: ', dEbayStart, ' - Ende: ',dEbayEnde) as ebayInformation,
CONCAT(CHAR(13) + CHAR(10) + 'letzter Start Amazonabgleich: ', Format([dAmazonStart],'dd-MM-yyyy / hh:mm:ss'), ' - Dies war vor ',DATEDIFF(minute,dAmazonStart,getdate()), ' Minuten' , ' / Start: ', dAmazonStart, ' - Ende: ',dAmazonEnde) as amazonInformation
from  dbo.tWorkerInfo
 where
 ((DATEDIFF(minute,dShopStart,getdate()) > 90 OR dShopEnde IS NULL) AND 90 > 0)
 OR ((DATEDIFF(minute,dEbayStart,getdate()) > 90  OR dEbayEnde IS NULL)   AND 90 > 0 )
 OR ((DATEDIFF(minute,dAmazonStart,getdate()) > 90  OR dAmazonEnde IS NULL)  AND 90 > 0 )
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
7.276
1.986
Berlin
AHA
Ich hab es, ich hab das mal mehrfach laufen lassen.

Du bekommst eine Mail, wenn die Abfrage genau in dem Moment kommt, wenn dShopEnde,dEbayEnde oder dAmazonEnde gerade leer ist.
Das passiert vermutlich genau in dem Moment, wenn der Abgleich der jeweiligen Plattform startet und wird erst dann wieder gefüllt wenn der Abgleich vorbei ist.

dann müsste also das hier jeweils weg:

OR dShopEnde IS NULL
OR dEbayEnde IS NULL
OR dAmazonEnde IS NULL
 

vmgmbh

Sehr aktives Mitglied
26. November 2010
1.054
14
AHA
Ich hab es, ich hab das mal mehrfach laufen lassen.

Du bekommst eine Mail, wenn die Abfrage genau in dem Moment kommt, wenn dShopEnde,dEbayEnde oder dAmazonEnde gerade leer ist.
Das passiert vermutlich genau in dem Moment, wenn der Abgleich der jeweiligen Plattform startet und wird erst dann wieder gefüllt wenn der Abgleich vorbei ist.

dann müsste also das hier jeweils weg:

OR dShopEnde IS NULL
OR dEbayEnde IS NULL
OR dAmazonEnde IS NULL

Grandios @css-umsetzung - und das am Samstag Abend!!! Herzlich Dank!


Noch ein Hinweis am Rande: SQL Passwörter mit Umlauten mag das Tool nicht. Hier schlägt der Login fehl. Sollte es jemand helfen....
Ebenso in der Email werden Umlaute wohl wegen der Zeichenodierung nicht richtig ausgegeben, was aber wirklich nur Kosmetik ist...
 

vmgmbh

Sehr aktives Mitglied
26. November 2010
1.054
14
@css-umsetzung wenn ich nicht irre kann es aber jetzt rein theoretisch passieren, dass der worker sich aufgehängt und das Datenfeld NULL ist und immer sein wird. dann würde auch nie ne Email kommen
täusche ich mich?

2ter Fall: Das Zeitinterfall der Workerausführung findet immer zur gleichen Zeit statt wie die Aufgabenplanung des Tools. auch dann gäbe es doch keine Aussagekraft
 
Zuletzt bearbeitet:

hula1499

Sehr aktives Mitglied
22. Juni 2011
5.283
1.216
Morgen,

wir hatten das Script seit Beginn an laufen, klappte immer perfekt.
Jetzt haben wir auf Win Server 2016 umgestellt und ich kriegs nicht mehr hin.

Egal ob mit localhost, IP Adresse, Hostname mit oder ohne Port, mit oder ohne \ hinten, mit oder ohne <> mit oder ohne tcp:, ständig
Syntaxfehler - immer gleich in der ersten Zeile für SET INSTANCE.
Blockiert der Server 2016 da viell. irgendwas von sich aus?
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
7.276
1.986
Berlin
Ich bin ja nicht so wirklich der Windows Profi, aber wenn da schon ein Fehler ist würde ich das zum testen mal quoten

set INSTANCE="DEIN_SERVER"

Wenn er dann über die zweite Zeile meckert, dann muss das überall so gemacht werden.
 

hula1499

Sehr aktives Mitglied
22. Juni 2011
5.283
1.216
Ja, musste alles in den settings oben von <> auf "" geändert werden (und reicht sogar, nur die WaWI Instanz anzugeben, ohne host/ip/port) jedoch krieg ich jetzt:


Code:
Sqlcmd: 'eazybusiness".dbo.tWorkerInfo where  ((DATEDIFF(minute,dShopStart,getdate()) > 1 OR dShopEnde IS NULL) AND 1 > 0)    OR ((DATEDIFF(minute,dEbayStart,getdate()) > 1  OR dEbayEnde IS NULL)   AND 1 > 0 )   OR ((DATEDIFF(minute,dAmazonStart,getdate()) > 1  OR dAmazonEnde IS NULL)  AND 1 > 0 ) " ': Unerwartetes Argument. Geben Sie '-?' ein, um die Hilfe anzuzeigen.
fertig

Ja, ich hab zum Test absichtlich auf 1 Min. gestellt und einen Abgleich abgedreht.

Die LastStart.txt hat er mir erstellt, updated sie auch, jedoch ohne Inhalt.
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
7.276
1.986
Berlin
Ja das ist auch richtig, da steht nur etwas drin wenn es ein Problem gab.
Ich hab da ja etwas weiter oben eingefügt wie die Abfrage aussieht, kannst du das mal in deinem SQL Manager testen?
aus der 90 machst du dann eine 1


Code:
SELECT
CONCAT('letzter Start Shopabgleich: ', Format([dShopStart],'dd-MM-yyyy / hh:mm:ss'), ' - Dies war vor ',DATEDIFF(minute,dShopStart,getdate()), ' Minuten', ' / Start: ', dShopStart, ' - Ende: ',dShopEnde) as shopInformation,
CONCAT(CHAR(13) + CHAR(10) + 'letzter Start ebayabgleich: ', Format([dEbayStart],'dd-MM-yyyy / hh:mm:ss'), ' - Dies war vor ',DATEDIFF(minute,dEbayStart,getdate()), ' Minuten', ' / Start: ', dEbayStart, ' - Ende: ',dEbayEnde) as ebayInformation,
CONCAT(CHAR(13) + CHAR(10) + 'letzter Start Amazonabgleich: ', Format([dAmazonStart],'dd-MM-yyyy / hh:mm:ss'), ' - Dies war vor ',DATEDIFF(minute,dAmazonStart,getdate()), ' Minuten' , ' / Start: ', dAmazonStart, ' - Ende: ',dAmazonEnde) as amazonInformation
from  dbo.tWorkerInfo
 where
 ((DATEDIFF(minute,dShopStart,getdate()) > 90 OR dShopEnde IS NULL) AND 90 > 0)
 OR ((DATEDIFF(minute,dEbayStart,getdate()) > 90  OR dEbayEnde IS NULL)   AND 90 > 0 )
 OR ((DATEDIFF(minute,dAmazonStart,getdate()) > 90  OR dAmazonEnde IS NULL)  AND 90 > 0 )
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
7.276
1.986
Berlin
Dann sollte er das ja auch in der txt Datei geschrieben haben.
Wir sollten uns das eventuell mal gemeinsam anschauen (aber nicht heute) dann ist das einfacher.

Alternativ finde ich ja das Teil von com-ins-netz schön :) vor allem weil das den worker auch neu starten kann
 

hula1499

Sehr aktives Mitglied
22. Juni 2011
5.283
1.216
Jo, ich klingel mal nächste Woche durch ;)

Nein, das com-ins-netz zeug find ich gar nicht schön, hatte ich mir auch bereits angesehen.
 

vmgmbh

Sehr aktives Mitglied
26. November 2010
1.054
14
So, die nächste herausforderung in Sachen Workerüberwachen.

Das Problem an Blat ist, dass es kein SSL/TLS unterstützt. Gmail oder beispielsweise Office365 SMTP Einstellungen werden hier nicht funktionieren. Folglich gehen keine Mails raus.

Man benötigt hierfür ein Zusatztool, das sich "Stunnel" nennt...
Ich habe mich nun zu folgendem Tutorial durchgerungen komme aber nicht weiter was man für Office 365 SMTP Server in der Config File von Stunnel angeben soll.
Siehe https://community.spiceworks.com/how_to/50057-mail-relay-to-office-365-using-stunnel

Hat das jemand schon hinbekommen und kann wer helfen bzw seine stunnel.conf Datei senden? Das Problem sollten sicherlich mehr haben die Blat nutzen

LG
 

mvh

Sehr aktives Mitglied
26. Oktober 2011
783
281
So, die nächste herausforderung in Sachen Workerüberwachen.

Das Problem an Blat ist, dass es kein SSL/TLS unterstützt. Gmail oder beispielsweise Office365 SMTP Einstellungen werden hier nicht funktionieren. Folglich gehen keine Mails raus.

Man benötigt hierfür ein Zusatztool, das sich "Stunnel" nennt...
Ich habe mich nun zu folgendem Tutorial durchgerungen komme aber nicht weiter was man für Office 365 SMTP Server in der Config File von Stunnel angeben soll.
Siehe https://community.spiceworks.com/how_to/50057-mail-relay-to-office-365-using-stunnel

Hat das jemand schon hinbekommen und kann wer helfen bzw seine stunnel.conf Datei senden? Das Problem sollten sicherlich mehr haben die Blat nutzen

LG

Hallo,
warum nicht gleich Command Line SMTP nutzen ? www.commandlinesmtp.com
oder PowerShell mit Send-MailMessage und -UseSsl, da PowerShell fast auf jedem Rechner installiert ist ?
Viele Grüße, Ihr mvh-Team
 

Ähnliche Themen