Spring naar bijdragen
  • 0
Felix

.

Vraag

13 antwoorden op deze vraag

Aanbevolen berichten

  • 0

Je kunt natuurlijk het access log bekijken. Daar staan alle connecties in, inclusief voor elke connectie een regel waar ook [fmapp] in staat.

 

Maar dat is altijd achteraf.

 

Als je wilt zien welke gebruikers op welke wijze real time ingelogd zijn, moet je denk ik de login in de database zelf registreren. Elke gebruiker een record met zijn accoutnaam en dan de get(extended privileges) opvragen.

 

HE

Deel dit bericht


Link naar bericht
  • 0

Je kan ook je gebruikers registreren met Get ( ApplicationVersion ): http://www.filemaker.com/help/13/fmp/en/html/func_ref2.32.17.html#1028783]

 

Dan weet je gelijk welk type applicatie. Als je dan bijvoorbeeld elke binnenkomende gebruiker registreert, en bij het afsluiten gaat verwijderen, heb je al een zeker idee van je gebruikers. Je moet dan wel nog wat inbouwen voor verbroken verbindingen en dergelijke ...

Deel dit bericht


Link naar bericht
  • 0

Als je een bestand hebt dat alle gebruikers open (zouden moeten) hebben, dan zou je get ( usercount ) kunnen gebruiken. Je weet dan echter nog steeds niet hoe, waarmee en met welke rechten ze zijn ingelogd.

Deel dit bericht


Link naar bericht
  • 0
Get (AccountExtendedPrivileges) geeft denk ik alleen de extended privileges voor het account waarmee je bent ingelogd. En dan ook alle privileges die je hebt en niet alleen via welke je op dat moment een connectie hebt gemaakt.

 

Ja, dat klopt. Maar je laat elke gebruiker die aanlogt een OpenScript draaien en in het Openscript schrijf je de timestamp, de account en extended privileges weg in een tabel waar elke gebruiker een record heeft. Of in een echte log tabel, als dat beter is. En in combinatie met de application version weet je wel hoe iemand aangelogd is.

 

Lastig is nog om alle logoff ook betrouwbaar te loggen. Als iedereen netjes op een knop drukt of Quit FileMaker kiest is er niks aan de hand, maar als mensen gewoon hun PC uitzetten of de sessie laten verlopen wordt het lastiger, omdat de client het initiatief moet nemen. Je zou bij je navigatie scripts een soort 'keep alive' kunnen inbouwen die de timestamp van de laatste activiteit logt in het 'eigen record', in combinatie met een installOnTImer script in layout waar iedereen weer terugkeert.

 

Het zou natuurlijk veel mooier zijn als je via een call naar de FileMaker Server de actuele log gegevens kunt opvragen, met de juiste accountgegevens uiteraard.

 

HE

Deel dit bericht


Link naar bericht
  • 0

Op een windows-server kan je met de commandline op de volgende manier de userlist naar een bestand laten uitvoeren:

cd "%programfiles%\FileMaker\FileMaker Server\Database Server\"
fmsadmin list clients > %userprofile%\documents\log.txt

Op MacOS kan dat vast ook, het is een kwestie van uitzoeken hoe dit precies door FMS kan worden uitgevoerd om het te schedulen ... je zit vooral te emmeren met gebruikersrechten van fmsadmin en system. Ik zal het zelf ook eens proberen.

Deel dit bericht


Link naar bericht
  • 0

Ik heb het even zitten knutselen op mijn (windows-)server en het werkt prima met het volgende script:

cd "%programfiles%\FileMaker\FileMaker Server\Database Server\"
fmsadmin list clients -u  -p  > ..\Data\Documents\log.txt

waarbij en moeten worden vervangen voor je eigen u/p van de fmserver-console. Het scriptje moet .cmd of .bat als extensie krijgen en in %programfiles%\FileMaker\FileMaker Server\Data\Scripts worden geplaatst.

Vervolgens maak je in de FMS-console een schedule dat dit scriptje iedere minuut aftrapt.

 

De volgende stap is een fmp-logbestandje maken. Daarvoor kan je het bijgevoegde voorbeeld gebruiken: Log.fmp12 en ook met dit bestand maak je in FMS een schedule dat óók iedere minuut wordt afgetrapt, met het enige script dat er in aanwezig is.

 

In dit bestand wordt 5 seconden wacht voordat het gaat importeren, dat blijkt voldoende. Als je korter wacht of heemaal niet, dan mislukt de vorige schedule en kan je niks oplepelen uit het text-bestandje. Na de import wordt de data verwerkt .... nieuwe client ID's worden aan de lijst toegevoegd en oude ID's worden bijgewerkt. Is een client niet meer aanwezig, dan wordt de entry niet meer bijgewerkt en wordt ook de _Last tijdstempel niet meer bijgewerkt.

 

Uiteraard moet dit bestand eigenlijk weer worden leeggegooid bij het opnieuw opstarten van FMS, want de clientID's worden dan namelijk gereset. Het is echter niet erg als dat niet gebeurt, want als je zoekt naar de grootste _Last-waarde dan weet je welke clients er op dat moment zijn ingelogd. Je weet dan alleen niet wanneer ze de eerste keer zijn ingelogd ... dit valt echter voorlopig buiten de scope, het gaat hier om de werking. Opleuken is voor later een zorg.

 

Ik heb dit niet op MacOS geprobeerd, maar daar zie ik graag jouw bevindingen :D

Deel dit bericht


Link naar bericht
  • 0

Het schrijven van het log-bestandje in de documentenmap lijkt met het beste gewoon door de server te laten doen dmv een schedule. Het vullen van het fm-bestand zou je prima met psos kunnen doen, maar dan zie ik twee bezwaren:

#1: deze is niet heel belangrijk, maar je weet niet wanneer een client is ingelogd en

#2: Je zit in een multiuser-omgeving en met 2 of 3 gebruikers zal je elkaar bij het vullen van het fm-log-bestand niet heel snel in de weg gaan zitten, met 25 of 50 gebruikers is dat mogelijk anders.

Deel dit bericht


Link naar bericht
  • 0

Heb fii een macserver geïnstaleerd. Je kan vanaf de commandline een bestandje in documents schrijven met:

fmsadmin list clients -u  -p  > /Volumes/Macintosh\ HD/Library/FileMaker\ Server/Data/Documents/log.txt

Werkt dus identiek als onder windows, behalve dat fmsadmin gewoon bekend is bij het systeem en je niet naar de map met de executable hoeft te wisselen :)

 

Automatiseren kan op de volgende manier:

 

1) Maak een scriptbestand log.sh (opslaan als platte tekst) in /Volumes/Macintosh\ HD/Library/FileMaker\ Server/Data/Scripts/ met de volgende inhoud:

#!/bin/sh
fmsadmin list clients -u  -p  > /Volumes/Macintosh\ HD/Library/FileMaker\ Server/Data/Documents/log.txt

2) Pas de permissies van het bestand aan met:

chmod 755 /Volumes/Macintosh\ HD/Library/FileMaker\ Server/Data/Scripts/log.sh

3) Maak een schedule in FMS:schedule.png.2d02005cd0a794d441c81e988f92a35a.png

Deel dit bericht


Link naar bericht

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Beantwoord deze vraag...

×   Plakken als rijke tekst.   In plaats daarvan plakken als platte tekst

  Er zijn maximaal 75 emoticons toegestaan.

×   Je link is automatisch geïntegreerd.   In plaats daarvan als link tonen

×   Je voorgaande bijdrage is hersteld.   Tekstverwerker leegmaken

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen in vanaf URL.

×
×
  • Nieuwe aanmaken...