aktuelle.kurse/m122/moegliche-LB2-AufgabenProjekte/B_systemleistung-abfragen/README.md

95 lines
3.3 KiB
Markdown
Raw Normal View History

2023-03-08 05:31:46 +01:00
# M122 - Aufgabe
2024-07-01 09:33:50 +02:00
2024-07 MUH
2023-03-08 05:31:46 +01:00
2024-04-29 10:58:45 +02:00
## B System-Leistung abfragen
2023-03-08 05:31:46 +01:00
Für eine automatische Systemüberwachung von Servern
und/oder auch Clients sollen Sie "regelmässig" (cron)
eine Serie von Leistungs-Daten ausgeben.
2024-04-29 10:58:45 +02:00
| Punkte | Beschreibung |
|-------|--------------|
| 3 | Alle genannten Sytem-Infos |
| 1 | Ausgabe in die Datei mit "Switch" und richtigem Dateiname |
| 1 | Regelmässige Ausführung (Abgabe von 3 Log-Einträgen, die das System im Takt erstellt hat) |
2024-06-28 07:31:40 +02:00
| 1 | "Gute/schöne" Tabellen-Darstellung mit `printf()` |
2024-04-29 10:58:45 +02:00
| **6** | **Total** |
| 1 | Eingechecked in GitLab, GitHub, BitBucket |
| | Erweiterungsmöglichkeiten |
2024-06-28 07:21:07 +02:00
| 1 | Erkennen eines "Schwellwert"es, d.h. wenn ein bestimmter Wert überschritten wird, dann soll rot angezeigt werden, und sonst grün (auch andere Erkennungen möglich) |
2024-07-01 09:33:50 +02:00
| 2 | Darstellung auf einer Webseite (HTML -> als index.html in Ihr Verzeichnis, siehe Zugangsdaten oder auf Ihren Desktop auf /mnt/c/Users/nnnnn/Desktop ) für das Monitoring mit den Werten und zusätzlich einer Ampel-Darstellung grün/gelb/rot [**FTP-Zugangsdaten**](../../tools-technics/ftp-zugangsdaten.md)|
2024-07-01 09:38:21 +02:00
| 2 | E-Mail wird (an sich selber) verschickt - dies braucht aber Zusatzinstallation und Konfiguration eines Mailservers |
2024-04-29 10:58:45 +02:00
| | |
| **Plagiat** | Reduktion der Punkte nach Einschätzung des Lehrers, wenn der gleiche Code schon mal gesehen wurde |
| | |
2023-03-08 05:51:36 +01:00
### Aufgabenstellung
2023-03-08 05:31:46 +01:00
2023-03-08 07:07:55 +01:00
Verwenden dafür Bash- Shell-Scripting oder auch PowerShell
und stellen Sie sicher, dass es auf Ihrem System
ausgeführt werden kann.
2023-03-08 05:31:46 +01:00
2023-03-08 05:56:37 +01:00
**1.) Formattierte Inhalte**
2023-03-08 05:31:46 +01:00
2023-07-21 18:46:20 +02:00
Formattieren Sie alles in eine gut leserliche **Tabellen-Form**.
2023-03-08 05:31:46 +01:00
Folgendes ist auszugeben:
2024-04-23 00:57:32 +02:00
- 1. Die aktuelle Systemlaufzeit und aktuelle Systemzeit
- 2. Die Grösse des belegten und freien Speichers auf dem Dateisystem
- 3. Der Hostname imd IP-adresse des Systems
- 5. Die Betriebssystemname und -version
- 6. Der Modellname der CPU und die Anzahl der CPU-Cores
- 7. Der gesamte und der genutze Arbeitsspeicher
- Trenner und Abschluss der Tabelle für die nächste Ausgabe
2023-07-22 22:59:12 +02:00
2024-06-28 07:21:07 +02:00
**2.) Dateiausgabe wahlweise** (d.h. mit einem "switch", bzw. einer "option" `-f`)
2023-03-08 05:51:36 +01:00
Gefordert ist die Ausgabe **wahlweise** direkt auf das
2023-07-07 13:11:34 +02:00
<br>Terminal, bzw. die Console, wie auch in eine Datei.
2023-03-08 05:51:36 +01:00
2023-07-22 22:59:12 +02:00
- Wenn man **keine Option** angibt: Nur die Terminal-Ausgabe ohne Datei.
2023-07-21 18:46:20 +02:00
- Wenn man den **"Switch"** (die Option) `-f` angibt, soll zusätzlich die
2023-07-22 22:59:12 +02:00
<br>Datei **[YYYY-MM]-sys-[hostname].log** erzeugt werden.
2023-07-21 18:46:20 +02:00
<br>(Immer in die gleiche Datei schreiben. Das nennt man ein **"Log"**)
2023-07-07 13:11:34 +02:00
2024-04-23 00:57:32 +02:00
Tipp: Benutzen Sie für den Timestamp `date '+%Y-%m-%d'` bzw. `date '+%Y-%m'`
2023-07-07 13:11:34 +02:00
und für den Hostnamen `hostname` oder `uname -n` und den Befehl `df ` für Disk-Angaben.
2023-03-08 05:51:36 +01:00
2023-03-08 05:56:37 +01:00
**3.) Regelmässigkeit**
2023-03-08 05:51:36 +01:00
Binden Sie Ihr Skript in die `crontab` ein
2023-03-08 06:28:20 +01:00
und wählen Sie einen geeigneten Ausführungs-Takt.
2023-03-08 05:51:36 +01:00
2023-07-22 22:59:12 +02:00
Tipp: Prüfen Sie, ob Ihr **cron** eingeschaltenist mit folgendem Befehl:
service cron status
Falls cron nicht läuft, können Sie es damit einschalten:
2023-03-08 05:31:46 +01:00
2023-07-22 22:59:12 +02:00
sudo service cron start
2023-03-08 05:56:37 +01:00
### Resultat
2023-03-08 05:31:46 +01:00
2024-06-28 07:21:07 +02:00
Ihr Resultat sollte so in dieser Art aussehen (schöner ist besser):
2023-03-08 06:00:14 +01:00
2023-07-21 18:46:20 +02:00
| Text | Wert |
|------|------|
| free disk space | 80 GB |
| free memory | 07 GB |
| ... | ... |
| ... | ... |
| ... | ... |
2023-03-08 05:31:46 +01:00
2024-04-23 00:57:32 +02:00
Tipp: Benutzen Sie den [`printf`-Befehl](https://openbook.rheinwerk-verlag.de/shell_programmierung/shell_007_001.htm#RxxKap00700104004E721F034268)
2023-03-08 05:31:46 +01:00