Posts Tagged ‘Server’

^M am Ende jeder Zeile

Posted in Linux, Windows on März 19th, 2010 by Patrick – 16 Comments

Soeben habe ich ein paar Anpassungen in einem File einer Internetplattform vorgenommen.
Als ich die Daten dann mit VI auf der Konsole geöffnet hatte, stand an jedem Ende einer Zeile ein ^M.
Dies kommt daher, dass die Datei unter Windows geschrieben wurde und dadurch ein anderes Fileformat enthält. Dadurch bildet VI jeden Zeilenumbruch durch ein ^M ab.
Wer häufig zwischen den beiden Welten Linux und Windows unterwegs ist, der hat sicher schon oft festgestellt, dass eine unter Linux verfasste Textdatei unter Windows plötzlich keine Zeilenumbrüche mehr hat.

Zuerst habe ich versucht, dieses Überbleibsel der Windows-Welt direkt in VI selbst zu ersetzen:

1
%s/\^M//g

Dies funktionierte leider nicht, wäre ja auch zu schön gewesen.
VI sucht mit diesem Kommando nach den Zeichen ^ und M. Leider ist der Zeilenumbruch aber nur abgebildet als ^M, nicht aber auch als solches abgespeichert, wodurch VI nie etwas finden wird.

Die Lösung schlussendlich war zwar nicht ganz so komfortabel wie direkt per VI, hat aber ihren Zweck voll und ganz erfüllt:

1
perl -p -e 's/\r$//' < windowsdatei > linuxdatei

Natürlich funktioniert das ganze auch für alle Verräter der Linuxwelt (kein Flame, nur Spass) ;)

1
perl -p -e 's/\n/\r\n/' < linudatei > windowsdatei

Zugriffsbeschränkung von Hobbit umgehen

Posted in Monitoring, Ubuntu on Februar 19th, 2010 by Patrick – 2 Comments

Seit dem letzten Update von Hobbit hat auch ein neues Feature Einzug gehalten.
Bei der Installation von Hobbit über die Konsole wird man nach einer oder mehreren IP Adressen gefragt, welche Zugriff auf das Webinterface von Hobbit erhalten sollen.

Für mich ist das insofern ein Problem, da ich nicht immer vorhersagen kann, welche IP Adresse ich gerade haben werde, wenn ich den Status meiner Server abfragen will.
Also habe ich mit allem Möglichen versucht, mir Zugriff zu verschaffen. Leider lässt sich weder Regex, noch ein ganzer IP-Range definieren.

Eine Möglichkeit, trotzdem von überall Zugriff zu erhalten, wäre gewesen, einfach eine ältere Version von Hobbit zu verwenden, wo dieses “Feature” noch nicht implementiert ist! Doch das ist auch nicht die beste Lösung.
Leider wollte auch das Internet nichts sinnvolles ausspucken; anscheinend bin ich der Einzige mit diesem Problem…

Schlussendlich, beim ziellosen durchstöbern der Hobbit-Konfigurationsfiles bin ich auf die Datei hobbit im Ordner /etc/apache2/conf.d/ gestossen!
Darin gibt es drei Mal folgenden Eintrag:

1
Allow from localhost ::1/128

Diese gilt es nur abzuändern in:

1
Allow from all

und dann Apache neustarten:

2
sudo /etc/init.d/apache2 restart

und schon ist dieses Problem aus der Welt geschaffen.
Von jetzt an komme ich von überall auf meinen Hobbitserver, egal welche IP ich habe :)

Kampf mit dem Citrix Receiver

Posted in Citrix, Fedora on Februar 5th, 2010 by Patrick – Kommentare deaktiviert

Um auf ein paar unserer Server zugreifen zu können, musste ich heute auf meinem Fedora 12 den Citrix Receiver installieren.
Am Anfang war ich noch glücklich darüber, dass ich die Installation nicht unter Debian / Ubuntu durchführen musste, da es schon fertige RPM-Pakete von Citrix gibt für Fedora.

Frisch fröhlich habe ich mit der Installation des Paketes begonnen:

1
rpm -i ICAClient-11.0-1.i386.rpm

Dummerweise besteht ein Abhängigkeitsproblem, also gleich mal yum durchrennen lassen:

2
yum install ICAClient-11.0-1.i386.rpm

Doch dummerweise findet auch yum das benötigte Paket libXm.so.3 nicht…

Nach ein bisschen googeln habe ich dann herausgefunden, dass man unbedingt openmotif installieren muss. Doch auch das scheint nirgends in den Paketquellen vorhanden zu sein??
Also lade ich mir das Paket halt manuell herunter und installiere es:

3
yum localinstall --nogpgcheck openmotif-2.3.1-1.RHEL3.0.i386.rpm

Soweit so gut, also gleich nochmal versucht den Receiver zu installieren.

Doch noch immer scheint libXm.so.3 nicht vorhanden zu sein… Nach weiterer Suchzeit auf Google habe ich noch ein weiteres benötigtes Paket gefunden:

4
yum install libXaw

Doch damit wurde libXm.so.6 und nicht wie benötigt libXm.so.3 installiert. Also muss man noch ein bisschen bescheissen:

5
ln -s /usr/lib/libXm.so.6 /usr/lib/libXm.so.3

Auch bin ich oft über die Aussage gestolpert, dass möglichweise ein paar Fonts rumzicken könnten:

6
7
8
cd /usr/share/fonts/cjkuni-uming/
mv fonts.dir fonts.dir.disabled
mv fonts.scale fonts.scale.disabled

und dann war es endlich soweit:

9
yum install ICAClient-11.0-1.i386.rpm

Jetzt konnte ich den Receiver endlich installieren.
Doch damit noch nicht genug, man sollte die Applikation ja auch starten können… Und genau daran haperte es noch!
Als Ausgabe erhielt ich immer:

10
/usr/lib/ICAClient/wfcmgr: Zeile 197: Vereinbarung: Kommando nicht gefunden.

Doch nach ein bisschen Überlegen und Nachdenken war das ein kleineres Problem. Denn wenn man den Fehler so liest, so habe ich gleich an ein Problem mit der Eula gedacht. Also mal recherchieren, wie man das Anzeigen der Lizenz umgehen kann ;)

11
touch ~/.ICAClient/.eula_accepted

Und von nun an kann ich auch unter Fedora alle Citrix Applikationen gebrauchen:

12
/usr/lib/ICAClient/wfcmgr -icaroot /usr/lib/ICAClient

Xymon konfiguration

Posted in Linux, Monitoring, Xymon on Dezember 30th, 2009 by Patrick – 2 Comments

Vor einiger Zeit habe ich über die Installation von Xymon geschrieben. Heute will ich ein paar Worte zu der eigentlich sehr simplen Konfiguration verlieren.

Alle zu überwachenden Servern und Netzwerkkomponenten werden in der Datei /etc/hobbit/bb-hosts eingetragen.

Ein Eintrag ist dabei immer gleich aufgebaut:

1
172.16.10.2		voodoo.hswn.dk		# ssh ntp dns bbd apache

Zuerst steht die IP, welche zum überwachen verwendet wird.
Danach folgt der Name, unter welchem alle Stati auf der Seite schlussendlich aufgeführt werden.
Am Schluss, entgegen jeder Logik, stehen auskommentiert die zu überwachenden Funktionen und Dienste.
Im Falle unseres Beispieles sieht das wie folgt aus:

Nun kann man mit Xymon die gängigsten Funktionen und Services überwachen. Jeder Service, den man überwachen will, muss wie obig schon aufgeführt, nach der Raute eingetragen werden.

Die gebräuchlichsten Funktionen sind dabei die folgenden:

1
2
3
4
5
6
7
8
9
10
11
12
13
ssh:		Überwacht den SSH Zugriff
ntp:		Überwacht das NTP (Network Time Protokoll)
dns:		Überwacht DNS Funktionen des Servers
bbd:		Überwacht den Xymon Daemon
apache:		Überwacht die Apacheserver-Funktionen
dialup:		Überwacht den Dialup Zugriff
noconn:		Deaktiviert die Überwachung per Ping
smtp:		Überwacht die SMTP Funktion eines Mailservers
pop3:		Überwacht die POP3 Funktion eines Mailservers
imap:		Überwacht die IMAP Funktion eines Mailservers
clamd:		Überwacht den ClamAV-Daemon
dnsreg:		Überwacht den DNS Eintrag auf dessen Gültigkeit
[URL]:		Überwacht den HTTP(S) Zugriff auf die angegebene URL

Alle bisherigen Einstellungen haben sich mit den Funktionen, welche man überwachen will beschäftigt.
Besonders in geschäftlicher Umgebung, wo man sehr viele Server hat, ist es interessant, dass man auch den Look & Feel des Webinterfaces mitbestimmen kann.

So kann man seine gesamte zu überwachenden Komponenten in Server und Services unterteilen:

1
2
3
4
5
6
page servers Systems
172.16.10.2		voodoo.hswn.dk		# ssh ntp dns bbd apache
[weitere....]
page services Services
172.16.10.2		mail.hswn.dk		# smtp pop3 imap clamd
[weitere...]

Dies hat zur folge, dass man beim Aufrufen des Webinterfaces nicht von hunderten von Servern erschlagen wird, sondern das man zwei Punkte ‘Systems’ und ‘Services’ zur Auswahl hat:

Da die Seite Services wirklich nur für Services gedacht ist, fehlen da auch Überwachungspunkte wie CPU, Disk etc. Diese werden in der Kategorie Servers automatisch zugefügt, und überwachen z.B. die Auslastung der CPU oder freien Speicher der Festplatte.
Dies ist nicht etwa ein Bug, sondern tun bei der Überwachung eines Service einfach nichts zur Sache und wurden absichtlich weggelassen.

Zur weiteren Strukturierung kann man nun auch noch Server und Services innerhalb einer Seite weiter zusammenfassen und gruppieren:

1
2
3
4
5
6
group-compress <font size="+1">Mail</font>
172.16.10.2		mail.hswn.dk		# smtp pop3 imap clamd
[weitere...]
group-compress <font size="+1">Web</font>
172.16.10.2		www.hswn.dk		# http://www.hswn.dk/ apache
[weitere...]

Dies wiederum zeigt sich im Webinterface wiefolgt:

So nun eine komplette Konfigurationsdatei kann etwa so aussehen:

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
# Master configuration file for Hobbit
#
# This file defines several things:
#
# 1) By adding hosts to this file, you define hosts that are monitored by Hobbit
# 2) By adding "page", "subpage", "group" definitions, you define the layout
#    of the Hobbit webpages, and how hosts are divided among the various webpages 
#    that Hobbit generates.
# 3) Several other definitions can be done for each host, see the bb-hosts(5)
#    man-page.
#
# You need to define at least the Hobbit server itself here.
 
0.0.0.0			.default.		# bbd
 
page servers Systems
group-compress <font size="+1">Servers</font>
172.16.10.2     	voodoo.hswn.dk		# ssh ntp dns bbd apache
 
172.16.10.5		miro.hswn.dk		# ssh http://miro.hswn.dk/
 
172.16.10.4		dali.hswn.dk		# ssh dialup
 
group-compress <font size="+1">Test systems</font>
0.0.0.0			osiris.hswn.dk		# dialup
0.0.0.0			localhost		# ssh
 
page services Services
group-compress <font size="+1">Network</font>
147.29.31.155		adsl.hswn.dk		# noconn
 
group-compress <font size="+1">Mail</font>
172.16.10.2     	mail.hswn.dk		# smtp pop3 imap clamd
 
group-compress <font size="+1">Web</font>
172.16.10.2     	www.hswn.dk		# http://www.hswn.dk/ apache
172.16.10.2     	webmail.hswn.dk		# https://webmail.hswn.dk/src/login.php
 
group-compress <font size="+1">News</font>
172.16.10.2     	news.hswn.dk		# nntp
 
group <font size="+1">Domains</font>
0.0.0.0			hswn.dk			# noconn dnsreg
0.0.0.0			storner.dk		# noconn dnsreg
0.0.0.0			storner.com		# noconn dnsreg

Wie das ganze nun schlussendlich aussieht, findet man auf der offiziellen Seite von Xymon.
Auf dieser Seite findet man auch die Konfigurationsdatei, welche ich obig verwendet habe. Wer also nicht meine vereinfachte Version will, kann hier die Originale finden.