MonitorPi – Nagios, Centreon, Check_MK, Nagvis auf dem Raspberry Pi 2

raspberry-pi-2-770x577Es ist mal wieder so weit, es gibt ein Update in Sachen Monitoring. Viele kennen mit Sicherheit den kleinen Raspberry Pi, eigentlich als dritte Welt-PC gedacht – aber unter den Bastlern ebenfalls ein Hit geworden. Ich habe ja schon mehrere Beiträge zum Pi hier geschrieben, aber seit dem Raspberry Pi 2 gibt es noch ganz andere Anwendungsfelder die durch die größere Leistung möglich werden.
So auch das Projekt „MonitorPi“, dass den RaspberryPi in eine Überwachungszentrale verwandelt, die inklusive Zubehör preislich auch unter 100€ liegt.
MonitorPi ist eine fertige Appliance von mir – die mit den beliebtesten Monitoring-Tools vorinstalliert ist.
Was ist alles enthalten und vorinstalliert ? (Ready 2 use)
– Nagios 3.5.1 Nagios
– Centreon 2.6.0centreon_logo
– Centreon-Broker 2.8.2
– Check_MK (Livestatus) 1.2.6.p2check_mk.200
– Nagvis 1.8.2
– Nagios Plugins 2.0.3nagvis
Was wird benötigt ?
Raspberry Pi 2
– mind. 8 GB Speicherkarte (Je schneller desto besser. Class 10 = top)
Win32DiskImager
[stextbox id=“info“]MonitorPi basiert auf der aktuellen Debian Wheezy Distribution die es auch via raspberrypi.org zum Download gibt. (2015-02-16-raspbian-wheezy.img)
Nur habe ich sie noch vollständig aktualisiert. Stand: 04.05.2015[/stextbox]
Wie wird MonitorPi installiert ?
Ganz einfach: Ihr ladet euch die aktuelle Image-Datei herunter und bespielt diese auf eine micro-SD-Karte.
Dies geht mit dem Win32DiskImager wie im Bild beschrieben:
win32diskimager
 [stextbox id=“alert“]Achtung: Alle Daten auf der SD Karte werden gelöscht![/stextbox]
Anschließend den Rasperry Pi 2 mit der SD-Karte booten, er versucht automatisch eine IP via DHCP zu beziehen, und zeigt diese nach dem Boot an.
Wie sehen die unterschiedlichen Monitoring-Tools aus ?


Wie erreiche ich die Tools ?
Alle Tools sind Web-Applikationen, die per Browser aufgerufen werden. Die Url’s sind wie folgt:

NagiosUrl: http://%IP%/nagios
Benutzername: nagiosadmin
Passwort: constey
NagvisUrl: http://%IP%/nagvis
Benutzername: admin
Passwort: admin
CentreonUrl: http://%IP%/centreon
Benutzername: admin
Passwort: constey
Check_MKUrl: http://%IP%/check_mk
Benutzername: nagiosadmin
Passwort: constey
phpMyAdmin (Mysql)Url: http://%IP%/phpmyadmin
Benutzername: root
Passwort: constey

Die Zugangsdaten zum Anmelden an der Konsole oder via SSH sind:
Benutzername: pi
Passwort: raspberry
Ansonsten ist das Passwort immer „constey“, also zum Beispiel für die einzelnen Benutzer oder Mysql-Datenbank-Benutzer.
Download:
Hier gibt es das Image in gezippter Form zum Download 2015-05-04-wheezy-monitorPI-constey-2 (ca. 1.8 GB)
[EXPAND Prüfsummen-Information]—————————
Prüfsummen-Information
—————————
Name: 2015-05-04-wheezy-monitorPI-constey-2.zip
Größe: 1872300662 Bytes (1785 MB)
CRC32: 9ACC060B
CRC64: CC7A670EBC2EF5E0
SHA256: 71D79E6F9FBD9BD68618029F008C77AE488FCE251932B2754D76B2CB2FB5D483
SHA1: FF7AD402D6116BEC4B8D8528223D265D6BB1700A
[/Expand]
FAQ:
Warum ist nicht Nagios 4 installiert?
Zum einen gibt es noch die ein oder anderen Kompatibilitätsprobleme mit Centreon, wer auch noch andere Module benutzen möchte, stößt eventuell ebenfalls auf Kompatibilitätsprobleme. Wer dennoch aktualisieren will kann das natürlich gerne tun.
Wo liegen die Quelldateien ?
Alle Quelldateien liegen unter /home/pi/sources.
MonitorPi-Sources
Wo liegen die wichtigsten Programme ?
Ich habe die Anwendungen in der Regel immer mit Standardwerten kompiliert. Aber hier einige Pfade:
Nagios: /usr/local/nagios
Nagios Plugins: /usr/local/nagios/libexec
Centreon: /usr/local/centreon/

Zerifikatsvalidy period erhöhen

Kurz und knapp: Wenn man bei seiner Windows Zertifizierungsstelle keine Zertifikate mit längerer Gültigkeit ausstellen kann, obwohl es in den entsprechenden Templates konfiguriert ist, muss man prüfen was die generelle Gültigkeitsdauer ist.
Dazu auf dem CA-Server folgende Einstellungen prüfen:

H:\>certutil -getreg ca\ValidityPeriod
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration\CA\ValidityPeriod:
ValidityPeriod REG_SZ = Years
CertUtil: -getreg command completed successfully.
H:\>certutil -getreg ca\ValidityPeriodUnits
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration\CA\ValidityPeriodUnits:
ValidityPeriodUnits REG_DWORD = 2
CertUtil: -getreg command completed successfully.

Über die Werte kriegt man zum einen raus, in was für Perioden gerechnet wird (i.d.R. Jahre), sowie wie lange die max. Gültigkeit ist. (ValidityPeriodUnits)
Um den Wert nun zu erhöhen wie folgt ausführen:

H:\>certutil -setreg ca\validityperiodunits 4
SYSTEM\CurrentControlSet\Services\CertSvc\Configuration\CA\ValidityPeriod
Units:
Old Value:
ValidityPeriodUnits REG_DWORD = 2
New Value:
ValidityPeriodUnits REG_DWORD = 4
CertUtil: -setreg command completed successfully.
The CertSvc service may need to be restarted for changes to take effect.

Abschließend den Zertifikatsdienst neustarten:

H:\>net stop certsvc
The Active Directory Certificate Services service is stopping.
The Active Directory Certificate Services service was stopped successfully.
H:\>net start certsvc
The Active Directory Certificate Services service is starting.
The Active Directory Certificate Services service was started successfully.

Anschließend kann man über den CA-Server in den Zertifikatstemplates die Gültigkeit erhöhen:
img_005_compressed
Und siehe da, die Zertifikate sind nun länger gültig:
img_007_compressed

owncloud Server erfolgreich aktualisieren

Owncloud Maintenance Modus
Owncloud Maintenance Modus

Ich beschreibe hier kurz wie man seine bestehende Owncloud Version aktualisieren kann. Als Betriebssystem benutze ich ein Ubuntu 14.04.
Schritt 1: Aktuelle Owncloud Version herunterladen

cd /tmp/
wget https://download.owncloud.org/community/owncloud-8.0.2.tar.bz2
tar xjv owncloud-8.0.2.tar.bz2

Schritt 2: Owncloud in Maintenance Modus versetzen

cd /var/www
vi owncloud/config/config.php
# Set Maintenance Mode TRUE
'maintenance' => true,

Schritt 3: Webserver stoppen

# Stop Webserver / Apache2
service apache2 stop

Schritt 4: Owncloud Installation verschieben, neue Owncloud Version in richtige Stelle kopieren und Config kopieren

mv owncloud owncloud-old
mv /tmp/owncloud /var/www
cp owncloud-old/config/config.php owncloud/config/
chown www-data:www-data owncloud -R

Schritt 5: Owncloud Upgrade durchführen

cd owncloud
sudo -u www-data php occ upgrade
Turned on maintenance mode
Checked database schema update
Checked database schema update for apps
Updated database
Disabled 3rd-party app: calendar
Disabled 3rd-party app: contacts
Disabled 3rd-party app: documents
Disabled 3rd-party app: search_lucene
Updated <files_pdfviewer> to 0.7
Updated <activity> to 1.2.0
Updated <files_sharing> to 0.6.1
Updated <gallery> to 0.6.0
Turned off maintenance mode
Update successful

Schritt 6: Webserver starten

service apache2 start

[stextbox id=“info“]Ich bin zuerst der offiziellen Upgrade Doku gefolgt, doch dort wurden die Berechtigungen nicht neu gesetzt (chown). Daraufhin hatte ich nach dem Upgrade nur eine weiße Seite und folgende Fehlermeldung im apache2 error.log:

[Fri Mar 13 10:44:25.692970 2015] [:error] [pid 9759:tid 139709684631296] [client 62.153.223.62:34329] FastCGI: server "/usr/lib/cgi-bin/php5.fcgi" stderr: PHP message: PHP Warning: flock() expects parameter 1 to be resource, boolean given in /var/www/owncloud/lib/private/config.php on line 178, referer: https://cloud.constey.de/
[Fri Mar 13 10:44:25.693061 2015] [:error] [pid 9759:tid 139709684631296] [client 62.153.223.62:34329] FastCGI: server "/usr/lib/cgi-bin/php5.fcgi" stderr: PHP message: PHP Fatal error: Call to a member function getValue() on a non-object in /var/www/owncloud/lib/private/legacy/config.php on line 46, referer: https://cloud.constey.de/

Nach dem „chown www-data:www-data owncloud -R“ lief aber alles wie geschmiert.[/stextbox]

Offline Installation von .Net 3.5 via GPO korrekt einrichten

Ich habe vor längerer Zeit schon mal mit dem Problem gekämpft, dass die .Net 3.5 Installation unter Windows 8 im Firmenumfeld fehlschlägt. Eine Alternative zur Installation über „Programme und Features hinzufügen“ hatte ich hier beschrieben.
Allerdings bekomme ich neuerdings hier öfter auch einen Fehler, was die Installation fast unmöglich macht:

The source files could not be found.
Use the "Source" option to specify the location of the files that are required to restore the feature. For more information about specifying a source location, see http://go.microsoft.com/fwlink/?LinkId=243077.

Um Dot Net nun doch installiert zu bekommen gibt es 2 Lösungen:
1. Offline Installer verwenden (Weg für die Faulen :p)
Ihr findet hier eine Offline-Version zum Installieren von .Net die unter Windows 8, Windows 10, Windows 2012 Server etc. funktioniert.
2. Gruppenrichtlinien anpassen
Als erstes benötigt man die aktuellen ADMX-Templates für Windows 8.1/2012, die es hier zum herunterladen gibt, ansonsten sieht man evtl. die Einstellungen im Gruppenrichtlinieneditor nicht.
Nun kann man über den Gruppenrichtlinieneditor die folgende Einstellung setzen:
Computer Configuration\Administrative Templates\System -> Specify settings for optional component installation and component repair
Feature Install GPO

a) Entweder man macht den Haken wie im Bild rein, d.H. dass alle Features über Windows Update aus dem Internet heruntergeladen werden
oder:
b) Man gibt einen Alternativen Quell-Pfad der Windows Dateien auf einem Netzwerkpfad an
Dies können auch mehrere sein, wie zum Beispiel folgende Einstellung:

\\netzlaufwerk\wsus\Win81\sources\sxs;\\netzlaufwerk\wsus\Win2012\sources\sxs;

In diesem Fall werden die Features aus dem lokalen Lan installiert, geht bei den meisten dann schneller 😉
(via)

Office 2010/2013/2016 – Word/Excel – persönliche Vorlagen anzeigen

img_008In Word 2013 wurde die Anzeige für die Erstellung von neuen Dokumenten erneuert, sodass man jetzt bei „Neu“ standardmäßig direkt Empfohlene Vorlagen von Microsoft findet.
Im Unternehmen möchte man aber vermutlich hier seine eigenen Vorlagen per Default anzeigen, das geht per Registry Einstellung oder Gruppenrichtlinie relativ einfach.
Als erstes prüft, ob der „Standardspeicherort für persönliche Vorlagen“ auch korrekt gesetzt ist. (Datei -> Optionen -> Erweitert)
Diesen Wert kann man natürlich auch per Gruppenrichtlinie setzten. Dort gibt es auch eine Einstellung  (Userteil)“Workgroup templates path“ unter „Microsoft Office 201x -> Shared paths“ womit man einen zusätzlichen Speicherort angeben kann, ohne den Pfad der direkten Uservorlagen ändern zu müssen.

Registrierungspfad der Gruppenrichtlinie:
HKEY_CURRENT_USER\software\policies\microsoft\office\15.0\%WORD,Excel, usw..%\options\general!officestartdefaulttab

In der Praxis also ungefähr so:

Word:
HKEY_CURRENT_USER\Software\Microsoft\office\15.0\word\options
DWORD: officestartdefaulttab
Value: 1
Excel:
HKEY_CURRENT_USER\Software\Microsoft\office\15.0\excel\options
DWORD: officestartdefaulttab
Value: 1

Im Gegenzug findet man die gleichwertige Gruppenrichtlinie unter:
User Configuration -> Policies -> Administrative Templates -> Microsoft Word 2013 (oder anderes Produkt) -> Miscellaneous -> Show custom templates tab by default in Word on the Office
img_012img_011
Dass man dafür die Office 2013 ADMX Templates installiert haben muss ist denke ich klar, sonst sieht man den Punkt nicht 😉 (via)
Update (11.05.2017): Das gleiche funktioniert auch bei Office 2016. Hier braucht ihr dann die passenden Office 2016 ADMX Templates – die Namen und Beschreibungen sind aber alle identisch geblieben.
Alle Werte finden sich in der Registry unter der Ebene: HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\office\16.0

Ubuntu – selbstsigniertes Zertifikat in Zertifikatsspeicher hinzufügen

Manche Webseiten benutzen in Zeiten von StartSSL noch selbstsignierte Zertifikate. Jetzt kann es sein, dass Anwendungen nicht korrekt laufen, sofern der HTTPS-Verbindung nicht vertraut wird.
Ich beschreibe hier kurz wie man dem Zertifikat dennoch vertrauen kann, indem man es in den Zertifikatsspeicher von Ubuntu hinzufügt.

cd /tmp
openssl s_client -showcerts -connect dieUrlmitSelbstSigniertemZertifikat.de:443 /dev/null|openssl x509 -outform PEM >th.crt
cp th.crt /usr/local/share/ca-certificates/th.crt
root@ns346469:/tmp# update-ca-certificates
Updating certificates in /etc/ssl/certs... 1 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d....done.

Android Studio – Installation hinter einem Proxy

Wer das neue Android Studio hinter einem Proxy installieren möchte bekommt eventuell wie ich einen Timeout-Fehler beim Versuch nach Update-Paketen zu suchen.
Dazu muss dem Programm der Proxy bekannt gemacht werden, das geht über das editieren einer xml Datei. Anschließend einfach nochmal auf Retry gehen und es flutscht wieder.
android_studio_proxy
 
Dazu folgende xml Datei editieren:

%USERPROFILE%\.AndroidStudio\config\options\other.xml

Android Studio other.xml
Dort muss USE_HTTP_PROXY true gesetzt werden, sowie die ProxyIP und Port angegeben werden.
Falls vorhanden kann auch einfach die Proxy-Auto-Config aktiviert werden. (Das setzt aber ein Konfiguriertes WPAD vorraus.)
Wenn ihr beides true setzt (wie im Bild) bekommt ihr beim ersten Start eine Meldung, dass nur eine Konfiguration möglich ist – und könnt dies dann direkt in der GUI auswählen.

Howto Fix: phpMyAdmin (The mcrypt extension is missing. Please check your PHP configuration.)

phpMyAdmin ist eine grafische Weboberfläche für den Datenbankserver MySql und unter Linux sehr beliebt.
Der klassische Fehler in der Grundinstallation z.B. bei Ubuntu 14.04 aber auch anderen Versionen ist der Folgende:
[stextbox id=“alert“]The mcrypt extension is missing. Please check your PHP configuration.[/stextbox]
Die Ursache ist, dass das Mcrypt Modul in PHP möglicherweise zwar installiert, aber nicht aktiviert ist.
Um den Fehler zu beheben das Modul einfach über die Kommandozeile installieren:

root@server:~# apt-get install php5-mcrypt
Reading package lists... Done
Building dependency tree
Reading state information... Done
php5-mcrypt is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 38 not upgraded.

Und anschließend auch noch in php aktivieren:

root@server:~# php5enmod mcrypt

Danach noch einmal den apache2 neustarten und ihr sollten den Fehler los sein.

service apache2 restart

Fix: 'Couldn't create a new Partition' für Dell PowerEdge Server

Da packte ich einen neuen Dell PowerEdge R730 aus und wollte für Benchmarks direkt Windows Server 2012 R2 installieren, doch das klappte nicht – das Windows Setup konnte keine Boot Partition erstellen:
partition_dell

"We couldn't create a new partition or locate an existing one. For more information, see the Setup log files."

sdcard
In diesem Fall hat der Server 2 SD-Slots eingebaut – welche anscheinend intern als HDD0 auftauchen, welche aber durch das Setup nicht partitioniert werden können.
Die Lösung war relativ simpel: Im Bios kurzfristig die internen SD-Slots deaktivieren, und rebooten. Anschließend lies sich Windows auch fehlerfrei installieren.
Danach kann man übrigens die SD-Slots wieder aktivieren, gibt keine weiteren Einschränkungen.
Da die Server ja alle sehr ähnlich strukturiert sind tritt das Phänomen vermutlich auch auf den PowerEdge R720, oder R730xd etc. auf.

LG G3: Wie man ein Custom-Rom installiert (Android 5.0 Lollipop)

LG hat für das G3 bereits Android 5 angekündigt und arbeitet bereits auch am Ausrollen des Over-the-air-Updates.
Für Deutschland ist mir das verteilen des Update noch nicht bekannt, aber in Polen ist es bereits verfügbar. Wer nicht warten kann, kann es über diesen Weg schon vorab installieren.
Auch ein Grund um ein Custom-Rom zu benutzen ist: Wenn man weiter über Root-Rechte verfügen möchte. Denn Google hat mit Android 5.0 / Lollipop einige Änderung für die Sicherheit vorgenommen, was das rooten generell erschweren soll.
Im Moment ist auch noch keine Möglichkeit wie man mit der offiziellen Android 5 Version an root Rechte gelangt (über ein Exploit wie Towerlroot o.ä).
Mit AndroidNow gibt es ein Custom-Rom was auf dem offiziellen Image von LG aufbaut, mit Android 5, Root Rechten und ein paar weiteren Änderungen.
Wie flasht man ein Custom Rom?
[stextbox id=“alert“]Auf alle Fälle vorher ein Backup machen – z.B. mit Titanium Backup oder Helium für die Apps. Für die Einstellungen kann man das LG Backup nutzen. Es kann immer etwas schief gehen![/stextbox]
1. Ihr braucht Roote Rechte
Zum Beispiel via ioroot, oder andere Tools – hatte ich hier schon mal beschrieben.
2. Custom-Recovery (TWRP) herunterladen und auf SD Karte ablegen
Das TWRP Recovery bekommt ihr hier aus folgendem Beitrag. Die .img Datei ist für Flashify ausreichend.
3. Custom-Rom herunterladen und auf SDKarte ablegen
Ihr findet hier einige Roms – ich habe bisher nur AndroidNow 4.2 ausprobiert – kann ich empfehlen.
3. Flashify aus dem Playstore herunterladen
Wird benötigt um ein unter anderem ein verändertes Recovery zu installieren.
4. TWRP (Recovery) flashen
Daszu Flashify starten, root gewähren.
Um sicher zu gehen kann man an dieser Stelle auch nochmal das orginal Recovery sichern.
Anschließend unter Recovery die zuvor heruntergeladene .img Datei flashen.


[stextbox id=“info“]Reboot to Recovery:
Handy ausschalten, Lautstärke Leiser + Power gedrückt halten – Warten bis LG Logo erscheint – loslassen und erneut Leiser + Power drücken.[/stextbox]
5. Full-Backup erstellen
Ins Recovery booten, am einfachsten geht dies aus Flashify heraus (oben Rechts – Reboot Recovery).
Anschließend unter Backup eine Sicherung von allem erstellen, sofern Platz ist. Auf jeden Fall solltet ihr aber das „Modem“ sichern.
6. Custom-Rom flashen
Nun ein Factory-Reset machen dazu im TWRP unter Wipe……
Über Install könnt ihr nun das zu installierende Rom aus dem Speicher auswählen und installieren.
Abschließend Reboot – fertig.