Basic configuration file.

ogamma Visual Logger executable (ogamma-logger.exe) as optional argument takes path to the configuration file, where basic settgins are defined. If it is started without arguments, then uses default value for configluration file path ./data/config.json. If folder ./data does not exist, it will be created. If configuration file in expected location cannot be found, then copy of original file config.json (which is located in the same folder as ogamma-logger.exe) is made.

Example of config.json file follows below:

  "server": {
    "ipAddress": "",
    "port": 4880,
    "docRoot": "./public_html",
    "threads": 1
  "configDb": {
    "type": "SQLite",
    "path": "./data/config.db"
  "appLog": {
    "fileName": "./data/logs/app-log.txt",
    "level": 0
  "sdk": {
    "ioThreads": 2,
    "callbackThreads": 16,
    "certificatesRootFolder": "./data/PKI",
    "log": {
      "fileName": "./data/logs/sdk-log.txt",
      "level": 0
  "collector-agent": {
    "id": 1,
    "enabled": true
  "rest-endpoint": {
    "enabled": true
  "config-endpoint": {
    "enabled":  true
  "timeSeriesDataBases": [
      "id": 1,
      "type": "PostgreSQL",
      "displayName": "PostgreSQL database at localhost",
      "host": "localhost",
      "port": 5432,
      "dbName": "ogammalogger",
      "userName": "ogamma",
      "password": "ogamma",
      "initScript": "./data/init-db-postgres.sql",
      "connectionWaitTimeInSeconds": 15

Configuration fields in this file are self-explaining. Most important settings which might prevent normal start and running of the application are database settings.

Node configDb sets options for configuration database. Its type can be either SQLite or PostgreSQL. For SQLite type database option path defines file name.

Node timeSeriesDataBases defines settings for time-series databases (TSDB). Currently type of TSDB can be either PostgreSQL or InfluxDb. Future versions will support other types of databases too (see section Roadmap for more details). More detailed information on how to configure settings for TSDB can be found in section Time-Series Databases.


The section timeSeriesDataBases is type of array, i.e. it can have settings for multiple connections to time-series databases. In the current version, only the very first element of the array is used. Default configuration files might have multiple such settings, for all supported databases, for demo purposes. To switch databases, just move desired element to the top of the array.

Node collector-agent defines settings for Collect feature of the ogamma Visual Logger. Its member enabled determines, if values for configured variables should be collected from OPC UA servers with purpose of logging into the TSDB. Note that when this feature is turned on, ogamma Visual Logger will try to connect to the TSDB database at start-up, and if it cannot connect, then it will exit with error.

If you think that more detailed description of configuration fields is required, please feel free to open an issue at project’s GitHub page

For details on how to configure connections to OPC UA Servers and define set of variables to collect data for, please refer to section Collect.