Solved

Monitor IFS Application health

  • 28 November 2019
  • 6 replies
  • 1902 views

Badge +2

Hello,

Do you have any suggestions on the monitoring activities we need to perform to ensure tidiness of IFS application (Version 9).

For example:
1. Non-Finished Application Message Analysis
2. Non- Finished Background Job Analysis
3. Non-Transferred External File Load Analysis
4. Non-Complete Print Manager Job Analysis
5. Number of Database invalids

icon

Best answer by Minoshini Fonseka 10 December 2019, 07:20

View original

6 replies

Userlevel 7
Badge +19

Hi Randi,

There is a lobby designed by IFS which shall cater the requirement of yours. 

You could monitor following from ADMINISTRATOR lobby overview which is bundled with IFS. 

1. Background Jobs
2. Print Jobs
3. Application Messages
4. Failed Incoming Messages
5. Failed Outgoing Messages
6. DB Alerts
7. User Access Conflicts
8. Event Errors
9. Background Jobs Execution Time
10. Background Jobs Waiting Time
11. Current Users
12. Long Running Calls
13. Recent Calls
14. Licence Information

Further there are links to the Application Monitoring Console, User Administration, Permission set Administration, User Profile Administration etc. 

We have seen this lobby being user in many customer environments. Hopefully this would be a good indication dashboard to fit into your requirement. 

 

Administrator Lobby Overview



Further you could use ‘IFS System Monitoring’ , Administration Tool for in depth monitoring purposes. 

You could direct to this link from IFS application access point url. 

It serves information on 
1. IFS Application
2. Middleware Server
3. Database
 

Some screen captures of System Monitoring Tool 


I hope these indications would be helpful to get an understanding what are the monitoring activities performed by IFS to ensure that IFS is running healthy :)

Userlevel 7
Badge +15

The application monitoring for IFS Applications is provided in the Application Monitoring Metrics and the Application Monitoring Console

Please refer :https://docs.ifs.com/techdocs/Foundation1/040_administration/270_monitoring/020_app_mon/

 

You may follow the below steps in order to schedule the monitoring  and enable an email alert for it via events.
 

  1. Enter new Database Schedule Task

 

 

  1. Enter new Event Action

 

Online SQL used : 

DECLARE

  c UTL_SMTP.CONNECTION;

 

  PROCEDURE send_header(name IN VARCHAR2, header IN VARCHAR2) AS

  BEGIN

    UTL_SMTP.WRITE_DATA(c, name || ': ' || header || UTL_TCP.CRLF);

  END;

 

BEGIN

  c := UTL_SMTP.OPEN_CONNECTION('ifsworld-com.mail.protection.outlook.com');

  UTL_SMTP.HELO(c, 'ifsworld.com');

  UTL_SMTP.MAIL(c, 'f1@monitoring.com');

  UTL_SMTP.RCPT(c, '< emailaddress@ifsworld.com >');

 

  UTL_SMTP.OPEN_DATA(c);

 

  send_header('From',  ' customer_name  <f1@monitoring.com>');

  send_header('To',      '< emailaddress@ifsworld.com >');

 

  send_header('Subject', ' customer_name (#DB_SID#) - IFS Monitoring console alert: &ENTRY_ID current value is &VALUE which is outside the range &LOWER_WARNING_LIMIT - &UPPER_WARNING_LIMIT. ');

 

  UTL_SMTP.WRITE_DATA(c, UTL_TCP.CRLF || ' ** This is an automated message from IFS Monitoring Console on #DB_SID#. ** 

 

The item &ENTRY_ID current value is &VALUE which is outside the range  &LOWER_WARNING_LIMIT - &UPPER_WARNING_LIMIT. Please take the appropriate action.

 

 

Procedure for handling such alerts.

==========================

 In order to prevent further messages from being sent to you while this problem is being investigated, please add the case number created to investigate this problem to the description of the monitoring item and disable the item. Both changes can be accomplished under Solution Manager / Configuration / Monitoring / Application Monitoring Entries.  For example, "G123456 Investigation - <Original description> ".  Once the problem is solved and the case is closed, please make sure to remove the case number from the description and to enable the monitoring item again.

 

All the items are always supposed to be enabled. If you need an item to be suppressed (off for an extended period), please add comments to the description, the name of user who requested the suppression and when the item is expected to be enabled again. This way, other members of the team will be known that the item is suppressed. For example, "G123456 - SUPPRESSED <by Requester> until 1/1/2015 <3:00pm EST> - <Original description> ".

');

 

  UTL_SMTP.CLOSE_DATA(c);

  UTL_SMTP.QUIT(c);

EXCEPTION

  WHEN utl_smtp.transient_error OR utl_smtp.permanent_error THEN

    BEGIN

      UTL_SMTP.QUIT(c);

    EXCEPTION

      WHEN UTL_SMTP.TRANSIENT_ERROR OR UTL_SMTP.PERMANENT_ERROR THEN

        NULL; -- When the SMTP server is down or unavailable, we don't have

              -- a connection to the server. The QUIT call will raise an

              -- exception that we can ignore.

    END;

    raise_application_error(-20000,

      'Failed to send mail due to the following error: ' || sqlerrm);

END;

 

Note: Please change the bold texts according to your request. 

 

  1. For multiple senders use this SQL script

DECLARE

  c UTL_SMTP.CONNECTION;

  name_array DBMS_SQL.varchar2_table;

  CC_parties varchar2(2000);

 

  PROCEDURE send_header(name IN VARCHAR2, header IN VARCHAR2) AS

  BEGIN

    UTL_SMTP.WRITE_DATA(c, name || ': ' || header || UTL_TCP.CRLF);

  END;

 

BEGIN

 

    name_array(1) :=  'cc1 @ifsworld.com';

    name_array(2) :=  'cc2 @ifsworld.com';

 

  c := UTL_SMTP.OPEN_CONNECTION('ifsworld-com.mail.protection.outlook.com');

  UTL_SMTP.HELO(c, 'ifsworld.com');

  UTL_SMTP.MAIL(c, 'f1@monitoring.com');

  UTL_SMTP.RCPT(c, ' < emailaddress@ifsworld.com >');

 

  FOR i IN name_array.FIRST .. name_array.LAST

  LOOP

  CC_parties := CC_parties||';'|| name_array(i);

    UTL_SMTP.RCPT(c, name_array(i));

  END LOOP;

 

 

  UTL_SMTP.OPEN_DATA(c);

 

  send_header('From', 'customer_name<f1@monitoring.com>');

  send_header('To',   ' < emailaddress@ifsworld.com >');

  send_header('Cc',   'cc1 @ifsworld.com,cc2 @ifsworld.com');

 

  send_header('Subject', ' customer_name - (#DB_SID#) - IFS Monitoring console alert: &ENTRY_ID current value is &VALUE which is outside the range &LOWER_WARNING_LIMIT - &UPPER_WARNING_LIMIT. ');

 

  UTL_SMTP.WRITE_DATA(c, UTL_TCP.CRLF || ' ** This is an automated message from IFS Monitoring Console on #DB_SID#. ** 

 

The item &ENTRY_ID current value is &VALUE which is outside the range  &LOWER_WARNING_LIMIT - &UPPER_WARNING_LIMIT. Please take the appropriate action.

 

 

Procedure for handling such alerts.

==========================

 In order to prevent further messages from being sent to you while this problem is being investigated, please add the case number created to investigate this problem to the description of the monitoring item and disable the item. Both changes can be accomplished under Solution Manager / Configuration / Monitoring / Application Monitoring Entries.  For example, "G123456 Investigation - <Original description> ".  Once the problem is solved and the case is closed, please make sure to remove the case number from the description and to enable the monitoring item again.

 

All the items are always supposed to be enabled. If you need an item to be suppressed (off for an extended period), please add comments to the description, the name of user who requested the suppression and when the item is expected to be enabled again. This way, other members of the team will be known that the item is suppressed. For example, "G123456 - SUPPRESSED <by Requester> until 1/1/2015 <3:00pm EST> - <Original description> ".

');

 

  UTL_SMTP.CLOSE_DATA(c);

  UTL_SMTP.QUIT(c);

EXCEPTION

  WHEN utl_smtp.transient_error OR utl_smtp.permanent_error THEN

    BEGIN

      UTL_SMTP.QUIT(c);

    EXCEPTION

      WHEN UTL_SMTP.TRANSIENT_ERROR OR UTL_SMTP.PERMANENT_ERROR THEN

        NULL; -- When the SMTP server is down or unavailable, we don't have

              -- a connection to the server. The QUIT call will raise an

              -- exception that we can ignore.

    END;

    raise_application_error(-20000,

      'Failed to send mail due to the following error: ' || sqlerrm);

END;

Note: Please change the bold texts according to your request.

 

  1. Then login to the DB using the sys user and execute the following SQL block (this will allow to Application owner to execute UTL_SMTP package)

 

BEGIN

dbms_network_acl_admin.create_acl(acl => 'oramail.xml',

description => 'Network permissions for mail.oracle.com',

principal => 'IFSAPP', is_grant => TRUE, privilege => 'connect');

 

DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(acl => 'oramail.xml',

principal => 'IFSAPP',

is_grant => true,

privilege => 'resolve');

 

DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL(acl => 'oramail.xml',

host => 'ifsworld-com.mail.protection.outlook.com');

END;

/

 

Note: If the App Owner user name (IFSAPP) is different use that user name for this.

 

Hope this helps as well !

Badge +1

Hi Minoshini,

Regarding use of ‘IFS System Monitoring’, Administration Tool for in depth monitoring purposes. 
You wrote that one could direct to this link from IFS application access point url.

I don’t quite understand you here, may you please explain more in detail?

PS. I’m using the lobby page Administrator which is very helpful! ;-)

Thanks, Trond

Userlevel 7
Badge +19

@nodtrondm 

Hi Trond,


I am happy to explain how you can access to IFS System Monitoring tool.

Step 1: Go to access point url and click on IFS System Monitoring link 

Step 1​​

Step 2: Enter the credentials for IFS middleware server.

Step 2
​​

Step 3: Now you are in. You can start monitoring.

IFS System Monitoring


Further you can go to the documentation, you would be able to find more information about this tool.
 

Help Documentation

I hope this would help :relaxed:

PS: I am glad to hear that you make use of that lobby page for monitoring purposes.. :thumbsup_tone1::thumbsup_tone1:

Badge +1

Hi Minoshini,

Thank  you very much for your quick feedback, now I understand what you mean with access point url. I’ve now logged into the IFS System Monitoring Tool and everything looks OK (no errors)! :-)

Thanks, Trond

Badge +1

Hi Minoshini,

Regarding use of ‘IFS System Monitoring’, Administration Tool for in depth monitoring purposes. 
You wrote that one could direct to this link from IFS application access point url.

I don’t quite understand you here, may you please explain more in detail?

PS. I’m using the lobby page Administrator which is very helpful! ;-)

Thanks, Trond

Hi,,

 

Is there a way that we can accommodate the Email authentication with above SQL query?

I tried below but ended up with error.

UTL_SMTP.AUTH(mail_conn, username, passwd, schemes => 'PLAIN');

 

Or is it possible to use the IFS Connect Mail Sender for the same purpose?

 

Thanks

Reply