Using Amazon CloudWatch to monitor Neo4j logs

This article describes how to set up Amazon CloudWatch. Amazon CloudWatch Logs allows you to monitor, store, and access your Neo4j log files from Amazon EC2 instances, AWS CloudTrail, or other sources. You can then retrieve the associated log data… Read more →

Explore:  


How do I log parameter values into the query.log file

Neo4j 3.0 introduces the ability to log the value of query parameters in the log/query.log file. The settings to control this feature are located in the conf/neo4j.conf file. To enable query logging with parameters, one must first enable query logging… Read more →

Explore:  


Why does my CREATE CONSTRAINT take so long to complete

When creating a constraint, for example CREATE CONSTRAINT ON (n:ZipCode) ASSERT n.name IS UNIQUE; this will require a lock on all nodes with the label the constraint is being created for, in this case ZipCode If you have another transaction… Read more →

Explore:  


Neo4j specific http request user agent strings

For those APOC commands that retrieve data using HTTP/HTTPS, and or running Cypher LOAD CSV the request will be sent with Neo4j specific user-agent/browser identifiers. Below is an example log from an Apache webservers access log at /var/log/apache2/access.log and includes… Read more →

Explore:  


Where is my neo4j.log in Ubuntu Linux?

In most Neo4j server environments, all logs will be found in NEO4J_HOME/logs. However, when Neo4j is running as a service on a Ubuntu (debian) Linux environment, usually installed via apt-get install neo4j or similar, the neo4j.log is not present. To… Read more →

Explore:  


Checkpointing and Log Pruning interactions

Overview Checkpointing is the process of flushing all pending page updates from the page cache to the store files. This is necessary for ensuring that the number of transactions that are in need of being replayed during recovery is kept… Read more →

Explore:  


How do I use Cypher to connect to a RDBMS using JDBC

With the inclusion of java stored procedures in Neo4j 3.x, one can run Cypher to connect to a RDBMS using JDBC. To do so one needs to download and install https://github.com/neo4j-contrib/neo4j-apoc-procedures. After installation of the Neo4j APOC kit, download the… Read more →

Explore:  


Long GC Pauses caused by application code calling System.gc()

When investigating the cause of long garbage collection cycles, it is often useful to enable GC logging. You can do so by following the product documentation. Once this is enabled, you can look through the GC log file for signs… Read more →

Explore:  


Neo4j Desktop password change failure

This document provides info and resolution for the error message on a clean install of Desktop 1.0.2x, Neo4j DB version 3.3.x mentioning “Database failed to create: Error: Could not change password neo4j” Error: Error message on a clean install of… Read more →

Explore:  


How to log to neo4j.log in an Unmanaged Extension

As part of the major changes in 3.0, the way to log to the user log, now neo4j.log (in server mode), has changed. To log within an Unmanaged Extension is quite straightforward: Include this package: import org.neo4j.logging.Log; In the method… Read more →

Explore:  


How do I automate the copy of auth files in a clustered environment

In a clustered Neo4j implementation, user authentication files are recorded in each instance at $NEO4J_HOME/data/dbms. Since this defined per each instance in the cluster if for example you change the password of a user on instance 1, for consistency you… Read more →

Explore:  


An approach to parsing the query.log

When one has enabled query.log through Neo4j Enterprise parameter dbms.logs.query.enabled the included bash shell script can be used to quickly parse the log and identify the top 10 most expensive queries based upon total execution time and if one has… Read more →

Explore:  


Sending Neo4j messages to a Slack channel

Although not specific to Neo4j and this knowledge base document is provided as a convenience, if your environment has a Slack implementation, then Slack provides an API to allow you to programmatically send messags to a specific channel. This can… Read more →

Explore:  


Retired: Modifying the http.log Format on Neo4j 2.x

Prior to Neo4j 3.0, the http.log format was controlled by neo4j-http-logging.xml. The default format works fine, except when you need to diagnose problematic long-running queries. The HTTP requests to the /db/data/cypher or /db/data/transaction endpoints do not log the json payload… Read more →

Explore:  


Change logging levels in Neo4j Embedded

In order to change the default logging levels in a Neo4j embedded instance, you must edit/define the configuration file, which is XML. In particular the file is neo4j-logback.xml. The neo4j-logback.xml file must be located in the classpath, so that org.neo4j.kernel.logging.LogbackService… Read more →

Explore:  


An explanation of entries in query.log

This document aims to provide descriptions of components of the query.log logfile located at $NEO4J_HOME/logs. Note that the following configs in conf/neo4j.conf need to be uncommented for the query log to include mentions of the useful parameters described in this… Read more →

Explore:  


How to log to neo4j.log in a Server Plugin

As part of the major changes in 3.0, the way to log to the user log, now neo4j.log (in server mode), has changed. To log within a Server Plugin follow these steps: Include these packages: import org.neo4j.logging.Log; import org.neo4j.logging.LogService; import… Read more →

Explore:  


Enabling GC Logging

What is Garbage collection and why enabling it? A garbage collection event is a complete pause of the java application (ie: neo4j-server). It can be identified in the debug.log as a stop-the-world event. For example: If you notice issues with… Read more →

Explore:  


Redirect Neo4j logs to sysout (using rsyslog)

Sometimes – due to organizational requirements, security, indexing or plain convenience – we want to output all of our application logs to Linux’s sysout. While Neo4j doesn’t offer this feature, we can use RSYSLOG (www.rsyslog.com) to achieve that and we… Read more →

Explore: