Long-term Data Persistence Configuration

since version 1.7.3

Updating the CMR properties

 Please read the general information on updating the CMR properties first on the CMR Configuration page.

inspectIT provides two different ways of persisting long-term data:

  1. Using influxDB as a time series database
  2. Using a relational database using JDBC

Depending on the use case either the first or the second option might be more reasonable. To switch between these two options open the configuration dialog for the corresponding CMR, navigate to the Database section turn on/off the option "Write Data to influxDB". If this option is activated, data is only written to the influxDB but not to the ralational database (except for JVM information data). The options are described in more detail in the following sections.

Using a relational database via JDBC

With this option any relational database that provides a JDBC interface can be used to store long-term data collected with inspectIT. inspectIT provides a local H2 database out of the box that does not require any further configuraiton. 

Target use cases

Relational databases are not optimized for handling time series workload and handling a huge amount of time series data (e.g. response time series, utilization series, etc.). Hence, this option should only be used in short-term scenarios, for instance:

  • Testing / trying out inspectIT
  • (Temporary) performance troubleshooting of a target application

Not meant for:

  • Long-term use in production
  • Building monitoring dashboards
  • Anomaly detection, alerting, etc.

Configuration:

inspectIT provides a preconfigured, local H2 database. However, if you like to use another relational database you need to configure the JDBC connection. To do so, activate the Show advanced properties option at the bottom of the configuration dialog. Then, navigate to the Database → JDBC section. 

On the resulting configuration page provide the necessary information to establish a JDBC connection to the target relational database:

Configuration PropertyDescription
URLThe JDBC connection URL pointing to the database.
DriverThe Java class implementing the JDBC Driver of the target database
UsernameThe username used to connect to the database.
PasswordThe password used to connect to the database.

Implications:

If this option is activated, the corresponding data can be visualized in the Rich Client of inspectIT under the System Overview section in the Data Explorer View. The following figure shows an example graph in the Rich Client:

Using influxDB for time series data

With this option, inspectIT writes time series data to an influxDB that is optimized for storing and providing long-term time series data. This option requires additional setup steps that are described in more detail on the Setup Monitoring page.

Target use cases

  • Using inspectIT in production (much more scalable than the JDBC option)
  • Storing and providing data for 
    • building monitoring dashboards
    • providing anomaly detection and alerting algorithms

Configuration:

To configure the influxDB connection activate the Show advanced properties option at the bottom of the configuration dialog. Then, navigate to the Database → influxDB section. 

On the resulting configuration page provide the necessary information to establish a influxDB connection:

Configuration PropertyDescription
Enable SSLTells inspectIT to use an SSL connection to the influxDB server. For this purpose the influxDB must be configured correspondingly and the used certificate must be installed on the inspectIT server (CMR) machine. How to install a certificate on a linux machine is described here.
HostThe host name or IP of the machine where the influxDB instance is running on.
PortThe port where the influxDB instance's HTTP interface is bound to. Per default influxDB uses port 8086.
UsernameThe username used to connect to the database.
PasswordThe password used to connect to the database. Note that password is saved in plan text format in the [CMR]/config/ folder. Make sure that access to this folder is properly set in order to protect your influxDB credentials.
Database NameThe database name within the influxDB instance to be used for inspectIT data. Default is inspectIT.
Retention PolicyThe retention policy to use for the time series data. Default value is autogen influxDB version 1.0.0 and higher. For influxDB versions < 1.0.0 the default retention policy name is default.

Implications:

If this option is activated, time series data is only written to the influxDB (except for JVM System information data). Hence, the data views under System Overview in the Rich Client of inspectIT do not show any data (except for the VM Summery View).

Instead, Grafana can be used to visualize the data by means of dashboards: