Jan 18 2009

MySQL Query-Statistik Script

Tag: Allgemein, Linux, Programmierung, Tricks & KniffeMartin @ 15:03

Da ich bis jetzt beim kurzweiligen suchen bei Google nichts gefunden habe was die Sache für mich übernimmt, habe ich mal ein Perl-Script zusammen geschustert, welche verschiedene Query-Statistiken von MySQL, je nach Bedarf, ausgibt.

Ich muss dazu sagen, dass dieses Script eigentlich dafür gedacht war, die Ausgabe via SNMP abzufassen und dann in Cacti darzustellen. Leider ist es dazu nicht gekommen.

Das Script macht sich aber auch zur “Just-in-Time” Kontrolle der Query-Quantität ganz gut oder um die Ausgabe mit einen kleinen Shell-Script-Wrapper in ein RRD zu schreiben und dann als Graph darzustellen.

In etwa würde das auf einer Linux-Shell dann so aussehen:

[root@server bin]# watch -n10 “./mysql_query_stat.pl -u root -p password -h mysqlserver -n 10 -SQUID;”

Every 10,0s: ./mysql_query_stat.pl -u root -p password -h mysqlserver -n 10 -SQUID;

QPSnow:      471
QPSall:        731
Selects/s:    381
Inserts/s:    16
Updates/s:   9
Deletes/s:   7

Dieser Befehl erzeugt die Ausgabe der jetzigen Query-Quantität aller 10 Sekunden. Für ander Optionen (wie z.B. die gut zu parsende One-Liner Ausgabe) könnt Ihr euch das Script ja mal anschauen.

Für Fragen, Anregungen, Bug-Reports oder Feature-Wünsche wäre ich dankbar.

Das Script gibts natürlich hier.

MfG Maddin


Dez 31 2008

Bootzeit verkürzen mit Hilfe von Bootchart und readahead

Tag: Linux, Tricks & KniffeMartin @ 13:14

Wer kennt das nicht:

  • Rechner einschalten
  • im Bootmenü das OS auswählen
  • das OS, in meinem Fall Linux (Ubtuntu 8.04 LTS), starten
  • Kaffee holen / auf Toilette gehen / Glotze anschalten und auf den Login warten

Da es mich aber mittlerweile etwas genervt hat, das die Boot-Zeit meines Systems mittlerweile bei knapp 1 Minute und 10 Sekunden liegt, was bei Bereitschaftsdiensten Nachts um 4 ganz schön lange sein kann, habe ich mich mal nach einem Visualisierungstool für den Linux-Boot-Prozess umgesehen.

Weiterlesen: “Bootzeit verkürzen mit Hilfe von Bootchart und readahead”


Jul 24 2008

Filterauswertung für SpamAssassin

Tag: Linux, Programmierung, Tricks & KniffeMartin @ 13:02

Viele von Euch oder zumindest diejenigen die ein funktionierendes Mailsystem ihr eigen nennen, werden um die Nutzung einer AntiSpam Software nicht herumkommen. Die wahrscheinlich bekannteste ist SpamAssassin. Da ich jedoch in diesem Artikel weder auf die Installation noch Beschreibung von SpamAssassin eingehen möchte, kann ich für interessierte Leser den Wiki-Artikel empfehlen.

Worauf ich zu sprechen kommen möchte, ist ein Script Namens sa-stats.pl. Dieses Perl Script, implementiert von David Ramsden, wertet SpamAssassin-Einträge aus Maillogfiles aus und gibt diese, aufgesplittet nach Spam und Ham, in tabellarischer Form aus. Dies ist z.B. sinnvoll um zu sehen welcher der User oder welche Domain prozentuall den meisten Spam erhält.

Da es unsere Mail-Admin’s aber auch interessiert, welche Filter dazu führen dass eine Mail als Spam deklariert wird, wurde ich beauftragt eine kleine Erweiterung des Scripts zu schreiben, welche die Quantität und den prozentualen Anteil der Filter augibt. Kurz gesagt eine Auswertung der von SpamAssassin vernwendeten Filter.

Interessierte finden das Script hier. Über Kritik, Lob, Anregungen oder sonstige Kommentare würde ich mich freuen.


Jul 14 2008

SSH, denn sicher ist sicher

Tag: Linux, Sicherheit, Tricks & KniffeFrank @ 10:31

SSH (Secure Shell) ist sowohl ein Protokoll als auch eine Reihe Von Anwendungen um dieses zu nutzen. Es wird genutzt um eine Verschlüsselte Verbindung zu entfernten Rechnern aufzubauen. Diese Verbindung kann dann quasi beliebige Daten transportieren, wird aber zumeist dafür benutzt eine Remotekonsole zu steuern oder Dateien zu übertragen (Secure Copy, SCP genannt). Das Protokoll ist auf OSI Schicht 7 angesiedelt und kommuniziert Standardmäßig (nach den Vorgaben der IANA) über Port 22.

Obwohl SSH an sich schon sehr Sicher ist, kommt es doch gelegentlich zu erfolgreichen Angriffen die es dem Angreifer dann natürlich unter Umständen ermöglichen Root-Rechte zu erlangen. Häufigste Ursache für den erfolgreichen Angriff sind in der Praxis meist schwache Passwörter und falsch konfigurierte SSH Daemons. Aus diesem Grund möchte ich hier darauf eingehen wie man den SSH Zugriff gegen diese beiden Faktoren härten kann.

Weiterlesen: “SSH, denn sicher ist sicher”


Jul 05 2008

Zeilen ausschneiden mit sed oder perl / cut out lines with sed or perl

Tag: Linux, Tricks & KniffeMartin @ 13:52

Wer kennt das nicht, man hat einen riesigen sql dump und möchte nur eine Tabelle daraus haben um diese erneut anzulegen. Aber der sql dump ist 2 GB gross und zum suchen in less oder vim hat man keine lust.

Hier kommt die Lösung, auf dieses Problem:

sed -n '/^CREATE TABLE foobar/,/^)\;/p' dump.sql

Wie einfach doch die Welt sein kann. Dieser Einzeiler eignet sich natürlich hervorragend um auch andere Daten aus Texten heraus zu schneiden.

[UPDATE]

Natürlich geht das auch wunderschön mit Perl:

cat test.txt | perl -ni -e 'print if m/^ANFANG/..m/^ENDE/;'

Jun 23 2008

2 Server + 1 SAN + OCFS2 = SPASS

Tag: Cluster, Linux, Storage, VirtualisierungMartin @ 14:25

Hier nun einer der erste Artikel in unserem neuen Linux Techblog, “den besten den gibt auf der Welt ™”.

Kommen wir nun zum eigentlich Thema: einem SAN der Marke Infortrend, ausgestattet mit redundanten Controllern mit jeweils 512 MB Cache Speicher, 12×2.5 Zoll Bay’s, wovon 10 mit 146 GB SAS Festplatten bestückt sind, 2 SuperMicro Server Systemen mit jeweils 16 GiB RAM, 2×1 Intel QuadCore Xeon 5130 CPU, einem Emulex LP11002 4 Gbit Dual-Port HBA und einem 3ware 9650SE RAID-Controller mit jeweils 2×250 GB S-ATA Festplatten im RAID-1 Verbund laufend.

Sozusagen beste Grundvoraussetzungen um einen performanten Virtualisierungs Cluster, was das eigentliche Ziel der Hardwareanschaffung war, aufzubauen.

Weiterlesen: “2 Server + 1 SAN + OCFS2 = SPASS”