ITOM Help !!

SandeepKSingh
Kilo Sage

I have been asked to create a custom Discovery Pattern in ServiceNow to discover a multi-tier enterprise application that runs on the following setup:

  • Frontend: An Apache HTTP server running on Linux.

  • Application Layer: A Java-based middleware running on Tomcat (multiple JVMs per server).

  • Backend: An Oracle Database clustered with RAC.


    Can anyone help me with the approach atleast.

2 ACCEPTED SOLUTIONS

Ravi Gaurav
Giga Sage

Hi @SandeepKSingh 

Use process classifiers to detect, horizontal sections to collect configs, loop for multi-instances, capture ports/JVM args, map relationships, and set IRE rules to avoid duplicates.

Below Approach will help you

  • Process Classifiers

    • Apache → detect httpd/apache2.

    • Tomcat → detect java with org.apache.catalina.startup.Bootstrap; capture CATALINA_BASE, -Xmx, -Dconfig.file.

    • Oracle → detect ora_pmon_<SID> + tnslsnr.

  • Pattern Structure (Horizontal Sections)

    • Apache Section: parse httpd.conf, capture Listen ports, create cmdb_ci_web_server + endpoints.

    • Tomcat Section: loop JVMs, parse server.xml, capture connector ports + JVM args, create cmdb_ci_app_server.

    • Oracle Section: list SIDs, run lsnrctl status, detect RAC nodes, create cmdb_ci_db_instance + cmdb_ci_database.

  • Relationships (Connection Sections)

    • Web → App (ProxyPass or AJP ports).

    • App → DB (JDBC URL in config).

    • Each tier → Computer (runs on).

  • Multi-Instance Handling

    • Loop per Tomcat JVM and per Oracle SID.

  • IRE Keys

    • Web Server: (host_sys_id, install_path)

    • Tomcat: (host_sys_id, catalina_base)

    • DB Instance: (host_sys_id, SID)

    • DB Service: (db_name)

 

 

View solution in original post

The Attached Article will help you .. you can check

View solution in original post

3 REPLIES 3

Ravi Gaurav
Giga Sage

Hi @SandeepKSingh 

Use process classifiers to detect, horizontal sections to collect configs, loop for multi-instances, capture ports/JVM args, map relationships, and set IRE rules to avoid duplicates.

Below Approach will help you

  • Process Classifiers

    • Apache → detect httpd/apache2.

    • Tomcat → detect java with org.apache.catalina.startup.Bootstrap; capture CATALINA_BASE, -Xmx, -Dconfig.file.

    • Oracle → detect ora_pmon_<SID> + tnslsnr.

  • Pattern Structure (Horizontal Sections)

    • Apache Section: parse httpd.conf, capture Listen ports, create cmdb_ci_web_server + endpoints.

    • Tomcat Section: loop JVMs, parse server.xml, capture connector ports + JVM args, create cmdb_ci_app_server.

    • Oracle Section: list SIDs, run lsnrctl status, detect RAC nodes, create cmdb_ci_db_instance + cmdb_ci_database.

  • Relationships (Connection Sections)

    • Web → App (ProxyPass or AJP ports).

    • App → DB (JDBC URL in config).

    • Each tier → Computer (runs on).

  • Multi-Instance Handling

    • Loop per Tomcat JVM and per Oracle SID.

  • IRE Keys

    • Web Server: (host_sys_id, install_path)

    • Tomcat: (host_sys_id, catalina_base)

    • DB Instance: (host_sys_id, SID)

    • DB Service: (db_name)

 

 

The Attached Article will help you .. you can check

SandeepKSingh
Kilo Sage

I am super ThankFul for this