The Ops Manager architecture is shown in this diagram:


The user connects to NOM using a web interface and a browser. This web application communicates with the NOM server using GraphQL API requests.

The NOM server is a Java application, packaged in a JAR file which is deployed to a Java server (running Java 17).

The NOM server requires a Neo4j database (persistence) to store the operational data, and the recommendation is that this is a dedicated Neo4j single instance running just NOM to minimise impact on other databases.

Each DBMS instance to be managed by NOM will have a NOM agent deployed alongside the instance on the host. The agent acts as a local proxy for the NOM server (and administrator), being able to execute both DBMS and operating system commands. The agent always initiates the connection to the server which is via TLS encrypted gRPC API.

Two architectural frameworks of Intelligent Monitoring and Knowledge Engine are run on the NOM server.

From a deployment perspective there are 3 components in the architecture to be planned and implemented; the NOM server JAR file application (hosting APIs, NOM application and UI), a Neo4j database for persistence and an agent on each host containing one or more managed instances.