• Und wer ist…?
  • Holiday Berichte
    • Urlaub Schottland 2013
    • Urlaub Griechenland 2013
  • Services
  • Kontakt/GnuPG

KOKOLOR.ES

Hier geht's einfach mal um alles und nichts!

mdadm

zabbix-check-mdadm2: mdadm Monitoring für Zabbix

5. Februar 2016 by Sebastian Leave a Comment

Ich habe die Tage mal mein altes mdadm Skript angeschaut, was so mein erster Bash Skript Gehversuch war, und gedacht das ich das mal schöner machen kann. In der Vergangenheit hat auch Christoph bereits ein Check dafür geschrieben, welcher recht simpel gehalten ist und auch ohne root Rechte auskommt. Deshalb hat meines auch die 2 hinten dran hängen.

Das Skript habe ich diesmal in Python geschrieben um ein bisschen zu üben. Es liest einmal /proc/mdstat oder den State von mdadm –detail aus. Für zweiteres sind auch die Root Rechte von nöten. Da hier mehrer States gleichzeitig angezeigt werden können, geb ich nur den schlimmsten aus. Steht also bei

State : clean, recovering

wird recovering ausgegeben.
Aufgerufen werden kann es wie folgt:

zabbix_check_mdadm2_get.py md0 mdstat
zabbix_check_mdadm2_get.py md0 state

Außerdem habe ich daraus wieder ein Paket gebaut, welches dann demnächst wieder in Christoph’s Repository zu finden sein wird. In diesem ist auch ein entsprechendes Discovery Skript enthalten, welches nach md Devices sucht und diese im JSON Format ausgibt, damit das Zabbix Frontend daraus die Items generieren kann. Das Template liegt wie immer unter share/doc im Paket.

Sourcecode: Github
Repository: repository.chr.istoph.de

Posted in: IT, Linux, Monitoring, Opensource Tagged: linux, mdadm, monitoring, python, zabbix

mdadm Test RAID mit loop Devices

5. Februar 2016 by Sebastian 5 Comments

Ich brauchte heute mal schnell eine mdadm Testumgebung und da ich kein physisches Testgerät da hatte und ich auf keinem Produktivssystem rumspielen wollte, dachte ich mir, das muss doch auch anders gehen, z.B. mit loop Devices:

Je nachdem mit welchem RAID Level man rumspielen will, legt man sich eine entsprechende Anzahl an Files an:

dd bs=1M count=200 if=/dev/zero of=dev1
dd bs=1M count=200 if=/dev/zero of=dev2
dd bs=1M count=200 if=/dev/zero of=dev3

Ich lege mir hier also 3 Files á 200MB an. Nun verknüpft man diese Files mit einem loop Device:

losetup /dev/loop1 dev1
losetup /dev/loop2 dev2
losetup /dev/loop3 dev3

Zu guter letzte noch das RAID Device erstellen, in meinem Fall ein Raid5:

mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/loop1 /dev/loop2 /dev/loop3
Posted in: IT, Linux, Opensource Tagged: linux, mdadm, raid

mdadm mit zabbix überwachen

26. Februar 2013 by Sebastian Leave a Comment

New Version

Ich habe heute für die Arbeit ein Script geschrieben um unsere mdadm RAID’s mit Zabbix zu überwachen. Ich freue mich natürlich über Tipps, da ich noch das Script schreiben übe. Ich hab also noch nicht so viel Erfahrung, aber ich entdecke langsam die praktische Seite daran. :-D

Jedenfalls ist das das Script:

#!/bin/bash

export PATH=/usr/bin:/bin:/usr/sbin/:/sbin/

disk=$1

case $2 in
        state)
               state=$(sudo mdadm --detail /dev/$disk | grep -i "State :" | cut -d ":" -f 2 | awk -F ' ' '{print $1 $2 $3}')

               if [ "$(echo $state | grep clean | wc -l)" -eq "1" ]; then
                      s1=1
               else
                      s1=0
               fi
               if [ "$(echo $state | grep degrade | wc -l)" -eq "1" ]; then
                      s2=2
               else
                      s2=0
               fi
               if [ "$(echo $state | grep recovering | wc -l)" -eq "1" ]; then
                      s3=4
               else
                      s3=0
               fi

               s4=$(echo $(($s1 + $s2 + $s3)))

               case $s4 in
                       "0" | "1")
                               echo clean
                       ;;
                       "2" | "3")
                                echo degrade
                       ;;
                       "4" | "5" | "6" | "7")
                                echo recovery
                       ;;
                       esac
        ;;
        mdstat)
                grep -A1 $disk /proc/mdstat | grep -o _ | wc -w
        ;;
esac

Kurze Erklärung zu state: Ich greppe mir da aus der Ausgabe von mdadm die Zeile State heraus wo der Status des RAID’s ausgegeben wird. Dies können drei Stadien sein – clean, degrade, recovering (auch alle gleichzeitig). Aus diesem Grund habe ich noch die Addition hinzugefügt um einen Status auszugeben. Ich gebe aber immer nur einen Status aus: Wenn nur clean, dann logischer Weise clean – wenn clean,degrade dann degrade, da ja die Information wichtig ist das etwas mit dem RAID nicht in Ordnung ist – wenn recovering enthalten ist, dann wird recovery ausgegeben.

Kurze Erkläung zu mdstat: Ist relativ simpel. Platten die OK sind werden in /proc/mdstat mit U angeben und fehlende mit _ , da ich wissen will wie viele ausgefallen sind greppe ich hier nach _ .

Im Anschluss muss das Script noch ausführbar gemacht und in /etc/zabbix/zabbix-agentd.conf folgende Zeile hinzufügen werden:

UserParameter=mdadm[*], sh /pfad/zu/mdadm_chk.sh $1 $2

Da man für mdadm root-Rechte benötigt muss man noch folgende Zeile in /etc/sudoers:

zabbix ALL=NOPASSWD:/pfad/zu/mdadm_chk.sh,/sbin/mdadm

Jetzt einmal den Agent neu starten und schon müsste es funktionieren. Items und Trigger hab ich wie folgt angelegt:

mdadm_item_zbx

mdadm_trigger_zbx

Posted in: Arbeit, IT, Linux, Netzwerk, Opensource Tagged: bash, linux, mdadm, precise, raid, ubuntu, zabbix

Social Shit

Fediverse PGP-Key XMPP Matrix Git Github

Kategorien

  • Allgemein
  • Android
  • Anime
  • Arbeit
  • Entertainment
  • Games
  • Handy
  • IT
  • Linux
  • Monitoring
  • Netzwerk
  • Opensource
  • Privates
  • QEK Junior
  • Rattis
  • Showtime Ost
  • Showtime West
  • Windows

Interessantes

  • World of Edolas
  • Lainblog
  • 5222.de
  • chr.istoph's Blog

Archive

  • Juni 2023
  • August 2019
  • Oktober 2018
  • März 2018
  • Dezember 2017
  • Juli 2017
  • Juni 2017
  • Mai 2017
  • März 2017
  • Februar 2017
  • Januar 2017
  • Dezember 2016
  • November 2016
  • September 2016
  • August 2016
  • Juli 2016
  • Juni 2016
  • Mai 2016
  • April 2016
  • März 2016
  • Februar 2016
  • Dezember 2015
  • November 2015
  • September 2015
  • August 2015
  • Juli 2015
  • Juni 2015
  • Mai 2015
  • April 2015
  • März 2015
  • Februar 2015
  • November 2014
  • Oktober 2014
  • August 2014
  • Juli 2014
  • Juni 2014
  • Mai 2014
  • April 2014
  • März 2014
  • Februar 2014
  • Dezember 2013
  • November 2013
  • Oktober 2013
  • September 2013
  • August 2013
  • Juli 2013
  • April 2013
  • März 2013
  • Februar 2013
  • Januar 2013
  • Dezember 2012
  • November 2012
  • September 2012
  • Juli 2012
  • Juni 2012
  • Mai 2012
  • Februar 2012
  • Januar 2012

Tags

android anime apt bash bugs debian freifunk freifunk-aachen gnome hardware htpc kernel linux lucid lxc mdadm mint monitoring mysql network nginx openwrt outdoor package pgp php postgres precise raid redmine squeeze telekom testing trusty ubuntu virtualization vserver wheezy windows xbmc xenial xorg xubuntu zabbix zarafa

Datenschutzerklärung | Impressum

Copyright © 2025 KOKOLOR.ES.

Omega WordPress Theme by ThemeHall