Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Sv translation
languageen

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
language bash
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
language bash
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 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

Info
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

Code Block
linenumbers true
collapse true
{
  "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

Sv translation
languageja

Auditモジュールは最も重要なモジュールであり、他のモジュールにユーザー管理、ライセンス、Audit (監査) サービスを提供します。マルチキャストまたはIPホワイトリストを使用して、同じマシンまたは異なるサーバーで実行されている他のモジュールを自動的に認識します。Auditモジュールは、BellaDati IoTコンソールの主要な通信チャネルでもあります。

Info

Auditモジュールは、他のすべてのモジュールより先に、最初に構成して開始する必要があります。


Tip

Auditモジュール機能の詳細をご覧ください。

実行中のモジュール

Auditは、提供された開始スクリプトを使用して、インストーラーを使用してインストールしたときに自動的に、または次のコマンドを実行して手動で開始できます:

Code Block
language bash
java -Dapplication.name=audit-1 -Dfile.encoding=UTF8 -jar iot-collector-audit-x.y.z.jar

このコマンドは、クラスターとAuditのデフォルト構成でAuditを開始します。必要に応じて、次のファイルを手動で指定することもできます:

Code Block
language bash
java -Dapplication.name=audit-1 -Dvertx.hazelcast.config=cluster.xml -Dfile.encoding=UTF8 -jar iot-collector-audit-x.y.z.jar -conf config.json

ランタイムパラメーターの説明

パラメーター名説明
-Dapplication.name

必須のJVMパラメーター。Auditの名前を定義します。これは、インフラストラクチャに複数のAuditがあり、それらを区別する必要がある状況で役立ちます。

-Dapplication.name=audit-1
-Dvertx.hazelcast.config

オプションのJVMパラメーター。クラスター構成を含むファイルを指定します。

-Dvertx.hazelcast.config=cluster.xml
-Dfile.encoding

オプションのJVMパラメーター。バイトストリームを操作するとき、またはメッセージやファイルを読み取るときに使用されるエンコーディングを指定します。

-Dfile.encoding=UTF8
-jar

開始するコントローラJARファイルを指定します。

-jar iot-collector-audit-x.y.z.jar
-conf

モジュール構成ファイルを指定します。

-conf config.json


構成

構成はconfig.jsonで提供され、-confパラメーターとしてアプリケーションに渡されます。

構成オプション

Info

オプションはドット表記でリストされています - ドットはネストされたエントリを参照しています (例: instance.license は { "instance" : { "license"  : "abcdefgh" } } を意味します)


Option/Entity

タイプ

デフォルト説明
instance
Object

Auditインスタンスの構成が含まれています

instance.license
Stringempty

BellaDatiが提供するライセンス

instance.name
Stringemptyインスタンス名
instance.db
Object

データベース構成が含まれています。特定のデータベースを使用しない限り、デフォルト値を維持できます。

instance.db.url
Stringjdbc:hsqldb:file:hsql/instance-db;shutdown=trueデータベース接続文字列
instance.db.user
StringSA

データベースのユーザー名

instance.db.password
Stringemptyデータベースのパスワード
instance.db.driverclass
Stringorg.hsqldb.jdbcDriver

データベースJDBCドライバークラス

instance.db.max_pool_size
Integer100

データベースの最大プールサイズ

instance.db.drop
Booleanfalseモジュールの起動時にデータベースを削除する必要があるかどうかを示すフラグ
instance.auth
Object
すべてのモジュールに共通の管理者の構成
instance.auth.enabled
Booleantrue

管理者認証が有効かどうかを示すフラグ

instance.auth.drop
Booleanfalse

モジュールの起動時に管理者を削除する必要があるかどうかを示すフラグ

instance.auth.merge
Booleantrue

モジュールの起動時に管理者をマージする必要があるかどうかを示すフラグ

instance.auth.users
Array

マージする管理者の配列 (新規挿入または既存の更新)

instance.auth.users.username
Stringadmin

一意のユーザー名

instance.auth.users.password
String

'salt'が定義されている場合はハッシュされたパスワード、それ以外の場合はプレーンテキストのパスワード

instance.auth.users.salt
String
パスワードのハッシュに使用されるSalt
instance.auth.users.roles
String array

[ "ADMIN " ]

ユーザーロールの配列
audit
Object

Auditモジュールの構成が含まれています

audit.license
StringemptyBellaDatiが提供するライセンス
audit.name
Stringemptyインスタンス名
audit.db
Object

データベース構成が含まれています。特定のデータベースを使用しない限り、デフォルト値を維持できます。

audit.db.url
Stringjdbc:hsqldb:file:hsql/instance-db;shutdown=true

データベース接続文字列

audit.db.user
StringSA

データベースのユーザー名

audit.db.password
Stringemptyデータベースのパスワード
audit.db.driverclass
Stringorg.hsqldb.jdbcDriver

データベースJDBCドライバークラス

audit.db.max_pool_size
Integer100データベースの最大プールサイズ
audit.db.drop
Booleanfalseモジュールの起動時にデータベースを削除する必要があるかどうかを示すフラグ
audit.auth
Object
すべてのモジュールに共通の管理者の構成
audit.auth.enabled
Booleantrue管理者認証が有効かどうかを示すフラグ
audit.auth.drop
Booleanfalseモジュールの起動時に管理者を削除する必要があるかどうかを示すフラグ
audit.auth.merge
Booleantrueモジュールの起動時に管理者をマージする必要があるかどうかを示すフラグ
audit.auth.users
Array
マージする管理者の配列 (新規挿入または既存の更新)
audit.auth.users.username
Stringviewer一意のユーザー名
audit.auth.users.password
String

'salt'が定義されている場合はハッシュされたパスワード、それ以外の場合はプレーンテキストのパスワード

audit.auth.users.salt
String
パスワードのハッシュに使用されるSalt
audit.auth.users.roles
String array[ "VIEWER" ]ユーザーロールの配列
audit.ssl 
Object
SSL構成が含まれています
audit.ssl.enabled
BooleantrueHTTPサーバーを有効なSSL/TLSで実行する必要があるかどうかを示すフラグ
audit.ssl.keystorePath
String

Javaキーストアファイル (JKS) への絶対パス

audit.ssl.keystorePassword
String"wibble"

Javaキーストアのパスワード

audit.metadataDataSetID
Integer

デバイスメタデータを含むデータセットのID("IoTコンソール - デバイスメタデータ")

audit.auditID
Integer

IoTコンソール構成で使用されるAuditのID("IoTコンソール構成")

audit.deviceGroups
Array

自動デバイスタイプ割り当てに使用されるデバイスグループの配列


audit.deviceGroups.id
Integer

デバイスグループのID

audit.deviceGroups.type
String
デバイスグループのタイプ
audit.deviceGroups.typeValue
String

マッチングに使用される値

audit.deviceGroups.deviceType
Integer

デバイスグループを通じて割り当てられたデバイスタイプ


構成サンプル

Code Block
linenumbers true
collapse true
{
  "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