vault backup: 2026-04-29 18:25:51
This commit is contained in:
+72
@@ -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
|
||||||
|
]
|
||||||
|
}));
|
||||||
|
```
|
||||||
@@ -13,7 +13,7 @@ LIMIT 20
|
|||||||
## Links
|
## Links
|
||||||
- https://cimt-objects.zammad.com
|
- https://cimt-objects.zammad.com
|
||||||
|
|
||||||
## Aufgaben
|
## Offene Aufgaben
|
||||||
```dataviewjs
|
```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);
|
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
|
## Termine
|
||||||
|
|
||||||
>[!info]- Daily
|
>[!info]- Daily
|
||||||
|
|||||||
@@ -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]
|
||||||
@@ -1,30 +1,28 @@
|
|||||||
---
|
---
|
||||||
work_home: false
|
weight:
|
||||||
work_office: false
|
meditation: true
|
||||||
journal: cimt daily
|
pushUps: 20
|
||||||
journal-date: 2026-04-30
|
plank: 60
|
||||||
journal-start-date: 2026-04-30
|
journal: Privat daily
|
||||||
journal-end-date: 2026-04-30
|
journal-date: 2026-04-29
|
||||||
|
journal-start-date: 2026-04-29
|
||||||
|
journal-end-date: 2026-04-29
|
||||||
---
|
---
|
||||||
|
|
||||||
```calendar-timeline
|
```calendar-timeline
|
||||||
```
|
```
|
||||||
|
|
||||||
## Journal
|
## 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
|
## 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
|
## Aufgaben
|
||||||
|
|
||||||
> [!hint]- Aktuelle Aufgaben
|
> [!hint]- Aktuelle Aufgaben
|
||||||
>```tasks
|
>```tasks
|
||||||
>not done
|
>not done
|
||||||
>happens on 2026-04-30
|
>happens on 2026-04-29
|
||||||
>path regex does not match /^Resources\/Templates\/.*/
|
>path regex does not match /^Resources\/Templates\/.*/
|
||||||
>path regex does not match /^Übersicht\/.*/
|
>path regex does not match /^Übersicht\/.*/
|
||||||
>```
|
>```
|
||||||
@@ -32,7 +30,7 @@ journal-end-date: 2026-04-30
|
|||||||
> [!todo]- Aktive Aufgaben
|
> [!todo]- Aktive Aufgaben
|
||||||
>```tasks
|
>```tasks
|
||||||
>not done
|
>not done
|
||||||
>happens before 2026-04-30
|
>happens before 2026-04-29
|
||||||
>path regex does not match /^Resources\/Templates\/.*/
|
>path regex does not match /^Resources\/Templates\/.*/
|
||||||
>path regex does not match /^Übersicht\/.*/
|
>path regex does not match /^Übersicht\/.*/
|
||||||
>```
|
>```
|
||||||
@@ -41,7 +39,7 @@ journal-end-date: 2026-04-30
|
|||||||
>```tasks
|
>```tasks
|
||||||
>not done
|
>not done
|
||||||
>has due date
|
>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 /^Resources\/Templates\/.*/
|
||||||
>path regex does not match /^Übersicht\/.*/
|
>path regex does not match /^Übersicht\/.*/
|
||||||
>```
|
>```
|
||||||
@@ -50,7 +48,7 @@ journal-end-date: 2026-04-30
|
|||||||
>```tasks
|
>```tasks
|
||||||
>not done
|
>not done
|
||||||
>has due date
|
>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 /^Resources\/Templates\/.*/
|
||||||
>path regex does not match /^Übersicht\/.*/
|
>path regex does not match /^Übersicht\/.*/
|
||||||
>```
|
>```
|
||||||
@@ -59,12 +57,12 @@ journal-end-date: 2026-04-30
|
|||||||
>```dataview
|
>```dataview
|
||||||
>TASK
|
>TASK
|
||||||
>FROM !"Resources/Templates"
|
>FROM !"Resources/Templates"
|
||||||
>WHERE completed AND completion = date(2026-04-30)
|
>WHERE completed AND completion = date(2026-04-29)
|
||||||
>```
|
>```
|
||||||
|
|
||||||
## Geburtstage
|
## Geburtstage
|
||||||
```dataview
|
```dataview
|
||||||
TABLE birthday as Geburtstag, truncate(string(date(today) - birthday),2, "") AS Alter
|
TABLE birthday as Geburtstag, truncate(string(date(today) - birthday),2, "") AS Alter
|
||||||
FROM "Infos/Kontakte"
|
FROM "Infos/Kontakte"
|
||||||
WHERE birthday.month = 04 AND birthday.day = 30
|
WHERE birthday.month = 04 AND birthday.day = 29
|
||||||
```
|
```
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
work_home: false
|
work_home: false
|
||||||
work_office: false
|
work_office: true
|
||||||
journal: cimt daily
|
journal: cimt daily
|
||||||
journal-date: 2026-04-29
|
journal-date: 2026-04-29
|
||||||
journal-start-date: 2026-04-29
|
journal-start-date: 2026-04-29
|
||||||
@@ -11,7 +11,8 @@ journal-end-date: 2026-04-29
|
|||||||
```
|
```
|
||||||
|
|
||||||
## Journal
|
## 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
|
## Ziele
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user