Skip to content

Aus CSV importieren

Derselbe dreistufige Assistent importiert drei verschiedene Dinge, je nachdem, wo Sie ihn öffnen:

Der Assistent führt Sie in beiden Fällen durch dieselben drei Schritte: Hochladen, Spalten zuordnen und Ergebnisse – nur die Spalten und das, was eine Zeile anlegt, unterscheiden sich.

CVE-Monitore importieren

Organisationsadministratoren können mehrere CVE-Monitore auf einmal aus einer CSV-Datei anlegen. Öffnen Sie in der Monitor-Liste das Dropdown Erstellen und wählen Sie CSV importieren, um den Import-Assistenten zu öffnen.

CVE-Monitore sind der einzige Monitor-Typ, den dieser Import anlegt. Verbindungen zu OPC-UA-Servern und S7-SPS werden als Datenquellen angelegt, und alles, was auf einen Wert alarmiert, ist ein Bedingungsmonitor – beides ist keine Zeile in einer Tabelle. Um S7-Tags oder OPC-UA-Knoten in großer Zahl zu deklarieren, siehe S7-Datenpunkte importieren oder OPC-UA-Datenpunkte importieren.

Zwei Werte verhalten sich so, dass es sich lohnt, sie vorab zu kennen:

  • escalationPolicy verweist per Name oder numerischer id auf eine bestehende Eskalationsrichtlinie. Ein Name muss exakt übereinstimmen – legen Sie die Richtlinie also vor dem Import an.
  • incidentMessageTemplate ist der literale Vorfallstext, keine Referenz auf eine gespeicherte Vorlage.

Die Spalten sind unter Spalten zuordnen aufgeführt.

S7-Datenpunkte importieren

Organisationsadministratoren können viele S7-Datenpunkte auf einmal aus einer CSV-Datei mit Tag-Adressen deklarieren. Öffnen Sie die Detailseite einer S7-Datenquelle und wählen Sie Importieren, um den Assistenten zu öffnen – er ist bereits an diese Quelle gebunden.

Da die Quelle durch den Startpunkt des Imports feststeht, geht es in der Datei nur um Tags und um nichts anderes – keine Spalte endpoint, rack oder slot, und auch kein monitorType. Die Spalten sind unter Spalten zuordnen aufgeführt.

Ein durch diesen Import deklarierter Datenpunkt ist übernommen und wird im Takt der Quelle gelesen, wie jeder andere Datenpunkt der Quelle. Eine Zeile, die eine bereits auf der Quelle deklarierte Adresse und einen bereits deklarierten Datentyp nennt, ist ein No-op – sie löst zum bestehenden Datenpunkt auf, statt ein Duplikat anzulegen, sodass ein erneuter Lauf einer unveränderten Datei folgenlos bleibt.

Anders als beim CVE-Import läuft dieser Import alles oder nichts: Jede Zeile wird geprüft, bevor irgendetwas geschrieben wird, und wenn eine Zeile fehlschlägt, wird nichts angelegt – der Ergebnisschritt listet jede fehlgeschlagene Zeile auf, damit Sie die Datei korrigieren und es erneut versuchen können. Siehe Ergebnisse.

Auf die importierten Werte alarmieren

Werden vier weitere Spalten zugeordnet – aggregation, operation, operand und duration –, wird aus jeder Zeile statt einer reinen Datenpunkt-Deklaration ein Schwellwertalarm darauf: „Alarmieren, wenn der Durchschnitt von DB1.DBD10 über 5 Minuten über 80 liegt". Sind bei einer Zeile alle vier Spalten zugeordnet, legt der Import an:

  • eine Bedingung – den Graphen Sensor → Aggregate → Compare → Alert – die an den von der Zeile deklarierten Datenpunkt gepinnt ist, und
  • einen Bedingungsmonitor, der darauf alarmiert, in der Gruppe Conditions der Monitor-Liste.

Die Bedingung öffnet sich in derselben geführten Satzform, die auch ein von Hand angelegter Schwellwert verwendet, sodass hundert importierte Alarme danach bearbeitbar bleiben – nichts daran ist ausschließlich über den Canvas erreichbar.

Sobald eine der vier Spalten zugeordnet ist, werden alle vier erforderlich, zusammen mit name (der Name der Bedingung und ihres Monitors) und escalationPolicy (wer bei einem daraus entstehenden Vorfall alarmiert wird) – eine Zeile kann keinen Schwellwert aus drei Feldern und einer Vermutung für das vierte bilden. Bleiben alle vier nicht zugeordnet, gilt weiterhin das oben beschriebene einfache Verhalten: Zeilen deklarieren nur Datenpunkte, ohne Bedingungen oder Monitore.

Bedingungsnamen sind pro Organisation eindeutig und Groß-/Kleinschreibung wird ignoriert. Eine Zeile, deren Name bereits vergeben ist – durch eine bestehende Bedingung oder durch eine andere Zeile derselben Datei –, schlägt bei der Validierung fehl, bevor irgendetwas geschrieben wird, genau wie bei einer ungültigen Adresse.

Der Schalter Erstellte Monitore aktivieren im Zuordnungsschritt entscheidet, ob die von diesem Lauf angelegten Monitore aktiv oder inaktiv starten. Aus (die Voreinstellung) legt sie inaktiv an: Sie stehen zur Prüfung in der Monitor-Liste, und die Auswertung überspringt einen inaktiven Monitor vollständig, sodass keiner von ihnen einen Vorfall auslösen kann, bis Sie ihn von Hand aktivieren. Ein schaltet sie sofort scharf. Das ist eine gute Voreinstellung für einen ersten Import von hundert Schwellwerten – prüfen Sie die erzeugten Bedingungen und aktivieren Sie dann die, die passen.

OPC-UA-Datenpunkte importieren

Organisationsadministratoren können viele OPC-UA-Datenpunkte auf einmal aus einer CSV-Datei mit Node-IDs deklarieren – der Fall einer Node-Liste eines Maschinenbauers oder eines großen Servers, den Sie lieber nicht durchsuchen möchten. Öffnen Sie die Detailseite einer OPC-UA-Datenquelle und wählen Sie Importieren, um den Assistenten zu öffnen – er ist bereits an diese Quelle gebunden.

Da die Quelle durch den Startpunkt des Imports feststeht, geht es in der Datei nur um Nodes und um nichts anderes: Eine Zeile besteht aus einer einzigen Spalte, nodeId. Anders als bei einem S7-Tag wird der Werttyp eines OPC-UA-Datenpunkts nicht deklariert – er wird aus der ersten Messung gelernt, genau wie beim Deklarieren von Hand – daher gibt es keine dataType-Spalte zuzuordnen. Die Spalten sind unter Spalten zuordnen aufgeführt.

Node-IDs werden nur auf gültige Syntax geprüft – ns=2;s=Line1.Temperature oder ns=3;i=1001, dieselbe Textform, die auch die Detailseite der Quelle verwendet. Ob der Node tatsächlich auf dem Server existiert, wird beim Import nicht geprüft: Das würde den Import von einem erreichbaren Server abhängig machen, was dem Sinn einer vorbereiteten Datei vor der Inbetriebnahme widerspricht. Eine Node-ID, die der Server nicht erkennt, kommt als fehlerhafte Messung zurück, sobald die Quelle sie abfragt – sichtbar auf der Detailseite der Quelle wie jede andere fehlerhafte Messung.

Eine Zeile, die den eigenen Gesundheitsprüfungs-Node der Quelle nennt, wird abgelehnt, genau wie beim Deklarieren von Hand – der Punkt existiert bereits als Erreichbarkeits-Sonde der Quelle, ihn erneut zu importieren würde einen zweiten, bedeutungslosen Lebendigkeitspunkt statt einer echten Messung anlegen.

Ein durch diesen Import deklarierter Datenpunkt ist übernommen und wird im Takt der Quelle gelesen, wie jeder andere Datenpunkt der Quelle. Eine Zeile, die einen bereits auf der Quelle deklarierten Node nennt, ist ein No-op – sie löst zum bestehenden Datenpunkt auf, statt ein Duplikat anzulegen, sodass ein erneuter Lauf einer unveränderten Datei folgenlos bleibt, und zwei Zeilen, die denselben Node unterschiedlich schreiben (etwa mit oder ohne führende Null im Bezeichner), lösen ebenfalls zu einem einzigen Datenpunkt auf.

Anders als beim CVE-Import läuft dieser Import alles oder nichts: Jede Zeile wird geprüft, bevor irgendetwas geschrieben wird, und wenn eine Zeile fehlschlägt, wird nichts angelegt – der Ergebnisschritt listet jede fehlgeschlagene Zeile auf, damit Sie die Datei korrigieren und es erneut versuchen können. Siehe Ergebnisse.

Auf die importierten Werte alarmieren

Werden vier weitere Spalten zugeordnet – aggregation, operation, operand und duration –, wird aus jeder Zeile statt einer reinen Datenpunkt-Deklaration ein Schwellwertalarm darauf: „Alarmieren, wenn der Durchschnitt von ns=3;s=Boiler.Pressure über 5 Minuten über 80 liegt". Sind bei einer Zeile alle vier Spalten zugeordnet, legt der Import an:

  • eine Bedingung – den Graphen Sensor → Aggregate → Compare → Alert – die an den von der Zeile deklarierten Datenpunkt gepinnt ist, und
  • einen Bedingungsmonitor, der darauf alarmiert, in der Gruppe Conditions der Monitor-Liste.

Die Bedingung öffnet sich in derselben geführten Satzform, die auch ein von Hand angelegter Schwellwert verwendet, sodass hundert importierte Alarme danach bearbeitbar bleiben – nichts daran ist ausschließlich über den Canvas erreichbar. Da der Werttyp eines OPC-UA-Datenpunkts erst aus seiner ersten Messung gelernt wird, importiert und validiert ein Schwellwert auf einen frisch deklarierten Node auch dann sauber, wenn sich der Node als boolescher Wert herausstellt – er löst unter einem numerischen Vergleich wie avg ... > 80 dann schlicht nie sinnvoll aus.

Sobald eine der vier Spalten zugeordnet ist, werden alle vier erforderlich, zusammen mit name (der Name der Bedingung und ihres Monitors) und escalationPolicy (wer bei einem daraus entstehenden Vorfall alarmiert wird) – eine Zeile kann keinen Schwellwert aus drei Feldern und einer Vermutung für das vierte bilden. Bleiben alle vier nicht zugeordnet, gilt weiterhin das oben beschriebene einfache Verhalten: Zeilen deklarieren nur Datenpunkte, ohne Bedingungen oder Monitore.

Bedingungsnamen sind pro Organisation eindeutig und Groß-/Kleinschreibung wird ignoriert. Eine Zeile, deren Name bereits vergeben ist – durch eine bestehende Bedingung oder durch eine andere Zeile derselben Datei –, schlägt bei der Validierung fehl, bevor irgendetwas geschrieben wird, genau wie bei einer ungültigen Node-ID.

Der Schalter Erstellte Monitore aktivieren im Zuordnungsschritt entscheidet, ob die von diesem Lauf angelegten Monitore aktiv oder inaktiv starten. Aus (die Voreinstellung) legt sie inaktiv an: Sie stehen zur Prüfung in der Monitor-Liste, und die Auswertung überspringt einen inaktiven Monitor vollständig, sodass keiner von ihnen einen Vorfall auslösen kann, bis Sie ihn von Hand aktivieren. Ein schaltet sie sofort scharf. Das ist eine gute Voreinstellung für einen ersten Import von hundert Schwellwerten – prüfen Sie die erzeugten Bedingungen und aktivieren Sie dann die, die passen.

CSV-Format

Die erste Zeile muss eine Kopfzeile mit Spaltennamen sein – im nächsten Schritt werden diese Namen den Feldern zugeordnet (die Zuordnung lässt sich von Hand anpassen). Speichern Sie die Datei als UTF-8 und halten Sie sich an die üblichen CSV-Regeln (RFC 4180): Werte mit Komma trennen und jeden Wert, der selbst ein Komma enthält, in doppelte Anführungszeichen setzen.

Als funktionierende Vorlage nutzen Sie im Upload-Schritt Beispiel-CSV herunterladen: Sie enthält die Spalten des gerade geöffneten Assistenten mit einer oder mehreren Beispielzeilen.

Schritt 1 — Hochladen

Ziehen Sie eine CSV-Datei in die Ablagefläche oder klicken Sie, um eine Datei auszuwählen. Eine Vorschautabelle zeigt die ersten Zeilen, damit Sie prüfen können, ob die Datei korrekt gelesen wurde; mit Ersetzen tauschen Sie die Datei aus. Klicken Sie auf Weiter oder auf Abbrechen, um den Assistenten zu schließen.

Schritt 2 — Spalten zuordnen

Ordnen Sie jedem Feld eine Spalte aus Ihrer CSV zu. Der Assistent erkennt passende Spaltennamen automatisch und befüllt die Zuordnung nach Möglichkeit vor. Für jedes Feld können Sie:

  • die CSV-Spalte wählen, deren Werte verwendet werden,
  • mit Fixer Wert… einen Wert für alle Zeilen festlegen (praktisch für gemeinsame Einstellungen wie die Eskalationsrichtlinie) oder
  • das Feld Nicht zugeordnet lassen – nur bei optionalen Feldern erlaubt.

Die Tabelle listet jede Spalte, ob sie erforderlich ist und welche Werte sie akzeptiert.

CVE-Monitor-Spalten

SpalteErforderlichGültige Werte / Format
monitorTypeJacve
nameJaFreitext
escalationPolicyJaName (exakt) oder numerische id einer bestehenden Eskalationsrichtlinie
vendorJaGerätehersteller, z. B. Siemens
orderCodeJaBestellnummer / MLFB des Geräts, z. B. 6ES7516-3AN00-0AB0
firmwareOptionalFirmware-Version, z. B. V2.9.2 (leer → passt auf alle Firmware-Versionen)
incidentMessageTemplateOptionalFreitext (die Nachricht selbst)

TIP

CVE-Monitore gleichen veröffentlichte Sicherheitsmeldungen über vendor + orderCode (+ optional firmware) mit einem Gerät ab. Siehe CVE-Monitore zur Funktionsweise des Abgleichs.

S7-Datenpunkt-Spalten

SpalteErforderlichGültige Werte / Format
addressJaEine S7-Adresse, z. B. DB1.DBW0 oder DB2.DBD4
dataTypeJaBOOL, BYTE, WORD, DWORD, INT, DINT oder REAL
nameNur wenn eine Schwellwert-Spalte zugeordnet istWie die Bedingung und ihr Monitor heißen sollen
escalationPolicyNur wenn eine Schwellwert-Spalte zugeordnet istName (exakt) oder numerische id einer bestehenden Eskalationsrichtlinie
aggregationAlle vier, oder keine (siehe unten)min, max, sum, avg (oder average), count
operationAlle vier, oder keinegt (oder >, above), gte (>=), lt (<, below), lte (<=), eq (=), neq (!=)
operandAlle vier, oder keineDer Schwellwert, z. B. 80
durationAlle vier, oder keineDas Aggregationsfenster: Sekunden, oder eine Zahl mit Einheit, z. B. 300, 5m, 1h

TIP

Siehe S7-Datenquellen, was jede Adressform und jeder Datentyp bedeutet, und Auf die importierten Werte alarmieren zu den vier Schwellwert-Spalten.

OPC-UA-Datenpunkt-Spalten

SpalteErforderlichGültige Werte / Format
nodeIdJaEine OPC-UA-Node-ID, z. B. ns=2;s=Line1.Temperature oder ns=3;i=1001
nameNur wenn eine Schwellwert-Spalte zugeordnet istWie die Bedingung und ihr Monitor heißen sollen
escalationPolicyNur wenn eine Schwellwert-Spalte zugeordnet istName (exakt) oder numerische id einer bestehenden Eskalationsrichtlinie
aggregationAlle vier, oder keine (siehe unten)min, max, sum, avg (oder average), count
operationAlle vier, oder keinegt (oder >, above), gte (>=), lt (<, below), lte (<=), eq (=), neq (!=)
operandAlle vier, oder keineDer Schwellwert, z. B. 80
durationAlle vier, oder keineDas Aggregationsfenster: Sekunden, oder eine Zahl mit Einheit, z. B. 300, 5m, 1h

TIP

Siehe OPC-UA-Konfiguration zur Node-ID-Syntax und dazu, wie der Werttyp eines Datenpunkts gelernt wird, sowie Auf die importierten Werte alarmieren zu den vier Schwellwert-Spalten.

Wenn alle erforderlichen Felder zugeordnet sind, klicken Sie auf Import starten. Um den Assistenten zu schließen und Ihre Arbeit zu verwerfen, klicken Sie auf Abbrechen; um die Zuordnungen zu behalten und später fortzufahren, schließen Sie den Bereich stattdessen mit der Schaltfläche × in der Kopfzeile – der Assistent setzt dort fort, wo Sie aufgehört haben.

Schritt 3 — Ergebnisse

Eine Zusammenfassung zeigt, wie viele Zeilen erfolgreich importiert wurden und wie viele fehlgeschlagen sind.

  • CVE-Monitore werden zeilenweise übernommen, sodass eine fehlgeschlagene Zeile die übrigen Zeilen nicht davon abhält, angelegt zu werden.
  • S7- und OPC-UA-Datenpunkte werden gemeinsam übernommen: Ist auch nur eine Zeile fehlgeschlagen, zeigt die Zusammenfassung null Erfolge, und es wurde nichts geschrieben.

Jede fehlgeschlagene Zeile wird mit der verursachenden Fehlermeldung aufgeführt. Klicken Sie auf Fehlgeschlagene Zeilen herunterladen, um nur diese Zeilen als CSV zu exportieren, sie zu korrigieren und die Datei erneut zu importieren.

Verwandte Themen