Einführung

Deployment Varianten

Die Komponenten des IIoT Building Block Stacks sind sehr modular und an eine Microservice-Architektur angelehnt. Daher ist das Deployment so flexibel wie Möglich und fügt sich sehr gut in bestehende Infrastrukturen.

Ein Server Installation

Der gesamte Stack wird auf einem Maschinen Rechner/Server installiert:

  • Collector
  • Collector App
  • Datenbank

Single Deployment

Der Collector sammelt die Daten von verschiedenen Maschinen und Anlagen über eine Netzwerkschnittstelle und speichert sie auf der zentralen Datenbank die neben dem Collector auf dem gleichen Rechner installiert ist. Über die Collector App, ebenfalls auf dem gleichen Server muss noch ein Collector konfiguriert werden.

Ist das Netzwerk gestört können auch keine Daten übertragen werden. Daten können unter Umständen verloren gehen.

Verteiltes System

Es können mehrere Collector Instanzen im Netzwerk installiert werden. Auf PC basierten Steuerungen kann der Collector sogar direkt mit laufen. Die Collector App sowie die Datenbank befinden sich auf einem Zentralen Maschinen Rechner/Server.

Distributed Deployment

In der Collector App können alle Collectoren im Netzwerk über eine Benutzeroberfläche konfiguriert werden. Die Collectoren können im Falle einer Netzwerksstörung die Daten puffern und nach Behebung der Störung suggestive übers Netzwerk an die Datenbank senden.

Getting Started

Für einen schnellen Einstig empfiehlt es sich zunächst den gesamten Stack auf einer Maschine zu installieren.

Schnellstart mit docker-compose

Der einfachste und zuverlässigste Weg den Stack zu deployen ist über Docker, da die Applikationen in definierten Container-Umgebungen laufen und somit keine Abhängigkeiten zum Host-System haben. Zudem können die Container nach dem Beenden restlos vom System wieder entfernt werden.

Installation von Docker (Linux, Mac und Windows): Get-Docker

Für die Windows- und Mac-Docker-Installation wird eine Lizenz benötigt. Als Alternative kann auch Rancher-Desktop als Container-Runtime installiert werden. Falls Rancher-Desktop mit containerd verwendet wird muss im folgenden die docker cli durch nerdctl ersetzt werden.

Um mit einem Befehl direkt mehrere Container starten zu können wird Docker Compose verwendet. In einer docker-compose Datei können mehrere Container mit Konfiguration und Verknüpfung definiert werde. In diesem Fall sind es folgende Container:

  • Collector
  • Collector App
  • OPC UA Browser
  • InfluxDB
  • Umati OPC UA Server
  • Grafana

Stellen Sie daher sicher, dass Sie die Images für Collector, Collector-App und OPC UA Browser gemäß der Installationsanleitung geladen haben.

Das InfluxDB und Grafana Image wird automatisch aus dem offiziellen online Repository geladen. Dabei dient die InfluxDB als demo Datensenke und Grafana zum darstellen von vom Data Collector gespeicherten Daten.

1. Erstellen eines Ordners

mkdir iiot-bb-stack
cd iiot-bb-stack

2. Erstellen des Shard Volume Ordner

Da Container keinen persistenten Speicher besitzen, müssen sämtliche persistente Dateien und Datenbanken auf dem Host-System gespeichert werden, damit nach dem Container neustart der Zustand nicht verloren geht.

mkdir docker

Der Ordner wird in den Container-Volumes verwendet.

3. Erstellen der compose Datei

Linux

touch docker-compose.yaml

Windows

New-Item -Path . -Name "docker-compose.yaml" -ItemType "file"

Die Datei mit einem beliebigen Editor öffnen und folgenden Inhalt einfügen:

docker-compose.yaml

version: "3.4"
services:
  collector:
    image: ite-si/collector:vx.x.x
    volumes:
      - ./docker/collector:/opt/ite-si/collector/tmp
    links:
      - influxdb
    environment:
      - COLLECTOR_WORK_DIR=/opt/ite-si/collector
      - COLLECTOR_CONFIG_DIR=/opt/ite-si/collector/tmp
      - COLLECTOR_LOG_DIR=/opt/ite-si/collector/tmp/logs
      - COLLECTOR_CONSOLE_LEVEL=warn

  opcua-browser:
    image: ite-si/opcua-browser:vx.x.x
    volumes:
      - ./docker/collector/certificates:/opt/ite-si/opcua-browser/certificates

  collector-app:
    image: ite-si/collector-app:vx.x.x
    ports:
      - "4000:4000"
    environment:
      - COLLECTOR_APP_HOST=0.0.0.0
      - COLLECTOR_APP_PORT=4000
      - COLLECTOR_APP_TOKEN_SECRET=asdfasdfjklasdcpwerasdfvuewardciadioweroqwer
      - COLLECTOR_APP_ENCRYPTION_KEY=e44c966f21b9e1577802464f8924e6a37e3e9751fa01304213b2f845d8841d61
      - COLLECTOR_APP_CORS_ORIGIN=http://localhost:4000
      - COLLECTOR_APP_PUBLIC_GRAPHQL_URL=http://localhost:4000/api/graphql
      - COLLECTOR_APP_PUBLIC_WS_URL=ws://localhost:4000/api/subscriptions
    volumes:
      - ./docker/collector-app:/var/lib/collector-app

  grafana:
    image: grafana/grafana:latest
    ports:
      - "3000:3000"
    links:
      - influxdb
    volumes:
      - ./docker/grafana:/var/lib/grafana

  opcua-server:
    image: ghcr.io/umati/sample-server:main
    links:
      - collector
      - opcua-browser

  influxdb:
    image: influxdb:1.8
    volumes:
      - ./docker/influxdb:/var/lib/influxdb

4. Starten des Stacks

docker-compose up

oder

nerdctl compose -f docker-compose.yaml up

Zum starten im Hintergrund:

docker-compose up -d

oder

nerdctl compose -f docker-compose.yaml up -d

5. Collector App aufrufen

Nach dem Start ist die App im Browser unter http://localhost:4000/collector-app erreichbar.

Standard Login:

Benutzername Passwort
admin admin

Einen Einstieg in die Collector App finden Sie hier.

6. Stoppen/Entfernen des Stacks

docker-compose down
docker-compose rm

oder

nerdctl compose -f docker-compose.yaml down
nerdctl compose -f docker-compose.yaml rm

Schnellstart unter Windows (nativ)

1. Installer

Zunächst müssen die Komponenten:

nach der Windows Installationsanleitungen über den Installer installiert werden.

Als Demo Output kann die InfluxDB installiert werden.

Als Demo Input wird der OPC UA Sample Server von Unified Automation empfohlen.

2. Starten der Komponenten

Die Komponenten lassen sich über das Windews Startmenü starten:

Windows start menu

Nachdem alle drei Komponenten gestartet wurden, erscheint ein Windows Tray Icon in der Taskleiste. Hier kann jeweils der Log angezeigt werden und die Applikation wieder beendet werden.

3. Collector App aufrufen

Nach dem Start ist die App im Browser unter http://localhost:4000/collector-app erreichbar.

Standard Login:

Benutzername Passwort
admin admin

Einen Einstieg in die Collector App finden Sie hier.