Nagios Update 4.3.0 Probleme

Ups, nachdem ich mein Nagios 4.2.3 auf 4.3.0 aktualisiert hatte, war ich einigen kleinen Problemen ausgesetzt. Zunächst meldete Nagios, dass es den Prozess-Status nicht finden konnte:

Unable to get process status

Weiterhin konnte ich auf keinen Menüpunkt in Nagios zugreifen. Bspw. beim Aufruf von „Tactical Overview“ bekam ich die Meldung vom Apache Server

The requested URL /nagios/cgibin/tac.cgi was not found on this server.

Es stellte sich heraus, dass Nagios in der aktuellen Version nicht mehr unter /nagios/cgi-bin/ sondern unter /nagios/cgibin nach den CGIs sucht. Also habe ich in der Datei /etc/apache2/sites-enabled/nagios.cfg (kann abweichend sein) noch den zusätzlichen ScriptAlias /nagios/cgibin für/usr/local/nagios/sbin eingetragen. Nach einem Neustart des Apache Servers war zumindest das Problem schon mal gelöst.

Ein weiteres Problem waren die Map und die Trends. Im Legacy-Mode funktionierten sie, aber nicht mehr im „normalen“ Modus. Ich bekam hier lediglich die Meldung

Warning: Monitoring process may not be running! Click here for more info

Das „here“ verwies auf einen ungültigen Pfad (nämlich auf /{{cgiurl}}extinfo.cgi?type=0). Nach einigem Suchen fiel mir auf, dass irgendwie unter /usr/local/nagios/share/js die Datei config.js fehlte. Diese beinhaltet die Variable für cgiurl. Nachdem ich die Datei config.js.in aus dem Source-File angepasst (ich habe @cgiurl@ durch cgibin ersetzt und die Dateiendung .in entfernt) und in das genannte Verzeichnis gelegt hatte, funktionierte Nagios bei mir wieder ohne Probleme.

config.js:

var nagcfg = {};
nagcfg.cgidir = "cgibin/";

NagiosQL unter Ubuntu 16.04 LTS (PHP7, MySQL)

Nachdem mir die Verwaltung von Nagios allein durch das Jonglieren mit Config-Files in Texteditoren zu aufwändig wurde (und ich meinen Kollegen keinen mehrtägigen Lehrgang geben wollte, wie sie selbst Hosts und Services hinzufügen können), habe ich mir NagiosQL 3.2.0 hinzuinstalliert. Das Projekt ist seit einiger Zeit in das kommerzielle Nagios XI integriert und wird nicht mehr frei verfügbar weiterentwickelt. Da hatte ich mit Nagios 4 unter Ubuntu 16.04 und PHP7 etwas ungünstige Voraussetzungen.

Letztendlich haben mir aber die für Nagios 4 und PHP7 angepassten Dateien eines Brasilianers geholfen, das Ding zum Laufen zu bringen. Muchas gracias Fabio Lucchiari!

Letztendlich waren von mir noch ein paar kleine Fixes nötig, da in den PHP-Scripts teilweise doch noch mysql_ statt mysqli_ Methoden verwendet wurden. Und ein ganz ärgerlicher Bug war schon im Original enthalten: in der Datei ./functions/prepend_content.php in Zeile 324 muss es am Ende wie folgt heißen:

GROUP BY `$preKeyField`, `id`";

Sonst erhält man beim Klick auf „Alle Konfigdateien schreiben“ im Punkt „Services“ den Fehler:

Einige Konfigurationsdateien wurden nicht geschrieben. Es wurde kein existierender bzw. kein aktiver Datensatz gefunden oder die Schreibrechte fehlen.
bzw.
Some configuration files were not written. Dataset not activated, not found or you do not have write permission!

Wer direkt eine funktionierende(?) Installation haben möchte, kann sich die von mir gefixte Version hier herunterladen: nsql320_Fix.tar

PS: Das Fragezeichen hinter „funktionierende“ steht da ganz bewusst, da ich viel rumgefrickelt habe und alles soweit mit den Dateien in dem Archiv bei mir funktioniert. Ich kann aber nicht versprechen, dass nicht noch irgendwo andere Probleme bestehen, die ich abseits der Dateien gelöst habe. Dazu auch ein
PPS: Ich hatte nach der initialen Installation ein paar Probleme mit der SQL-Datenbank beim Importieren von bestehenden Nagios Config Files. Hier half es, alle betroffenen Tabellen via phpMyAdmin zu prüfen und die Spalten, bei denen als Standardwert nichts eingetragen war (also „kein(e)“ bzw. „none“) den Standardwert auf „NULL“ zu setzen.

Google Now: Fehler beim Laden der Erinnerungen

2015-10-28 18_15_41-KalenderEin kleines Problem (Bug?) hatte bei mir dafür gesorgt, dass ich in der Google Now App auf meinem Android Smartphone keine Erinnerungen mehr anzeigen konnte. Also die Erinnerungen an sich kamen, nur konnte ich mir die Liste der bisher angelegten Erinnerungen nicht anzeigen lassen. Es kam immer die Meldung: „Fehler beim Laden der Erinnerungen“. Ungefähr ein halbes Jahr hat es gedauert, bis ich die eigentlich simple Lösung dafür gefunden habe.

Das Problem betrifft womöglich nur sehr wenige Leute. Ich hatte eine Erinnerung für den 29. Februar angelegt und den Reminder auf jährlich eingestellt. Das macht man ja für gewöhnlich nicht, außer es handelt sich bspw. um eine Geburtstagserinnerung. Google Now bzw. die App kam jetzt nun aber damit überhaupt nicht klar, weil der 29. Februar ja bekanntlich nur alle vier Jahre im Kalender steht. Also verweigerte mir die App die Anzeige aller Erinnerungen.

Nachdem ich schon ziemlich zu Anfang des Problems auch nach gefühlt etlichen Stunden Recherche nichts gefunden hatte, habe ich mich erstmal damit abgefunden. Heute habe ich mich dann aber doch nochmal auf die Suche nach der Lösung des Problems gemacht und bin über einen ganz interessanten Eintrag bei Reddit gestolpert, den ich im Prinzip auch schon vor einem halben Jahr hätte finden können, wenn ich die richtigen Suchbegriffe verwendet hätte.

Wie dem auch sei: Man kann sein Googlemail-Konto seit der Übernahme von Inbox durch Google auch über Inbox verwalten. Ich hatte auch schon irgendwie vermutet, dass Google die Reminder irgendwo mit dem Mail-Konto verknüpft, nur ist es nicht möglich, über Gmail auf die Erinnerungen zuzugreifen. Und auch sonst innerhalb der Google-Konto-Einstellungen/Apps habe ich keinen Weg gefunden, mir die Reminder anzuzeigen.

Der Post bei Reddit verwies nun auf https://inbox.google.com/u/0/reminders, also quasi auf die Inbox-Version von Gmail. Und siehe da, dort konnte ich die „fehlerhafte“ Erinnerung sehen und löschen.

 

[Tech-Tipp] Windows 8.1 Ruhezustand Monitor-Bug

In den letzten Tagen beschäftigte mich ein merkwürdiges Problem bei einem DELL Inspiron 15 mit Windows 8.1. Ging der Laptop nach 15 Minuten in den Ruhemodus, konnte das Display nicht reaktiviert werden. Eine Verbindung per RDP konnte nicht wirklich hergestellt werden (das Bild blieb schwarz), aber bspw. mit mmc, psexec oder über die administrativen Freigaben konnte ich auf den Laptop zugreifen. Um wieder richtig mit dem Gerät arbeiten zu können, war ein Hard-Reset nötig.

Nachdem ein Update aller Grafikkartentreiber nichts brachte, musste ich die Lösung an anderer Stelle suchen. Da ich die Original-Festplatte gegen eine (auch von DELL bezogene) SSD getauscht hatte, wollte ich nun ein eventuelles Kompatibilitätsproblem ausschließen und baute die ursprüngliche Platte wieder ein. Dort war noch der Werkszustand vorhanden, also Windows 8 ohne weitere Updates. In diesem Zustand funktionierte der Ruhemodus tadellos. Auch nach der Installation sämtlicher verfügbarer Windows-Updates inklusive der von Windows Update bereitgestellten Treiberupdates funktionierte der Ruhemodus so, wie er sollte.

Nach dem Upgrade auf Windows 8.1 war das Problem plötzlich da. Die meisten in Internetforen erwähnten Tipps (Treiber aktualisieren, Kennwortabfrage bei Reaktivierung deaktivieren usw.) haben nicht geholfen. Da sich das Problem doch relativ gut auf die Grafikkarte und somit genauer auf die verbaute ATI-Grafikkarte eingrenzen ließ (das Catalyst Control Center konnte nicht gestartet werden), habe ich es sogar mit den aktuellen Beta-Treibern von ATI ausprobiert, doch auch hier gab es keine Änderung am Verhalten. Ebenso half auch kein Update der Intel Chipsatz-Treiber und der Treiber für die integrierte Intel-Grafikkarte.

Der letzte Schritt, nämlich die Deaktivierung des Ruhemodus durch „powercfg -h off“ (hierzu muss die Kommandozeile mit Admin-Rechten gestartet werden; danach ein Neustart), konnte das Problem mehr oder weniger beseitigen. Es ist zwar nur ein Workaround, weil der Ruhemodus anschließend ja ausgeschaltet ist, wichtiger ist aber, dass man den Laptop wieder reaktivieren kann, wenn die Energiespar-Optionen greifen. Vermutlich hilft es auch, den Energie-Plan auf „Höchstleistung“ zu setzen und den Bildschirm nie ausschalten zu lassen.

Offenbar betrifft dieses Problem hauptsächlich Laptops, die neben der integrierten Intel-Grafik noch eine zusätzliche ATI-Grafikkarte verbaut haben. Jedenfalls konnte ich das soweit durch Internetrecherche eingrenzen. Sehr wahrscheinlich ist der ATI-Treiber an diesem Problem schuld. Auf allen anderen Laptops (ohne ATI-Grafik), die ich hier getestet habe, tritt das Problem nicht auf. Andererseits kann es auch sein, dass Windows 8.1 Probleme damit hat, wenn zwei Grafikkarten unterschiedlicher Hersteller verbaut sind. Letztendlich kann man nur abwarten, ob es dafür irgendwann einen Windows-Patch oder einen passenden ATI-Treiber gibt.

Update für Word 2013 könnte Outlook zum Absturz bringen

Das Update KB2817631 für Microsoft Word 2013 führte bei einer Kollegin heute dazu, dass manche Kalenderelemente nicht mehr geöffnet werden konnten. Stattdessen stürzte Outlook ab.

Unbenannt-1 (1)

Betroffen waren nur vereinzelt Termine, bei denen ich auch keinen Zusammenhang herstellen konnte. Laut Ereignisprotokoll war das Modul wwlib.dll ursächlich für den Absturz. Nachdem ich jedoch die wwlib.dll in der Version 15.0.4535.1507 im Verzeichnis C:\Program Files\Microsoft Office 15\root\office15 durch eine ältere wwlib.dll in der Version 15.0.4535.1000 ersetzt hatte, klappte das Aufrufen der Termine wieder reibungslos.

Keiner der Termine hat irgendwelche Gemeinsamkeiten, die nur die betroffenen Termine teilen. Jedenfalls nichts für mich sichtbares. Es waren sowohl Termine betroffen, zu denen andere Personen eingeladen worden sind, wie auch Termine, die nur für die Kollegin galten. Es waren Termine betroffen, in denen Sonderzeichen und/oder URLs im Text verwendet wurden, wie auch Termine, in denen ein ganz normaler Einzeiler stand.

Ich konnte das Problem an einem anderen PC reproduzieren.

Und noch ein Hinweis: Wir setzen Kerio Connect 8.2 als Mailserver ein.

Na ja, vielleicht findet Microsoft noch den Fehler.