• 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!

package

zabbix-check-ksm: Kernel Samepage Merging

14. September 2015 by Sebastian Leave a Comment

Kernel Samepage Merging (KSM) erlaubt eine Deduplizierung des Memory unter Linux und wurde mit der Kernel Version 2.6.32 eingeführt. KSM versucht gleiche Memory Pages zu erkennen und diese zusammenzuführen um den doppelt belegten Memory freizugeben. Ursprünglich für Virtualisierung vorgesehen kann es nun auch von allen Programmen genutzt werden, die viele Instanzen mit gleichen Daten erzeugen.
Die Werte dazu kann man schön unter /sys/kernel/mm/ksm/ abfragen und in Zabbix integrieren. Bei Hostsystemen mit vielen Gästen ist es sicher interessant sich das mal in Form von Graphen im Frontend anzuschauen. Die Werte sind die folgenden:

pages_to_scan Zu scannende Shared pages
sleep_millisecs Zeit bis zum nächsten Scan
run 0 = stop ksmd, 1 = start/running ksmd, 2 = stop ksmd und unmerge
pages_shared how many shared pages are being used
pages_sharing how many more sites are sharing them i.e. how much saved
pages_unshared how many pages unique but repeatedly checked for merging
pages_volatile how many pages changing too fast to be placed in a tree
full_scans how many times all mergeable areas have been scanned

Dazu hab ich kleines Paket gebaut, was im Grund eigentlich nur aus einem Einzeiler besteht. Zu finden unter:

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

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

Default Kompressionsalgorithmus von debuild ändern

11. August 2015 by Sebastian Leave a Comment

Auf Arbeit laufen große Teile der Clients noch auf Ubuntu 12.04 Precise, weshalb ich dafür natürlich auch meist Pakete dafür baute. Gestern habe ich ein paar Pakete für 14.04 Trusty bauen müssen und hab dabei fast die Kriese bekommen. Das bauen an sich machte keine Probleme, allerdings unser Repository, welches schon etwas in die Jahre gekommen ist. Ich bekam nun bei erstellen des Repository’s jedes mal

E: This is not a valid DEB archive, it has no 'data.tar.gz', 'data.tar.bz2' or 'data.tar.lzma' member
E: Errors apply to file '/var/www/linux/dists/gpl-trusty/main/binary-i386/libmd5-perl_2.03-1_all.deb'

Wenn ich mir das nun auf unserem Repository das Paket anschaute meldete der auch das damit etwas nicht stimmt. Gut hier ist es wieder meine eigene Schuld, denn ich las die Fehlermeldung nicht richtig, welche wie folgt lautete:

dpkg-deb: file `/root/gpl-trusty/main/libmd5-perl_2.03-1_all.deb' contains ununderstood data member data.tar.xz, giving up

Hätte ich mir diese und die vorhergehende Meldung mal direkt genauer angeschaut, hätte ich auch gesehen das er einfach mit dem Kompressionsalgorithmus XZ nicht klar kommt. Also Fazit, unter Trusty wurde der Default Kompressionsalgorithmus auf XZ gestellt, womit alte Systeme ein Problem haben. Nun muss ich also debuild beibringen das er wieder gzip als Default zu benutzen hat, was ich wie folgt getan habe:

  • Die Datei /usr/local/bin/dpkg-deb, mit folgendem Inhalt, erstellen
  • #!/bin/bash
    /usr/bin/dpkg-deb -Zgzip $@
    
  • Folgendes noch in der .bashrc hinzufügen, da es in meinem Fall dauerhaft sein soll
  • alias debuild="debuild --preserve-envvar PATH"
    

    Anschließend nutzt dann debuild auch gzip und alles funktioniert. Es gibt auch noch andere Varianten debuild dazu zu bewegen gzip zu nutzen, wie beispielsweise die Datei debian/source/options mit folgendem Inhalt anzulegen:

    compression = "gzip"
    

    Dies ignorierte aber debuild bei mir komplett.

    Quelle: http://comments.gmane.org/gmane.linux.debian.devel.devscripts/9977

    PS: Dank geht auch wieder an meinen Kollegen, der mir bei der Aufklärung behilflich war.

    Posted in: Arbeit, IT, Linux, Opensource Tagged: package, trusty, ubuntu

    zabbix-check-smart: S.M.A.R.T. HDD Monitoring mit Zabbix

    28. Mai 2015 by Sebastian 4 Comments

    Ich setze schon seit vielen Jahren beruflich sowie privat beim Überwachen von Servern auf Zabbix. In diesem Zusammenhang musste ich mich auch das erste mal richtig mit Bash beschäftigen um diverse Skripts zu schreiben, die Dinge überwachen die Zabbix von Haus aus nicht mitbringt. Da es bei einer größeren Infrastruktur allerdings nervigen werden kann, sowas immer von Hand auf die Server zu legen, habe ich mich irgendwann entschieden Pakete daraus zu bauen. Die Skripts, bzw. Pakete, die auch allen anderen von nutzen sein können, werden ich und mein ehemaliger Kollege Christoph auch öffentlich in einem Repository zur Verfügung stellen. Da wir beide meist auch noch ältere Server, mit älteren Debian oder Ubuntu Versionen verwalten, sind die meisten Skripts auch darauf nutzbar. Wenn ihr Bugs bemerkt oder Fragen habt, kontaktiert einfach denjenigen von uns, welcher das Pakete erstellt hat. Die XML Templates zum importieren ins Frontend liegen dabei immer unter /usr/share/doc/{package_name}/

    So nun zum eigentlichen Teil, dem Paket um S.M.A.R.T. Werte (RAW und VALUE) eines Servers auszulesen und diese in Zabbix darstellen zu lassen. Geschrieben habe ich es in Python, mit ein paar Hilfestellungen eines Kollegen, da dies so zu sagen meine ersten Gehversuche in Python sind. Bestehen tut das ganze aus zwei Skripten, einem Discovery Skript, welches die verbauten Platten für die Discovery Rule im Frontend erfasst und dem Skript welches der Agent aufruft und die Werte abzufragen.
    Installieren könnt ihr das Paket, nachdem ihr das Repository hinzugefügt habt, via:

    apt-get install zabbix-check-smart
    

    Bei der Installation wird direkt geschaut ob SMART auch auf den Platten aktiviert ist, wenn nicht wird es aktiviert. Danach einfach das Template zum Frontend hinzufügen. In diesem sind ein paar Abfragen integriert, die mir jetzt erstmal wichtig waren. Ihr könnt im Grunde jeden SMART Wert damit, als RAW_VALUE oder VALUE abfragen. Will man RAW_VALUE Werte bekommen muss der Key z.B. so aussehen:

    smart.raw[{#HDD},Current_Pending_Sector]
    

    Für VALUE Werte z.B. so:

    smart.value[{#HDD},Raw_Read_Error_Rate]
    
    Posted in: IT, Linux, Monitoring, Netzwerk, Opensource Tagged: linux, monitoring, package, python, smart, 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
    • chr.istoph's Blog
    • 5222.de
    • Lainblog

    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