config icon

IMonitor-X Configuration

Version: 17.07

Jetty Server Configurations

Adroitlogic Integration Monitor application bundle uses a Jetty 9 Servlet container to deploy the embedded IMonitor-X application. Therefore let’s configure this Jetty Servlet Container as the first step.

All the configuration parameters related to Jetty reside in the imonitor-x-17.07/etc/jetty.conf file. Open that file with your favourite text editor and change the values of these parameters as necessary.

Basic Configurations

Please note that IMonitor-X distribution has only HTTP enabled by default. If you need to enable HTTPS, please follow the below steps.

  1. Open the file imonitor-x-17.07/start.ini which contains the Jetty modules in use.

  2. Change the line --module=http to --module=https and restart the server.

The following are the bare minimum configurations required by Jetty servlet container.

Parameter Description Default Value

jetty.http.host

The network interface this connector binds to as an IP address or a hostname. If null or 0.0.0.0, bind to all interfaces

127.0.0.1

jetty.http.port

The port on which the server should be listening

8080

jetty.sslContext.keyStorePath

The path to the key store to be used for SSL. This can be specified either as an absolute path or a relative path from IMonitor-X installation directory.

This is only required if HTTPS is being used

etc/keys/identity.jks

jetty.sslContext.keyStorePassword

Key store password

This is only required if HTTPS is being used

password

jetty.sslContext.keyManagerPassword

Key manager password

This is only required if HTTPS is being used

password

jetty.sslContext.trustStorePath

The path to the trust store to be used for SSL. This can be specified either as an absolute path or a relative path from IMonitor-X installation directory.

This is only required if HTTPS is being used

etc/keys/trust.jks

jetty.sslContext.trustStorePassword

Trust store password

This is only required if HTTPS is being used

password

Keystore and Truststore

Adroitlogic IMonitor-X distribution by default contains a keystore and a truststore with self signed certificates in the imonitor-x-17.07/etc/keys/ directory. These are only intended to be used for evaulation and testing purposes and it is highly recommended to use your own keystore and truststore with secure password values for production deployments.

Obfuscating password values

The password values for keystore, keymanager and truststore can be either specified in plain text or they can be obfuscated to enhance the obsecurity of the configuration. Please refer following guide on obfuscating Jetty configuration values.

Advanced Configurations

This section contains the information about the advanced configuration parameters for Jetty servlet container. By default IMonitor-X distribution has been configured with sensible values for these and you can fine-tune them with different values according to your deployment requirements.

If you are not interested in these advanced configurations, please proceed to the next section for application level configurations.

ThreadPool configurations

Parameter Description Default Value

jetty.threadPool.minThreads

Minimum number of threads to be kept alive in the thread pool

4

jetty.threadPool.maxThreads

Maximum number of threads to be kept alive in the thread pool

20

jetty.threadPool.idleTimeout

Idle time in milliseconds to wait before evicting an idle thread from the pool

60000

Server state configurations

Parameter Description Default Value

jetty.server.stopAtShutdown

Whether to gracefully stops the Jetty server when ctrl+c pressed on the console

true

jetty.server.stopTimeout

Maximum timeout in milliseconds to wait when stopping the server gracefully

1000

jetty.server.dumpAfterStart

Whether to dump the state of the Jetty server, components, and webapps after startup

false

jetty.server.dumpBeforeStop

Whether to dump the state of the Jetty server, components, and webapps before shutdown

false

jetty.defaultSessionIdManager.workerName

The name to uniquely identify this server instance

adroitlogic-imx

HTTP/S connector configurations

Parameter Description Default Value

jetty.http.idleTimeout

The time in milliseconds that the connection can be idle before it is closed

30000

jetty.http.acceptors

Number of acceptors (-1 picks default based on number of cores)

2

jetty.http.selectors

Number of selectors (-1 picks default based on number of cores)

2

jetty.http.acceptorQueueSize

The size of the pending connection backlog (0 picks platform default). The exact interpretation is JVM and OS specific and you can ignore it. Higher values allow more connections to wait pending an acceptor thread. Because the exact interpretation is deployment dependent, it is best to keep this value as the default unless there is a specific connection issue for a specific OS that you need to address.

0

jetty.http.acceptorPriorityDelta

Thread priority delta to give to acceptor threads

0

Application Configurations

This section contains information about the application level configurations of Adroitlogic Integration Monitor. All the application level configurations reside in the imonitor-x-17.07/resources/application.properties file. Open that file with your favourite text editor and change the values of these parameters as necessary.

Datasource configurations

spring.datasource.url

The connection URL for the database

  • For a MySQL datasource, this should be of the following format.
    jdbc:mysql://<host>:<port>/<database_name>
    e.g.: jdbc:mysql://localhost:3306/IMX_DB

  • For an Oracle datasource, this should be of the following format.
    jdbc:oracle:thin:@<host>:<port>:<SID>
    e.g.: jdbc:oracle:thin:@localhost:1521:ORA01

spring.datasource.driver-class-name

The class name of the datasource driver to be used

  • For a MySQL datasource, this should be
    com.mysql.cj.jdbc.Driver

  • For an Oracle datasource, this should be
    oracle.jdbc.OracleDriver

spring.datasource.username

Username of the database user

spring.datasource.password

Password of the database user

spring.jpa.properties.hibernate.dialect

The database dialect to be used by hibernate

  • For a MySQL datasource, this should be
    org.hibernate.dialect.MySQL5Dialect

  • For an Oracle datasource, this should be
    org.hibernate.dialect.Oracle12cDialect

auto.init.db

If this is set to true, the initialization data required by IMonitor-X (permission names, super role, super group and super user) will be automatically inserted into the database at the startup. Otherwise the provided database initialization scripts should to be used for this purpose.

In a production setup, it is recommended to use the provided script and keep the value for this parameter as false.

Database drivers

Please note that IMonitor-X distribution does not contain any database drivers. Therefore the user should manually download the relevant database driver jar file from the vendor and place it in the directory imonitor-x-17.07/lib/ext.

You can use the following links to download the MySQL and Oracle drivers.

auth.type

The type of the user authentication in use. Set value as jdbc for database based user authentication or ldap for LDAP/active directory based authentication.

super.role

The name of the super role. This role expected to have all the access permissions.

If the default value (SUPER_ROLE) for this parameter is changed, make sure to do the same change in the database initialization script as well.

super.group

The name of the super user group. This group is expected to have the above super role and the users who belongs to this group will have access to any UltraESB-X instance and any Ultra Project though IMonitor-X.

If the default value (Super Group) for this parameter is changed, make sure to do the same change in the database initialization script as well.

jwt.token.expiration

The expiration time for JWT tokens in milliseconds

jwt.token.issuer

The name of the JWT token issuer

token.session.validation.enabled

If this parameter is set to true, all the previously issued JWT tokens will be regarded as invalid after a server restart, irrespective of whether they have been expired or not.

The following parameters will only be used if LDAP based authentication is in use

ldap.url

LDAP provider URL

ldap.search.base

LDAP search base

ldap.user.search.filter

LDAP search filter

ldap.userdn

The user distinguished name (principal) to be used for getting authenticated contexts

ldap.password

The password (credentials) to be used for getting authenticated contexts

es.servers

The host names and the TCP connection ports of each Elasticsearch node of the cluster. The host name and port should be separated by colon character and the individual nodes should be separated by comma character.
e.g.: host1:9300,host2:9300,host3:9300

es.index_name

The name of the Elasticsearch index to retrieve statistics

es.mapping_type

The name of the Elasticsearch mapping type to retrieve statistics

es.cluster_name

The name of the Elasticsearch cluster

im.license.dir

The directory that contains licensing related configuration files. Please refer License Configuration section for more details.

Encrypting password values

The sensitive values such as database password can be either specified in plain text or they can be encrypted to enhance the security of the configuration. Please refer following guide on encrypting configuration values.

Logging Configurations

IMonitor-X uses log4j2 based Adroitlogic logging framework for application logging purposes. The configurations related to this is specified in the imonitor-x-17.07/resources/log4j2.xml file. By default, console appender as well as file appender is configured and the file appender is configured to persist logs to the log file imonitor-x-17.07/logs/imonitor-x.log.

You can change this file to modify any of these values as well as to introduce any log4j2 related new configurations.

Running IMonitor-X

Once all the configurations are completed, start IMonitor-X by executing the following command. Observe the log file imonitor-x.log in the log directory configured in the step todo

sh bin/jetty.sh start

Once it started successfully, navigate to the url http://<your_host>:<your_port>/imx to access the web application.

The following commands are also supported by the above script

  • To start IMonitor-X - sh bin/jetty.sh start

  • To stop IMonitor-X - sh bin/jetty.sh stop

  • To restart IMonitor-X - sh bin/jetty.sh restart

  • To check status - sh bin/jetty.sh check

In this topic
In this topic
Contact Us