Audit module is the most important module, it provides user management, licensing and auditing services to the other modules. It automatically recognizes other modules, that are running on the same machine or on different servers - either using multicast or IP white list. Audit module is the main communication channel for the BellaDati IoT console too.

Audit module must be configured and started first, before all other modules.

Learn more about Audit module functions.

Running module

Audit can be started using the provided starting script, automatically when installed using the installer or manually, by executing following command:

Error rendering macro 'code': Invalid value specified for parameter 'com.atlassian.confluence.ext.code.render.InvalidValueException'
java -Dapplication.name=audit-1 -Dfile.encoding=UTF8 -jar iot-collector-audit-x.y.z.jar

This command will start the audit with the default configuration of the cluster and audit. If necessary, it is also possible to manually specify these files:

Error rendering macro 'code': Invalid value specified for parameter 'com.atlassian.confluence.ext.code.render.InvalidValueException'
java -Dapplication.name=audit-1 -Dvertx.hazelcast.config=cluster.xml -Dfile.encoding=UTF8 -jar iot-collector-audit-x.y.z.jar -conf config.json

Runtime parameters explained

Parameter name Description Example
-Dapplication.name
Mandatory JVM parameter. Defines the name of the audit. This is usefull in situations, when there are multiple audits in your infrastructure and you need to distinguish them.
-Dapplication.name=audit-1
-Dvertx.hazelcast.config
Optional JVM parameter. Specifies the file containing the cluster configuration.
-Dvertx.hazelcast.config=cluster.xml
-Dfile.encoding
Optional JVM parameter. Specifies the encoding used when working with byte streams or reading messages and files.
-Dfile.encoding=UTF8
-jar
Specifies the Controller JAR file to be started.
-jar iot-collector-audit-x.y.z.jar
-conf
Specifies the module configuration file
-conf config.json

 

Configuration

Configuration is provided in config.json, which is passed to the application as -conf parameter

Configuration options

Options are listed in dot notation - dot is refering to nested enttiy (e.g. instance.license means  { "instance" : { "license"  : "abcdefgh" } }
Option/Entity Type Default Description
instance
Object   Contains configuration for audit instance
instance.license
String empty License provided by BellaDati
instance.name
String empty Name of the instance
instance.db
Object   Contains database configuration. You can keep the default values unless you use some specific database.
instance.db.url
String jdbc:hsqldb:file:hsql/instance-db;shutdown=true Database connection string
instance.db.user
String SA Database username
instance.db.password
String empty Database password
instance.db.driverclass
String org.hsqldb.jdbcDriver Database JDBC driver class
instance.db.max_pool_size
Integer 100 Database maximum pool size
instance.db.drop
Boolean false Flag indicating if database should be dropped during module startup
instance.auth
Object   Configuration of administrators common for all modules
instance.auth.enabled
Boolean true Flag indicating if administrator authentication is enabled
instance.auth.drop
Boolean false Flag indicating if administrators should be dropped during module startup
instance.auth.merge
Boolean true Flag indicating if administrators should be merged during module startup
instance.auth.users
Array   Array of administrators to merge (insert new or update existing)
instance.auth.users.username
String admin Unique username
instance.auth.users.password
String   Hashed password if 'salt' is defined, otherwise plain text password
instance.auth.users.salt
String   Salt used to hash password
instance.auth.users.roles
String array
[ "ADMIN " ]
Array of user roles
audit
Object   Constains configuration of audit module
audit.license
String empty License provided by BellaDati
audit.name
String empty Name of the instance
audit.db
Object   Contains database configuration. You can keep the default values unless you use some specific database.
audit.db.url
String jdbc:hsqldb:file:hsql/instance-db;shutdown=true Database connection string
audit.db.user
String SA Database username
audit.db.password
String empty Database password
audit.db.driverclass
String org.hsqldb.jdbcDriver Database JDBC driver class
audit.db.max_pool_size
Integer 100 Database maximum pool size
audit.db.drop
Boolean false Flag indicating if database should be dropped during module startup
audit.auth
Object   Configuration of administrators common for all modules
audit.auth.enabled
Boolean true Flag indicating if administrator authentication is enabled
audit.auth.drop
Boolean false Flag indicating if administrators should be dropped during module startup
audit.auth.merge
Boolean true Flag indicating if administrators should be merged during module startup
audit.auth.users
Array   Array of administrators to merge (insert new or update existing)
audit.auth.users.username
String viewer Unique username
audit.auth.users.password
String   Hashed password if 'salt' is defined, otherwise plain text password
audit.auth.users.salt
String   Salt used to hash password
audit.auth.users.roles
String array [ "VIEWER" ] Array of user roles
audit.ssl 
Object   Contains SSL configuration
audit.ssl.enabled
Boolean true Flag indicating if HTTP server should run with enabled SSL/TLS
audit.ssl.keystorePath
String   Absolute path to Java keystore file (JKS)
audit.ssl.keystorePassword
String "wibble" Password of Java keystore
audit.metadataDataSetID
Integer  

ID of data set containing the Device metadata ("IoT Console - Device metadata")

audit.auditID
Integer   ID of audit used in the IoT Console configuration ("IoT Console Config")
audit.deviceGroups
Array   Array of device groups used for automatic device type assignment
audit.deviceGroups.id
Integer   ID of the device group
audit.deviceGroups.type
String   Type of the device group
audit.deviceGroups.typeValue
String   Value used to for matching
audit.deviceGroups.deviceType
Integer   Device type assigned through the device group

 

Configuration sample

Error rendering macro 'code': Invalid value specified for parameter 'com.atlassian.confluence.ext.code.render.InvalidValueException'
{
  "instance": {
    "license": "n5NkzaEOALzvGs7LOExyAulYdqo8X+5==",                  
    "name": "Awesome Company - TEST_ENV",                            
    "db": {                                                          
      "url": "jdbc:hsqldb:file:/path/to/instance-db;shutdown=true",  
      "user": "SA",                                                  
      "password": "",                                                
      "driverclass": "org.hsqldb.jdbcDriver",                        
      "max_pool_size": 100,                                           
      "drop": false                                                   
    },
    "auth": {                                                         
      "enabled": true,                                                
      "drop": false,                                                  
      "merge": true,                                                  
      "users": [                                                      
        {
          "username": "admin",                                        
          "password": "DAAF8173380C604B392A1EF8D7559AA0",             
          "salt": "BA1170DE9ADE8D29D2C18FD789EAB3BD",                 
          "roles": [ "ADMIN" ]                                        
        }
      ]
    }
  },
  "audit": {
    "license": "n5NkzaEOALzvGs7LOExyAulYdqo8X+5==",                   
    "name": "Audit 01",                                               
    "host": "localhost",                                              
    "port": 8000,                                                     
    "bodyLimit": 2097152,                                             
    "db": {                                                           
      "url": "jdbc:hsqldb:file:/path/to/my-audit-db;shutdown=true",   
      "user": "SA",                                                   
      "password": "",                                                 
      "driverclass": "org.hsqldb.jdbcDriver",                         
      "max_pool_size": 100,                                           
      "jsonVarcharLength": 2047,                                      
      "drop": false                                                   
    },
    "auth": {
      "enabled": true,                                                
      "drop": false,                                                  
      "merge": true,                                                  
      "users": [                                                      
        {
          "username": "viewer",                                       
          "password": "DAAF8173380C604B392A1EF8D7559AA0",             
          "salt": "BA1170DE9ADE8D29D2C18FD789EAB3BD",                 
          "roles": [ "VIEWER" ]                                       
        }
      ]
    },
    "ssl": {
      "enabled": true,                                                
      "keystorePath": "/path/to/server-keystore.jks",                 
      "keystorePassword": "wibble"                                    
    },
	metadataDataSetID: 59,
	auditID: 3,
	deviceGroups: [
		{	
			id: 21,
			type: "ID_BASED",
			typeValue: "AF1-B8-5E.*",
			deviceType: 7
		},
		{
			id: 23,
			type: "IP_BASED",
			typeValue: "127.0.0.255/24,217.0.0.255/24",
			deviceType: 7
		}
	]
 }
}

On this page

  • No labels