Neo4j Monitoring User Guide


Neo4j, one of the most popular databases, is a graph database management system which is ACID-compliant. As with any database, Neo4j is also a core component in any system and requires constant monitoring. Tracking memory management, garbage collection, and also aspects of Neo4j such as growth of your store, active transactions, and many other operational facets is important to understand the relationship between Neo4j and other elements in your IT environment. Applications Manager's Neo4j monitoring tool provides valuable insights into key Neo4j metrics, and notifies of areas that need attention, enabling you to optimize performance of Neo4j servers.

Creating a new Neo4j monitor

Supported Versions: Neo4j v3.5, 4.4, 5.0 and above

Prerequisites for monitoring Neo4j metrics: Click here

Follow the steps given below to create a new Neo4j monitor:

  1. Click on New Monitor link.Select Neo4j under Database Servers category.
  2. Specify the Display Name of the Neo4j Server.
  3. Enter the Hostname of the server on which Neo4j is running.  
  4. Specify the bolt Port at which Neo4j is running. The Default Port is 7687.
  5. If you choose the Use Below Credentials option, then enter the credentials - UserName and Password of the Neo4j Instance.
    1. UserName - Name of the User who has read permission.  
    2. Password - Password of the above user.
  6. If you choose the Select from credential list option, then select the respective credential from preconfigured credential list.
  7. Choose whether you want to Discover all nodes in the cluster.
  8. Specify the Polling Interval in minutes.
  9. Choose the Monitor Group with which you want to associate the Neo4j to, from the combo box (optional). You can choose multiple groups to associate your monitor.
  10. Click Add Monitor(s). This discovers the Neo4j from the network and starts monitoring it.

Monitored Parameters

Go to the Monitors Category View by clicking the Monitors tab. Click on Neo4j under the Database Servers table. Displayed is the Neo4j bulk configuration view distributed into three tabs:

  • Infrastructure View tab, gives the details about all Neo4j instances present in the Infrastructure. 
  • Availability tab, gives the Availability history for the past 24 hours or 30 days.
  • Performance tab gives the Health Status and events for the past 24 hours or 30 days.
  • List view enables you to perform bulk admin configurations.

On clicking a monitor from the list, you'll be taken to the Neo4j monitor dashboard. It has 9 tabs-

Overview

Parameter Description
PHYSICAL AND VIRTUAL MEMORY
Total Physical  Size of the total physical memory of the machine in GB.
Used Physical  Size of the total physical memory used in GB.
Free Physical  Size of the total physical memory free in GB.
Committed Virtual  Size of the total virtual memory committed.
SWAP MEMORY
Total Swap Space  Size of the total swap space of the machine in GB.
Free Swap Space  Size of the total swap space free in GB.
Used Swap Space  Size of the total swap space used in GB.
SERVER DETAILS
Running connections The total number of Bolt connections that are currently executing Cypher and returning results.
GC young generation Garbage collection time in millisecondsby GC young generation.
GC old generation Garbage collection time in milliseconds by GC old generation.
MEMORY UTILIZATION
Physical Memory Utilization  Total physical memory usage calculated and represented in %.
Swap Space Utilization  Total swap space usage calculated and represented in %.

Thread

Parameter Description
THREAD DETAILS
Daemon  Number of Daemon Threads.
Peak  Number of Peak Threads.
Live  Number of Live Threads.
Total Started  Number of total threads started.

Heap Details

Parameter Description
HEAP MEMORY DETAIL
Committed Heap  Size of Heap memory committed in GB.
Initial Heap  Size of initial Heap memory in GB.
Maximum Heap   Size of maximum Heap memory in GB.
Used Heap  Size of Heap memory used in GB.
NON HEAP MEMORY DETAIL
Committed Non Heap  Size of Non Heap memory committed in GB.
Initial Non Heap  Size of initial Non Heap memory in GB.
Maximum Non Heap  Size of maximum Non Heap memory in GB.
Used Non Heap  Size of Non Heap memory used in GB.

Page Cache

Parameter Description
PAGE CACHE COUNT DETAILS
Hit Ratio   Ratio of hits to the total number of lookups in the page cache
Hits   Number of page hits. How often requested data was found in memory.
Exception while Page Eviction   Number of exceptions caught during page eviction. 
Evictions   Number of page evictions. How many pages have been removed from memory to make room for other pages. 
Faults   Number of page faults. How often requested data was not found in memory and had to be loaded.
Flushes   Number of page flushes. How many dirty pages have been written to durable storage.
Usage Ratio   The percentage of used pages.
PAGE CACHE SIZE DETAILS
Read    Number of bytes read from durable storage. 
Write   Number of bytes written to durable storage.
Files Mapped   Number of files that have been mapped into the page cache.
Files UnMapped  Number of files that have been unmapped from the page cache.
Pins   Number of page pins. How many pages have been accessed.
UnPins   Number of page unpins. How many pages have been accessed and are not accessed anymore.

Databases

Parameter Description
DATABASES
Database Name The name of the database being monitored.
Role The cluster role which the server fulfills for this database.
Current Status The state the database is actually in on this server.
Access Mode The database access mode, either read-write or read-only.
Checkpoint Duration The duration, in milliseconds, of the last checkpoint event.
Query execution Latency(ms) Execution time in milliseconds of queries executed successfully.
STORE AND ID ALLOCATION
Database Name The name of the database being monitored.
Node Ids The total number of nodes stored in the database.
Property The total number of different property names used in the database.
Relationship The total number of relationships stored in the database.
Relationship type The total number of different relationship types stored in the database.
Total store size(KB) The total size of the database and transaction logs.
Database store size(KB) The size of the database.
Transaction log rotation events The total number of transaction log rotations executed.
Transaction log rotation totaltime(ms) The total time, in milliseconds, spent in rotating transaction logs.
Transaction log rotation duration(ms) The duration, in milliseconds, of the last log rotation event
Transaction log appended bytes The total number of bytes appended to the transaction log.
Transaction log flushes Rate of transaction log flushes.
Transaction log append batch size(bytes) The size of the last transaction append batch.
TRANSACTIONS
Database Name The name of the database being monitored.
Last committed id The ID of the last committed transaction.
Committed  The total number of committed transactions.
Started   The total number of started transactions.
Active The number of currently active transactions.
Rollbacks The total number of rolled back transactions.
Peak Concurrent The highest peak of concurrent transactions.

Clustering

Parameter Description
CLUSTERING DETAILS
Database Name The name of the database being monitored.
Raftlog append index The append index of the Raft log.
Raftlog commit index The commit index of the Raft log.
Raftlog applied index The applied index of the Raft log.
DISCOVERY DATABASE
Cluster member size(bytes) The member size of the Discovery cluster.
Cluster unreachable size(bytes) The unreachable size of the Discovery cluster.
Cluster convergence(bytes) The convergence of the Discovery cluster.

Configurations

Parameter Description
CONFIGURATIONS DETAILS
Mounted Database Name    The name of the mounted database.
Start Time  The time from which this Neo4j instance was in operational mode.
Version   The version of Neo4j.
Store Creation Time   The time when this Neo4j graph store was created.
Store Id   An identifier that, together with store creation time, uniquely identifies this Neo4j graph store.