Deploy

ogamma Visual Logger for OPC can be deployed either as a Docker container, or as a Windows application, or as a Linux (Ubuntu 18.04) application.

Tip

After deployment, web based configuration GUI will be available at the address http://localhost:4880. To login, use default user name admin and password password. If you are using ogamma Visual Logger for OPC in production, reset password immedately using menu Account/Change Password.

Note

Web GUI of the ogamma Visual Logger is optimized and tested for screen resolution 1920x1080 in full size mode, in Google Chrome and Microsoft Edge. GUI layout might be disrupted in other combinations of browse and screen resolution. If this becomes blocking issue for you, please report it at https://github.com/onewayautomation/ogamma-logger/issues.

Setup using Docker

The easiest and guaranteed to work in minutes way to start using ogamma Visual Logger is running it as a Docker container. If you never tried to use Docker before, we encourage you to try to install and use this powerful technology. You can find instructions about how to install it at its home page.

Following below console commands assume that you use bash terminal in Linux hosts, and PowerShell in Windows hosts. If you don’t want to use PowerShell in Windows, it is possible to use regular windows command console too, but in this case some commands will need to be modified. For example, instead of using PowerShell variable for current folder ${pwd}, absolute path value should be used.

Pulling docker image of ogamma Visual Logger for OPC and running it.

Linux image of ogamma Visual Logger for OPC is hosted at Docker Hub and can be pulled by command:

docker pull ogamma/logger

Then you can start the container by command:

docker run --name ogamma-logger --hostname ogamma-logger -v ${pwd}/data:/home/ogamma/logger/data -p 4880:4880 ogamma/logger

Using docker-compose.

ogamma Visual Logger for OPC can run as stand-alone application without other dependencies, if SQLite type databases are used to store configuration settings and to store time-series data. But very often PostgreSQL is used as a configuiration database, and time-series data can be stored in other databases, like TimescaleDB, InfluxDB or Apache Kafka. While these third-party dependencies can be installed and run independently, you can also use docker-compose files from product’s GitHub repository, to install them and run in just a few minutes.

Warning

Note that docker-compose files are not intended for production use as is. At least default user credentials must be modified to more secure values.

Easiest way to get all docker-compose files is to clone the repository to local folder by running command:

git clone https://github.com/onewayautomation/ogamma-logger.git

Tip

If you don’t have git installed, you can download it here.

As a result, repository files will be pulled into sub-folder ogamma-logger. In sub-folder docker of this folder you will find multiple files with extension .yml. Each of them intended to start specific application in its own Docker container. You can start desired set of containers by passing names of these files in docker-compose command.

For example, if you want to use TimescaleDB to store time-series data, and also use Grafana to visualize data, you can start them together with ogamma Visual Logger for OPC by running following below command from working directory ./ogamma-logger/docker

docker-compose -f docker-compose.yml -f portainer.yml -f timescaledb.yml -f grafana.yml up -d

Short description of used files follows below.

  • docker-compose.yml describes container service for ogamma Visual Logger for OPC,
  • portainer.yml starts Portainer, web based configuration and management tool for docker containers. With it, you can easily see list of running containers, stop, start and restart them, upgrade or re-create them, view usage statistics, logs, connect t0 them via terminal, and lot of other features are available.
  • timescaledb.yml starts instance of TimescaleDB database server, where you can create a database to store time-series data, and also it can used as regular PostgreSQL database to store configuration data.

As a result, Docker images will be downloaded from Docker Hub, containers from those images will start, and components of ogamma Visual Logger and database with web based management tool will be available at the following below URLs:

  • http://localhost:4880 : ogamma Visual Logger configuration GUI, where you can setup connections to OPC UA servers and define what variables to collect data for. Default credentials are admin / password.


  • http://localhost:9000 : Portainer GUI.


  • localhost:5432 - PostgreSQL database with TimescaleDB extension;

    Default credentials are: ogamma/ogamma.


  • http://localhost:4888: PgAdmin web GUI, using which you can analyze historical data utilizing standard SQL queries.

    Default credentials are admin@ogamma.io/admin.


  • http://localhost:3000: Grafana web GUI, using which you can visualize data from OPC UA Servers;


To stop all containers, use the command:

docker-compose -f docker-compose.yml -f portainer.yml -f timescaledb.yml -f grafana.yml down

In case if you want to use other database to store time-series data, add respective yml file.

Tip

If you choose to use PostgreSQL to store configuration settings, you can keep the file timescaledb.yml in the command arguments and use its corresponding service to store configuration database.

  • confluent.yml - Apache Kafka distribution from Confluent, bundled with bunch of other services, as described at Confluent Platform Quick Start page.

    Once services start, Confluent Control Center will be available at http://localhost:9021


  • influxdb.yml - InfluxDB version 1.7 (or 1.8), will be available at localhost:8086, and management web application for InfluxDB 1.x, will be available at http://localhost:8085. For details on how to use it refer to project home page at https://timeseriesadmin.github.io/. No credentials are required to access the page.


  • influxdb2.0.yml - InfluxDB version 2.0, both API and web GUI will be available at http://localhost:9999.

    Default credentials and other settings are configured in initialization script file /opt/start_and_init.sh: username/password: ogamma/ogamma123, organization: ogamma, bucket: ogamma, security token: secrettoken.

    You can configure these and other settings for InfluxDB 2.0 also via its web GUI.

    Note

    InfluxDB 2.0 web GUI also provides tools to run queries, build dashboards with graphs, configure monitoring of data for specified conditions and generating alerts, etc. Refer to its documentation for more details at https://v2.docs.influxdata.com/v2.0/.

  • mssql.yml - Micsofot SQL database server.

  • mysql.yml - MySQL database server.

  • mqtt.yml - MQTT Broker Eclipse Mosquitto.

  • opcplc.yml - OPC UA simulation server (https://github.com/Azure-Samples/iot-edge-opc-plc). To connect to it from instance of the ogamma Visual Logger running as a Docker container you can use OPC UA enpoint URL opc.tcp//opcplc:50000.

    Note

    From the host machine it will not be available using opcplc as host name though, which might cause problems if you want to connect to it using OPC UA client running in your host PC. Refer to the Docker documentation on how to make it accessible from the host machine using host name.


  • ovl-2.yml - example of running second instance of the ogamma Visual Logger for OPC.

Running all supported databases and demo OPC UA Server in Docker

To start all suported databases and demo OPC UA Server in containers, run this command:

docker-compose -f docker-compose.yml -f portainer.yml -f timescaledb.yml -f grafana.yml -f confluent.yml -f influxdb.yml -f influxdb2.0.yml -f mssql.yml -f mysql.yml -f mqtt.yml -f opcplc.yml up -d

To stop all containers run this command:

docker-compose -f docker-compose.yml -f portainer.yml -f timescaledb.yml -f grafana.yml -f confluent.yml -f influxdb.yml -f influxdb2.0.yml -f mssql.yml -f mysql.yml -f mqtt.yml -f opcplc.yml down

Setup in Windows

1. Install required prerequisites

a). Install Visual C++ 2019 redistributables (64 bit version)

Can be installed using installation file (vc-redist.x64.exe) included into the distribution package.

Latest downloads are available at https://support.microsoft.com/en-ca/help/2977003/the-latest-supported-visual-c-downloads

b). Install / Configure database to store time-series data.

Note

This step can be skipped if you plan to read real time and historical data from OPC UA servers directly, without storing values in database, or plan to store historical data in the SQLite database, which does not require installation.

For information on supported databases and how to install/configure them, refer to the section Time-Series Databases.

c). Install Microsoft ODBC Driver 17 for SQL Server.

If not installed already, install Microsoft ODBC Driver 17 for SQL Server from file msodbcsql.msi included into distribution package.

Note

This driver must be installed even if you are not using MS SQL Server as a time-series database.

2. Install ogamma Visual Logger

Note

By default ogamma Visual Logger is configured to use configuration file at location data/config.json (relative to the current working folder), althouth folder data does not exist after installation. The point is that it is recommended to use separate folder for all installation instance specific data, which is by default to be in folder data. When the application is started, it checks if configuration file exists in expected location, and if it does not exist, it copies original config.json file from original installation location. Therefore, if you want to use modify settings, create folder data, copy config.json file to it, and then modify file data/config.json.

3. Start ogamma Visual Logger.

Open Windows command line console, navigate to the folder where ogamma Visual Logger files are unzipped, and start application ogamma-logger.exe. At the very first start, it might run some initialization steps in the database (for example, if PostgreSQL is used, it will create required tables in the PostgreSQL database). Before connecting to the frist OPC UA server (after adding it from GUI and attempt to browse), it will also generate OPC UA Application Instance Certificate, which might take some time.

The application has built-in web server to support web based GUI to configure it, and it will listen to http port of that configuration endpoint (port 4880). Windows operating system will pop-up dialog window asking for permission to listen on the port, you will need to allow it.

Tip

Configuration GUI will be aavailable to access from web browser at address http://localhost:4880, default user name and password are admin and password.

4. Running ogamma Visual Logger for OPC as a Windows service.

If you want to run ogamma Visual Logger for OPC as a WIndows service, you can use Server Manager available to donwload for free here.

5. Install Grafana

Note

This step can be skipped if you do not want visualize data.

To install Grafana, follow instructions at Download Grafana web page

Setup in Ubuntu 18.04

Distribution package for Ubuntu 18.04 is available at https://onewayautomation.com/opcua-binaries/ogamma-logger-ubuntu1804-1.2.4.zip

To download and install it from terminal:

  • Open terminal (keyboard shortcupt Ctrl+Alt+t can be used).

  • Update package lists:

    sudo apt update
    
  • Install tools wget and unzip:

    sudo apt install wget unzip
    
  • Download distribution package:

    wget https://onewayautomation.com/opcua-binaries/ogamma-logger-ubuntu1804-1.2.4.zip
    
  • Unzip it:

    unzip ogamma-logger-ubuntu1804-1.2.4.zip -d ogamma-logger
    
  • Navigate to the folder where it is extracted to:

    cd ogamma-logger
    
  • Install MS SQL ODBC libraries:

    sudo ./install-unix-odbc-11.sh
    

    Note

    This is required even if you do not plan to store data in MS SQL Server.

  • Run ogamma Visual Logger:

    ./ogamma-logger
    

    If application does not start, then check error messages in console. If required, adjust settings in the configuration file ./data/config.json and start application again.

Note

In default basic configuration file ./data/config.json field configDb is set to use built-in SQLite database.

  • ogamma Visual Logger Configuration GUI will be accessiblie at address http://localhost:4880 Configuration GUI will be aavailable to access from web browser at address http://localhost:4880, default user name and password are admin and password.

Installing older versions.

If you need help with installing older versions, please contact support.

Upgrading from older versions.

Tip

Before upgrading to the new version, stop existing application and create backup of your application data folder (usually sub-folder ./data) and backup of configuration database to avoid any data loss.

Docker containers.

If you are upgrading from older version of Docker container, then you can just stop the continer, run the command docker pull ogamma/logger to get the latest version from Docker Hub, and start container.

Windows and Ubuntu installations.

  • Install ogamma Visual Logger for OPC into new location, but do not start it.
  • Stop existing instance;
  • Copy folder ./data from older installation to the new installation location;
  • Start new instance. If required, it will upgrade config files and configuration database.

Versions the upgrade is supported from.

Upgrading from any previous version to the newer version is supported. Downgrading is not implemented.