- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
yesterday
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.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
yesterday
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)
-
If you found my response helpful, I would greatly appreciate it if you could mark it as "Accepted Solution" and "Helpful."
Your support not only benefits the community but also encourages me to continue assisting. Thank you so much!
Thanks and Regards
Ravi Gaurav | ServiceNow MVP 2025,2024 | ServiceNow Practice Lead | Solution Architect
CGI
M.Tech in Data Science & AI
ï”— YouTube: https://www.youtube.com/@learnservicenowwithravi
ï”— LinkedIn: https://www.linkedin.com/in/ravi-gaurav-a67542aa/
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
yesterday
The Attached Article will help you .. you can check
If you found my response helpful, I would greatly appreciate it if you could mark it as "Accepted Solution" and "Helpful."
Your support not only benefits the community but also encourages me to continue assisting. Thank you so much!
Thanks and Regards
Ravi Gaurav | ServiceNow MVP 2025,2024 | ServiceNow Practice Lead | Solution Architect
CGI
M.Tech in Data Science & AI
ï”— YouTube: https://www.youtube.com/@learnservicenowwithravi
ï”— LinkedIn: https://www.linkedin.com/in/ravi-gaurav-a67542aa/
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
yesterday
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)
-
If you found my response helpful, I would greatly appreciate it if you could mark it as "Accepted Solution" and "Helpful."
Your support not only benefits the community but also encourages me to continue assisting. Thank you so much!
Thanks and Regards
Ravi Gaurav | ServiceNow MVP 2025,2024 | ServiceNow Practice Lead | Solution Architect
CGI
M.Tech in Data Science & AI
ï”— YouTube: https://www.youtube.com/@learnservicenowwithravi
ï”— LinkedIn: https://www.linkedin.com/in/ravi-gaurav-a67542aa/
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
yesterday
The Attached Article will help you .. you can check
If you found my response helpful, I would greatly appreciate it if you could mark it as "Accepted Solution" and "Helpful."
Your support not only benefits the community but also encourages me to continue assisting. Thank you so much!
Thanks and Regards
Ravi Gaurav | ServiceNow MVP 2025,2024 | ServiceNow Practice Lead | Solution Architect
CGI
M.Tech in Data Science & AI
ï”— YouTube: https://www.youtube.com/@learnservicenowwithravi
ï”— LinkedIn: https://www.linkedin.com/in/ravi-gaurav-a67542aa/
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
yesterday
I am super ThankFul for this