Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
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.
Info |
---|
Audit module must be configured and started first, before all other modules. |
Tip |
---|
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:
Code Block | ||
---|---|---|
| ||
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:
Code Block | ||
---|---|---|
| ||
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 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
Info |
---|
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
Code Block | ||||
---|---|---|---|---|
| ||||
{
"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
Table of Contents |
---|