Background
Syn~ settlement (and other Syn~ systems) runs over a couple of servers (blades). These servers share the same file system and run difference processes in there own memoery space and CPU horsepower. These processes are categorized into dispatcher (core), servers (the various elements) and clients (the web and CAF), and distributed among some 10+ servers. Managing these processes could be difficult and time-consuming.
Syn~ Process Control is a Bash command line tool which allows Macquarie's IT Ops team to startup/shutdown/display/kill these processes selectively or in batch. It reduced the system startup/check step from somewhat 200 commands into less 5, greatly reduced the human error to startup/kill processes on a wrong server.
The function of the tool includes:
1> plain text configuration of server/process mapping and startup/shutdown order.
2> batch system startup or shutdown by one command.
3> selective process startup or shutdown by one command
4> pattern based (configurable) startup log checker to ensure startup is successful.
5> display server/process distribution table by one command
Shell techniques employed
1> SSH to ensure remote login and command running.
2> RegEx to smartly find the log file for each process from its native xml based configuration.
3> RegEx to check patterns of strings to confirm successful startup.
4> Syn~ Athos API to shutdown processes safely.