Power-shell script to check port connection of Maximo servers and export result to .csv file.
- Maximo server use a variety of ports dedicated to specific function/application.
- Ports at UI level (9080, 9081 etc). or RMI port are obvious and easy to validate. But other ports at NodeAgent, Deployment manager level and few JVM ports that are crucial for health of the application not often checked.
- It is best practice to periodically check connection of these ports. Escpecially during any server upgrade/patching.
- This article shares a method to automate this via powershell script.
- We use 'tnc 'ServerName' -p '<portNumber>' as base code, which is recursively called against a list of Ports and Servers. The Result is then printed to a .csv file a report.
Create a powershell script in any text editor as explained below and save as .ps1 file.(We can execute this manually , or schedule a windows Job.)
- Declare the output file with timestamp:
$today=Get-Date -Format "dd-MM-yyyy-HHmm";$exportFilePath="C:\Maximo\HealthCheck\Reports\PROD_Server_Ports_Health"+$today+".csv";
- Declare each server names to a variable.
$appSvr01="PRODMAXIMOAP01.orgxx.com";
$appSvr02="PRODMAXIMOAP01.orgxx.com"
$adminServer="PRODMAXIMOADM01.orgxx.com"
- Declare list of ports of different type (JVM, Node Agent etc.)
$JVMPorts="9080","9081","9082","9083";
$nodeAgentPorts="2810","9902","9203","9204","7273","8879","9630","7063","11005","11006";
$nodeAdminPorts="2810","9902","9203","9204","7273","8880","9630","7063","11007","11008";
$dmgrPorts="7277","9809","9632","8879","9100","9402","9060","9043","9352","7060","9420","11005","11006";
- Declare List of Port Types in Seqence
$portTypeList = "JVM","JVM","NodeAgent","NodeAgent","NodeAdmin","Dmgr";
- Now, declare List of all Servers and ports. That is combination of avove variables in correct sequence.
The sequence of values in each list should match the value of others. So that, when we itrate through these list, it matches with correct server and port.$serverList=$appSvr01,$appSvr02,$appSvr01,$appSvr02,$adminServer,$adminServer$portListAll = $JVMPorts,$JVMPorts,$nodeAgentPorts,$nodeAgentPorts,$nodeAdminPorts,$dmgrPorts;
Server
Port Type
Port List
AP01
JVM
"9080","9081","9082","9083"
AP01
JVM
"9080","9081","9082","9083"
AP01
NodeAgent
"2810","9902","9203",..."11006"
AP01
NodeAgent
"2810","9902","9203",..."11006"
ADM01
NodeManager
"2810","9902","9203",..."11008"
ADM01
Dmgr
"7277","9809","9632",..."11006"
- Finally, iterate through the list of servers , for each server, test the list of ports and write the result.
No comments:
Post a Comment