Einführung

Deployment Varianten

Die Komponenten des IIoT IIoT Building Block Stacks sind sehr modular und an eine Microservice-Architektur angeleht. Daher ist das Deployment so flexiebel wie Möglich und fühgt 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 empfielt es sich zunächst den gesammten Stack auf einer Maschine zu installieren.

Schnellstart mit docker-compose

1. Erstellen eines Ordners

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

2. Erstellen der compose Datei

touch docker-compose.yaml

docker-compose.yaml

version: "3.4"
services:
  grafana:
    image: grafana/grafana:latest
    links:
      - influxdb
    volumes:
      - ./docker/grafana:/var/lib/grafana

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

  collector:
    image: ite-si/collector:vx.x.x
    volumes:
      - ./docker/collector:/etc/ite-si/collector
    links:
      - influxdb
    environment:
      - COLLECTOR_WORK_DIR=/opt/ite-si/collector
      - COLLECTOR_CONFIG_DIR=/opt/ite-si/collector
      - COLLECTOR_LOG_DIR=/opt/ite-si/collector/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
      - ./docker/opcua-browser/config.json:/opt/ite-si/opcua-browser/config.json

  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:/usr/src/app/api/data

3. Starten des Stacks

docker-compose up