Mittwoch, 25. Mai 2011

(Nagios) SMS senden via sms4.de

Ich hätte da mal wieder eine Howto von gestern

Auf dieser Seite:


es kann ja mal vorkommen das es wichtige Ereignisse in der Infrastruktur gibt welche uns zwar von Nagios gemeldet werden aber wir sind im Wochenende oder ähnliches. Handelt es sich hierbei Aber zb um das Mailgate oder die Klimaanlange interessiert es uns ja bestimmt doch.

Einfache Lösung!?! Einfach per sms benachrichtigen.

Mit einem Anbieter wie http://sms4.de geht es hierbei wohl am einfachsten. Aber der Reihe nach.

Schritt 1

Einen Kontakt anlegen.
Hierzu legt man eine datei contacts.cfg an und in dieser einen Kontakt. Der Einfachheit halber und damit man Kontakte unterscheiden kann lege ich zu jedem User der eine SMS bekommen will in der Datei contacts-sms.cfg einen sms Kontakt an.

define contact{
contact_name Testuser-sms
alias Ein test user
service_notification_period 24x7
host_notification_period 24x7
service_notification_options u,c,r
host_notification_options d,u,r
service_notification_commands notify-by-sms
host_notification_commands host-notify-by-sms
pager 49123456789
}

Für üns interessant ist hierbei die Angabe Pager, hier lässt sich nun eine Handynummer eintragen.
Wichtig! ist auch das der Eintrag der notification richtig gesetzt ist.

Schritt 2

Ein Befehlsskript findet man unter sendsms4.py welches ich in python geschrieben habe. Nun muss man diesen Befehl noch in Nagios anlegen.
Eine Datei misccommands.cfg enthält das script

define command{
command_name    notify-by-sms
command_line /usr/local/bin/sendsms4.py $CONTACTPAGER$ "$NOTIFICATIONTYPE$: $HOSTNAME$: $SERVICEDESC$ is $SERVICESTATE$ ($SERVICEOUTPUT$)"
}


Somit ist nun möglich das ganze Abzuschicken.

Schritt 3

Nun müssen wir noch einmal alles verheiraten. Hierzu habe ich in der Datei contactgroups.cfg Eine Gruppe für die neuen sms Kontakte angelegt. Nun wird bei jedem Service, die notification auf unserer sms gruppe gesetzt. Hier die linux-admins-sms

define service{
host_name linux-server
service_description check-disk-sda1
check_command check-disk!/dev/sda1
max_check_attempts 5
normal_check_interval 5
retry_check_interval 3
check_period 24x7
notification_interval 30
notification_period 24x7
notification_options w,c,r
contact_groups linux-admins-sms
}

Und das War es auch schon!


Skript Nachtrag


damit mein Python Skript auch richtig funktioniert gibt es ein paar Sachen zu beachten.

  1. 1 Die Konfiguration bzgl der Zugangsdaten findet im Skript statt, also einfach Ihre Accountemail nehmen und dann die Daten einfügen.

  1. 2 Es gibt eine log Datei. Diese muss aber von Hand angelegt und frei gegeben werden. Natürlich ist der Pfad der Datei auch im Quelltext editierbar. Per default sollten sie so vorgehen


echo '' > /var/log/sendsms4.log

chmod 777 /var/log/sendsms4.log

Mittwoch, 18. Mai 2011

Ubuntu 11.04 TEIL 2

11.04, alles ist anders!

Verwirrt, Verwirrt, Verwirrt. Ist wohl die eigentliche Aussage die ich treffen muss. Nichts ist beim alten. Ich vermisse gerade die einfachsten Features und kann sie irgendwie nicht finden, vielleicht muss ich auch weiter suchen.

Also, es gefällt mir nicht. Ich denke für ein Netbook oder eine "TippStation" ist es ein richtig schönes und buntes System das Freude macht, aber...

ICH VERSUCHE HIER ZU ARBEITEN!!!!

  • ich habe keinen sinvollen Umschater zwischen Anwendungen, ich muss alles über dieses Bunte etwas an der Seite tun, wobei ich das "Welches Fenster zeige ich an"-System noch nicht verstanden habe
  • Ich muss wenn ich ein Programm starten will mich entweder lange durch PopUp Menüs klicken, oder gleich den Namen tippen
  • Der Arbeitsflächenumschalter ist mir zu langsam. Vielleicht macht es mit einer riesigen Grafikkarte Sinn das man animiert zuerst zu einer Gesamtenübersicht wechselt, mir bringt es nix.
  • Kann man keinen Schnellstartbutton in die Taskleiste machen? Oder kann das nur ich nicht?
Und finally:
  • mein Nagstamon geht nicht mehr!

Dienstag, 17. Mai 2011

(vmware) Was man nicht tun sollte / Was man dann danach machen sollte

ich habe da mal noch einen alten blog Eintrag gefunden, den man vielelicht mal brauchen kann :-)

Ich hatte kürzlich das Problem das eine virtuelle Festplatte unter VMWare voll war. Dies ist auch unter VMWare Server eigentlich keine grosse Sache. Also auf die console eingeloggt und los ging es:

 vmware-vdiskmanager -x 64GB /var/opt/vm/vm1/vm1-001-0.vmdk

Ohne meckern oder murren vergrösserte der vdiskmanager dann auch die gewünschte Festplatte. Beim neustart des Systems gab es dann aber eine böse überraschung. Sie lief nämlich nicht mehr.
Der Grund? ganz einfach ich hatte übersehen das es mal einen Snapshot auf dieser Platte gab und habe diesen schlicht weg ignoriert. Also im selben Ordner war auch noch ein vm1-001-0-00000001.vmdk Auf diese Zeigte auch auf diesen Snapshot. Dumm gelaufen

The parent virtual disk has been modified since the child was created (18).

Ich beschreibe nun kurz was man tun sollte, muss leider auch dazu sagen das es bei mir nicht so recht wollte, aber leider habe ich aus dem schon schweren Fehler durch leichtes zutun einen SuperGau gemacht.

Also erstens: KEINE Panic

Da sich jemand die Mühe gemacht eine Art worst-case Liste zu machen schauen wir einfach ob unser Problem in dieser Liste ist wir schauen also auf  http://sanbarrow.com/vmdk/vmdk-when-its-too-late.html nach ob wir unsers Fehler finden. Und ja da ist er auch schon. ALso müssen wir nicht viel tun.
  1. Wir betrachten uns die disc und den Snapshot und finden einen Unterschied in der CID des Parent und im CIDParent eintrag. Diesen müssen wir ausgleichen,also schreiben wir in den CIDParent eintrag logisch den CID des Parent
  2. Desweiteren sehen wir das die RW der Einträge nicht mehr stimmt, auch hier übertragen wir die RW vom Parent auf das Child
  3. Natürlich hat der Parent nun auch mehr Einträge. Da vmware ja (normalerweise) 2GB Files anlegt, wir haben bei einer vergrösserung von 10GB also 5 Files mehr. Diese löschen wir aus der Datei und die -fxxx.vmdk files von der Festplatte
Die Festplatte (snapshot) würde nun wieder ohne murren booten. Ich empfehle vorher noch folgendes

vmware-vdiskmanager -r <snapshot>.vmdk -t 0 new_vmware.vmdk

Somit kopieren wir den Snapshot, im idealfall sollte es nun auch wieder eine Disk ohne Snap sein, den man dann weiter benutzen kann.

In meinem Fall kann ich nur abschliessend sagen: Gut wenn man ein Backup hat