Skip to main content
March 9, 2009
Answered

FMS Admin API questions

  • March 9, 2009
  • 1 reply
  • 743 views
I'm implementing a monitoring app for FMS using the FMS admin API.

I have two questions:
1.- The getActiveInstances() method requires as a mandatory parameter the FMSCore processID number

Is there any way to get all the running FMSCore processes using the admin API?, I didn't find any method to do this, but I know FMS knows the IDs because they are registered in the core.log file when the process is created.

2.- The getInstanceStats() method documentations says:
"Beginning with Flash Media Server 3.5, you can dynamically control the core to which an application is sent. Controlling the cores allows load balancing across cores based on their performance counters."

Does this mean I need to add performance counters at the OS level to find out which FMSCore is using the least resources?, If that is the case, how do I add a new application to an specific FMSCore, that is nowhere in the documentation.

Any help is appreciated.

Thanks.
    This topic has been closed for replies.
    Correct answer
    Hi Carlos,

    1. Call getAppStats() or getInstanceStats() to get the processID number. It's returned here: result.data.cores.pid.

    2. You can use configuration files to assign applications to core processes in varying ways. But to assign an app to a specific core process, you have to use the Access plug-in:
    http://help.adobe.com/en_US/FlashMediaServer/3.5_Plugin/WS5b3ccc516d4fbf351e63e3d11a0d662434-7fed.html#WS47C96BDA-C00C-4205-BFA5-C7EDE9000D13
    The above link provides more information, but essentially, you're using the Administration APIs to monitor QoS, then calling setValue() in the Access plug-in (in C++) to assign the app to a core.

    For information about using the config files to assign apps to cores, see:
    http://help.adobe.com/en_US/FlashMediaServer/3.5_AdminGuide/WS5b3ccc516d4fbf351e63e3d119f2925e64-7ff0.html#WS5b3ccc516d4fbf351e63e3d119f2926bcf-7dca

    Hope that helps,
    Jody

    1 reply

    Correct answer
    March 10, 2009
    Hi Carlos,

    1. Call getAppStats() or getInstanceStats() to get the processID number. It's returned here: result.data.cores.pid.

    2. You can use configuration files to assign applications to core processes in varying ways. But to assign an app to a specific core process, you have to use the Access plug-in:
    http://help.adobe.com/en_US/FlashMediaServer/3.5_Plugin/WS5b3ccc516d4fbf351e63e3d11a0d662434-7fed.html#WS47C96BDA-C00C-4205-BFA5-C7EDE9000D13
    The above link provides more information, but essentially, you're using the Administration APIs to monitor QoS, then calling setValue() in the Access plug-in (in C++) to assign the app to a core.

    For information about using the config files to assign apps to cores, see:
    http://help.adobe.com/en_US/FlashMediaServer/3.5_AdminGuide/WS5b3ccc516d4fbf351e63e3d119f2925e64-7ff0.html#WS5b3ccc516d4fbf351e63e3d119f2926bcf-7dca

    Hope that helps,
    Jody
    March 10, 2009
    Thank you Jody, great help.