Coder Social home page Coder Social logo

swobspace / cocard Goto Github PK

View Code? Open in Web Editor NEW
0.0 3.0 0.0 2.21 MB

Monitor gematik connectors and cards

Home Page: https://swobspace.github.io/cocard/

License: MIT License

Dockerfile 0.40% Ruby 74.53% JavaScript 1.79% SCSS 1.03% HTML 21.74% Shell 0.26% CSS 0.09% Handlebars 0.16%
monitoring telematik

cocard's Introduction

Cocard

Cocard - ein Akronym für Connectors and Cards - dient der Überwachung und Administration der lokalen Telematik-Infrastruktur. In größeren Umgebungen wie einem Verbund von mehreren Kliniken sind oft viele hundert Kartenterminals im Einsatz, die ausgerollt und überwacht werden müssen. Und manchmal scheitert der Einsatz der Telematik einfach nur daran, dass die Steckdosenleiste belegt war, ein Kollege das Netzteil das Kartenterminals gezogen und nach dem Laden des Smartphones oder Tablets das Netzteil nicht wieder eingesteckt hat.

Für die Identifikation der Betriebsstätte sind Zertifikate notwendig (SMC-B), die ein Ablaufdatum haben. Jedes Kartenterminal hat ebenfalls ein Zertifikat für die Absicherung der Kommunikation (SMC-KT). Das sind in den oben genannten Klinikverbünden hunderte von Ablaufdaten, die man im Auge behalten muss.

Cocard inventarisiert und überwacht Kartenterminals und Karten (SMC-B, SMC-KT) weitestgehend automatisiert. Im einfachsten Falle (ohne Client-Authentifikation am Konnektor; ein einheitlicher Kontext, mit dem man alle Systeme abfragen kann) genügt die Konfiguration des Konnektors mit IP-Adresse und einem Standard-Kontext. Den Rest erledigt Cocard.

Das Ergebnis stellt Cocard in einem Dashboard zusammen:

cocard dashboard

In den Abschnitten Connector, Card und Card Terminal werden alle Einträge mit WARNING (gelb) und CRITICAL (rot) angezeigt. Cocard folgt hier der der Klassifikation von Nagios, ergänzt um einen Zustand für nicht Betrieb/nicht konfiguriert:

  • 0 == OK (grün)

  • 1 == WARNING (gelb)

  • 2 == CRITICAL (rot)

  • 3 == UNKNOWN (helblau, in der Regel Konfigurationsfehler)

  • -1 = NOTHING (nicht in Betrieb oder nicht vollständig konfiguriert)

Ein Klick auf einen der Buttons ändert die Ansicht im jeweiligen Abschnitt und zeigt dann die Einträge mit dem gewählten Status an:

dashboard condition summary

Buttons, die nur umrandet sind haben keine Einträge zum jeweiligen Status.

Der Abschnitt Event Log zeigt die ausgewählte aktuelle Betriebszustandsmeldungen des Konnektors (OPERATIONAL_STATE) und SOAP-Fehlermeldungen, die bei der Abfrage entstehen (z.B. Kartenterminal ist dem Mandanten nicht zugeordnet, Für den Mandanten ist der Arbeitsplatz nicht dem Clientsystem zugeordnet).

Integration in CheckMK

Cocard verfügt über eine einfache Integration in CheckMK: über einen sogenannten Local Check lassen sich Konnektoren, Kartenterminals und Karten sehr einfach in CheckMK einbinden. Hier ein Beispiel für SMC-B-Karten:

cocard checkmk embedded

Wie funktioniert Cocard?

Cocard nutzt die von der Gematik definierten SOAP-Schnittstellen am Konnektor, insbesondere GetResourceInformation, GetCardTerminals, GetCards, GetPinStatus und ReadCardCertificate. Über SOAP sollte Cocard mit jedem Konnektor kommunizieren können, im Einsatz ist Cocard bisher mit der KoCoBox.

Eine entscheidende Rolle spielt der Kontext aus Mandant, ClientSystemID und Arbeitsplatz. Dieses Triple hat die Funktion eines Filters. Cocard sieht nur Kartenterminals und Karten, die am Konnektor zu diesem Kontext freigeschaltet sind.

Beim Konnektor und bei einer SMC-B-Karte kann man parallel mehrere Kontexte hinterlegen, z.B. für die Pin-Verifikation einer SMC-B-Karte gegen mehrere Mandanten oder beim Einsatz von mehreren Primärsystemen mit der selben SMC-B-Karte.

Installation

Cocard steht als Container für die Nutzung mit Docker/Podman bereit - optimiert für den Einsatz mit Podman und Quadlets. Neben dem Cocard-Container wird noch PostgreSQL und Redis benötigt (ebenfalls als Container).

Fragen, Bugs und andere Sachen …​

Fragen zu Cocard bitte in Discussions stellen. Issues bleibt den echten Bugs vorbehalten. Feature-Requests bitte ebenfalls zuerst in Diskussions einstellen. Nicht immer ist ein Feature-Request 1:1 umsetzbar, und machmal ist die Funktion bereits vorhanden, nur vielleicht nicht sofort erkennbar.

cocard's People

Contributors

swobspace avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.