Wenn mit Linux Probleme auftreten, kann es ein Albtraum sein, Fehler zu beheben. Die damit verbundenen Herausforderungen werden verdoppelt, wenn das Problem, mit dem Sie konfrontiert sind, intermittierend ist und Sie nicht wissen, was es verursacht.
Ich nehme an, du könntest Stunden um Stunde damit verbringen, Stack Overflow zu lesen und Reddit um Hilfe zu bitten. The Awesome Guide to Reddit Der Awesome Guide zu Reddit Frage dir, wie deine Freunde immer coole Sachen im Internet vor dir finden? Sie benutzen wahrscheinlich Reddit, die selbsternannte "Titelseite des Internets". Weiterlesen . Oder Sie könnten die Dinge selbst in die Hand nehmen und in die Protokolldateien Ihres Systems eintauchen, um herauszufinden, was das Problem ist.
Was sind Protokolldateien?
Viele Programme - sei es für Windows, Mac oder Linux - generieren Protokolldateien. Sogar Android generiert sie Wie erhalte ich ein Logcat für die Meldung von Fehlern auf Android Wie bekomme ich ein Logcat für die Meldung von Fehlern auf Android Wenn Sie jemals nach einem Logcat gefragt wurden, so machen Sie das! Weiterlesen . Dies sind Nur-Text-Dateien, die Informationen darüber enthalten, wie ein Programm ausgeführt wird. Jedes Ereignis wird auf einer eigenen Linie sein, Zeitstempel auf den zweiten.
Obwohl dies nicht für alle Anwendungen gilt, befinden sich Protokolldateien normalerweise im Verzeichnis / var / log.
Überwältigend, die Daten in diesen Dateien werden banal sein. Es wird nicht notwendigerweise auf ein Problem hinweisen. Es wird nur aktualisiert, was das Programm zu einem bestimmten Zeitpunkt getan hat.
Aber wenn ein Problem auftritt, können Sie garantieren, dass Informationen darüber in den Protokolldateien enthalten sind. Diese Information kann verwendet werden, um Abhilfe zu schaffen, oder um eine beschreibende Frage von jemandem zu stellen, der es wissen könnte.
Also, wenn Sie mit Log-Dateien arbeiten, wie isolieren Sie die Informationen, die Ihnen wichtig sind, aus dem, was Sie nicht tun?
Verwenden von Standard Linux Utilities
Wie bereits erwähnt, sind Protokolldateien nicht für eine einzige Plattform verfügbar. Der Schwerpunkt dieses Artikels liegt jedoch auf Linux und OS X, da diese beiden Betriebssysteme mit den wichtigsten UNIX-Befehlszeilentools ausgeliefert werden. Eine Kurzanleitung zur Einführung in die Linux-Befehlszeile Eine Kurzanleitung zum Einstieg in Linux Befehlszeile Sie können viele erstaunliche Dinge mit Befehlen in Linux tun und es ist wirklich nicht schwer zu lernen. Lesen Sie mehr benötigt, um durch sie zu analysieren.
Da Protokolldateien reine Textdateien sind, können Sie alle Tools verwenden, mit denen Sie solche Dateien anzeigen können. Von diesen ist Grep wahrscheinlich am schwierigsten zu lernen, aber auch am nützlichsten. Sie können nach bestimmten Phrasen und Begriffen innerhalb einer bestimmten Datei suchen. Die Syntax hierfür lautet grep [term] [filename] .
Im fortgeschrittenen Stadium können Sie reguläre Ausdrücke (RegEx) verwenden, um mit einem Laserfokus nach Begriffen und Elementen zu suchen. Obwohl RegEx oft wie Zauberei aussieht, ist es eigentlich ziemlich einfach, den Überblick zu behalten.
Dann gibt es die Befehle 'Kopf' und 'Schwanz'. Keine Punkte, um zu raten, was diese tun. Sie zeigen Ihnen die oberen und unteren zehn Zeilen einer Datei. Also, wenn Sie die neuesten Elemente in einer Logdatei sehen wollten, würden Sie "Tail-Dateiname" ausführen.
Sie können die Anzahl der angezeigten Zeilen mit dem Trigger '-n' ändern. Also, wenn Sie die ersten 20 Zeilen einer Datei sehen wollten, würden Sie laufen
Kopf -n 20 [Dateiname]
Wenn Sie den gesamten Inhalt einer Datei betrachten möchten, können Sie das Dienstprogramm 'cat' verwenden. Dies kann jedoch etwas unhandlich sein, da Protokolldateien oft in Hunderttausenden von Zeilen gemessen werden können. Eine bessere Idee wäre es, es zu dem weniger Dienstprogramm zu pipettieren, mit dem Sie es Seite für Seite anzeigen können. Um das zu tun, renne
Katze [Dateiname] | Weniger
Alternativ könnten Sie sed und awk verwenden. Mit diesen beiden Dienstprogrammen können Sie einfache Skripts schreiben, die Textdateien verarbeiten. Wir haben letztes Jahr über sie geschrieben. Jeder Linux Geek muss Sed und Awk kennen. Hier ist, warum ... Jeder Linux-Geek muss Sed und Awk wissen. Hier ist, warum ... Zwei der am meisten kriminell unterschätzten Linux-Utilities sind die zugegebenermaßen arkanen Sed und Awk. Aber was sind sie? Wie werden sie benutzt? Und wie erleichtern sie die Textverarbeitung? Weiterlesen .
Schließlich, wenn Sie damit vertraut sind, möchten Sie vielleicht auch den vim-Texteditor ausprobieren. Die 7 besten Gründe, dem Vim-Texteditor eine Chance zu geben Die 7 besten Gründe, dem Vim-Texteditor eine Chance zu geben Seit Jahren habe ich versuchte einen Texteditor nach dem anderen. Du nennst es, ich habe es versucht. Ich habe jeden einzelnen dieser Editoren für mehr als zwei Monate als meinen primären täglichen Editor verwendet. Irgendwie, ich ... Lesen Sie mehr. Dies hat eine Reihe von integrierten Befehlen, die es einfach machen, durch Protokolldateien zu analysieren. Die 32-Bit-Version von vim hat auch eine maximale Dateigröße von 2 GB, obwohl ich es aus Performance-Gründen nicht empfehlen würde, sie für Dateien zu verwenden, die so groß sind.
Verwenden der Protokollverwaltungssoftware
Wenn das zu viel harte Arbeit ist oder Sie etwas visuelleres verwenden möchten, sollten Sie eine Protokollverwaltungsanwendung in Betracht ziehen (die oft mit SIEM oder Security Information and Event Management verwechselt wird).
Was ist toll daran ist, dass sie viel von der harten Arbeit für Sie tun. Viele von ihnen können sich Protokolle ansehen und Probleme automatisch erkennen. Sie können auch Protokolle in allen möglichen Grafiken und Diagrammen visualisieren, sodass Sie besser verstehen, wie zuverlässig eine Anwendung funktioniert.
Eines der bekanntesten Protokollverwaltungsprogramme heißt Splunk. Mit diesem Protokollverwaltungstool können Sie Dateien über eine Webschnittstelle durchlaufen. Es verfügt sogar über eine eigene leistungsstarke und vielseitige Suchverarbeitungssprache, mit der Sie programmatisch auf Ergebnisse zugreifen können.
Splunk wird von unzähligen großen Unternehmen genutzt. Es ist für Mac, Windows und Linux verfügbar. Aber es hat auch eine kostenlose Version, die von Privatanwendern und Kleinunternehmen verwendet werden kann, um ihre Logs zu verwalten.
Diese Version - genannt Splunk Light - hat viel mit den Unternehmensversionen gemeinsam. Es kann Protokolle durchsuchen, Dateien auf Probleme überwachen und Warnungen ausgeben, wenn etwas nicht funktioniert.
Allerdings hat Splunk Light einige Einschränkungen, die ziemlich vernünftig sind. Erstens ist die Menge der Daten, die es verbrauchen kann, auf 500 MB pro Tag begrenzt. Wenn das nicht genug ist, können Sie auf die kostenpflichtige Version von Splunk Light upgraden, die täglich 20 GB Logs verbrauchen kann. Realistischerweise werden die meisten Benutzer jedoch nicht in die Nähe kommen.
Es unterstützt auch nur fünf Benutzer, was für die meisten Leute kein Problem sein sollte, besonders wenn es nur auf privaten Web- und Dateiservern läuft.
Splunk bietet eine Cloud-Version, die ideal für diejenigen ist, die nicht den gesamten Client auf ihren Rechnern installieren möchten, oder solche mit einer Reihe von Remote-Servern. Der Nachteil sind die enormen Kosten. Der günstigste Splunk-Plan kostet $ 125, 00 pro Monat. #
Das ist eine Menge Geld.
Wie gehen Sie mit Ihren Protokolldateien um?
Wir haben uns daher angeschaut, wie Sie Ihre Protokolldateien abfragen und die Informationen finden können, die Sie zur Fehlerbehebung benötigen, entweder persönlich oder mit Remoteunterstützung. Aber kennen Sie bessere Methoden? Verwenden Sie eine Protokollverwaltungssoftware oder die Standard-Linux-Dienstprogramme?
Ich möchte davon hören. Lass es mich in den Kommentaren unten wissen.