check_diskio_cover

Überwachen Sie Ihre Festplatten mit unserem Icinga Plugin: check_diskio

Lesezeit: < 1 Minute

Zur Überwachung von Performanceparametern von Blockspeichergeräten/Festplatten (siehe Kerneldokumentation) kann das Skript check_diskio eingesetzt werden. Das Icinga Plugin berechnet selbstständig gleitende Durchschnitte mit konfigurierbarer Intervallgröße und erlaubt Transformationen (Skalierung/Einheiten-Konvertierung/…) der ermittelten Durchschnitte. Die Konfiguration geschieht im Skript selbst durch Anpassung von:

  • CHECKED_PARAMS (Teilmenge der Parameter, die ausgelesen werden soll, samt Skalierungsfunktion, Prefix, …)
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    CHECKED_PARAMS = OrderedDict(
    [('readiops', {'short': 'riops',
    'col': 0,
    'checked': True,
    'display': 'requests'}),
    ('read_merges', {'short': 'rmerges',
    'col': 1,
    'checked': False,
    'display': 'requests'}),
    ('read', {'short': 'r',
    'col': 2,
    'checked': True,
    'display': 'bytes',
    'scale': lambda x: x * 512}),
    ('read_ticks', {'short': 'rticks',
    'col': 3,
    'checked': True,
    'display': 'milliseconds'}),
    ('writeiops', {'short': 'wiops',
    'col': 4,
    'checked': True,
    'display': 'requests'}),
    ('write_merges', {'short': 'wmerges',
    'col': 5,
    'checked': False,
    'display': 'requests'}),
    ('write', {'short': 'w',
    'col': 6,
    'checked': True,
    'display': 'bytes',
    'scale': lambda x: x * 512}),
    ('write_ticks', {'short': 'wt',
    'col': 7,
    'checked': False,
    'display': 'milliseconds'}),
    ('in_flight', {'short': 'if',
    'col': 8,
    'checked': False,
    'display': 'requests'}),
    ('io_ticks', {'short': 'io_t',
    'col': 9,
    'checked': True,
    'display': 'percent',
    'scale': lambda x: x * 0.1}),
    ('time_in_queue', {'short': 'tiq',
    'col': 10,
    'checked': False,
    'display': 'milliseconds'})])
  • CHECKED_MAJOR_NRS (Major Nummern der Blockdevices, die überprüft werden)
  • AVG_INTERVALS (Zeitintervalle, für die Durchschnittswerte berechnet werden)
  • LOG_BASE_DIR (Verzeichnis, in dem die Logs abgelegt werden)

Die Logs werden vom Skript selbst nicht gelöscht bzw. rotiert.

Eine Beispielausgabe für die Überprüfung der Parameter read ticks, write sectors, read I/Os, write I/Os, read sectors, io_ticks für die Block-Devices vda, vdb, vdc, vdd, dm-0 ist nachfolgend zu sehen.

$ check_diskio

OK | vda_rticks=9 vda_w=668 vda_riops=0 vda_wiops=0 vda_r=15048 vda_io_t=0 vdb_rticks=0 vdb_w=8936 vdb_riops=0 vdb_wiops=0 vdb_r=3 vdb_io_t=0 vdc_rticks=0 vdc_w=27 vdc_riops=0 vdc_wiops=0 vdc_r=138 vdc_io_t=0 vdd_rticks=1 vdd_w=76074 vdd_riops=0 vdd_wiops=6 vdd_r=19215 vdd_io_t=0 dm-0_rticks=0 dm-0_w=0 dm-0_riops=0 dm-0_wiops=0 dm-0_r=0 dm-0_io_t=0

 

Das Skript kann hier heruntergeladen werden.

Schreiben Sie einen Kommentar