Skip to main content

I've been digging into issues with an Engine running on a separate host in a distributed setup. Service looks to be running but is no longer chatting with Core and is not longer showing up under Engines in the web UI.

 

After ruling out some of the obvious causes on this troubleshooting page. I've started logging running processes and ports being used on that Host to understand at what point the service goes silent or inactive. That's when I noticed what seems like large number of TCP connections FMEProcessMonitorEngines uses with multiple ports open.

 

The Architecture Diagram and Documentation are really helpful. So I recognize the 7070 for FMEEngines services and the 7082 for Database Server but then there are a bunch of ports that I assume are what FME dynamically picks. If I only have one job executing on that engine at a given time, how many of those ports/connections will be in play? Is having 3-5 or so that I don't recognize an indication that something may not be working right? I'd like to rule out that there are some AV/AM or other tools blocking ports or services.

 

Thanks for any insights or references to Safe articles about this that I haven't discovered yet.

You can see what ports are used by the individual executables here https://community.safe.com/s/article/ports-and-executables-and-firewall-exceptions-for

and a full list and description of ports used by fme server core here - https://docs.safe.com/fme/html/FME_Server_Documentation/ReferenceManual/FME-Server-Ports.htm


@carmijo​ - Thanks for chiming in. Those ports listed are very similar (likely the same) to what I referenced for the Architecture page. I'm really asking about what your first link refers to as:

...Once this connection is established, another random port is opened for dedicated communication...

I think those are spawned on demand so that 7070 can go back its deskjob. I'm seeing ports like "49750" or "50038"... I'm curious how many of those I *should* be seeing for a single engine. 


@carmijo​ - Thanks for chiming in. Those ports listed are very similar (likely the same) to what I referenced for the Architecture page. I'm really asking about what your first link refers to as:

...Once this connection is established, another random port is opened for dedicated communication...

I think those are spawned on demand so that 7070 can go back its deskjob. I'm seeing ports like "49750" or "50038"... I'm curious how many of those I *should* be seeing for a single engine. 

I see. I'm afraid I don't know and couldn't find the answer to that. Hopefully someone else can assist. Good luck and take care!


The Engine should be one process (& dedicated port) for each Engine. This will be regardless of whether that engine is running a job. FMEProcessMonitorEngines should only be one process. The only exception to this might be if you are using the FMEServerJobSubmitter and thus spinning up child engines.

 

Can you take a look at your fmeprocessmonitorengine log file? This would include errors if engines are not shutting down properly.

 

If you shut off your engine service, do you still see FME processes in task manager? If so, try killing them and restarting the server. Do they come back?2022-09-23_14-53-20


Reply