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