<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:series="http://unfoldingneurons.com/"
	>

<channel>
	<title>Bits, Bytes and my 5 cents &#187; 8.04</title>
	<atom:link href="http://blog.encodingit.ch/category/os/linux/ubuntu/8-04/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.encodingit.ch</link>
	<description>Life is just a technical game</description>
	<lastBuildDate>Wed, 08 Feb 2012 07:57:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Big Brother im eigenen Netzwerk</title>
		<link>http://blog.encodingit.ch/2009/11/monitoring-mit-nagio/</link>
		<comments>http://blog.encodingit.ch/2009/11/monitoring-mit-nagio/#comments</comments>
		<pubDate>Wed, 18 Nov 2009 18:13:59 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[8.04]]></category>
		<category><![CDATA[Monitoring]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Nagios]]></category>
		<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://compr00t.co.funpic.de/?p=634</guid>
		<description><![CDATA[In der Datei hostgroups.cfg kann man Einstellungen anhand vom Typ eines Servers vornehmen. Intressant wird dies aber erst wenn man mehrere gleiche Server, mit gleichen Aufgaben oder Services betreibt.
Da dies bei mir aber nicht der Fall ist, habe ich mich damit nicht weiter beschäftigt.<img src="http://www.encodingit.ch/piwik/piwik.php?idsite=2&rec=1" style="border:0" alt="" />]]></description>
			<content:encoded><![CDATA[<p>Nein, hier geht es nicht um die steigende Überwachung durch Vater Staat, hier geht es um das Monitoring von Servern, Computern, Diensten und vieles mehr.</p>
<p>Ich habe vor längerer Zeit mal <a href="http://www.nagios.org/"  target="_blank">Nagios</a>, ein sehr komplexes Überwachungstool, aufgesetzt, aber aus Zeitmangel habe ich mich nie wirklich mit der raffinierten, aber doch sehr komplizierten Konfiguration beschäftigt.</p>
<p>Nun aber ist mir das ganze wieder in die Hände gefallen und ich habe mich mal aufgemacht und wollte Nagios nicht nur zum laufen bringen, sondern auch richtig konfigurieren und überwachen lassen.</p>
<p>Im uu.de-Wiki, welches sonst meistens meine erste Anlaufstelle für so Fragen ist, gibt es leider nur ein unfertiger Artikel. (Wenn ich die Zeit finde, werde ich mich da dann mal ran machen) Also habe ich mir meine Informationen selbst zusammengesucht.</p>
<p>Die Installation von Nagios ist relativ einfach. Nagios2 gibt es sogar in den Paketquellen, Nagios3 lässt sich problemlos selbst kompilieren.</p>
<p>Für mich reicht aber Nagios2 voll und ganz und somit habe ich mittels der Paketverwaltung mal die Pakete installiert:</p>
<blockquote><p>sudo apt-get install apache2, nagios2, nagios2-common, nagios-plugins</p></blockquote>
<p>Für die Installation war es das eigentlich schon! Doch ganz so einfach ist es dann doch wieder nicht. <img src='http://blog.encodingit.ch/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Unter http://localhost/nagios2 ist jetzt schon die Weboberfläche zu sehen. Jedoch fehlt noch die gesamte Konfiguration, also weiter im Konzept.</p>
<p>Da mein Webinterface natürlich nicht für jeden Zugänglich sein soll, habe ich mir noch ein Passwortschutz angelegt:</p>
<blockquote><p>htpasswd -bc /etc/nagios2/htpasswd.users</p></blockquote>
<p>Nun gilt es noch den Apache neu zu starteten, damit die Änderung auch wirksam werden:</p>
<blockquote><p>sudo /etc/init.d/apache2 restart</p></blockquote>
<p>Nun sollte man bereits beim Aufrufen von Nagios, immer noch unter http://localhost/nagios2, nach einem Benutzernamen und einem Passwort gefragt werden.</p>
<p>Nun geht es los mit der Konfiguration.<br />
Dabei sollte ich vielleicht noch ein paar Worte über das Konzept verlieren.<br />
Wenn man den Aufbau mal verstanden hat ist es eigentlich gar nicht mehr so kompliziert <img src='http://blog.encodingit.ch/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Für meine Server habe ich ein neuer Ordner angelegt:</p>
<blockquote><p>sudo mkdir /etc/nagios2/meinnetzwerk/<br />
cd /etc/nagios2/meinnetzwerk/</p></blockquote>
<p>Darin werden nun alle Dateien angelegt.<br />
Die wichtigsten Dateien, auf welche Nagios zurückgreift, sind hosts.cfg, templates.cfg, services.cfg und hostgroups.cfg.</p>
<p>Besonders die templates.cfg spielt in grösseren Netzwerken mit vielen Servern eine besondere Rolle. Doch dazu später.</p>
<p>Wir beginnen erstmal mit dem formellen Teil. Die Datei contacts.cfg birgt den Namen und die eMail-Adresse des Systemadministrators.<br />
Dazu erstellen wir die Datei erst neu:</p>
<blockquote><p>sudo touch contacts.cfg</p></blockquote>
<p>Diese füllen wir mit folgendem Inhalt:</p>
<blockquote><p>define contact{<br />
contact_name                       administrator<br />
alias                                     DEIN-NAME<br />
service_notification_period       24&#215;7<br />
host_notification_period           24&#215;7<br />
service_notification_options      w,u,c,r<br />
host_notification_options         d,r<br />
service_notification_commands notify-by-email<br />
host_notification_commands     host-notify-by-email<br />
email                                    DEINE@EMAIL.ADRESSE<br />
}</p>
<p>define contactgroup{<br />
contactgroup_name       admins<br />
alias                            Nagios Administrators<br />
members                      administrator<br />
}</p></blockquote>
<p>Nun können wir unsere ersten Server hinzufügen.<br />
Diese werden in der hosts.cfg aufgelistet. Doch einfach die IP-Adressen einzutragen wäre natürlich viel zu einfach <img src='http://blog.encodingit.ch/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<blockquote><p>define host{<br />
host_name  SERVERNAME<br />
alias           BESCHREIBUNG<br />
address      IP.ADRESSE.HIER.EINGEBEN<br />
use            generic-host<br />
}</p></blockquote>
<p>Hier muss für jeden Host ein neuer &#8220;define host{}&#8221; angelegt werden.</p>
<p>Bis auf use sind eigentlich alle Punkte selbst erklärend. Und damit kommen wir auch schon zum gut durchdachten Konzept von Nagios.<br />
Wir könnten jede einzelne Option wie Prüfintervalle, verwendete Kommandos, Benachrichtigungen, Maximale Überprüfungen etc für jeden Host einzelne definieren. Das wären dann pro Host alleine schon 40 Zeilen.<br />
Nun kann man sich mal überlegen, was passiert wenn ich 20 oder sogar 100 Server eintragen und überwachen will &#8211; die Komplexität steigt und es wird schnell mal unübersichtlich.</p>
<p><span id="more-634"></span>Darum kann man mittels use eine Art Link zu einem Eintrag in der Datei templates.cfg legen.</p>
<p>Darin kann man Profile definieren, wo alles aufgeführt ist, was bei mehreren Servern gleich ist:</p>
<blockquote><p>define host{<br />
name                            generic-host    ; The name of this host template<br />
notifications_enabled           1               ; Host notifications are enabled<br />
event_handler_enabled           1               ; Host event handler is enabled<br />
flap_detection_enabled          1               ; Flap detection is enabled<br />
failure_prediction_enabled      1               ; Failure prediction is enabled<br />
process_perf_data               1               ; Process performance data<br />
retain_status_information       1               ; Retain status information across program restarts<br />
retain_nonstatus_information    1               ; Retain non-status information across program restarts<br />
check_period			24&#215;7		; By default, Linux hosts are checked round the clock<br />
check_interval			5		; Actively check the host every 5 minutes<br />
retry_interval			1		; Schedule host check retries at 1 minute intervals<br />
max_check_attempts		3		; Check each Linux host 10 times (max)<br />
check_command           	check-host-alive ; Default command to check Linux hosts<br />
notification_period		24&#215;7		; Linux admins hate to be woken up, so we only notify during the day<br />
notification_interval		30		; Resend notifications every 2 hours<br />
notification_options		d,u,r		; Only send notifications for specific host states<br />
contact_groups			nagios-admins	; Notifications get sent to the admins by default<br />
register                        0               ; DONT REGISTER THIS DEFINITION &#8211; ITS NOT A REAL HOST, JUST A TEMPLATE!<br />
}</p></blockquote>
<p>Dabei ist wichtig, dass unter Name in der templates.cfg und unter use in der hosts.cfg der selbe Name steht.</p>
<p>Natürlich kann man nicht nur Server, sondern auch einzelne Services überwachen lassen. Diese werden in der Datei services.cfg eingetragen:</p>
<blockquote><p>define service{<br />
use                     generic-service<br />
service_description     HTTP<br />
check_command           check_http!80<br />
host_name               webserver01<br />
}</p></blockquote>
<p>Im Gegensatz zu einem Host verwendet man hier natürlich am Anfang define service. Weiter ist hier der Punkt check_command aus dem Template entfernt worden, da dieser bei einem Service je nach Art variiert. Im Beispiel wird überprüft ob eine HTTP Verbindung auf Port 80 aufgebaut werden kann.</p>
<p>Auch in der templates.cfg sieht es ähnlich aus:</p>
<blockquote><p>define service{<br />
name                            generic-service 	; The &#8216;name&#8217; of this service template<br />
active_checks_enabled           1       		; Active service checks are enabled<br />
passive_checks_enabled          1    		   	; Passive service checks are enabled/accepted<br />
parallelize_check               1       		; Active service checks should be parallelized (disabling this can lead to major performance problems)<br />
obsess_over_service             1       		; We should obsess over this service (if necessary)<br />
check_freshness                 0       		; Default is to NOT check service &#8216;freshness&#8217;<br />
notifications_enabled           1       		; Service notifications are enabled<br />
event_handler_enabled           1       		; Service event handler is enabled<br />
flap_detection_enabled          1       		; Flap detection is enabled<br />
failure_prediction_enabled      1       		; Failure prediction is enabled<br />
process_perf_data               0       		; Process performance data<br />
retain_status_information       1       		; Retain status information across program restarts<br />
retain_nonstatus_information    1       		; Retain non-status information across program restarts<br />
is_volatile                     0       		; The service is not volatile<br />
check_period                    24&#215;7			; The service can be checked at any time of the day<br />
max_check_attempts              3			; Re-check the service up to 3 times in order to determine its final (hard) state<br />
normal_check_interval           5			; Check the service every 10 minutes under normal conditions<br />
retry_check_interval            1			; Re-check the service every two minutes until a hard state can be determined<br />
contact_groups                  nagios-admins		; Notifications get sent out to everyone in the &#8216;admins&#8217; group<br />
notification_options		c,r			; Send notifications about warning, unknown, critical, and recovery events<br />
notification_interval           20			; Re-notify about service problems every hour<br />
notification_period             24&#215;7			; Notifications can be sent out at any time<br />
register                        0       		; DONT REGISTER THIS DEFINITION &#8211; ITS NOT A REAL SERVICE, JUST A TEMPLATE!<br />
}</p></blockquote>
<p>Was noch wichtig zu erwähnen ist, dass Konfiguration in der hosts.cfg denen in templates.cfg vorgezogen werden!</p>
<p>Und damit noch lange nicht genug <img src='http://blog.encodingit.ch/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Auch inner der templates.cfg-Datei werden keine redundanten Einträge benötigt:</p>
<blockquote><p>define service{<br />
name				service1	; The name of this<br />
&#8230;allgemeine settings&#8230;<br />
}</p>
<p>define service{<br />
name				service2<br />
use				service1<br />
&#8230;spezifischere settings&#8230;<br />
}</p></blockquote>
<p>Ich kann also innerhalb der templates auch mittels use auf einen schon vordefinierten Eintrag verweisen.</p>
<p>In der Datei hostgroups.cfg kann man Einstellungen anhand vom Typ eines Servers vornehmen. Intressant wird dies aber erst wenn man mehrere gleiche Server, mit gleichen Aufgaben oder Services betreibt.<br />
Da dies bei mir aber nicht der Fall ist, habe ich mich damit nicht weiter beschäftigt.</p>
<p>Nun fehlt uns noch eine Datei: die timeperiods.cfg.<br />
Diese ist in der Standardkonfiguration bereits in Ordnung und kann einfach kopiert werden:</p>
<blockquote><p>sudo cp /etc/nagios2/conf.d/timeperiods_nagios2.cfg /etc/nagios2/meinnetzwerk/timeperiods.cfg</p></blockquote>
<p>Nun haben wir mal eine Grundkonfiguration erstellt und können das Ergebnis anschauen. Doch dazu müssen wir Nagios erst mal noch mitteilen, dass wir nun einen eigenen Ordner, nämlich /meinnetzwerk/ verwenden!<br />
Dazu öffnen wir die Datei /etc/nagios2/nagios.cfg mit einem Editor und ergänzen diese mit folgendem Eintrag:</p>
<blockquote><p>cfg_dir=/etc/nagios2/meinnetzwerk</p></blockquote>
<p>Bevor wir nun unseren Deamon neustarten, prüfen wir noch unsere Konfiguration.<br />
Dazu beinhaltet der Befehl nagios2 den Schalter -v:</p>
<blockquote><p>nagios2 -v /etc/nagios2/heimnetzwerk/hosts.cfg<br />
nagios2 -v /etc/nagios2/heimnetzwerk/services.cfg<br />
nagios2 -v /etc/nagios2/heimnetzwerk/templates.cfg</p></blockquote>
<p>Erhält man hier keinen Fehler, so kann man nagios2 neustarten:</p>
<blockquote><p>sudo /etc/init.d/nagios2 restart</p></blockquote>
<p>Nun weden in der Weboberfläche bereits die ersten Server und Services aufgeführt und dargestellt.<br />
Wenn man das aber tatsächlich einsetzen will, so sollte man die Konfiguration noch extrem verfeinern und auf seine Bedürfnisse abstimmen!</p>
<p>Was ich bis jetzt noch nicht hingekriegt habe, ist das überwachen von Prozessen, Ressourcen wie CPU, RAM, Diskspace und anderen spezifischen, lokalen Vorgängen.</p>
<p>Dies sollte aber kein grosses Problem mehr sein, dazu aber in einem anderen Beitrag mehr!</p>
<img src="http://www.encodingit.ch/piwik/piwik.php?idsite=2&rec=1" style="border:0" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.encodingit.ch/2009/11/monitoring-mit-nagio/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Erfahrungen mit neuem DL380 g3</title>
		<link>http://blog.encodingit.ch/2009/09/erfahrungen-mit-neuem-dl380-g3/</link>
		<comments>http://blog.encodingit.ch/2009/09/erfahrungen-mit-neuem-dl380-g3/#comments</comments>
		<pubDate>Mon, 28 Sep 2009 15:05:16 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[8.04]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[ESXi]]></category>
		<category><![CDATA[HP]]></category>

		<guid isPermaLink="false">http://compr00t.co.funpic.de/?p=460</guid>
		<description><![CDATA[Die Wahl viel eigentlich relativ schnell, da ich so mehrere Server betreiben kann. Ein weiterer Vorteil von ESXi gegenüber allen anderen Virtualisierungssystemen die ich kenne ist, dass man mehr einer vMaschine mehr Ressourcen zuordnen kann als eigentlich vorhanden ist. Und da ich "nur" 2x 2.8Ghz und 4GB Ram (soll bald auf 6GB aufgerüstet werden) zur Verfügung habe, kann dies noch ganz praktisch sein.<img src="http://www.encodingit.ch/piwik/piwik.php?idsite=2&rec=1" style="border:0" alt="" />]]></description>
			<content:encoded><![CDATA[<p>Seit kurzem bin ich stolzer Besitzer eines laut surrenden, 27 Kilo schweren HP DL380 g3.</p>
<p><img class="alignnone" src="http://www.pacificgeek.com/productimages/xl/DL380-XEON3060X2-R.jpg" alt="" width="180" height="180" /> <img class="alignnone" src="http://www.pacificgeek.com/productimages/xl/DL380-XEON3060X2-2R-2.jpg" alt="" width="180" height="180" /></p>
<p>In der Hoffnung möglichst viel aus dem Server herauszuholen, habe ich mich für ein ESXi als Betriebssystem entschieden.</p>
<p>Die Wahl viel eigentlich relativ schnell, da ich so mehrere Server betreiben kann. Ein weiterer Vorteil von ESXi gegenüber allen anderen Virtualisierungssystemen die ich kenne ist, dass man mehr einer vMaschine mehr Ressourcen zuordnen kann als eigentlich vorhanden ist. Und da ich &#8220;nur&#8221; 2x 2.8Ghz und 4GB Ram (soll bald auf 6GB aufgerüstet werden) zur Verfügung habe, kann dies noch ganz praktisch sein.</p>
<p>Doch bevor ich das OS installierte, wollte ich erst noch das RAID einrichten. (Vorab; im Server stecken zwei 18GB und zwei 72GB Platten.)</p>
<p>Aufgrund der Konstellation der Platten fiel meine Wahl recht schnell. So wurden die beiden 18GB Platten mittels RAID 1 und die 72GB Platten zu einem RAID 0 zusammengefasst.</p>
<p>So war das Betriebssystem, welches auf den 18er beherbergt wurde durch ein RAID geschützt.</p>
<p>Doch zurück zur Installation: So schnell die Wahl auch viel, umso länger dauerte die Installation. Begonnen habe ich mit dem normalen ESXi 4.0 von der VMware-Seite.</p>
<p>Als ich mich nach einem erfolglosen Installationsversuch weiter umgesehen habe, bin ich auf ein <em>ESXi 4.0 for HP</em> gestossen. Doch auch dies wollte den modifizierten  Linuxkernel, welcher die Basis von ESX und ESXi bildet nicht booten lassen.</p>
<p>Nach erneuter Suche habe ich ganz am unteren Ende der VMware-Seite einen unscheinbaren Link ausgemacht:</p>
<blockquote><p><em>&#8220;VMware ESXi 4.0 is certified to run on a broad range of 64-bit hardware. For 32-bit hardware support, download the previous version, <a target="_blank" href="https://www.vmware.com/go/getesxi/" >VMware ESXi 3.5</a>.&#8221;</em></p></blockquote>
<p>Also habe ich auch noch ESXi 3.5 auf CD gebrannt und gebootet. Und siehe da!! Nach gerade mal 15 Minuten war das Betriebssystem installiert und konnte gestartet werden.</p>
<p>Einrichten und Konfigurieren des ganzen geht problemlos über die ein bisschen farblose Oberfläche. Und viel mehr als eine statische IP muss man hier auch nicht tun. Praktisch hierbei war für mich, dass ich, dank dem iLO Port (ähnlich einer Remote Management Karte), das ganze ohne weiteren Bildschirm und Tastatur managen konnte.</p>
<p><a href="http://blog.encodingit.ch/wp-content/uploads/2009/09/ilo1.jpg"  rel="lightbox[460]"></a></p>
<p>Dann war es endlich soweit!</p>
<p><span id="more-460"></span></p>
<p>Vom Server selbst kann man dann den VMware Infrastructure Client herunterladen<span style="text-decoration: line-through;">, welche, entgegen meinen Erwartungen, nicht nur für Windows verfügbar ist</span>.</p>
<p><a href="http://blog.encodingit.ch/wp-content/uploads/2009/09/vmware2.jpg"  rel="lightbox[460]"></a></p>
<p>Diese kurz installiert und schon wird auf den Server verbunden. Als erstes sollte man hier das Passwort ändern, ausser man steht auf Überraschungsbesucher <img src='http://blog.encodingit.ch/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Nachdem auch das erledigt ist, kann man schon seine ersten virtuellen Server anlegen. Besonders gut gefällt mir hier, die Möglichkeit ein ISO oder Laufwerk vom lokalen Computer direkt dem Server zu übergeben.</p>
<p>Das Aufsetzten einer neuen VM ist sichtlich einfach und genau gleich gehalten wie bei allen anderen VMware Produkten. Dadurch war schon nach kurzer Zeit mein erster Ubuntu 8.04 LTS Server verfügbar und online.</p>
<p><a href="http://blog.encodingit.ch/wp-content/uploads/2009/09/vmtools1.jpg"  rel="lightbox[460]"></a>Doch bevor ich loslegte, wollte ich erst noch die VMware Tools installieren. Dazu gibt es den Menupünkt &#8220;<em>Install VMware Tools</em>&#8221; unter <em>VM</em>.</p>
<p>Nach einem Klick darauf habe ich auf eine Rückmeldung meines Servers gewartet &#8211; leider vergebens. Unwissend ob es nun geklappt hat oder nicht, machte ich mich auf die Suche nach einer Hilfestellung und bin dabei über einen <a href="http://ubuntublog.ch/services/vmware-tools-auf-einem-ubuntu-server-installieren"  target="_blank">Beitrag</a> von Roman gestolpert, womit sich auch dieses kleine Problem lösen liess.</p>
<p>Da der DL380 Server alles andere als Stromsparend ist, wollte ich auch noch WOL aktivieren. Vom Einrichten von WOL auf einem Client wusste ich noch, wie mühsam es sein kann, war jedoch umso erstaunter, als sich die ganze Konfiguration in einem Punkt im BIOS verflüchtigte.</p>
<p>Nach ca 2 Stunden war mein ESXi-Server aufgesetzt und konfiguriert und mein erster virtueller Server online und ich glücklich <img src='http://blog.encodingit.ch/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Fotos folgen noch <img src='http://blog.encodingit.ch/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<img src="http://www.encodingit.ch/piwik/piwik.php?idsite=2&rec=1" style="border:0" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.encodingit.ch/2009/09/erfahrungen-mit-neuem-dl380-g3/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
	</channel>
</rss>

