Showing results for 
Show  only  | Search instead for 
Did you mean: 

How does smartscape determine dependencies?


People love the autodetection and dependency map that smartscape provides. It always leads to questions like, " How does ruxit discover that" and "I wasn't expecting to see that!". Can anyone provide more information about how relationships are established, and what to do if a dependency does not appear in smartscape?



Well, it depends. Let's start with the so called horizontal topology (the dependencies between components of the same type (e.g. process to process) - the middle pane in the smartscape view).

Service tier: ruxit instruments server side services to automatically monitor inbound and outbound calls (e.g. http requests, RMI, database calls). If an existing connection between two services is not visualized, this means that ruxit doesn't detect the outgoing service call. Most likely because the communication protocol is not supported (e.g. legacy or custom protocols). Please post a more specific question, when in doubt about a specific protocol or stack.

Process tier: ruxit monitors TCP/IP communication to detect dependencies between processes.

Host tier: ruxit monitors TCP/IP communication to detect dependencies between hosts.

Now let's look at the vertical topology, the dependencies between components of different type.

Application to services: ruxit follows every user action into your data center, by putting specific tags to the http requests. This allows to connect applications with all services that are directly called.

Service to processes: If a ruxit Agent is installed on a machine, it monitors all processes on a machine. For a couple of technologies (i.e. app server, web server, ruxit supports service detection, which means looking inside a container and detecting different software services (e.g. *.war files) running inside. This results in a one to many relationship between a process (instance) and services. If the same process is running with multiple instances (on the same machine or cross machine) ruxit tracks the detected services on a process instance level and shows the resulting many to many relationship between processes and services in smartscape.

Host to datacenter: As of today ruxit detects data center or site information automatically on a host level for vmware and AWS environments. Support for private data centers is coming soon.