{"id":2590,"date":"2026-03-25T15:50:21","date_gmt":"2026-03-25T15:50:21","guid":{"rendered":"https:\/\/www.mayit.eu\/?page_id=2590"},"modified":"2026-03-28T23:00:51","modified_gmt":"2026-03-28T23:00:51","slug":"enterprisemonitor","status":"publish","type":"page","link":"https:\/\/www.mayit.eu\/en\/enterprisemonitor\/","title":{"rendered":"enterprisemonitor"},"content":{"rendered":"<!doctype html>\n<html lang=\"de\">\n<head>\n  <meta charset=\"utf-8\" \/>\n  <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\" \/>\n  <title>Projektdokumentation \u2013 MayIT Enterprise Monitoring Platform<\/title>\n  <meta name=\"author\" content=\"MayIT\" \/>\n  <meta name=\"description\" content=\"Projektdokumentation der kompletten MayIT Enterprise Monitoring Platform mit Netdata, NOC Dashboard, Security Monitoring, Health Scores, Alerts, Betrieb und Troubleshooting.\" \/>\n  <style>\n    :root{\n      --bg:#0b0f14; --panel:#111827; --panel2:#0f172a;\n      --text:#e5e7eb; --muted:#9ca3af;\n      --accent:#60a5fa; --accent2:#34d399; --warn:#f59e0b; --danger:#fb7185; --ok:#22c55e;\n      --border:#1f2937; --codeborder:#1d2a3a;\n      --shadow: 0 10px 30px rgba(0,0,0,.35);\n      --radius: 16px;\n      --mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n      --sans: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Arial, \"Apple Color Emoji\",\"Segoe UI Emoji\";\n    }\n    *{box-sizing:border-box}\n    html{scroll-behavior:smooth}\n    body{\n      margin:0; font-family:var(--sans);\n      background:\n        radial-gradient(1200px 600px at 10% -10%, rgba(96,165,250,.18), transparent 55%),\n        radial-gradient(900px 500px at 80% 0%, rgba(52,211,153,.10), transparent 50%),\n        var(--bg);\n      color:var(--text);\n    }\n    a{color:var(--accent); text-decoration:none}\n    a:hover{text-decoration:underline}\n    .layout{display:flex; min-height:100vh}\n    .toc{\n      position:sticky; top:0; height:100vh; width:360px; min-width:300px;\n      padding:22px 18px;\n      background:linear-gradient(180deg, rgba(17,24,39,.92), rgba(15,23,42,.92));\n      border-right:1px solid var(--border); overflow:auto; backdrop-filter: blur(8px);\n    }\n    .brand{\n      display:flex; gap:10px; align-items:center;\n      padding:10px 10px 14px; border:1px solid var(--border);\n      border-radius:14px; background:rgba(11,18,32,.65); box-shadow:var(--shadow);\n      margin-bottom:14px;\n    }\n    .logo{\n      width:38px; height:38px; border-radius:12px;\n      background:linear-gradient(135deg, rgba(96,165,250,.95), rgba(52,211,153,.95));\n      display:flex; align-items:center; justify-content:center;\n      color:#06101c; font-weight:900;\n    }\n    .brand h1{font-size:14px; margin:0}\n    .brand .sub{font-size:12px; color:var(--muted); margin-top:2px}\n    .pill{\n      display:inline-flex; align-items:center; gap:8px;\n      font-size:12px; color:var(--muted);\n      padding:10px 12px; border:1px solid var(--border);\n      border-radius:999px; background:rgba(11,18,32,.55);\n      margin:10px 8px 0;\n    }\n    .pill b{color:var(--text)}\n    .toc h2{font-size:12px; margin:14px 10px 8px; color:var(--muted); letter-spacing:.08em; text-transform:uppercase}\n    .toc ul{list-style:none; margin:0; padding:0 6px 14px}\n    .toc li{margin:6px 0}\n    .toc a{\n      display:block; padding:8px 10px; border-radius:12px;\n      color:var(--text); border:1px solid transparent;\n    }\n    .toc a:hover{border-color:rgba(96,165,250,.35); background:rgba(96,165,250,.10); text-decoration:none}\n    .main{flex:1; padding:28px 26px 80px}\n    .container{max-width:1120px; margin:0 auto}\n    .hero{\n      padding:22px; border-radius: var(--radius);\n      background: linear-gradient(180deg, rgba(17,24,39,.55), rgba(15,23,42,.35));\n      border:1px solid var(--border); box-shadow: var(--shadow);\n    }\n    .hero h1{font-size:28px; margin:0 0 8px}\n    .hero .meta{display:flex; flex-wrap:wrap; gap:10px; margin-top:12px}\n    .tag{\n      font-size:12px; color:var(--text);\n      padding:8px 12px; border-radius:999px;\n      border:1px solid var(--border); background:rgba(11,18,32,.55);\n    }\n    section{margin-top:18px}\n    .card{\n      padding:18px; border-radius: var(--radius);\n      border:1px solid var(--border);\n      background: rgba(11,18,32,.55);\n      box-shadow: var(--shadow);\n    }\n    .card h3{margin:0 0 10px; font-size:18px}\n    .muted{color:var(--muted)}\n    .small{font-size:12px}\n    .note, .warn, .danger, .ok{\n      border-radius:14px; padding:12px 14px; border:1px solid var(--border);\n      background: rgba(96,165,250,.08);\n    }\n    .warn{background: rgba(245,158,11,.10); border-color: rgba(245,158,11,.25)}\n    .danger{background: rgba(251,113,133,.10); border-color: rgba(251,113,133,.25)}\n    .ok{background: rgba(34,197,94,.10); border-color: rgba(34,197,94,.25)}\n    .hr{height:1px; background:var(--border); margin:14px 0}\n    .grid{display:grid; gap:14px}\n    @media (min-width: 980px){\n      .grid.cols2{grid-template-columns: 1fr 1fr}\n      .grid.cols3{grid-template-columns: 1fr 1fr 1fr}\n    }\n    table{width:100%; border-collapse:separate; border-spacing:0; overflow:hidden; border-radius:14px; border:1px solid var(--border)}\n    th, td{padding:10px; border-bottom:1px solid var(--border); vertical-align:top}\n    th{background:rgba(17,24,39,.55); text-align:left; font-size:12px; text-transform:uppercase; letter-spacing:.08em; color:var(--muted)}\n    tr:last-child td{border-bottom:none}\n    .codewrap{position:relative; margin-top:10px}\n    pre{\n      margin:0; padding:14px; overflow:auto; border-radius:14px;\n      background:linear-gradient(180deg, rgba(10,15,26,.95), rgba(10,15,26,.85));\n      border:1px solid var(--codeborder); color:var(--text);\n      font-family: var(--mono); font-size:12.8px; line-height:1.45;\n    }\n    .copybtn{\n      position:absolute; top:10px; right:10px;\n      border:1px solid var(--border); background:rgba(15,23,42,.70);\n      color:var(--text); padding:8px 10px; border-radius:12px;\n      cursor:pointer; font-size:12px; display:flex; align-items:center; gap:8px;\n    }\n    .copybtn:hover{border-color:rgba(96,165,250,.40); background:rgba(96,165,250,.12)}\n    .copybtn .dot{width:8px; height:8px; border-radius:99px; background:var(--accent)}\n    .kbd{display:inline-block; padding:2px 8px; border-radius:10px; border:1px solid var(--border); background:rgba(15,23,42,.55); font-family:var(--mono); font-size:12px}\n    .badge{display:inline-flex; align-items:center; gap:8px; padding:8px 10px; border-radius:999px; border:1px solid var(--border); background:rgba(15,23,42,.35); font-size:12px}\n    .badge .b{width:8px;height:8px;border-radius:99px;background:var(--accent2)}\n    .footer{\n      margin-top:18px; padding:16px 18px; border-radius: var(--radius);\n      border:1px solid var(--border); background:rgba(11,18,32,.45); color:var(--muted)\n    }\n    .footer b{color:var(--text)}\n    details{\n      border:1px solid var(--border); border-radius:14px; padding:10px 12px; background:rgba(15,23,42,.25)\n    }\n    summary{cursor:pointer; color:var(--text); font-weight:700}\n    details p, details ul{color:var(--muted)}\n    .print-only{display:none}\n    @media print{\n      body{background:#fff; color:#000}\n      .layout{display:block}\n      .toc{display:none}\n      .hero, .card, .footer, details{box-shadow:none; background:#fff; border:1px solid #ddd}\n      pre{background:#f7f7f7; color:#000; border:1px solid #ddd}\n      .copybtn{display:none}\n      a{color:#000; text-decoration:underline}\n      .print-only{display:block}\n    }\n  <\/style>\n<\/head>\n<body>\n  <div class=\"layout\">\n    <aside class=\"toc\">\n      <div class=\"brand\">\n        <div class=\"logo\">M<\/div>\n        <div>\n          <h1>Projektdokumentation<\/h1>\n          <div class=\"sub\">Monitoring \u2022 Security \u2022 Operations \u2022 Autor: <b>MayIT<\/b><\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"pill\"><b>Ziel:<\/b> Vollst\u00e4ndige Dokumentation der MayIT Monitoring Platform<\/div>\n\n      <h2>Navigation<\/h2>\n      <ul>\n        <li><a href=\"#scope\">Scope &#038; Zielbild<\/a><\/li>\n        <li><a href=\"#architecture\">System- und Monitoring-Architektur<\/a><\/li>\n        <li><a href=\"#dashboards\">Dashboards &#038; Zugriffe<\/a><\/li>\n        <li><a href=\"#backend\">Monitoring Backend \/ enterprise-report<\/a><\/li>\n        <li><a href=\"#tiles\">Dashboard-Kacheln<\/a><\/li>\n        <li><a href=\"#health\">Health-Scores &#038; Bewertungslogik<\/a><\/li>\n        <li><a href=\"#security\">Security Monitoring<\/a><\/li>\n        <li><a href=\"#alerts\">Alerts &#038; Eskalation<\/a><\/li>\n        <li><a href=\"#operations\">Betrieb &#038; Aufgabenmodell<\/a><\/li>\n        <li><a href=\"#troubleshooting\">Troubleshooting<\/a><\/li>\n        <li><a href=\"#backup\">Backup &#038; Recovery<\/a><\/li>\n        <li><a href=\"#appendix\">Anhang<\/a><\/li>\n      <\/ul>\n\n      <h2>Quick Links<\/h2>\n      <ul>\n        <li><a href=\"#api-output\">API Output<\/a><\/li>\n        <li><a href=\"#health-matrix\">Health-Matrix<\/a><\/li>\n        <li><a href=\"#alert-matrix\">Alert-Matrix<\/a><\/li>\n      <\/ul>\n\n      <div class=\"footer small\">\n        <div><b>Stand:<\/b> 2026-03-15<\/div>\n        <div class=\"hr\"><\/div>\n        <div>Dokument: HTML \u2022 Upload geeignet \u2022 Dark Enterprise Style<\/div>\n      <\/div>\n    <\/aside>\n\n    <main class=\"main\">\n      <div class=\"container\">\n        <div class=\"hero\">\n          <h1>MayIT Enterprise Monitoring Platform \u2013 Projektdokumentation<\/h1>\n          <div class=\"muted\">\n            Diese Projektdokumentation beschreibt das komplette Monitoring-System der MayIT Umgebung:\n            Netdata Dashboard, NOC Dashboard, NodeJS Monitoring API, Security Monitoring, Health Scores,\n            Alerts, Betrieb, Troubleshooting sowie Backup- und Recovery-Aspekte.\n          <\/div>\n          <div class=\"meta\">\n            <span class=\"tag\">Autor: MayIT<\/span>\n            <span class=\"tag\">Netdata + NOC Dashboard<\/span>\n            <span class=\"tag\">Security Monitoring<\/span>\n            <span class=\"tag\">Web Stack Health<\/span>\n            <span class=\"tag\">Operations Dokumentation<\/span>\n          <\/div>\n        <\/div>\n\n        <section id=\"scope\" class=\"card\">\n          <h3>Scope &#038; Zielbild<\/h3>\n          <div class=\"grid cols2\">\n            <div>\n              <div class=\"note\">\n                <b>Zielbild:<\/b> Eine zentrale Monitoring-Plattform f\u00fcr Infrastruktur, Webstack, Anwendung\n                und Security-Telemetrie mit schneller visueller Diagnosef\u00e4higkeit.\n              <\/div>\n              <div class=\"hr\"><\/div>\n              <ul>\n                <li><b>Observability:<\/b> CPU, RAM, Disk, Load, Uptime, Service States.<\/li>\n                <li><b>Application Monitoring:<\/b> Nextcloud Status und Web Stack Health.<\/li>\n                <li><b>Security Monitoring:<\/b> SSH Angriffe, Fail2Ban Kennzahlen, Attack Trends, GeoIP.<\/li>\n                <li><b>Operations:<\/b> Alerts, Health Scores, Troubleshooting und Wiederherstellbarkeit.<\/li>\n              <\/ul>\n            <\/div>\n            <div>\n              <div class=\"ok\">\n                <b>Projektziel:<\/b> Das Monitoring soll nicht nur Zust\u00e4nde anzeigen, sondern operativ verwertbare\n                Informationen f\u00fcr Diagnose, Security und Betrieb liefern.\n              <\/div>\n              <div class=\"hr\"><\/div>\n              <div class=\"warn\">\n                <b>Leitprinzip:<\/b> Kleine, stabile \u00c4nderungen \u2013 kein unkontrolliertes Umbauen funktionierender\n                Zust\u00e4nde. Vor jeder gr\u00f6\u00dferen Anpassung werden Backups von <span class=\"kbd\">index.html<\/span> und\n                <span class=\"kbd\">server.js<\/span> erstellt.\n              <\/div>\n            <\/div>\n          <\/div>\n        <\/section>\n\n        <section id=\"architecture\" class=\"card\">\n          <h3>System- und Monitoring-Architektur<\/h3>\n          <div class=\"grid cols2\">\n            <div>\n              <div class=\"badge\"><span class=\"b\"><\/span><b>Architekturprinzip:<\/b> Infrastruktur + Security + Dashboard + API<\/div>\n              <div class=\"hr\"><\/div>\n              <table>\n                <thead><tr><th>Layer<\/th><th>Komponente<\/th><th>Funktion<\/th><\/tr><\/thead>\n                <tbody>\n                  <tr><td>Infrastructure<\/td><td>Netcup VPS \/ Debian \/ YunoHost<\/td><td>Basisplattform<\/td><\/tr>\n                  <tr><td>Application<\/td><td>Nextcloud<\/td><td>Datei- und Collaboration-Plattform<\/td><\/tr>\n                  <tr><td>Web Stack<\/td><td>nginx, PHP-FPM, MariaDB<\/td><td>Webserver, Runtime, Datenbank<\/td><\/tr>\n                  <tr><td>Security<\/td><td>Fail2Ban, SSH Logs<\/td><td>Angriffs- und Bann-Telemetrie<\/td><\/tr>\n                  <tr><td>Monitoring<\/td><td>Netdata<\/td><td>Realtime Infrastruktur-Metriken<\/td><\/tr>\n                  <tr><td>Monitoring API<\/td><td>mayit-monitor (NodeJS)<\/td><td>Aggregierter enterprise-report<\/td><\/tr>\n                  <tr><td>Visualization<\/td><td>NOC Dashboard<\/td><td>Enterprise Monitoring Oberfl\u00e4che<\/td><\/tr>\n                <\/tbody>\n              <\/table>\n            <\/div>\n            <div>\n              <div class=\"note\">\n                <b>Kernidee:<\/b> Netdata liefert die Infrastruktur-Metriken. Die NodeJS Monitoring API sammelt\n                zus\u00e4tzliche Betriebs- und Security-Daten und stellt diese in einer einheitlichen Text-API bereit.\n                Das NOC Dashboard visualisiert diese Werte in Kacheln, Tabellen, Trends und Karten.\n              <\/div>\n              <div class=\"hr\"><\/div>\n              <div class=\"codewrap\">\n                <button class=\"copybtn\" data-copy=\"#arch1\"><span class=\"dot\"><\/span>Copy<\/button>\n                <pre id=\"arch1\">User \/ Operator\n   \u2502\n   \u251c\u2500\u2500 Netdata Dashboard  (mitmonitor.mayit.eu)\n   \u2514\u2500\u2500 NOC Dashboard      (mitmonitor.mayit.eu\/noc)\n                           \u2502\n                    mayit-monitor (NodeJS \/ enterprise-report)\n                           \u2502\n       \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n       \u2502                   \u2502                    \u2502\n     nginx             PHP-FPM              MariaDB\n       \u2502                   \u2502                    \u2502\n                       Nextcloud            Fail2Ban \/ SSH Logs<\/pre>\n              <\/div>\n            <\/div>\n          <\/div>\n        <\/section>\n\n        <section id=\"dashboards\" class=\"card\">\n          <h3>Dashboards &#038; Zugriffe<\/h3>\n          <div class=\"grid cols2\">\n            <div>\n              <div class=\"note\"><b>Netdata Dashboard<\/b><\/div>\n              <div class=\"codewrap\">\n                <button class=\"copybtn\" data-copy=\"#dash1\"><span class=\"dot\"><\/span>Copy<\/button>\n                <pre id=\"dash1\">https:\/\/mitmonitor.mayit.eu\/#menu_system_submenu_cpu;after=-540;before=0;theme=slate;utc=Europe\/Berlin<\/pre>\n              <\/div>\n              <div class=\"muted small\" style=\"margin-top:10px\">\n                Zweck: Realtime Infrastrukturmonitoring f\u00fcr CPU, RAM, Load, Netzwerk, Prozesse und Systemperformance.\n              <\/div>\n            <\/div>\n            <div>\n              <div class=\"note\"><b>NOC Dashboard<\/b><\/div>\n              <div class=\"codewrap\">\n                <button class=\"copybtn\" data-copy=\"#dash2\"><span class=\"dot\"><\/span>Copy<\/button>\n                <pre id=\"dash2\">https:\/\/mitmonitor.mayit.eu\/noc<\/pre>\n              <\/div>\n              <div class=\"muted small\" style=\"margin-top:10px\">\n                Zweck: Operatives Enterprise Dashboard mit Systemstatus, Security, Attack Intelligence, Alerts und Reports.\n              <\/div>\n            <\/div>\n          <\/div>\n\n          <div class=\"hr\"><\/div>\n          <div class=\"warn\">\n            <b>Zugriffsschutz:<\/b> Der Bereich <span class=\"kbd\">\/noc<\/span> ist per HTTP Basic Authentication abgesichert\n            und darf nicht \u00f6ffentlich ungesch\u00fctzt erreichbar sein.\n          <\/div>\n        <\/section>\n\n        <section id=\"backend\" class=\"card\">\n          <h3>Monitoring Backend \/ enterprise-report<\/h3>\n          <div class=\"grid cols2\">\n            <div>\n              <div class=\"note\"><b>Backend-Komponente<\/b><\/div>\n              <ul>\n                <li>Datei: <span class=\"kbd\">\/opt\/mayit-monitor\/server.js<\/span><\/li>\n                <li>Service: <span class=\"kbd\">mayit-monitor<\/span><\/li>\n                <li>Runtime: NodeJS \/ Express<\/li>\n                <li>Port: <span class=\"kbd\">3000<\/span><\/li>\n              <\/ul>\n            <\/div>\n            <div id=\"api-output\">\n              <div class=\"note\"><b>API Endpoint<\/b><\/div>\n              <div class=\"codewrap\">\n                <button class=\"copybtn\" data-copy=\"#api1\"><span class=\"dot\"><\/span>Copy<\/button>\n                <pre id=\"api1\">curl http:\/\/127.0.0.1:3000\/enterprise-report<\/pre>\n              <\/div>\n            <\/div>\n          <\/div>\n\n          <div class=\"hr\"><\/div>\n          <table>\n            <thead><tr><th>Wert<\/th><th>Bedeutung<\/th><th>Quelle<\/th><\/tr><\/thead>\n            <tbody>\n              <tr><td>Load<\/td><td>Systemlast<\/td><td>uptime<\/td><\/tr>\n              <tr><td>CPU_Usage<\/td><td>aktuelle CPU Auslastung<\/td><td>\/proc\/stat<\/td><\/tr>\n              <tr><td>RAM<\/td><td>belegter vs. gesamter RAM<\/td><td>free -m<\/td><\/tr>\n              <tr><td>Disk<\/td><td>belegter vs. gesamter Speicherplatz<\/td><td>df -h \/<\/td><\/tr>\n              <tr><td>Backup*<\/td><td>Status, Alter, letzter Lauf<\/td><td>Backup-Verzeichnis<\/td><\/tr>\n              <tr><td>Fail2ban_*<\/td><td>Jails, Bans, Failed, Total Banned<\/td><td>fail2ban-client<\/td><\/tr>\n              <tr><td>SSH_Attacks*<\/td><td>24h, 60m und Attacks\/min<\/td><td>journalctl \/ sshd<\/td><\/tr>\n              <tr><td>Top_Attacker*<\/td><td>h\u00e4ufigste Angreifer-IP<\/td><td>journalctl \/ sshd<\/td><\/tr>\n              <tr><td>GeoIP_Countries<\/td><td>Angriffsl\u00e4nder<\/td><td>geoiplookup<\/td><\/tr>\n              <tr><td>Attack_Trend_24h \/ 7d<\/td><td>Angriffsverlauf<\/td><td>journalctl \/ Aggregation<\/td><\/tr>\n              <tr><td>nginx_Status<\/td><td>Servicezustand<\/td><td>systemctl<\/td><\/tr>\n              <tr><td>MariaDB_Status<\/td><td>Servicezustand<\/td><td>systemctl<\/td><\/tr>\n              <tr><td>PHP_FPM_Status<\/td><td>Servicezustand<\/td><td>systemctl<\/td><\/tr>\n              <tr><td>Nextcloud_Status<\/td><td>App-\/OCC-Zustand<\/td><td>php occ status<\/td><\/tr>\n              <tr><td>Services<\/td><td>globaler Fehlerservice-Indikator<\/td><td>systemctl &#8211;failed<\/td><\/tr>\n            <\/tbody>\n          <\/table>\n        <\/section>\n\n        <section id=\"tiles\" class=\"card\">\n          <h3>Dashboard-Kacheln<\/h3>\n          <div class=\"grid cols2\">\n            <div>\n              <div class=\"note\"><b>System &#038; Infrastruktur<\/b><\/div>\n              <table style=\"margin-top:12px\">\n                <thead><tr><th>Kachel<\/th><th>Inhalt<\/th><\/tr><\/thead>\n                <tbody>\n                  <tr><td>CPU Load<\/td><td>Load Average<\/td><\/tr>\n                  <tr><td>CPU Usage<\/td><td>Momentane CPU Auslastung<\/td><\/tr>\n                  <tr><td>Disk Usage<\/td><td>Belegter Speicher \/ Prozentwert<\/td><\/tr>\n                  <tr><td>RAM Usage<\/td><td>Genutzter Arbeitsspeicher \/ Prozentwert<\/td><\/tr>\n                  <tr><td>Uptime<\/td><td>Systemlaufzeit<\/td><\/tr>\n                  <tr><td>Backup Status<\/td><td>Backup erfolgreich \/ fehlgeschlagen<\/td><\/tr>\n                  <tr><td>Backup Age<\/td><td>Tage seit letztem Backup<\/td><\/tr>\n                  <tr><td>Last Backup<\/td><td>Zeitpunkt des letzten Backups<\/td><\/tr>\n                  <tr><td>Health Score<\/td><td>Gesamtsystembewertung<\/td><\/tr>\n                  <tr><td>Services<\/td><td>Fehlerfreie \/ fehlerhafte Systemdienste<\/td><\/tr>\n                <\/tbody>\n              <\/table>\n            <\/div>\n            <div>\n              <div class=\"note\"><b>Web Stack &#038; Security<\/b><\/div>\n              <table style=\"margin-top:12px\">\n                <thead><tr><th>Kachel<\/th><th>Inhalt<\/th><\/tr><\/thead>\n                <tbody>\n                  <tr><td>Nextcloud Status<\/td><td>installed \/ version \/ maintenance \/ needsDbUpgrade<\/td><\/tr>\n                  <tr><td>Nextcloud Health<\/td><td>Health Score f\u00fcr Nextcloud<\/td><\/tr>\n                  <tr><td>MariaDB Status<\/td><td>Servicezustand<\/td><\/tr>\n                  <tr><td>MariaDB Health<\/td><td>Health Score f\u00fcr MariaDB<\/td><\/tr>\n                  <tr><td>PHP-FPM Status<\/td><td>Servicezustand<\/td><\/tr>\n                  <tr><td>PHP-FPM Health<\/td><td>Health Score f\u00fcr PHP-FPM<\/td><\/tr>\n                  <tr><td>nginx Status<\/td><td>Servicezustand<\/td><\/tr>\n                  <tr><td>nginx Health<\/td><td>Health Score f\u00fcr nginx<\/td><\/tr>\n                  <tr><td>Web Stack Health<\/td><td>Gesamtscore aus nginx, PHP-FPM, MariaDB, Nextcloud<\/td><\/tr>\n                  <tr><td>Security Risk<\/td><td>Risikobewertung aus Angriffs- und Systemwerten<\/td><\/tr>\n                <\/tbody>\n              <\/table>\n            <\/div>\n          <\/div>\n\n          <div class=\"hr\"><\/div>\n          <div class=\"grid cols2\">\n            <div>\n              <div class=\"note\"><b>Fail2Ban &#038; SSH<\/b><\/div>\n              <table style=\"margin-top:12px\">\n                <thead><tr><th>Kachel<\/th><th>Inhalt<\/th><\/tr><\/thead>\n                <tbody>\n                  <tr><td>Fail2Ban Jails<\/td><td>Anzahl aktiver Jails<\/td><\/tr>\n                  <tr><td>Fail2Ban Banned<\/td><td>Aktuell gebannte IPs<\/td><\/tr>\n                  <tr><td>Fail2Ban Failed<\/td><td>Aktuell fehlgeschlagene Logins<\/td><\/tr>\n                  <tr><td>Fail2Ban Total Banned<\/td><td>Historisch insgesamt gebannte IPs<\/td><\/tr>\n                  <tr><td>SSH Attacks (24h)<\/td><td>Erkannte SSH Login-Angriffe der letzten 24h<\/td><\/tr>\n                  <tr><td>SSH Attacks (60m)<\/td><td>Erkannte SSH Login-Angriffe der letzten 60 Minuten<\/td><\/tr>\n                  <tr><td>Attacks \/ Min<\/td><td>SSH Angriffsrate pro Minute<\/td><\/tr>\n                <\/tbody>\n              <\/table>\n            <\/div>\n            <div>\n              <div class=\"note\"><b>Attack Intelligence<\/b><\/div>\n              <table style=\"margin-top:12px\">\n                <thead><tr><th>Element<\/th><th>Inhalt<\/th><\/tr><\/thead>\n                <tbody>\n                  <tr><td>Top 10 Attackers<\/td><td>Rangliste der h\u00e4ufigsten Angreifer-IP-Adressen<\/td><\/tr>\n                  <tr><td>Attack Countries<\/td><td>GeoIP L\u00e4nder, Codes, Attack Count und Share<\/td><\/tr>\n                  <tr><td>Attack Map<\/td><td>Weltkarte der Angriffsherkunft<\/td><\/tr>\n                  <tr><td>Attack Trend 24h<\/td><td>Liniendiagramm der Angriffe pro Stunde<\/td><\/tr>\n                  <tr><td>Attack Trend 7d<\/td><td>Balkendiagramm der Angriffe pro Tag<\/td><\/tr>\n                  <tr><td>Enterprise Report<\/td><td>Strukturierte Betriebs\u00fcbersicht<\/td><\/tr>\n                  <tr><td>Security Report<\/td><td>Security-Fokus mit SSH\/Fail2Ban\/Backup<\/td><\/tr>\n                  <tr><td>System Alerts<\/td><td>Aktive Warnungen und kritische Ereignisse<\/td><\/tr>\n                <\/tbody>\n              <\/table>\n            <\/div>\n          <\/div>\n        <\/section>\n\n        <section id=\"health\" class=\"card\">\n          <h3>Health-Scores &#038; Bewertungslogik<\/h3>\n          <div id=\"health-matrix\" class=\"grid cols2\">\n            <div>\n              <div class=\"ok\"><b>Health Score<\/b><\/div>\n              <p class=\"muted\">Globaler Infrastruktur-Score, berechnet aus CPU, RAM, Disk, Backup, Services, Bans und SSH-Angriffen.<\/p>\n              <table>\n                <thead><tr><th>Einfluss<\/th><th>Bewertung<\/th><\/tr><\/thead>\n                <tbody>\n                  <tr><td>CPU Usage<\/td><td>Abzug bei hoher Last<\/td><\/tr>\n                  <tr><td>RAM Usage<\/td><td>Abzug ab erh\u00f6htem Verbrauch<\/td><\/tr>\n                  <tr><td>Disk Usage<\/td><td>starker Abzug ab hoher Auslastung<\/td><\/tr>\n                  <tr><td>Backup != OK<\/td><td>kritischer Abzug<\/td><\/tr>\n                  <tr><td>Services != OK<\/td><td>kritischer Abzug<\/td><\/tr>\n                  <tr><td>Fail2Ban Banned<\/td><td>moderater Abzug bei erh\u00f6htem Wert<\/td><\/tr>\n                  <tr><td>SSH Attacks 24h<\/td><td>moderater Abzug bei hoher Angriffszahl<\/td><\/tr>\n                <\/tbody>\n              <\/table>\n            <\/div>\n            <div>\n              <div class=\"ok\"><b>Security Risk<\/b><\/div>\n              <p class=\"muted\">Eigenst\u00e4ndige Risikokachel, fokussiert auf Angriffe, Fail2Ban, Backup und kritische Systemgrenzen.<\/p>\n              <table>\n                <thead><tr><th>Einfluss<\/th><th>Bewertung<\/th><\/tr><\/thead>\n                <tbody>\n                  <tr><td>SSH Attacks 24h<\/td><td>mehr Angriffe = h\u00f6heres Risiko<\/td><\/tr>\n                  <tr><td>SSH Attacks 60m<\/td><td>Attack-Rate erh\u00f6ht Risiko<\/td><\/tr>\n                  <tr><td>Fail2Ban Banned<\/td><td>hohe Bann-Aktivit\u00e4t erh\u00f6ht Risiko<\/td><\/tr>\n                  <tr><td>Backup != OK<\/td><td>kritischer Risikosprung<\/td><\/tr>\n                  <tr><td>RAM &gt; 90%<\/td><td>kritischer Abzug<\/td><\/tr>\n                  <tr><td>Disk &gt; 90%<\/td><td>kritischer Abzug<\/td><\/tr>\n                  <tr><td>Services != OK<\/td><td>kritischer Abzug<\/td><\/tr>\n                <\/tbody>\n              <\/table>\n            <\/div>\n          <\/div>\n\n          <div class=\"hr\"><\/div>\n          <div class=\"grid cols3\">\n            <div class=\"note\">\n              <b>Nextcloud Health<\/b><br>\n              Startwert 100.<br>\n              Abzug, wenn:\n              <ul>\n                <li>installed != true<\/li>\n                <li>maintenance != false<\/li>\n                <li>needsDbUpgrade != false<\/li>\n              <\/ul>\n            <\/div>\n            <div class=\"note\">\n              <b>MariaDB Health<\/b><br>\n              Startwert 100.<br>\n              Aktuell einfache Bewertung:\n              <ul>\n                <li>Service active = 100<\/li>\n                <li>Service != active = 0<\/li>\n              <\/ul>\n            <\/div>\n            <div class=\"note\">\n              <b>PHP-FPM \/ nginx Health<\/b><br>\n              Ebenfalls servicebasiert:\n              <ul>\n                <li>active = 100<\/li>\n                <li>inactive \/ failed = 0<\/li>\n              <\/ul>\n            <\/div>\n          <\/div>\n\n          <div class=\"hr\"><\/div>\n          <div class=\"warn\">\n            <b>Web Stack Health:<\/b> Kombinierter Score aus nginx, PHP-FPM, MariaDB und Nextcloud.\n            Ein Ausfall oder eine negative Bewertung eines Bestandteils reduziert den Gesamtscore.\n          <\/div>\n        <\/section>\n\n        <section id=\"security\" class=\"card\">\n          <h3>Security Monitoring<\/h3>\n          <div class=\"grid cols2\">\n            <div>\n              <div class=\"note\"><b>SSH Monitoring<\/b><\/div>\n              <ul>\n                <li>Auswertung der SSH Login-Logs via <span class=\"kbd\">journalctl<\/span><\/li>\n                <li>Trennung in 24h und 60m Kennzahlen<\/li>\n                <li>Berechnung einer Attack-Rate pro Minute<\/li>\n                <li>Identifikation der h\u00e4ufigsten Angreifer-IP<\/li>\n                <li>Aggregation zu Top 10 Attackers<\/li>\n              <\/ul>\n            <\/div>\n            <div>\n              <div class=\"note\"><b>Fail2Ban Monitoring<\/b><\/div>\n              <ul>\n                <li>Aktive Jails<\/li>\n                <li>Aktuell gebannte IPs<\/li>\n                <li>Aktuell fehlgeschlagene Logins<\/li>\n                <li>Historische Gesamtzahl gebannter IPs<\/li>\n                <li>Einbindung in Security Risk und Security Report<\/li>\n              <\/ul>\n            <\/div>\n          <\/div>\n\n          <div class=\"hr\"><\/div>\n          <div class=\"grid cols2\">\n            <div>\n              <div class=\"note\"><b>GeoIP Intelligence<\/b><\/div>\n              <ul>\n                <li>GeoIP Lookup der Top Angreifer<\/li>\n                <li>Aggregation nach L\u00e4ndern<\/li>\n                <li>Anzeige im Attack Countries Table<\/li>\n                <li>Visualisierung in der Attack Map<\/li>\n              <\/ul>\n            <\/div>\n            <div>\n              <div class=\"note\"><b>Trend Monitoring<\/b><\/div>\n              <ul>\n                <li>Attack Trend 24h: Stundenbasierte Aggregation<\/li>\n                <li>Attack Trend 7d: Tagesbasierte Aggregation<\/li>\n                <li>Fr\u00fcherkennung von Angriffsspitzen<\/li>\n                <li>Grundlage f\u00fcr Spike Detection Alerts<\/li>\n              <\/ul>\n            <\/div>\n          <\/div>\n        <\/section>\n\n        <section id=\"alerts\" class=\"card\">\n          <h3>Alerts &#038; Eskalation<\/h3>\n          <div id=\"alert-matrix\" class=\"grid cols2\">\n            <div>\n              <div class=\"warn\"><b>Aktive Alert-Logik<\/b><\/div>\n              <table style=\"margin-top:12px\">\n                <thead><tr><th>Alert<\/th><th>Trigger<\/th><th>Level<\/th><\/tr><\/thead>\n                <tbody>\n                  <tr><td>Backup failed<\/td><td>Backup != OK<\/td><td>Critical<\/td><\/tr>\n                  <tr><td>Backup older than 7 days<\/td><td>Backup_Age_Days &gt; 7<\/td><td>Critical<\/td><\/tr>\n                  <tr><td>Backup older than 3 days<\/td><td>Backup_Age_Days &gt; 3<\/td><td>Warning<\/td><\/tr>\n                  <tr><td>RAM usage above 90%<\/td><td>RAM &gt; 90%<\/td><td>Critical<\/td><\/tr>\n                  <tr><td>Disk usage above 90%<\/td><td>Disk &gt; 90%<\/td><td>Critical<\/td><\/tr>\n                  <tr><td>Failed system services<\/td><td>Services != OK<\/td><td>Critical<\/td><\/tr>\n                  <tr><td>High SSH attack volume<\/td><td>SSH 60m &gt; 200<\/td><td>Warning<\/td><\/tr>\n                  <tr><td>SSH attack spike<\/td><td>Attacks\/min &gt; 5 oder &gt; 10<\/td><td>Warning \/ Critical<\/td><\/tr>\n                <\/tbody>\n              <\/table>\n            <\/div>\n            <div>\n              <div class=\"warn\"><b>Alert Panel Verhalten<\/b><\/div>\n              <ul>\n                <li>Keine ausgel\u00f6sten Bedingungen = <span class=\"kbd\">No alerts<\/span><\/li>\n                <li>Mehrere Bedingungen = Liste mehrerer Warnungen\/Kritika<\/li>\n                <li>Alert Panel dient als operativer Sofortindikator<\/li>\n                <li>Priorisierung: Critical vor Warning<\/li>\n              <\/ul>\n              <div class=\"hr\"><\/div>\n              <div class=\"codewrap\">\n                <button class=\"copybtn\" data-copy=\"#alert1\"><span class=\"dot\"><\/span>Copy<\/button>\n                <pre id=\"alert1\">Beispiel:\nCRITICAL: Backup failed\nCRITICAL: RAM usage above 90%\nWARNING: Elevated SSH attack rate (>5 attacks\/min)<\/pre>\n              <\/div>\n            <\/div>\n          <\/div>\n        <\/section>\n\n        <section id=\"operations\" class=\"card\">\n          <h3>Betrieb &#038; Aufgabenmodell<\/h3>\n          <div class=\"grid cols3\">\n            <div class=\"note\">\n              <b>Daily<\/b><br>\n              <ul>\n                <li>NOC Dashboard pr\u00fcfen<\/li>\n                <li>System Alerts pr\u00fcfen<\/li>\n                <li>Health- und Risk-Scores plausibilisieren<\/li>\n                <li>Web Stack Status pr\u00fcfen<\/li>\n              <\/ul>\n            <\/div>\n            <div class=\"note\">\n              <b>Weekly<\/b><br>\n              <ul>\n                <li>Backup-Zustand pr\u00fcfen<\/li>\n                <li>Attack Trends pr\u00fcfen<\/li>\n                <li>Fail2Ban Kennzahlen pr\u00fcfen<\/li>\n                <li>Top Attackers \/ Countries bewerten<\/li>\n              <\/ul>\n            <\/div>\n            <div class=\"note\">\n              <b>Monthly<\/b><br>\n              <ul>\n                <li>Restore-Test \/ Backup-Verifizierung<\/li>\n                <li>Review der Alert-Schwellen<\/li>\n                <li>Review der API- und Dashboard-Konfiguration<\/li>\n                <li>Service- und Log-Pfade validieren<\/li>\n              <\/ul>\n            <\/div>\n          <\/div>\n        <\/section>\n\n        <section id=\"troubleshooting\" class=\"card\">\n          <h3>Troubleshooting<\/h3>\n          <div class=\"grid cols2\">\n            <div>\n              <div class=\"note\"><b>Monitoring Backend pr\u00fcfen<\/b><\/div>\n              <div class=\"codewrap\">\n                <button class=\"copybtn\" data-copy=\"#tr1\"><span class=\"dot\"><\/span>Copy<\/button>\n                <pre id=\"tr1\">sudo systemctl status mayit-monitor\nsudo systemctl restart mayit-monitor\ncurl http:\/\/127.0.0.1:3000\/enterprise-report | head -n 50<\/pre>\n              <\/div>\n            <\/div>\n            <div>\n              <div class=\"note\"><b>Web Stack pr\u00fcfen<\/b><\/div>\n              <div class=\"codewrap\">\n                <button class=\"copybtn\" data-copy=\"#tr2\"><span class=\"dot\"><\/span>Copy<\/button>\n                <pre id=\"tr2\">systemctl status nginx\nsystemctl status mariadb\nsystemctl status php8.3-fpm\nsudo -u nextcloud php8.3 \/var\/www\/nextcloud\/occ status<\/pre>\n              <\/div>\n            <\/div>\n          <\/div>\n\n          <div class=\"hr\"><\/div>\n          <div class=\"grid cols2\">\n            <div>\n              <div class=\"note\"><b>Security pr\u00fcfen<\/b><\/div>\n              <div class=\"codewrap\">\n                <button class=\"copybtn\" data-copy=\"#tr3\"><span class=\"dot\"><\/span>Copy<\/button>\n                <pre id=\"tr3\">sudo fail2ban-client status\nsudo fail2ban-client status sshd\njournalctl --since \"24 hours ago\" -t sshd | grep -Ei \"Failed password|Invalid user\" | wc -l<\/pre>\n              <\/div>\n            <\/div>\n            <div>\n              <div class=\"note\"><b>NOC Zugriff pr\u00fcfen<\/b><\/div>\n              <div class=\"codewrap\">\n                <button class=\"copybtn\" data-copy=\"#tr4\"><span class=\"dot\"><\/span>Copy<\/button>\n                <pre id=\"tr4\">curl -I https:\/\/mitmonitor.mayit.eu\/noc\/\ncurl -u USER:PASS -I https:\/\/mitmonitor.mayit.eu\/noc\/<\/pre>\n              <\/div>\n            <\/div>\n          <\/div>\n\n          <div class=\"hr\"><\/div>\n          <details>\n            <summary>Typische Fehlerbilder<\/summary>\n            <ul>\n              <li><b>Dashboard l\u00e4dt nicht:<\/b> Fehler in <span class=\"kbd\">index.html<\/span> oder API nicht erreichbar.<\/li>\n              <li><b>Werte bleiben auf loading:<\/b> Parser in <span class=\"kbd\">loadReport()<\/span> oder fehlende API-Zeilen.<\/li>\n              <li><b>Attack Trend zeigt falsche Daten:<\/b> Zus\u00e4tzliche Statuszeilen wurden vor <span class=\"kbd\">Services:<\/span> im API-Output ausgegeben.<\/li>\n              <li><b>nginx\/MariaDB\/PHP-FPM unknown:<\/b> API-Zeile fehlt oder Regex im Frontend falsch.<\/li>\n            <\/ul>\n          <\/details>\n        <\/section>\n\n        <section id=\"backup\" class=\"card\">\n          <h3>Backup &#038; Recovery<\/h3>\n          <div class=\"grid cols2\">\n            <div>\n              <div class=\"note\"><b>Kritische Dateien<\/b><\/div>\n              <ul>\n                <li><span class=\"kbd\">\/opt\/mayit-monitor\/index.html<\/span><\/li>\n                <li><span class=\"kbd\">\/opt\/mayit-monitor\/server.js<\/span><\/li>\n              <\/ul>\n              <div class=\"codewrap\">\n                <button class=\"copybtn\" data-copy=\"#bk1\"><span class=\"dot\"><\/span>Copy<\/button>\n                <pre id=\"bk1\">cp \/opt\/mayit-monitor\/index.html \/opt\/mayit-monitor\/index.html.backup_$(date +%Y%m%d_%H%M)\ncp \/opt\/mayit-monitor\/server.js \/opt\/mayit-monitor\/server.js.backup_$(date +%Y%m%d_%H%M)<\/pre>\n              <\/div>\n            <\/div>\n            <div>\n              <div class=\"note\"><b>Recovery<\/b><\/div>\n              <div class=\"codewrap\">\n                <button class=\"copybtn\" data-copy=\"#bk2\"><span class=\"dot\"><\/span>Copy<\/button>\n                <pre id=\"bk2\">cp \/opt\/mayit-monitor\/index.html.backup_YYYYMMDD_HHMM \/opt\/mayit-monitor\/index.html\ncp \/opt\/mayit-monitor\/server.js.backup_YYYYMMDD_HHMM \/opt\/mayit-monitor\/server.js\nsudo systemctl restart mayit-monitor<\/pre>\n              <\/div>\n              <div class=\"muted small\" style=\"margin-top:10px\">\n                Prinzip: Vor jeder \u00c4nderung Backup, bei Problemen sofort Rollback auf letzten stabilen Stand.\n              <\/div>\n            <\/div>\n          <\/div>\n        <\/section>\n\n        <section id=\"appendix\" class=\"card\">\n          <h3>Anhang<\/h3>\n          <table>\n            <thead><tr><th>Element<\/th><th>Pfad \/ Zweck<\/th><\/tr><\/thead>\n            <tbody>\n              <tr><td>NOC Frontend<\/td><td><span class=\"kbd\">\/opt\/mayit-monitor\/index.html<\/span><\/td><\/tr>\n              <tr><td>Monitoring Backend<\/td><td><span class=\"kbd\">\/opt\/mayit-monitor\/server.js<\/span><\/td><\/tr>\n              <tr><td>Monitoring Service<\/td><td><span class=\"kbd\">mayit-monitor.service<\/span><\/td><\/tr>\n              <tr><td>API Endpoint lokal<\/td><td><span class=\"kbd\">http:\/\/127.0.0.1:3000\/enterprise-report<\/span><\/td><\/tr>\n              <tr><td>Dashboard URL<\/td><td><span class=\"kbd\">https:\/\/mitmonitor.mayit.eu\/noc<\/span><\/td><\/tr>\n              <tr><td>Netdata URL<\/td><td><span class=\"kbd\">https:\/\/mitmonitor.mayit.eu<\/span><\/td><\/tr>\n              <tr><td>nginx NOC Config<\/td><td><span class=\"kbd\">\/etc\/nginx\/conf.d\/mitmonitor.mayit.eu.d\/noc.conf<\/span><\/td><\/tr>\n            <\/tbody>\n          <\/table>\n\n          <div class=\"footer\">\n            <b>Autor:<\/b> MayIT \u2022 <b>Dokumenttyp:<\/b> Projektdokumentation \u2022 <b>System:<\/b> MayIT Enterprise Monitoring Platform\n          <\/div>\n        <\/section>\n\n        <div class=\"print-only\">Autor: MayIT \u2013 Projektdokumentation MayIT Enterprise Monitoring Platform<\/div>\n      <\/div>\n    <\/main>\n  <\/div>\n\n  <script>\n    function copyText(text){\n      if(navigator.clipboard && window.isSecureContext){\n        return navigator.clipboard.writeText(text);\n      }\n      return new Promise((resolve, reject)=>{\n        try{\n          const ta = document.createElement('textarea');\n          ta.value = text;\n          ta.style.position = 'fixed';\n          ta.style.left = '-9999px';\n          ta.style.top = '0';\n          document.body.appendChild(ta);\n          ta.focus();\n          ta.select();\n          const ok = document.execCommand('copy');\n          document.body.removeChild(ta);\n          ok ? resolve() : reject();\n        } catch(e){ reject(e); }\n      });\n    }\n    document.querySelectorAll('.copybtn').forEach(btn=>{\n      btn.addEventListener('click', async ()=>{\n        const sel = btn.getAttribute('data-copy');\n        const pre = document.querySelector(sel);\n        if(!pre) return;\n        const text = pre.innerText.replace(\/\\u00a0\/g,' ');\n        const old = btn.innerHTML;\n        try{\n          await copyText(text);\n          btn.innerHTML = '<span class=\"dot\" style=\"background: var(--accent2)\"><\/span>Copied';\n          setTimeout(()=>btn.innerHTML = old, 1100);\n        } catch(e){\n          btn.innerHTML = '<span class=\"dot\" style=\"background: var(--warn)\"><\/span>Copy failed';\n          setTimeout(()=>btn.innerHTML = old, 1400);\n        }\n      });\n    });\n  <\/script>\n<\/body>\n<\/html>","protected":false},"excerpt":{"rendered":"<p>Projektdokumentation \u2013 MayIT Enterprise Monitoring Platform M Projektdokumentation Monitoring \u2022 Security \u2022 Operations \u2022 Autor: MayIT Ziel: Vollst\u00e4ndige Dokumentation der MayIT Monitoring Platform Navigation Scope &#038; Zielbild System- und Monitoring-Architektur Dashboards &#038; Zugriffe Monitoring Backend \/ enterprise-report Dashboard-Kacheln Health-Scores &#038; Bewertungslogik Security Monitoring Alerts &#038; Eskalation Betrieb &#038; Aufgabenmodell Troubleshooting Backup &#038; Recovery Anhang Quick [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"normal-width-container","site-content-style":"unboxed","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-2590","page","type-page","status-publish","hentry"],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false,"trp-custom-language-flag":false},"uagb_author_info":{"display_name":"MIT","author_link":"https:\/\/www.mayit.eu\/en\/author\/markus_\/"},"uagb_comment_info":0,"uagb_excerpt":"Projektdokumentation \u2013 MayIT Enterprise Monitoring Platform M Projektdokumentation Monitoring \u2022 Security \u2022 Operations \u2022 Autor: MayIT Ziel: Vollst\u00e4ndige Dokumentation der MayIT Monitoring Platform Navigation Scope &#038; Zielbild System- und Monitoring-Architektur Dashboards &#038; Zugriffe Monitoring Backend \/ enterprise-report Dashboard-Kacheln Health-Scores &#038; Bewertungslogik Security Monitoring Alerts &#038; Eskalation Betrieb &#038; Aufgabenmodell Troubleshooting Backup &#038; Recovery Anhang Quick&hellip;","_links":{"self":[{"href":"https:\/\/www.mayit.eu\/en\/wp-json\/wp\/v2\/pages\/2590","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mayit.eu\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.mayit.eu\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.mayit.eu\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mayit.eu\/en\/wp-json\/wp\/v2\/comments?post=2590"}],"version-history":[{"count":3,"href":"https:\/\/www.mayit.eu\/en\/wp-json\/wp\/v2\/pages\/2590\/revisions"}],"predecessor-version":[{"id":2604,"href":"https:\/\/www.mayit.eu\/en\/wp-json\/wp\/v2\/pages\/2590\/revisions\/2604"}],"wp:attachment":[{"href":"https:\/\/www.mayit.eu\/en\/wp-json\/wp\/v2\/media?parent=2590"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}