You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 30 Next »

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:

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:

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 nameDescriptionExample
-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 collector 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/EntityTypeDefaultDescription
instance
Object Contains configuration for audit instance
instance.license
StringemptyLicense provided by BellaDati
instance.name
StringemptyName of the instance
instance.db
Object Contains database configuration. You can keep the default values unless you use some specific database.
instance.db.url
Stringjdbc:hsqldb:file:hsql/instance-db;shutdown=trueDatabase connection string
instance.db.user
StringSADatabase username
instance.db.password
StringemptyDatabase password
instance.db.driverclass
Stringorg.hsqldb.jdbcDriverDatabase JDBC driver class
instance.db.max_pool_size
Integer100Database maximum pool size
instance.db.drop
BooleanfalseFlag indicating if database should be dropped during module startup
instance.auth
Object Configuration of administrators common for all modules
instance.auth.enabled
BooleantrueFlag indicating if administrator authentication is enabled
instance.auth.drop
BooleanfalseFlag indicating if administrators should be dropped during module startup
instance.auth.merge
BooleantrueFlag 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
StringadminUnique 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
StringemptyLicense provided by BellaDati
audit.name
StringemptyName of the instance
audit.db
Object Contains database configuration. You can keep the default values unless you use some specific database.
audit.db.url
Stringjdbc:hsqldb:file:hsql/instance-db;shutdown=trueDatabase connection string
audit.db.user
StringSADatabase username
audit.db.password
StringemptyDatabase password
audit.db.driverclass
Stringorg.hsqldb.jdbcDriverDatabase JDBC driver class
audit.db.max_pool_size
Integer100Database maximum pool size
audit.db.drop
BooleanfalseFlag indicating if database should be dropped during module startup
audit.auth
Object Configuration of administrators common for all modules
audit.auth.enabled
BooleantrueFlag indicating if administrator authentication is enabled
audit.auth.drop
BooleanfalseFlag indicating if administrators should be dropped during module startup
audit.auth.merge
BooleantrueFlag 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
StringviewerUnique 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
BooleantrueFlag 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

{
  "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