An open API service indexing awesome lists of open source software.

https://github.com/tibcosoftware/lmi-jdbc

JDBC driver for accessing data stored in LogLogic LMI
https://github.com/tibcosoftware/lmi-jdbc

Last synced: 11 months ago
JSON representation

JDBC driver for accessing data stored in LogLogic LMI

Awesome Lists containing this project

README

          

# JDBC Driver for TIBCO LogLogic(R) Advanced Features

## Description

This JDBC driver aims at querying log data stored in LMI appliances using the same query language as the advanced search feature, while retrieving the results in a standard JDBC fashion.

The driver is self-contained in a single JAR file: lmi-jdbc-driver-1.1-single.jar that should be placed at the relevant location depending on the application using it.

## Prerequisites

This driver works with LMI version 6.2.0 or greater.

## Usage guide

The JDBC driver supports queries written in SQL or EQL language, in the same format as used in the advanced search feature.

Every query *MUST* include a filter criteria with a range on sys_eventTime to be accepted.

### URL format and default port
The URL template to use for connecting to an LMI host is:
```
jdbc:lmi::
```
Default port is 9681

Parameters can be passed in the URL or programmaticaly when creating the JDBC connection object.

The example JAVA code below is for testing purpose (note the use of insecureMode to accept any certificate, and especially the self-signed certificate generated by LMI, this is not recommended for production)

```java
String url = "jdbc:lmi://" + hostname + ":" + port + "?insecureMode=true";
Class.forName("com.tibco.loglogic.lmi.jdbc.LmiJdbcDriver");
con = DriverManager.getConnection( url, "admin", "my password" );
String sql = "SELECT s1.sys_body AS SYSBODY FROM system s1 WHERE (s1.sys_eventTime >= '2017-08-29 23:26:25' AND s1.sys_eventTime <= '2017-08-30 23:59:59')\n";
PreparedStatement stmt = con.prepareStatement( sql );
ResultSet rs = stmt.executeQuery();
```

### Supported parameters for connection

Here is the list of the options that can be passed in the connection string URL itself, or programmatically through the JDBC driver standard mechanisms.

|Parameter| Mandatory| Default Value| Comment|
|---------|----------|---------------|---------|
|user| Yes| n/a| The username of an LMI user with query privileges|
|password| Yes| n/a |The password|
|networkTimeoutMillis| No| 600000| Timeout for all network operations (milliseconds)|
|batchSize| No| 5000| Size of the batches for results retrieval|
|queryTimeout| No| 3600| Query is deleted after expiration of this time (seconds)|
|insecureMode| No| No| When true, disable all security checks on the server certificate (not for production use)|
|noHostnameVerification| No| No| When true, do no verify that the hostname present in the certificate is the one used in the URL.|
|pollingTimeout| No| 3600| Abort query if no results retrieved within that time (seconds).|
|acceptedCertificateFingerprints| No| n/a| A string representing the list of the certificate fingerprints accepted, delimited with comas.|
|keyStoreURL| No| n/a| URL of the keystore file containing the anchors of trust|
|keyStorePassword| No| n/a| The password of the keystore file.|