VMware ESXi 5.5 mit Embedded Host Client

Ab VMware ESXi 5.5 wird der VMware vShere Client für Windows eingestellt. Als Alternative gibt es einen Web-Oberfläche (HTML5 ohne Flash).

In VMware ESXi 5.5 kann man diesen ESXi Embedded Host Client nachträglich installieren. Aber ESXi 6.5 gehört er mit zum Lieferumfang.

Zuerst laden wir uns den ESXi Embedded Host Client als Datei esxui-offline-bundle-5.x-8122819.zip auf unseren PC und übertragen Ihn mit dem vSphere Client auf den Server.

Per SSH melden wir uns am Server an und verschieben die Datei esxui-offline-bundle-5.x-8122819.zip in das Temp Verzeichnis.

mv /vmfs/volumes/datastore1/esxui-offline-bundle-5.x-8122819.zip /tmp

oder per Download direkt auf den Server.

wget http://download3.vmware.com/software/vmw-tools/esxui/esxui-offline-bundle-5.x-8122819.zip

Jetzt können wir die Installation durchführen.

esxcli software vib install -d /tmp/esxui-offline-bundle-5.x-8122819.zip

Die Seite ist jetzt im Browser zu erreichen unter der Url https://hostname/ui/.

VMware ESXi Client für Linux

Wer noch VMware ESXi 5.x verwendet konnte bisher nur auf den VMware vSphere Client für Windows zurück greifen. Die VMware Remote Console ist eine Alternative für Linux und MacOS.

Ab VMware ESXi 6.0 U3 gibt es den ESXi Embedded Host Client der mit jedem aktuellen Browser (IE, Firefox, Chrome) zusammen arbeitet.

In diesem Beispiel will ich auf ein VMware ESXi 5.1 von Linux zugreifen.

Dafür laden wir die Datei VMware-Remote-Console-10.0.2-7096020.x86_64.bundle für die VMware Remote Console 10.0.2 für Linux herrunter.

Dieser Datei müssen wie Ausführungsrechte geben.

chmod +x VMware-Remote-Console-10.0.2-7096020.x86_64.bundle

Jetzt können wir die Installation starten.

sudo ./VMware-Remote-Console-10.0.2-7096020.x86_64.bundle

Die Verbindung zum VMware Server stellen wir mit VMRC her.

vmrc -h hostname -u root -p passwort123

Kommt es zu dieser Fehlermeldung, so müssen die Einstellungen für SSL verändert werden. ESXi 5.1 unterstützt nur Verbindungen bis TLS 1.0

Verbindung zu mks kann nicht hergestellt werden.
Could not locate vmware-authd executable.

Dazu fügen wir diese Zeite in die Confiuguration von VMware Remote Console ein.

sudo vim /etc/vmware/config

tls.protocols=tls1.0

AVM Fritzbox Paketmitschnitt

Die AVM Fritzbox ermöglicht es den Netzwerkverkehr der IP Pakete zu erfassen und später zu Analysieren.

Zuerst gehen wir mit dem Browser auf die Fritzbox unter http://fritz.box.

Jetzt müssen wir im linken Menü auf „Assistenten“ klicken. Unterhalt von dem Menü „Assistenten“ befindet sich ein Link mit der Aufschrift „Inhalt“. Nach der Auswahl wird einem die Seite „Inhalt“ mit allen Links der Fritzbox angezeigt.

In der linken unteren Ecke befindet sich der Link zum „FRITZ!Box Support“. Diese Seite ist für die Fehleranalyse gedacht.

Wir brauchen auf der Support-Seite den Abschnitt „Paketmitschnitt“. Jetzt kann man einen Mitschnitt an unterschiedlichen Schnittstellen erstellen und später mit dem Tool Wireshark auswerten.

HP iLO Einstellung via VMware Host

Wenn wir die Einstellung von HP iLO (Integrated Lights-Out) von einem VMware Host ändern wollen, brauchen wir zuerst SSH Zugang und die HP ESXi Utilities Offline Bundle für VMware.

Das Offline Bundle enthält unterschiedliche Anwendungen für die Konfiguration der HP iLO oder Raid Kontroller.

hpacucli HP Array Configuration Utility CLI
hpbootcfg HP Boot Configuration Utility
hpssacli HP Smart Storage Administrator CLI
hponcfg HP iLO (Integrated Lights-Out) management controller

Man kann die VIB Packete auf den VMware ESXi Host laden und mit dem Tool esxcli installieren.

esxcli software vib install -f -v /tmp/hponcfg-04-00.10.vib

Haben wir das HPE Custom Image für VMware ESX installiert, sind die HP Tools schon vorhanden und müssen nicht per Hand installiert werden.

Um die Einstellung des HP Integrated Lights-Out Board zu ändern verwenden wir das Programm HPonCFG.

Die iLO Werkeinstellung kann man mit der Option „reset“ zurücksetzen.

/opt/hp/tools/hponcfg --reset

Ein Neustart der iLO wird automatisch durchgeführt. Der Server muss nicht extra neu gestartet werden. Eine Downtime ist nicht notwendig.

Mit dem Programm HPonCFG kann man auch die Netzwerk-Einstellung vom HP iLO in eine XML-Datei exportieren.

/opt/hp/tools/hponcfg -w /tmp/ilo.xml

Die Datei ilo.xml enthält die Netzwerk-Einstellung von der iLO Board.

Man kann auch geziehlt Einstellung der iLO ändern. Dazu braucht man spezielle XML-Dateien. Hier ein Beispiel um das iLO Password zu auf den Wert „NEW-PASSWORD“ zu ändern.

<RIBCL VERSION="2.0">
 <LOGIN USER_LOGIN="Administrator" PASSWORD="NEW-PASSWORD">
  <USER_INFO MODE="write">
   <MOD_USER USER_LOGIN="Administrator">
    <PASSWORD value="password"/>
   </MOD_USER>
  </USER_INFO>
 </LOGIN>
</RIBCL>

Mit dem Programm HPonCFG und Option -f kann man die Einstellung zurück in der iLO speichern.

/opt/hp/tools/hponcfg -f /tmp/reset_admin_password.xml

Weitere Beispiele für die XML Einstellungen bekommt man bei HP Lights-Out XML Scripting Sample als Download.

Weitere Informationen zu dem HP Tools befinden sich in der
Dokumentation.

HP Proliant Server SNMP via ESXi Agent

Für das Monitoring von HL Proliant Server ist das Simple Network Management Protocol (SNMP) notwendig. Wenn man auf dem Server ein ESXi Host installiert hat, so bringt das HP Image den Agent schon mit.

Zuerst fragen wir den SNMP ab.

# esxcli system snmp get

   Authentication: 
   Communities: 
   Enable: false
   Engineid: 
   Hwsrc: indications
   Largestorage: true
   Loglevel: info
   Notraps: 
   Port: 161
   Privacy: 
   Remoteusers: 
   Syscontact: 
   Syslocation: 
   Targets: 
   Users: 
   V3targets:

Jetzt müssen wir den SNMP Agent in VMware ESXi aktivieren.

# esxcli system snmp set -c public -e true

Die Ausgabe sieht jetzt anders aus.

# esxcli system snmp get

   Authentication: 
   Communities: public
   Enable: true
   Engineid: 00000063000000a100000000
   Hwsrc: indications
   Largestorage: true
   Loglevel: info
   Notraps: 
   Port: 161
   Privacy: 
   Remoteusers: 
   Syscontact: 
   Syslocation: 
   Targets: 
   Users: 
   V3targets:

SNMP MIB module file download

Check_MK Raw Server Edition installation

Diese Anleitung beschreibt die Installation von Check_MK Raw Server Version 1.2.8 auf Ubuntu Server 16.04 LTE.

Die Installation von Ubuntu Server 16.04 wird einfach mit Standardvorgaben installiert.

Zusätzlich installieren wird ein extra Tool, welcher alle Abhängigkeiten zu Check_mk installiert.

sudo apt-get install gdebi-core

Auf der Download Seite von Check_mk finden wir die Version 1.2.8 Raw, welche 100% kostenlos ist.

Wir laden die 64bit Version für Ubuntu 16.04 runter.

wget https://mathias-kettner.de/support/1.2.8p18/check-mk-raw-1.2.8p18_0.xenial_amd64.deb

Jetzt können wir Check_mk mit allen Abhängigkeiten installieren.

sudo gdebi check-mk-raw-1.2.8p18_0.xenial_amd64.deb

Check_mk verwendet den Apache mit mod_proxy, welches aktiviert werden sollte.

sudo a2enmod proxy_http

Nach einem Neustart ist die Installation schon fast abgeschlossen.

sudo service apache2 restart

Wir können die installierte Version ausgeben.

omd version

Check_mk bietet die Möglichkeit unterschiedliche Seiten gleichzeitig zu betreiben. Wir erstellen eine Beispielseite „mysite“.

sudo omd create mysite
sudo omd start mysite

Jetzt kann man die Seite im Browser erreichen. http://HOSTNAME/mysite/ Die Zugangsdaten wurden bei der Erstellung angezeigt oder sind fest voreingestellt. Das Login lautet „omdadmin“ und das Password ist „omd“.

Sollte man die Zugangsdaten vergessen haben, kann man das Passwort zu jeder Zeit ändern.

sudo htpasswd /omd/sites/mysite/etc/htpasswd cmkadmin

Ein Update auf eine neue Check_mk Version ist immer möglich. Das Versionsupdate wird in Schritten durchgeführt.

Pfsense 2.4 mit Check_MK Agent

Leider wird das Check_mk Agent Paket für Pfsense nicht weiter entwickelt. Deshalb muss man die Installation vom Check_mk Agent von Hand vornehmen.

Für den Check_mk Agent ist die Installation von Bash notwendig.

pkg install -y bash

Ausführen über Diagnostics Command Prompt.

Jetzt werden zwei Verzeichnisse erstellt.

mkdir -p /opt/bin
mkdir -p /opt/etc/xinetd.d

Darin wird der Check_mk Agent von Git geladen.

curl --output /opt/bin/check_mk_agent 'https://git.mathias-kettner.de/git/?p=check_mk.git;a=blob_plain;f=agents/check_mk_agent.freebsd;hb=HEAD'

Die Datei wird ausführbar gemacht.

chmod +x /opt/bin/check_mk_agent

Führt man den Check_mk agent aus, sieht man schon das Ergebnis.

/opt/bin/check_mk_agent

Unter Diagnostics Edit File kann man die Konfiguration anpassen.

/opt/etc/xinetd.d/check_mk

# +------------------------------------------------------------------+
# |             ____ _               _        __  __ _  __           |
# |            / ___| |__   ___  ___| | __   |  \/  | |/ /           |
# |           | |   | '_ \ / _ \/ __| |/ /   | |\/| | ' /            |
# |           | |___| | | |  __/ (__|   <    | |  | | . \            |
# |            \____|_| |_|\___|\___|_|\_\___|_|  |_|_|\_\           |
# |                                                                  |
# | Copyright Mathias Kettner 2014             mk@mathias-kettner.de |
# +------------------------------------------------------------------+
#
# This file is part of Check_MK.
# The official homepage is at http://mathias-kettner.de/check_mk.
#
# check_mk is free software;  you can redistribute it and/or modify it
# under the  terms of the  GNU General Public License  as published by
# the Free Software Foundation in version 2.  check_mk is  distributed
# in the hope that it will be useful, but WITHOUT ANY WARRANTY;  with-
# out even the implied warranty of  MERCHANTABILITY  or  FITNESS FOR A
# PARTICULAR PURPOSE. See the  GNU General Public License for more de-
# ails.  You should have  received  a copy of the  GNU  General Public
# License along with GNU Make; see the file  COPYING.  If  not,  write
# to the Free Software Foundation, Inc., 51 Franklin St,  Fifth Floor,
# Boston, MA 02110-1301 USA.
 
service check_mk
{
	type           = UNLISTED
	port           = 6556
	socket_type    = stream
	protocol       = tcp
	wait           = no
	user           = root
	server         = /opt/bin/check_mk_agent
 
	# If you use fully redundant monitoring and poll the client
	# from more then one monitoring servers in parallel you might
	# want to use the agent cache wrapper:<br />
 
	#server         = /usr/bin/check_mk_caching_agent
 
	# configure the IP address(es) of your Nagios server here:
	#only_from      = 127.0.0.1 10.0.20.1 10.0.20.2
 
	# Don't be too verbose. Don't log every check. This might be
	# commented out for debugging. If this option is commented out
	# the default options will be used for this service.
	log_on_success =
 
	disable        = no
}

Jetzt müssen wir die Filer-Einstellungen anpassen.

/etc/inc/filter.inc

In der Zeile 2380 muss noch eine Zeit eingefügt werden.

fwrite($xinetd_fd, "includedir /opt/etc/xinetd.d");
 
fclose($xinetd_fd);             // Close file handle

Man kann die Änderung auch von einem Skript „/opt/filter_check_mk_cron“ durchführen lassen.

#!/bin/sh
 
grep includedir /etc/inc/filter.inc
if [ $? -eq 0 ]
then
        exit 0
else
        awk '/fclose\(\$xinetd_fd\)\;/{print "fwrite($xinetd_fd, \"includedir /opt/etc/xinetd.d\");"}1' /etc/inc/filter.inc > /etc/inc/filter.inc.temp
        mv /etc/inc/filter.inc.temp /etc/inc/filter.inc
fi
exit 0

Das Script braucht auch Ausführungsrechte.

chmod +x /opt/filter_check_mk_cron

Nach dem Speichern der Datei /etc/inc/filter.inc müssen die Änderungen geladen werden. Das geschieht unter Status Filter Reload.

Jetzt kann man die Funktion prüfen.

telnet localhost 6556

Diese Anleitung ist eine Zusammenfassung von einem Forum Beitrag. Weiter Information zum Check_mk Agent gibt es in der Dokumentation.

Design Patterns

Eine beliebte Frage bei einem Einstellungstest als Softwareentwickler ist nach Design Patterns (Entwurfsmuster). Gut, wenn man dann einige Namen kennt und vielleicht deren Funktionsweise.

Entwurfsmuster

  • Abstract Factory (Abstrakte Fabrik)
  • Builder (Erbauer)
  • Factory Method(Fabrikmethode)
  • Prototype (Prototyp)
  • Singleton (Singleton)

Strukturmuster

  • Adapter (Adapter)
  • Bridge (Brücke)
  • Composite (Komposition)
  • Decorator (Dekorierer)
  • Facade (Fassade)
  • Flyweight (Fliegengewicht)
  • Proxy (Proxy)

Verhaltensmuster

  • Chain of Responsibility (Zuständigkeitskette)
  • Command (Befehl)
  • Interpreter (Interpreter)
  • Iterator (Iterator)
  • Mediator (Vermittler)
  • Memento (Memento)
  • Observer (Beobachter)
  • State (Zustand)
  • Strategy (Strategie)
  • Template Method (Schablonenmethode)
  • Visitor (Besucher)

VMware ESXi Verwaltung ohne Client

VMware ESXi ermöglicht die Verwaltung von Einstellungen ohne den Windows Client.

Viele Einstellung kann man direkt an der ESXi Konsole ändern, jedoch auch Remote mit SSH. Dazu muss man den SSH Dienst auf dem VMware Host starten. Das aktiviert den Zugang, um sich per SSH Remote zu verbinden.

ssh -v root@hostname

Das Direct Console User Interface (DCUI) ist die Anwendung, welche man an der Konsole vom VMware Hostsystem auf dem Monitor sieht.

dcui

Auch die virtuellen Maschinen kann man Remote steuern. Zuerst müssen wir die Nummer [vmid] der Viruellen Maschine (VM) ermitteln.

vim-cmd vmsvc/getallvms

Jetzt kann man die VM runter fahren.

vim-cmd vmsvc/power.shutdown [vmid]

Den Status der VM kann man erfragen mit…

vim-cmd vmsvc/power.getstate [vmid]

Jetzt kann man im Verzeichnis der VM die Einstellungen ändern.

vi /vmfs/volumes/datastore/vmfolder/name.vmx

Den RAM Speicher wird gesetzt mit der Einstellung memsize = „5120“.

Mit einem Reload wird die Einstellung geladen.

vim-cmd vmsvc/releoad [vmid]

Jetzt kann man die VM wieder einschalten.

vim-cmd vmsvc/power.on [vmid]

HP Tools unter VMware ESXi

Um ein HP Smart Array unter VMware ESXi zu verwalten, braucht man die HP Tools.

Nach dem Download von VMware überträgt man die VIB Datei auf den ESXi Host. Die Installation erfolgt mit dem ESXCLI Tool.

esxcli software vib install -v /tmp/scsi-hpsa-5.0.0.x86_64.vib

Die erfolgteiche Installation kann man auch prüfen.

esxcli software vib list |grep Hewlett

Jetzt kann man die HPacuCli mit dem ganzen Verzeichnis starten.

/opt/hp/hpacucli/bin/hpacucli

Die Anzeige der Einstellungen erhält man hier mit.

hpacucli> ctrl all show config

Den Status einer Festplatte kann man hiermit anzeigen.

hpacucli> ctrl slot=0 pd 1I:1:3 show status

Jede Festplatte hat eine Status LED welche man nutzen kann, um eine defekte Festplatte zu finden.

hpacucli> ctrl slot=0 pd 1I:1:3 modify led=on

http://www.datadisk.co.uk/html_docs/redhat/hpacucli.htm