The Neo4j Ops Manager (NOM) architecture is shown in this diagram:

  • Front end - The user connects to NOM using a web interface. This web application communicates with the NOM Server using GraphQL API requests.

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

  • NOM persistence - 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.

  • Neo4j host - NOM monitors one or several hosts that comprise at least the following components:

    • NOM Agent - 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.

    • Neo4j - The monitored DBMS.