CLS Statistiken

Systeminformationen

Beschreibung

Das System kann regelmässig Statusinformationen zur Systemauslastung übermitteln. Diese Funktion hilft dabei die Auslastung zu kontrollieren und im Zweifelsfall auch durch die Deaktivierung von Prozessen gegensteuern zu können. Die Übermittlung findet - wenn aktiviert - jede Minute statt.

Konfiguration

Ob die Geräte Systemstatusinformationen übermitteln wird über die Konfiguration festgelegt. Der Parmeter stats.system muss auf den Wert 1 eingestellt sein, damit die Übertragung stattfindet.

Typ für die Abfrage im Datastore

Die Daten werden über die Serverfuntion sysstats übertragen und sind der MAC des Gateways zugeordnet.

Enthaltene Daten

Die Daten sind in einem JSON Objekt ablegt und es sind die folgende Bausteine enthalten:

  • ts Erzeugungszeitpunkt des Statistikobjektes als Unix-Timestamp
  • uptime Anzahl der Sekunden seit dem Start des Systems
  • idletime Anzahl der Sekunden in denen das System idle war, also kein Prozess arbeiten verrichten wollte oder konnte
  • load1 Load-Value der letzten Minute. Für die Bewertung dieses Wertes ist es notwendig zu wissen, wie viele CPUs das Gateway besitzt. Weitere Informationen liefert dieser Wikipediaartikel
  • load5 Load-Value der letzten 5 Minuten zur Erkennung von Tendenzen.
  • load15 Load-Value der letzten 15 Minuten zur Erkennung von Tendenzen.
  • runable Dieses Feld enthält zwei Informationen, welche durch einen Slash (/) getrennt sind. Der erste Teil gibt die Anzahl der laufenden Prozesse an, der zweite Teil die Gesamtzahl der Prozesse auf dem System
  • memfree Anzahl des freien Speicher des System in Kilobyte. Die hier angegebene Speichermenge kann sofort durch eine Anwendung vom Linux-System angefordert werden, ohne Speicherseiten umlagern zu müssen.

Datensatz aus dem Datastore

Bei der Abfrage über den Datastore sollte über die API unbedingt die MAC und der Typ der Abfrage spezifiziert werden.

{
  "version": 1,
  "uid" : "CLSCON-7w98437",
  "clsbox" : "AA:BB:CC:DD:EE:FF",
  "ts" : { 
    "device":  1536049997,
    "server" : 1536049998 
  },
  "type": "sysstats",
  "data": {
     "uptime": 1444040,
     "idletime": 13330,
     "load1": 0.1,
     "load5": 0.4,
     "load15": 0.2,
     "runable": "2/133",
     "memfree": 154444
  }
}

In den Daten wird der Wert ts für das Feld ts.device verwendet und nicht redundant unterhalb von data.ts gehalten.