Skip to main content

Hi list.

Is there a best-practice in how to monitor the health of the FME Server engines?

I know that if a workspace runs, the engine used must work, but is that a guarantee that it'll work with any workspace?

E.g., has there been built some comprehensive testing workspace, that'll test most aspects of an engine?

And how can one log that an engine won't start?

I've been asked about this in connection with our upcoming launch of our FME Server for production.

Cheers.

Monitoring a server engine's health and predicting whether a workspace will work are two different things.

 

I'd say monitoring its actual health is more a general IT thing than a FME Server specific thing. Other than keeping the installed FME Server version up to date and matching your FME Desktop version and making sure it's got enough RAM and temp space to run the jobs you want it to run I don't think there's much FME specific.

 

Predicting whether a workspace will run is best done by "just giving it a try". There is no all-encompassing test, Safe does have a daily test suite that runs on their development builds but I doubt it'll really cover all aspects of FME.

 

As for starting (or not starting of engines), the FME Server logs directory contains all relevant logs. E.g. the Logs\\Engine\\Current\\fmeprocessmonitorengine.log contains the log of engines starting and stopping.


Monitoring a server engine's health and predicting whether a workspace will work are two different things.

 

I'd say monitoring its actual health is more a general IT thing than a FME Server specific thing. Other than keeping the installed FME Server version up to date and matching your FME Desktop version and making sure it's got enough RAM and temp space to run the jobs you want it to run I don't think there's much FME specific.

 

Predicting whether a workspace will run is best done by "just giving it a try". There is no all-encompassing test, Safe does have a daily test suite that runs on their development builds but I doubt it'll really cover all aspects of FME.

 

As for starting (or not starting of engines), the FME Server logs directory contains all relevant logs. E.g. the Logs\\Engine\\Current\\fmeprocessmonitorengine.log contains the log of engines starting and stopping.

Hi redgeo.

Thanks for the answer.

I agree on most points, but just don't want to miss something.

When you say "Logs\\Engine\\Current\\fmeprocessmonitorengine.log", where is this tree located?

It's not under C:\\Program Files\\FME Server\\Server, where I would have expected to find it.

Cheers


Hi redgeo.

Thanks for the answer.

I agree on most points, but just don't want to miss something.

When you say "Logs\\Engine\\Current\\fmeprocessmonitorengine.log", where is this tree located?

It's not under C:\\Program Files\\FME Server\\Server, where I would have expected to find it.

Cheers

It's normally a directory in your Resources folder. Unless you have configured FME Server to store them somewhere else.


We use UpTimeRobot to monitor the fmerest/v3/healthcheck end point.

 

We've also considered building processes that will run on our internal FME Server that will query clients servers to gather information such as active engines/licensed engines, parse logs to look for any abnormalities, but haven't gotten around to actually implementing something

 

 


Hi redgeo.

Thanks for the answer.

I agree on most points, but just don't want to miss something.

When you say "Logs\\Engine\\Current\\fmeprocessmonitorengine.log", where is this tree located?

It's not under C:\\Program Files\\FME Server\\Server, where I would have expected to find it.

Cheers

Hi redgeo.

I looked all over for the folders, and finally found them in "C:\\ProgramData\\Safe Software\\FME Server\\resources\\logs\\engine\\current".

However, there are multiple log files, some of which cover all engines. I fail to recognize a pattern of what each log file contains. Is there some documentation about this somewhere?

Cheers


One of our concerns is the licensing of the engines.

If a job unexpectedly crashes mid-processing, crashing the engine process, is there a built-in provision for returning the checked out license back to the license pool, so another job isn't put on indefinite hold, waiting for a free license to start ?

If we, say, have 1 fixed and 1 dynamic license, and an engine crashes while using the fixed license, will that license be restored after the crash ?

Or will that require a reboot of the FME Server itself ?

 


Reply