Ein­lei­tung

In der heu­ti­gen daten­ge­trie­be­nen Welt ist ein fort­schritt­li­ches Log­ging und Log-Manage­ment ent­schei­dend für den Erfolg und die Sta­bi­li­tät jeder IT-Infrastruktur. Ange­sichts der zuneh­men­den Kom­ple­xi­tät von Sys­te­men, ins­be­son­dere in Cloud-Umge­bun­gen wie Azure, ist es uner­läss­lich, Log-Daten nicht nur zu ver­wal­ten, son­dern sie als Schlüs­sel für tief­grei­fende Ein­bli­cke in Per­for­mance, Sicher­heit und Effi­zi­enz zu nutzen.

Abbildung Codesnippet: Zeigt die Einstiegsfunktion des Logging Frameworks.

Unsere Azure-basierte Log-Manage­ment-Lösung bie­tet eine maß­ge­schnei­derte Ant­wort auf diese Her­aus­for­de­run­gen, indem sie Unter­neh­men mit den Werk­zeu­gen aus­stat­tet, die sie benö­ti­gen, um ihre Sys­teme effi­zi­ent zu über­wa­chen, schnell auf Pro­bleme zu reagie­ren und kon­ti­nu­ier­li­che Ver­bes­se­run­gen sowie Com­pli­ance zu gewährleisten.

Zen­trale Her­aus­for­de­run­gen des Log­gings und Lösungen:

  • Inte­gra­tion und Ver­ein­heit­li­chung ver­schie­de­ner Systeme:
    • Her­aus­for­de­rung: Die Viel­falt und Hete­ro­ge­ni­tät von IT-Sys­te­men und Anwen­dun­gen in einer Cloud-Umge­bung erschwe­ren ein ein­heit­li­ches Log-Management.
    • Lösung: Durch zen­tra­li­sierte Logik mit Azure Func­tions inte­grie­ren wir Sys­teme und Anwen­dun­gen naht­los. Dies schafft eine Platt­form für Logs und redu­ziert Komplexität.
  • Kos­ten­ef­fi­zi­enz im Log-Management:
    • Her­aus­for­de­rung: Die Ver­wal­tung gro­ßer Men­gen an Log-Daten kann schnell zu hohen Kos­ten füh­ren, ins­be­son­dere ohne opti­mierte Datenmanagementstrategien.
    • Lösung: Durch die Nut­zung von Azure Func­tions für die bedarfs­ori­en­tierte Ver­ar­bei­tung von Log-Daten und den Ein­satz von kos­ten­ef­fi­zi­en­ten Spei­cher­lö­sun­gen inner­halb von Azure opti­mie­ren wir die Kos­ten für die Daten­spei­che­rung und ‑ver­ar­bei­tung. Dies ermög­licht eine fle­xi­ble und ska­lier­bare Log-Manage­ment-Lösung, die sich den Bedürf­nis­sen und dem Bud­get des Unter­neh­mens anpasst.
  • Effi­zi­ente Iden­ti­fi­ka­tion und Behe­bung von Problemen:
    • Her­aus­for­de­rung: Die schnelle Erken­nung und Behe­bung von Pro­ble­men ist ent­schei­dend, um Betriebs­un­ter­bre­chun­gen zu mini­mie­ren und die Inte­gri­tät der IT-Infrastruktur zu sichern.
    • Lösung: Durch die Ver­wen­dung von Azure Func­tions zur Auto­ma­ti­sie­rung der Log-Ana­lyse und des Pro­blem­ma­nage­ments kön­nen wir effi­zi­ent auf Sys­tem­er­eig­nisse reagie­ren. Mit benut­zer­de­fi­nier­ter Logik iden­ti­fi­zie­ren und lösen wir Pro­bleme schnell, was Reak­ti­ons­zei­ten verkürzt.

Archi­tek­tur des Logging-Frameworks

Unsere Lösung ist modu­lar kon­zi­piert und passt sich jeder IT-Land­schaft an.

Abbildung IT-Architektur: Zeigt den Hauptaufbau des Logging Frameworks.

 Zu den Kern­kom­po­nen­ten gehören:

  • Sto­rage Account mit Log­ging Queues und Backup Log Blobs: Fun­giert als hoch­ver­füg­ba­rer Zwi­schen­spei­cher für Log-Nach­rich­ten, sodass auch bei einem teil­wei­sen Aus­fall von Sys­te­men Log-Nach­rich­ten erhal­ten bleiben.
  • Azure Key Vault: Ver­wal­tet Secrets (z.B. API-Tokens für tech­ni­sche Benut­zer), die zur Anbin­dung exter­ner Sys­teme (z.B. Ser­vice Now) not­wen­dig sind.
  • App Ser­vice Plan: Die Pro­ces­sing­schicht der Func­tion App. Diese wird benö­tigt, um die Log­ging­lö­sung in die interne Netz­werk­in­fra­struk­tur unse­rer Kun­den gesi­chert einzubinden.
  • Func­tion App: Das Herz­stück der Lösung mit der zen­tra­len Logik um Log­be­nach­rich­ti­gun­gen, E‑Mails, Ser­vice Now – Tickets und wei­tere auto­ma­ti­siert zu erstel­len. Frei erwei­ter­bar für ver­schie­denste Anwen­dungs­fälle auf Basis der Pro­gram­mier­spra­che Python und ein­fach kon­fi­gu­rier­bar über stan­dar­di­sierte Metadatentabellen.
  • Private End­points und dele­ga­ted Sub­net: Not­wen­dige Netz­werk­kom­po­nen­ten um die Azure Func­tion naht­los in die IT-Land­schaft unse­rer Kun­den einzubinden.
  • DevOps Pipe­lines: Das Deploy­ment aller Arte­fakte (Pro­gramm­code, Infrastruktur, Kon­fi­gu­ra­tion) der Log­ging­lö­sung auf alle Resour­cen (z.B. Azure Func­tion App, Sto­rage Account) wird über einen stan­dar­di­sier­ten CI/CD Pro­zess gesteu­ert, der die lücken­lose Kon­fi­gu­ra­tion der Lösung und Ver­än­de­run­gen des Log­gings nach­wei­sen kann.

Je nach Anfor­de­run­gen des Kun­den kann diese Infrastruktur auch red­un­dant in ver­schie­de­nen Umge­bun­gen (z.B. Deve­lo­p­ment, Inte­gra­tion und Pro­duk­tion) bereit­ge­stellt wer­den, um die kon­ti­nu­ier­li­che Wei­ter­ent­wick­lung des Sys­tems zu ermög­li­chen, bei wei­te­rer Redu­zie­rung der Gefahr von Produktionseinschränkungen.

Hier­ar­chi­sche Logik für das Log­ging von Datenpipelines

Damit das Log­ging­sys­tem sowohl ein­fach zu kon­fi­gu­rie­ren, als auch indi­vi­du­ell stark anpass­bar ist wird eine hier­ar­chi­sche Logik ver­wen­det wie in der fol­gen­den Abbil­dung zu sehen.

Abbildung Hierarchische Logging Logik: Zeigt die Verarbeitungslogik des Logging Frameworks.

Ein Sys­te­me­vent wird von der Log­ging­lö­sung als ein­zel­nes Loge­vent erfasst (Azure Sto­rage Queue Objekt), und wird gemäß der kon­fi­gu­rier­ten Steue­rungs­ta­belle von der Azure Func­tion App wei­ter­ver­ar­bei­tet. In der Steue­rungs­ta­belle kön­nen dabei Stan­dard­re­geln defi­niert wer­den, wie z.B. ein E‑Mailverteiler für alle kri­ti­schen Events (Total­aus­fall eines Sys­tems oder Daten­pipe­line) die alle Daten­pipe­lines abde­cken. So wird sicher­ge­stellt das ein Event auch für neu ent­wi­ckelte Pipe­lines von ent­schei­den­den Stake­hol­dern bemerkt wird, selbst wenn diese Ereig­nisse noch nicht in der Log­ging­lö­sung kon­fi­gu­riert sind.

Auf der nächs­ten Ebene kann aber auch eine genauere Log­ging­re­gel defi­niert wer­den, wel­che die Art des Log­ging­feh­lers genauer defi­niert. So kann es sein das ein Sys­tem viel­leicht einen kri­ti­schen Aus­fall erlei­det, aber für das Unter­neh­men zumin­dest nicht von mis­si­ons-kri­ti­scher Bedeu­tung ist. In dem Fall genügt die Benach­rich­ti­gung von ein­zel­nen tech­ni­schen Stakeholdern.

Im genau­es­ten defi­nier­ten Fall kann für jedes ein­zelne Inter­face fest­ge­legt wer­den, wie genau wer benach­rich­tigt wer­den soll, wenn bestimmte Feh­ler­codes oder Feh­ler­ka­te­go­rien erschei­nen. So kann bei­spiels­weise für die Ver­ar­bei­tung nur von Schnitt­stel­len von SAP zu einem bestimm­ten Ziel­sys­tem fest­ge­legt wer­den, dass im Falle eines Feh­ler­falls einer Daten­pipe­line mit unter­neh­mens­er­folgs­ge­fähr­den­den Ein­fluss, sofort meh­rere Busi­ness Stake­hol­der und tech­ni­sche Abtei­lun­gen über Dash­boards, Ser­vice Now Tickets und / oder E‑Mails direkt infor­miert wer­den sollen.

Eine Kom­bi­na­tion die­ser ver­schie­de­nen Regeln ist auf jeder der Prio­ri­täts­stu­fen mög­lich und ermög­licht größt­mög­li­che Fle­xi­bi­li­tät bei der Umset­zung ihrer Logging-Strategie.

Erwei­ter­bar­keit des Log­gings für externe Systeme

Die IT-Sys­tem­land­schaft von Unter­neh­men besteht nicht nur aus inter­nen Sys­te­men, son­dern ist häu­fig auch auf die Zusam­men­ar­beit mit exter­nen Unter­neh­men ange­wie­sen. Ein Sys­tem­aus­fall die­ser Unter­neh­men kann für ihr Unter­neh­men von glei­cher kri­ti­scher Bedeu­tung sein, wie ein inter­ner Aus­fall. Aus die­sem Grund ist unsere Lösung so kon­zi­piert das eine ein­heit­li­che Schnitt­stelle auch für externe Unter­neh­men oder Sub­un­ter­neh­men mit eige­ner IT-Land­schaft und Netz­wer­ken ver­schlüs­selt mög­lich ist. Dies kann bei­spiels­weise über das Private Link Sys­tem von Azure gesche­hen, wodurch ein Zugriff auf Sys­teme außer­halb der Sto­rage Account Log­ging Queue unmög­lich wird, und damit gerin­gere Her­aus­for­de­run­gen an ihre interne IT-Sicher­heit gestellt werden.

Wer diese Logs in ihr Log­ging­sys­tem auto­ma­ti­siert ein­pfle­gen darf, und wie ihr Log­ging auf bestimmte Events reagie­ren soll, unter­liegt dabei genau so ihren Kon­fi­gu­ra­ti­ons­wün­schen, wie bei den bereits beschrie­be­nen inter­nen IT-Systemen.

Vor­teile des Logging-Frameworks:

Zusamm­fas­send an die­ser Stelle eine kurze Über­sicht über die Vor- und Nach­teile die sich im Zuge der Imple­men­tie­rung die­ses Log­ging-Frame­works bei unse­ren Kun­den her­aus­ge­stellt haben.

Vor­teile:

  • Schnel­ler und siche­rer Auf­bau: Spe­zi­ell auf Unter­neh­mens­be­dürf­nisse zuge­schnit­tene, stan­dar­di­sierte Lösung ermög­licht eine zügige und sichere Implementierung.
  • Hohe Fle­xi­bi­li­tät: Unter­stützt eine Viel­zahl von Log­ging-Sze­na­rien „out-of-the-box“ und bie­tet ebenso Anpas­sungs­fä­hig­kei­ten für spe­zi­fi­sche Anforderungen.
  • Ein­fa­che Erwei­ter­bar­keit: Mit­tels Python kön­nen E‑Mail-Vor­la­gen, Log­ging­re­geln und die Inte­gra­tion diver­ser Sys­teme ein­fach ange­passt werden.
  • Voll­stän­dige CI/CD-Doku­men­ta­tion: Sichert die Nach­voll­zieh­bar­keit und Audi­tier­bar­keit von Ände­run­gen im Logging-System.
  • Hoher Sicher­heits­stan­dard: Erfüllt hohe Sicher­heits­an­for­de­run­gen, mini­miert Risi­ken für die IT-Infrastruktur.
  • Naht­lose Inte­gra­tion: Gewähr­leis­tet pro­blem­lose Ein­bin­dung in die bestehende Netzwerkarchitektur.
  • War­tungs­arm und kos­ten­ef­fi­zi­ent: Bie­tet eine war­tungs­arme, preis­werte Lösung, die kom­plexe Log­ging-Stra­te­gien unterstützt.
  • Schnelle Markt­ein­füh­rung: Bewährte Vor­ge­hens­weise ermög­licht eine rasche Imple­men­tie­rung mit bereits erfolg­reich umge­setz­ten Kundenprojekten.

Nach­teile:

  • Erfor­der­li­ches Wis­sen: Für die Ein­rich­tung und Anpas­sung ist Fach­wis­sen über Azure-Kom­po­nen­ten und deren Kon­fi­gu­ra­tion notwendig.
  • Inte­gra­ti­ons­er­for­der­nis: Die voll­stän­dige Inte­gra­tion der Azure-Kom­po­nen­ten in die bestehende IT-Infrastruktur ist unum­gäng­lich, was Res­sour­cen und Zeit in Anspruch neh­men kann.

Fazit:

Unsere Azure-basierte Log-Manage­ment-Lösung stellt eine zukunfts­si­chere, fle­xi­ble und kos­ten­ef­fi­zi­ente Mög­lich­keit dar, den Anfor­de­run­gen moder­ner IT-Infra­struk­tu­ren gerecht zu werden.

Die Lösung ist maß­ge­schnei­dert, um auch anspruchs­volle Kun­den­an­for­de­run­gen zu erfül­len, und bie­tet durch die Nut­zung von Azure-Stan­dard­kom­po­nen­ten eine naht­lose Inte­gra­tion in bestehende Sys­teme. Durch die bestehen­den Imple­men­tie­run­gen bei meh­re­ren Kun­den bestä­tigt unsere Lösung eine schnelle Time-To-Mar­ket und ermög­licht die Erwei­te­rung ihrer Funk­tio­na­li­tä­ten für ihre spe­zi­fi­schen IT-Sys­tem­land­schaf­ten mit gerin­gem Kostenaufwand.