diff --git a/Areas/cimt AG/CIP/CIP067 Aufbau eines einheitlichen, wiederverwendbaren Monitoring-Stacks.md b/Areas/cimt AG/CIP/CIP067 Aufbau eines einheitlichen, wiederverwendbaren Monitoring-Stacks.md new file mode 100644 index 0000000..239e243 --- /dev/null +++ b/Areas/cimt AG/CIP/CIP067 Aufbau eines einheitlichen, wiederverwendbaren Monitoring-Stacks.md @@ -0,0 +1,72 @@ +--- +tags: + - process/project + - cimt/cip +reference: + - "[[Managed Services Team]]" +--- + +> [!abstract]+ Project +> Progress:: `$= dv.view('project-progress', {file: 'CIP067 Aufbau eines einheitlichen, wiederverwendbaren Monitoring-Stacks'})` +> Target:: `$= dv.view('project-target', {file: 'CIP067 Aufbau eines einheitlichen, wiederverwendbaren Monitoring-Stacks'})` +> Bar:: `$= dv.view('project-progress-bar', {file: 'CIP067 Aufbau eines einheitlichen, wiederverwendbaren Monitoring-Stacks'})` +> Tasks:: `$= const aufgaben = dv.page('CIP067 Aufbau eines einheitlichen, wiederverwendbaren Monitoring-Stacks').file.inlinks.where(t => { const mt = dv.page(t.path); return mt.tags?.includes('process/task') && mt.status === 'In Arbeit'}); if (aufgaben.length > 0) { dv.header(4, aufgaben.length > 1 ? "Aufgaben" : "Aufgabe"); dv.list(aufgaben) }` + +## Project Info + +### Stakeholder +- [[Frank Füllbier]] + +### Mitglieder +- [[Marcel Kuszak]] +- [[Bastian Liesigk]] +- [[Christian Kiltz]] + +## Thoughts + + +## Resources +- https://cimtag.atlassian.net/wiki/spaces/CW/pages/5308350465/CIP+067+Aufbau+eines+einheitlichen+wiederverwendbaren+Monitoring-Stacks + +## Review questions + +## Termine +```dataview +LIST +FROM [[]] AND !outgoing([[]]) AND "Journal" +SORT date +``` + +## Aufgaben + +## Offene Aufgaben +```dataviewjs +const pages = dv.current().file.inlinks.where(p => dv.page(p.path).tags?.includes('process/task')).where(p => dv.page(p.path).file.tasks.length != dv.page(p.path).file.tasks.where(t => t.fullyCompleted === true).length); + +dv.table(["Project", "Status", "Completed", "Tasks"], pages.map(p => { + const page = dv.page(p.path); + const tasks = page.file.tasks; + return [ + page.file.link, + page.status, + tasks.where(t => t.fullyCompleted === true).length, + tasks.length + ] +})); +``` + +## Aufgaben +```dataviewjs +const pages = dv.current().file.inlinks.where(p => dv.page(p.path).tags?.includes('process/task')); + +dv.table(["Project", "Status", "Completed", "Tasks"], pages.map(p => { + const page = dv.page(p.path); + const tasks = page.file.tasks; + return [ + page.file.link, + page.status, + tasks.where(t => t.fullyCompleted === true).length, + tasks.length + ] +})); +``` diff --git a/Areas/cimt AG/Managed Services Team.md b/Areas/cimt AG/Managed Services Team.md index f65adc6..f96ad75 100644 --- a/Areas/cimt AG/Managed Services Team.md +++ b/Areas/cimt AG/Managed Services Team.md @@ -13,7 +13,7 @@ LIMIT 20 ## Links - https://cimt-objects.zammad.com -## Aufgaben +## Offene Aufgaben ```dataviewjs const pages = dv.current().file.inlinks.where(p => dv.page(p.path).tags?.includes('process/task')).where(p => dv.page(p.path).file.tasks.length != dv.page(p.path).file.tasks.where(t => t.fullyCompleted === true).length); @@ -29,6 +29,23 @@ dv.table(["Project", "Status", "Completed", "Tasks"], pages.map(p => { })); ``` +## Aufgaben +```dataviewjs +//const pages = dv.current().file.inlinks.where(p => dv.page(p.path).tags?.includes('process/task')); +const pages = dv.current().file.inlinks.where(p => dv.page(p.path).tags?.includes('process/task')).where(p => dv.page(p.path).file.tasks.length == dv.page(p.path).file.tasks.where(t => t.fullyCompleted === true).length); + +dv.table(["Project", "Status", "Completed", "Tasks"], pages.map(p => { + const page = dv.page(p.path); + const tasks = page.file.tasks; + return [ + page.file.link, + page.status, + tasks.where(t => t.fullyCompleted === true).length, + tasks.length + ] +})); +``` + ## Termine >[!info]- Daily diff --git a/Areas/cimt AG/Managed Services/Aufgaben/Monitoring - Next Steps.md b/Areas/cimt AG/Managed Services/Aufgaben/Monitoring - Next Steps.md new file mode 100644 index 0000000..4cde278 --- /dev/null +++ b/Areas/cimt AG/Managed Services/Aufgaben/Monitoring - Next Steps.md @@ -0,0 +1,161 @@ +--- +tags: + - process/task +reference: + - "[[Managed Services Team]]" +--- +## Aufgabenbeschreibung + +# 🧾 Kurzfassung + +Ziel des Meetings war die Definition eines **standardisierten Monitoring-Ansatzes** (Prometheus/Grafana-basiert), der als **wiederverwendbare Baseline** für verschiedene Kunden (z. B. Hoyer, GStA, Hamburg Wasser) dient und zukünftig effizient ausgerollt werden kann. + +--- + +# 🎯 Ziele + +- Aufbau eines **einheitlichen Monitoring-Stacks** +- Ablösung/Ergänzung bestehender Lösungen (z. B. CheckMK) +- **Wiederverwendbarkeit & Standardisierung** für alle Kunden +- Reduktion von **Implementierungsaufwand** bei neuen Projekten + +--- + +# 🏗️ Technischer Ansatz (Baseline) + +- Betrieb über **Docker (Container-basiert)** +- Basis-Komponenten: + - Prometheus + - Grafana + - Alertmanager +- Enthält bereits: + - Grund-Dashboards (CPU, Disk, etc.) + - Basis-Alerting + - vorkonfigurierte Kommunikation zwischen Komponenten +- Deployment über **Git-Repository inkl. Konfiguration & Secrets (Ansible Vault)** + +👉 Grundprinzip: +**80 % Standard (Baseline), 20 % kundenspezifische Anpassungen** + +--- + +# 🧩 Vorgehen + +## 1. Baseline erstellen + +- Ausgangspunkt: bestehendes Repo (Messe München) +- Schritte: + - Repo klonen + - Kunden-spezifische Teile entfernen + - neutrales Basis-Repository erstellen + +👉 Verantwortlich: **Marcel** + +--- + +## 2. Lokale Testumgebung + +- Aufbau einer VM mit Docker bei euch intern +- Ziel: + - Testen des Setups + - Know-how im Team aufbauen (Configs, Alerts, Container) + +--- + +## 3. Rollout bei Kunden + +### Zielkunden: + +- GStA +- Hoyer + +Unterschied: + +- **GStA:** später relevant (noch Entwicklung) +- **Hoyer:** kurzfristiger Bedarf + +Bereitstellung: + +- per Git (wenn Zugriff möglich) +- oder als Export (offline Szenarien) + +--- + +# 🔧 Erweiterungen / Roadmap + +## Loki (Logging) + +- Einführung von **Loki für Log-Monitoring** +- Vorgehen: + - zunächst intern ausprobieren (Proof of Concept) + - später Integration in Baseline + +👉 Ziel: Logs in Grafana sichtbar machen + +👉 Verantwortlich: **Bastian (+ Team)** + +--- + +## Weitere geplante Erweiterungen + +- RabbitMQ Monitoring +- Integration zusätzlicher Exporter (je nach Kunde) +- Perspektivisch Kubernetes-Unterstützung + +--- + +# 🧪 Hamburg Wasser (Spezialfall) + +- Bereits bestehendes Monitoring vorhanden +- Vorgehen: + - vorsichtiges Vorgehen (keine „Experimente“ im Live-System) + - zunächst Loki separat vorbereiten + - später Integration abstimmen + +Besonderheit: + +- kein Internetzugang → Deployment erschwert (Container-Import notwendig) + +--- + +# 📅 Zeitplan (grob) + +- **~1–2 Wochen:** + - erste Baseline-Version + - interne Testumgebung +- **parallel:** + - Loki Proof-of-Concept +- **danach:** + - erste Einsätze bei Kunden + - iterative Erweiterung + +--- + +# 👥 Aufgabenverteilung + +- **Marcel** + - Erstellung der Baseline + - Repo-Aufbau +- **Frank** + - CIP-Struktur & Dokumentation +- **Bastian** + - Loki evaluieren und implementieren + - Logs in Grafana integrieren +- **Team** + - Mitwirken bei Tests & Dokumentation + - Know-how-Aufbau im Umgang mit Docker & Monitoring + +--- + +# ✅ Nutzen / Ergebnis + +- Einheitliches Monitoring für alle Kunden +- Schnellere Rollouts (quasi „Monitoring per Install.exe“) +- Weniger Aufwand und Kosten pro Kunde +- Bessere Wartbarkeit & Transparenz +- Basis für zukünftige Erweiterungen (Observability, Kubernetes) +## Überlegungen + +## Unteraufgaben + +- [x] Monitoring - Next Steps [completion:: 2026-04-29] diff --git a/Journal/cimt AG/2026/04/2026-04-30.md b/Journal/Privat/2026/04/2026-04-29.md similarity index 55% rename from Journal/cimt AG/2026/04/2026-04-30.md rename to Journal/Privat/2026/04/2026-04-29.md index a41638d..13e2071 100644 --- a/Journal/cimt AG/2026/04/2026-04-30.md +++ b/Journal/Privat/2026/04/2026-04-29.md @@ -1,30 +1,28 @@ --- -work_home: false -work_office: false -journal: cimt daily -journal-date: 2026-04-30 -journal-start-date: 2026-04-30 -journal-end-date: 2026-04-30 +weight: +meditation: true +pushUps: 20 +plank: 60 +journal: Privat daily +journal-date: 2026-04-29 +journal-start-date: 2026-04-29 +journal-end-date: 2026-04-29 --- - ```calendar-timeline ``` ## Journal -- [-] 09:15 - 09:30 [[Managed Services Team Daily]] [cancelled:: 2026-04-28] -- [-] 11:35 - 12:00 [[Lightning Talks Orga]] [cancelled:: 2026-04-28] -- [-] 13:30 - 13:45 [[Tibuci Jour fixe]] [cancelled:: 2026-04-28] ## Ziele -##### [[Journal/cimt AG/2026/2026-W18#^18i|Woche]] | [[Journal/cimt AG/2026/2026-04#^04i|Monat]] | [[Journal/cimt AG/2026/2026-Q2#^q2i|Quartal]] | [[Journal/cimt AG/2026## Jahresziele|Jahr]] +##### [[2026-W18#^18i|Woche]] | [[2026-04#^04i|Monat]] | [[2026-Q2#^q2i|Quartal]] | [[2026## Jahresziele|Jahr]] ## Aufgaben > [!hint]- Aktuelle Aufgaben >```tasks >not done ->happens on 2026-04-30 +>happens on 2026-04-29 >path regex does not match /^Resources\/Templates\/.*/ >path regex does not match /^Übersicht\/.*/ >``` @@ -32,7 +30,7 @@ journal-end-date: 2026-04-30 > [!todo]- Aktive Aufgaben >```tasks >not done ->happens before 2026-04-30 +>happens before 2026-04-29 >path regex does not match /^Resources\/Templates\/.*/ >path regex does not match /^Übersicht\/.*/ >``` @@ -41,7 +39,7 @@ journal-end-date: 2026-04-30 >```tasks >not done >has due date ->due on 2026-04-30 +>due on 2026-04-29 >path regex does not match /^Resources\/Templates\/.*/ >path regex does not match /^Übersicht\/.*/ >``` @@ -50,7 +48,7 @@ journal-end-date: 2026-04-30 >```tasks >not done >has due date ->due before 2026-04-30 +>due before 2026-04-29 >path regex does not match /^Resources\/Templates\/.*/ >path regex does not match /^Übersicht\/.*/ >``` @@ -59,12 +57,12 @@ journal-end-date: 2026-04-30 >```dataview >TASK >FROM !"Resources/Templates" ->WHERE completed AND completion = date(2026-04-30) +>WHERE completed AND completion = date(2026-04-29) >``` ## Geburtstage ```dataview TABLE birthday as Geburtstag, truncate(string(date(today) - birthday),2, "") AS Alter FROM "Infos/Kontakte" -WHERE birthday.month = 04 AND birthday.day = 30 +WHERE birthday.month = 04 AND birthday.day = 29 ``` diff --git a/Journal/cimt AG/2026/04/2026-04-29.md b/Journal/cimt AG/2026/04/2026-04-29.md index 48ca111..282fbf2 100644 --- a/Journal/cimt AG/2026/04/2026-04-29.md +++ b/Journal/cimt AG/2026/04/2026-04-29.md @@ -1,6 +1,6 @@ --- work_home: false -work_office: false +work_office: true journal: cimt daily journal-date: 2026-04-29 journal-start-date: 2026-04-29 @@ -11,7 +11,8 @@ journal-end-date: 2026-04-29 ``` ## Journal -- [ ] 09:15 - 09:30 [[Managed Services Team Daily]] +- [x] 09:15 - 09:30 [[Managed Services Team Daily]] [completion:: 2026-04-29] +- [x] 11:30 - 12:10 [[Monitoring - Next Steps]] [[CIP067 Aufbau eines einheitlichen, wiederverwendbaren Monitoring-Stacks]] [completion:: 2026-04-29] ## Ziele