Hauptmenü

Disk IO darstellen

Begonnen von Kharim, 30 Oktober 2019, 14:22:35

Vorheriges Thema - Nächstes Thema

Kharim

Hallo,

gibt es eine Möglichkeit den Disk IO (ähnlich iotop) zu loggen und letztendlich in einem SVG-Plot darzustellen?
(SYSMON "misst" leider kein DiskIO)

Danke,
Kharim
Raspberry Pi 2 + Minibian + 2x MAX Cube CUN (868/433Mhz) + Thermostate + Fensterkontakte + Taster+RGB-LED Band über pigpiod + TFA Sensoren 30.3169/3125
Raspberry Pi 2 + Minibian +Z-Wave (USB) + Bewegungsmelder + Fensterkontakt + Sirene + SMS Steuer-/Benachrichtigung (ohne Internet)

Eisix

Hallo,

mit CustomReadings kannst du ein shell script laufen lassen das die Werte in fhem überträgt.


https://wiki.fhem.de/wiki/CustomReadings


Gruß
Eisix

Wernieman

Oder alternativ ein Shell Script laufen lassen, was die Werte zu FHEM pushed.
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Kharim

Habt ihr eine Idee, wie ein solches Shell Script aussehen könnte?
Kenne leider keinen Shell Befehl der die reine, aktuelle Auslastung ausgibt.
Raspberry Pi 2 + Minibian + 2x MAX Cube CUN (868/433Mhz) + Thermostate + Fensterkontakte + Taster+RGB-LED Band über pigpiod + TFA Sensoren 30.3169/3125
Raspberry Pi 2 + Minibian +Z-Wave (USB) + Bewegungsmelder + Fensterkontakt + Sirene + SMS Steuer-/Benachrichtigung (ohne Internet)

Wernieman

Du willst die reinen IO?

Könnte ich Dir Freitag liefern ...
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

loescher

iostat oder sar könnten helfen.
Die Rohdaten wären in /sys/devices/virtual/block/*/stat
LG, Stephan.

Peteruser

#6
Hallo,
iostat könnte hier helfen, ist aber immer nur eine Momentaufnahme.

#!/bin/bash
echo "Start  storrage check"
counter="0"

IFS=$'\n'
for LINES in $(iostat -xmt | grep sd )
do
        counter=$(( $counter+1 ))
        value[$counter]=$(echo $LINES)
done
unset IFS

echo "$counter HDD/SSD"

######

i="0"
IFS=' '

while [  $i -lt $counter ]; do
        let i=i+1
        read -ra ADDR <<< "echo ${value[$i]}"
        singelinfo=$(echo "Disk ${ADDR[1]} : rMB/s : ${ADDR[4]} | wMB/s : ${ADDR[5]}")
        AllInfo=$(echo "$singelinfo <br> $AllInfo ")

done


mosquittomsg=$(echo "<p align="left">  $AllInfo")
echo ">>"
echo "$mosquittomsg"
mosquitto_pub -h fhem1 -t /hooks/devices/nr2/HDDData/Diskwrite -m  "$mosquittomsg"

Nur eine Frage, welche Werte interessant sin :-)

Das könnte man dann auch in eine Tabelle/Datnbank schreiben.

Grüße Peter
Ubuntu+Debian FHEM + ESPEasy + Homematic + ConBee + DUROFERN

Kharim

Zitat von: Peteruser am 31 Oktober 2019, 10:26:27
Hallo,
iostat könnte hier helfen, ist aber immer nur eine Momentaufnahme.


Sicher das es nur eine Momentaufnahme ist?
Siehe Manual iostat (https://linux.die.net/man/1/iostat)
Zitat
The first report generated by the iostat command provides statistics concerning the time since the system was booted. Each subsequent report covers the time since the previous report.

Für mein Verständnis keine Momentaufnahme, sondern der Durchschnitt zweier iostat-Befehle, bzw der Zeit dazwischen.
Bei einer Momentaufnahme würde ich auch 0-Werte (0KB/s) erwarten (wie zb bei iostat), kommen hier aber nicht.
Nichts­des­to­trotz könnte man mit einer minütlichen Abfrage den Durchschnitt der letzten Minute ermitteln, oder verstehe ich das falsch??
Raspberry Pi 2 + Minibian + 2x MAX Cube CUN (868/433Mhz) + Thermostate + Fensterkontakte + Taster+RGB-LED Band über pigpiod + TFA Sensoren 30.3169/3125
Raspberry Pi 2 + Minibian +Z-Wave (USB) + Bewegungsmelder + Fensterkontakt + Sirene + SMS Steuer-/Benachrichtigung (ohne Internet)

Peteruser

Hallo,
das geht aber dann weiter:
...Each subsequent report covers the time since the previous report. ...
D.h. als Cronjob alle 5 Min würde das schon Veränderungen anzeigen.

Ich habe hier auf einer Kiste tatsächlich 0

Device            r/s     w/s     rMB/s     wMB/s   rrqm/s   wrqm/s  %rrqm  %wrqm r_await w_await aqu-sz rareq-sz wareq-sz  svctm  %util
loop0            0,00    0,00      0,00      0,00     0,00     0,00   0,00   0,00    4,16    0,00   0,00    20,80     0,00   0,32   0,00
loop1            0,11    0,00      0,00      0,00     0,00     0,00   0,00   0,00    1,47    0,00   0,00     1,11     0,00   0,05   0,00
loop2            0,00    0,00      0,00      0,00     0,00     0,00   0,00   0,00    0,00    0,00   0,00     1,60     0,00   0,00   0,00
sda              0,36    0,79      0,01      0,01     0,07     0,27  15,84  25,38    2,06    1,38   0,00    26,61    11,09   0,34   0,04
sdb              0,60    0,00      0,07      0,00     0,01     0,00   1,27  56,82    2,73  182,22   0,00   111,62     9,26   2,66   0,16
sdc              0,01    0,00      0,00      0,00     0,00     0,00  45,26  19,57    4,15   11,24   0,00    19,58     4,97   2,01   0,00

Bin leider bezüglich Performance-Abklärung kein Experte, das hat mich nur in den Fingern gejuckt ;-)

Grüße Peter
Ubuntu+Debian FHEM + ESPEasy + Homematic + ConBee + DUROFERN

Eisix

Hallo,


DESCRIPTION
       The iostat command is used for monitoring system input/output device loading by observing the time the devices are active in  relation  to  their  average
       transfer rates. The iostat command generates reports that can be used to change system configuration to better balance the input/output load between phys‐
       ical disks.

       The first report generated by the iostat command provides statistics concerning the time since the system was booted, unless the -y  option  is  used  (in
       this case, this first report is omitted).  Each subsequent report covers the time since the previous report. All statistics are reported each time the io‐
       stat command is run.


z.B.
iostat 3

zeigt dir erst die Statistik seit dem letzten BOOT an und danach alle 3 Sekunden den IO während der letzten 3 Sekunden.

Mit Option -y wird die Statistik seit dem BOOT weg gelassen und nach 3 Sekunden wird wieder der IO der letzten 3 Sekunden angezeigt.

Gruß
Eisix

Peteruser

Hallo,
danke für den Tip.

Damit sollte man das in
                                    iostat 5 1 -xmty 
                                                 verändern.

- Läuft einmal
- Messung 5 Sec

Die Kunst ist dann die Anzahl der Messungen richtig zu wählen.

Peter
Ubuntu+Debian FHEM + ESPEasy + Homematic + ConBee + DUROFERN

Wernieman

Hallo,

konnte jetzt mal bei uns Nachgucken .. wir haben dort stehen:
iostat -xdN
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Peteruser

Hallo,
da verändern sich die Werte aber kaum. D.h. es läuft schon eine andere Diskussion, was wirklich gebraucht wird bzw. Sinn macht. Evtl. komm ich nächste Woche auch mal an das Das -d sollte man dann doch einbauen:
Another useful option to use with iostat is "-d" which only shows the disk statistics of the system.
https://www.thegeekdiary.com/using-iostat-to-monitor-system-performance-in-linux-examples-included/

Grüße Peter
Ubuntu+Debian FHEM + ESPEasy + Homematic + ConBee + DUROFERN