Clients pingen & Ergebnis auf Server - als CC!

Alle Fragen rund Antworten rund um die ACMP Client Commands und Container
Antworten
Benutzeravatar
regexreggae
Beiträge: 14
Registriert: Di Nov 23, 2021 1:28 pm

Hallo zusammen,

da ich hier noch keine Antwort erhalten habe: https://acc.aagon.com/viewtopic.php?f=77&t=2677, mache ich mal einen neuen Beitrag auf.

Hintergrund:
Wir möchten gerne in regelmäßigen Abständen alle unsere Clients durchpingen und dann in ein Custom Field den Wert 0 oder 1 setzen, je nachdem, ob der jeweilige Client auf den Ping geantwortet hat.

Problem:
Im Prinzip sehe ich hier zwei Möglichkeiten, das umzusetzen, die mir aber beide zur Zeit nicht möglich sind. Und zwar sieht es folgendermaßen aus:

- über ein Konsolenskript kann man wunderbar alle ausgewählten Clients durchlaufen, anpingen und das Ergebnis auf dem Server speichern. Allerdings kann man diese nicht für einen Container verwenden und ich will es ja nicht jedes Mal manuell machen. D.h. ich muss zwangsläufig es über ein Clientseitiges CC erledigen, bei dem ich den ACMP Server als Client auswähle, wenn ich es regelmäßig über einen Container abrufen will

- wenn ich es über ein Clientskript CC mache, habe ich das Problem, das ich im verlinkten Beitrag beschrieben habe. Kurzfassung: bei "store value on server" gibt es leider keine Möglichkeit, den Client zu spezifizieren, für den der Wert auf dem Server gespeichert werden soll. Es wird der Client/ die Clients dafür genommen, den man vorher ausgewählt hat für das ClientCommand. Wenn es anders wäre könnte ich das Ergebnis einer SQL Abfrage nutzen, um jeweils die Client ID des Clients anzugeben, für den das Ergebnis gespeichert werden soll. Ich bin dann auf die Idee gekommen, es über eine weitere SQL Abfrage zu machen, die etwa so aussieht:

Code: Alles auswählen

UPDATE CF_VAL_A88AXXXXXXXXXXXXXXXXXXXXXXB33
SET CF_BDE1BXXXXXXXXXXXXXXXXXX5D887 = 1
WHERE "CLT_CLIENTS"."CLIENTID" = %RESULT.CLIENTID%
Hier bekomme ich aber eine Fehlermeldung, kenne mich nicht gut aus mit SQL und habe hier wohl einen Syntaxfehler drin.

Mir ist unerklärlich, wie es bei dem verlinkten Beitrag in dem Screenshot von Niklas funktioniert, dass das Ergebnis des Pings für den jeweiligen Client eingetragen wird. Bei mir funktioniert es wie gesagt anders, der Wert für das custom field wird nur immer wieder neu für den Server eingetragen.

Könnte hier irgendjemand weiterhelfen oder einen Workaround aufzeigen? Bzw. könnte man vielleicht auch auf der clientseitigen Version von "store value on server" die Möglichkeit der Auswahl eines anderen Clients über eine Variable integrieren?

Liebe Grüße
Gary
Screenshot 2021-12-10 170733.png
Screenshot 2021-12-10 170733.png (105.44 KiB) 3366 mal betrachtet
murki
Beiträge: 27
Registriert: Mo Aug 22, 2011 11:03 am

Code: Alles auswählen

UPDATE CF_VAL_A88AXXXXXXXXXXXXXXXXXXXXXXB33
SET CF_BDE1BXXXXXXXXXXXXXXXXXX5D887 = '1'
WHERE CLIENTID = '%RESULT.CLIENTID%'
sollte funktionieren.
Marian Grahl
System- und Netzwerkadministration
Deutscher Sparkassen- und Giroverband e.V.
Benutzeravatar
regexreggae
Beiträge: 14
Registriert: Di Nov 23, 2021 1:28 pm

murki hat geschrieben: Mo Dez 13, 2021 5:07 pm

Code: Alles auswählen

UPDATE CF_VAL_A88AXXXXXXXXXXXXXXXXXXXXXXB33
SET CF_BDE1BXXXXXXXXXXXXXXXXXX5D887 = '1'
WHERE CLIENTID = '%RESULT.CLIENTID%'
sollte funktionieren.
that did the trick! :D vielen Dank!
Benutzeravatar
ngottschalk
Beiträge: 293
Registriert: Mi Sep 08, 2010 12:57 pm

Fuer zukuenftige Sucher: Man kann das "Store Value on server" Command aus dem Consolenscript (das die Angabe einer ClientID unterstuetzt) in das Clientscript kopieren.
Mit freundlichen Grüßen

Niklas Gottschalk (gottschalk@zoller-usa.com)
IT Systems Administrator
Zoller Inc.
Antworten