Amazon Deals

Saturday, May 7, 2011

Monitor Informatica PowerCenter using Oracle Enterprise Manager

Oracle Enterprise manager provides plugins for other Oracle applications but there is nothing available from Oracle or Informatica to monitor PowerCenter. However OEM can monitor host systems and web applications. Since PowerCenter has an Admin Console, I decided to setup monitoring using this feature.

It involved multiple steps to complete the setup.

1. Install Oracle Enterprise Manager Agent in PowerCenter host system and register it with OEM
2. Create a system
3. Create a web application
4. Create beacons
5. Setup notification rule

This setup seemed to work until I ran into a situation where Admin Console site was responding with an error not loading login page. For OEM it looked up as it responded to http request. 

I needed to find a better way to monitor this. I came across a feature called User Defined Metric (UDM) in OEM. It required me to write a script in host system, since my system is a Red Hat Linux, I used bash script. This solution involved

1. Create three bash scripts which ran Informatica provided infacmd.sh to ping PowerCenter services, one for domain, another for repository and the third for integration service.
2. Setup UDM in OEM with metric type as Numeric and both warning and critical threshold to > 0.
3. Setup new notification rule. Pick host as the target and go to Metrics tab and select User Defined metrics (it is the last metrics listed) you created.


Script to monitor a domain

INFA_HOME=/apps/informatica/910
INFA_DOMAIN=Domain_ABC
INFA_NODE=Node_mynode
INFA_HOST=myhost

$INFA_HOME/isp/bin/infacmd.sh ping -dn $INFA_DOMAIN -nn $INFA_NODE
OUT=`expr $?`

if [ "$OUT" -eq 0 ]; then
        echo -e "em_result=$OUT\nem_message=Informatica Node $INFA_NODE in Domain $INFA_DOMAIN is Up on $INFA_HOST\n"
else
        echo -e "em_result=$OUT\nem_message=Informatica Node $INFA_NODE in Domain $INFA_DOMAIN is Down on $INFA_HOST\n"
fi
exit
Script to monitor repository service

INFA_HOME=/apps/informatica/910
INFA_DOMAIN=Domain_ABC
INFA_NODE=Node_mynode
INFA_HOST=myhost
$INFA_HOME/isp/bin/infacmd.sh ping -dn $INFA_DOMAIN -sn $INFA_PCREP
OUT=`expr $?`
if [ "$OUT" -eq 0 ]; then
        echo -e "em_result=$OUT\nem_message=Informatica Repository Service is Up\n"
else
        echo -e "em_result=$OUT\nem_message=Informatica Repository Service is Down\n"
fi
exit


Script to monitor Integration service

INFA_HOME=/apps/informatica/910
INFA_DOMAIN=Domain_ABC
INFA_NODE=Node_mynode
INFA_HOST=myhost

$INFA_HOME/isp/bin/infacmd.sh ping -dn $INFA_DOMAIN -sn $INFA_PCIS
OUT=`expr $?`
if [ "$OUT" -eq 0 ]; then
        echo -e "em_result=$OUT\nem_message=Informatica Integration Service is Up\n"
else
        echo -e "em_result=$OUT\nem_message=Informatica Integration Service is Down\n"
fi
exit

3 comments:

  1. This is nice blog and thanks share with us.we providing Informatica online training

    ReplyDelete
  2. Really good piece of knowledge, I had come back to understand regarding your website from my friend Sumit, Hyderabad And it is very useful for who is looking for INFORMATICA.

    ReplyDelete


  3. Thanks for sharing for this valuble information and it is very useful for informatica learners .123trainings also provide the bestinformatica Online Training you can see free demo Informatica Online Training Demo in Hyderabad India

    ReplyDelete