Common issues when setting up Maximo with a Load Balancer

Just a couple of my own notes setting up Maximo with a Load Balancer which I learnt through the hard way:

- Property mxe.system.useLoadBalancer – should be set to 1. If not enabled, Maximo thinks the IP address of the Load Balancer’s IP is the client’s and blocks it when the number of requests exceeds a certain threshold (by default is 50 per 3 seconds). 

For more details about the IP blocking function, read this previous post

- Load Balancer session timeout: I recently worked with a client who setup Citrix NetScaler as the LB for Maximo. Its default session timeout is 2 minutes. A LB should have session stickiness, meaning it should keep forwarding all requests from one user to the same Maximo application server throughout the whole user’s session. When the LB session times out while Maximo session is still active, a new request from the same user will be directed to a new application server which doesn’t manage the current active Maximo session, it forces the user back to the login screen. 

To fix this, we need to increase the LB session timeout to be more than the timeout setting in Maximo (by default, it’s 30 minutes). 

Please note: if you have LDAP integration, the LTPA token is a different login session maintained by Websphere and is not related to this. LTPA token will expire after a fixed duration from logging in regardless of whether the user is active or not. Thus, I usually set LTPA token timeout to a very high value (e.g. 10-15 hours)

- Property mxe.int.webappurl: if Maximo is only accessible via the LB’s URL, we should update the few webappurl properties pointing to that URL. It could cause incorrect URL return in integration responses, and BMXAA5798E when deploying Web Services or generating XML schemas.We can set the mxe.int.verifywebappurl to 0 to avoid the issue generating XML Schema

- Websphere rewriting port 80/443 to application server ports 9080/9443: if Load Balancer is setup to distribute load directly to the application servers without the HTTP Webserver sitting in between, you can get this issue.

To fix this, for each app server, add two Web Container custom properties below and set them to true: 
  • com.ibm.ws.webcontainer.extractHostHeaderPort
  • Trusthostheaderport
- Missing message due Load Balancer's Maintenance Page: during server patching, if Load Balancer is set to display a maintenance page, and if the HTTP Status of the page is 2xx, any integration message Maximo sent to the server via the LB shall be marked as successful while the target system never receives them. This can cause missing data in the target system

No comments:

Post a Comment