Annonse
Når ting går galt med Linux, kan det være et mareritt å feilsøke. De iboende utfordringene knyttet til dette blir doblet når problemet du står overfor er periodisk, og du ikke vet hva som forårsaker det.
Jeg antar at du kunne bruke time etter time på å lese Stabeloverløp, og ber Reddit om hjelp The Awesome Guide to RedditLurer du på hvordan vennene dine alltid finner kule ting på Internett før deg? De bruker sannsynligvis Reddit, den selvutnevnte "internettsiden". Les mer . Eller du kan ta ting i egne hender og dykke ned i systemets loggfiler, med målet å finne ut hva problemet er.
Hva er loggfiler?
Mange programmer - det være seg for Windows, Mac eller Linux - genererer loggfiler når de går. Til og med Android genererer dem Hvordan få en Logcat for rapportering av feil på AndroidHvis du noen gang har blitt spurt om en logcat, er dette hvordan du gjør det! Les mer . Dette er ren tekstfiler som inneholder informasjon om hvordan et program kjører. Hver hendelse vil være på sin egen linje, tidsstemplet til den andre.
Selv om dette ikke er universelt sant for alle applikasjoner, pleier loggfiler vanligvis å bli funnet i / var / loggkatalogen.
Overveldende vil dataene i disse filene være verdslige. Det vil ikke nødvendigvis indikere et problem. Det vil bare være oppdateringer om hva programmet gjorde på et gitt tidspunkt.
Men når det er et problem, kan du garantere at informasjon om den vil være i loggfilene. Denne informasjonen kan brukes til å bøte på den, eller til å stille et beskrivende spørsmål til noen som kanskje kjenner til.
Så når du arbeider med loggfiler, hvordan isolerer du informasjonen du bryr deg om fra tingene du ikke har?
Bruke standard Linux-verktøy
Som vi nevnte tidligere, er ikke loggfiler eksklusivt for en plattform. Til tross for dette kommer fokuset til denne artikkelen å være Linux og OS X, fordi disse to operativsystemene leveres med viktige UNIX-kommandolinjeværktøy En rask guide for å komme i gang med Linux-kommandolinjenDu kan gjøre mange fantastiske ting med kommandoer i Linux, og det er virkelig ikke vanskelig å lære. Les mer pålagt å parse gjennom dem.
Siden loggfiler er ren tekstfiler, kan du bruke alle verktøy du vil bruke til å se slike filer. Av disse er grep sannsynligvis den vanskeligste å lære, men også den mest nyttige. Det lar deg søke etter spesifikke setninger og uttrykk i en bestemt fil. Syntaks for dette er grep [termin] [filnavn].
På det mest avanserte kan du bruke vanlige uttrykk (RegEx) for å søke etter termer og elementer med laserfokus. Selv om RegEx ofte ser ut som veiviser, er det faktisk ganske enkelt å få tak i.
Så er det kommisjonene ‘hode’ og ‘hale’. Ingen poeng for å gjette hva disse gjør. De viser deg henholdsvis de øverste og nederste ti linjene i en fil. Så hvis du ønsket å se de siste varene på en loggfil, ville du kjøre "halefilnavn".
Du kan endre antall linjer som vises ved å bruke "-n" -utløseren. Så hvis du ville se de første 20 linjene i en fil, ville du kjøre
head -n 20 [filnavn]
Hvis du vil se på hele innholdet i en fil, kan du bruke verktøyet ‘katt’. Dette kan imidlertid være litt tungvint, ettersom loggfiler ofte kan måle seg i hundretusenvis av linjer. En bedre idé ville være å røre den til mindre verktøy, som lar deg se den en side om gangen. For å gjøre det, løp
cat [filnavn] | mindre
Alternativt kan du bruke sed og awk. Disse to verktøyene lar deg skrive enkle skript som behandler tekstfiler. Vi skrev om dem i fjor Hver Linux-geek trenger å vite Sed og Awk. Her er hvorfor ...To av de mest kriminelt under-verdsatte Linux-verktøyene er riktignok de arcane Sed og Awk. Men hva er de? Hvordan brukes de? Og hvordan gjør de det lettere å behandle tekst? Les mer .
Til slutt, hvis du er trygg på det, kan det også være lurt å prøve vim-tekstredigereren De 7 viktigste grunnene til å gi Vim-tekstredigereren en sjanseI årevis har jeg prøvd den ene tekstredigereren etter den andre. Du heter det, jeg prøvde det. Jeg brukte hver og en av disse redaktørene i over to måneder som min primære daglige redaktør. På en eller annen måte, jeg ... Les mer . Dette har en haug med innebygde kommandoer som gjør det trivielt å analysere gjennom loggfiler. 32-biters-versjonen av vim har også en maksimal filstørrelse på 2 GB, selv om jeg ikke vil anbefale deg å bruke den på filer som er store av ytelsesgrunner.
Bruke logghåndteringsprogramvare
Hvis det høres ut som for mye hardt arbeid, eller du har lyst til å bruke noe mer visuelt, kan det være lurt å vurdere å bruke en loggstyring applikasjon (ofte forvekslet med SIEM, eller sikkerhetsinformasjon og hendelsesadministrasjon).
Det som er flott med disse er at de gjør mye av det harde arbeidet for deg. Mange av dem kan se på logger og identifisere problemer automatisk. De kan også visualisere logger i alle slags behagelige grafer og diagrammer, slik at du kan få en bedre forståelse av hvor pålitelig en applikasjon presterer.
Et av de mest kjente loggstyringsprogrammene heter Splunk. Dette logghåndteringsverktøyet lar deg gå gjennom filer ved hjelp av et webgrensesnitt. Det har til og med sitt eget kraftige og allsidige søkebehandlingsspråk, som lar deg se på resultatene på en programmatisk måte.
Splunk brukes av utallige store virksomheter. Det er tilgjengelig for Mac, Windows og Linux. Men den har også en gratis versjon, som kan brukes av hjemmebrukere og småbedrifter til å administrere loggene deres.
Denne versjonen - kalt Splunk lys - deler mye til felles med bedriftsversjonene. Den kan bla gjennom logger, overvåke filer for problemer og gi advarsler når noe er galt.
Når det er sagt, har Splunk Light noen begrensninger, som er ganske rimelige. For det første er datamengden den kan konsumere begrenset til 500 MB om dagen. Hvis det ikke er nok, kan du oppgradere til den betalte versjonen av Splunk Light, som kan konsumere 20 GB logger per dag. Realistisk sett vil de fleste brukere ikke få det hvor som helst i nærheten av det.
Den støtter også bare fem brukere, noe som ikke burde være et problem for de fleste, spesielt hvis det bare kjøres på husholdningsweb- og filservere.
Splunk tilbyr en skyversjon, som er ideell for de som ikke ønsker å installere hele klienten på sine maskiner, eller de med et antall eksterne servere. Ulempen med dette er de enorme kostnadene. Den billigste Splunk-planen koster $ 125,00 per måned. #
Det er mye penger.
Hvordan håndterer du loggfiler?
Så vi har sett på måter du kan avhøre loggfilene dine på og finne informasjonen du trenger for å feilsøke, enten personlig eller med ekstern assistanse. Men kjenner du til noen bedre metoder? Bruker du programvare for loggadministrasjon, eller standard Linux-verktøyene?
Jeg vil høre om det. Gi meg beskjed i kommentarene nedenfor.
Matthew Hughes er programvareutvikler og skribent fra Liverpool, England. Han blir sjelden funnet uten en kopp sterk svart kaffe i hånden og elsker absolutt Macbook Pro og kameraet hans. Du kan lese bloggen hans på http://www.matthewhughes.co.uk og følg ham på twitter på @matthewhughes.