Sett opp Cacti på Debian Jessie
Introduksjon Cacti er et åpen kildekode overvåkings- og grafverktøy som er fullt basert på RRD-data. Gjennom Cacti kan du overvåke nesten alle typer enheter
Under Linux regnes mange objekter som en fil, uavhengig av om objektet faktisk er en fil, enhet, katalog eller stikkontakt. Det er enkelt å liste en fil, det er skallet innebygd ls
for det. Men hva om en bruker ønsket å se hvilke filer som for øyeblikket åpnes av webserverprosessen? Eller om den brukeren ønsket å finne ut hvilke filer som er åpnet i en bestemt katalog? Det er der som lsof
spiller inn. Tenk deg lsof
som en ls
med tillegg av "åpne filer".
Vær oppmerksom på at mens BSD-ene har et annet verktøy for denne jobben, fstat
har flere andre varianter av Unix (Solaris, for eksempel) også lsof
. Alternativene og flaggene er forskjellige på de andre plattformene, så vel som utseendet på utdataene, men generelt bør kunnskapen i denne artikkelen også være aktuelt for dem.
La oss først se på lsof
utdataformatet og hvordan det skal leses. Den vanlige utgangen lsof
uten noen parametere vil ligne følgende. Dette er trimmet for lesbarhet.
COMMAND PID TID USER FD TYPE DEVICE SIZE/OFF NODE NAME
init 1 root cwd DIR 254,1 4096 2 /
init 1 root rtd DIR 254,1 4096 2 /
init 1 root txt REG 254,1 36992 7077928 /sbin/init
init 1 root mem REG 254,1 14768 7340043 /lib/x86_64-linux-gnu/libdl-2.13.so
init 1 root mem REG 254,1 1603600 7340040 /lib/x86_64-linux-gnu/libc-2.13.so
init 1 root mem REG 254,1 126232 7340078 /lib/x86_64-linux-gnu/libselinux.so.1
init 1 root mem REG 254,1 261184 7340083 /lib/x86_64-linux-gnu/libsepol.so.1
init 1 root mem REG 254,1 136936 7340037 /lib/x86_64-linux-gnu/ld-2.13.so
init 1 root 10u FIFO 0,14 0t0 4781 /run/initctl
Disse kolonnene betyr følgende:
init
.init
, det er nesten alltid root
.cwd
- Den gjeldende arbeidskatalogen (du vil kanskje legge merke til likheten med pwd
kommandoen som skriver ut den gjeldende arbeidskatalogen).rtd
- Rotkatalogen til en prosess.txt
- A text file
, dette kan enten bety en konfigurasjonsfil relatert til prosessen eller "kildekoden" relatert til (eller tilhører) prosessen.mem
- En såkalt "memory mapped file", det vil si et segment av virtuelt minne (les: RAM) som er tilordnet en fil.r
- Les.w
- Skrive.u
- Lese og skrive.REG
- En vanlig fil.DIR
- En katalog.FIFO
- Først inn først ut.Dette kan være litt overveldende foreløpig, men hvis du jobber med lsof
et par ganger, vil det raskt synke inn i hjernen din.
Som nevnt ovenfor er produksjonen av lsof
blitt forkortet her. Uten noen argumenter eller filtre, lsof
produserer hundrevis av utdatalinjer som bare vil gjøre deg forvirret.
Det er to grunnleggende tilnærminger for å løse dette problemet:
lsof
kommandolinjealternativene for å begrense resultatene.grep
.Selv om det siste alternativet kan høres mer behagelig ut siden du ikke trenger å huske lsof
kommandolinjealternativene, er det generelt ikke så fleksibelt og effektivt, så vi holder oss til det første.
La oss forestille oss at du vil åpne en fil med favoritttekstredigeringsprogrammet ditt, og at tekstredigeringsprogrammet forteller deg at den kun kan åpnes i skrivebeskyttet modus fordi et annet program allerede har tilgang til den. lsof
vil hjelpe deg å finne ut hvem gjerningsmannen er:
lsof /path/to/your/file
Dette vil produsere en utgang som ligner på dette:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
vim 2679 root 5w REG 254,1 121525 6035622 /root/lsof.txt
Tilsynelatende har du glemt å lukke og eldre økt! Et svært lignende problem oppstår når du prøver å avmontere en NFS-ressurs og umount
forteller deg at det ikke kan fordi noe fortsatt har tilgang til den monterte mappen. Igjen, lsof
kan hjelpe deg med å identifisere den skyldige:
lsof +D /path/to/your/directory/
Legg merke til den etterfølgende skråstreken, det er viktig. Ellers lsof
vil du anta at du mener en vanlig fil. Ikke bli forvirret av den +
foran flagget - lsof
har så mange kommandolinjealternativer som den trenger +
i tillegg til de mer vanlige -
. Utgangen vil se slik ut:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mocp 5637 music 4r REG 0,19 10147719 102367344 /home/Music/RMS_GNU_SONG.ogg
Det betyr at prosessen mocp
med PID som 5637
tilhører brukeren music
har åpnet en fil kalt RMS_GNU_SONG.ogg
. Men selv etter at du har lukket den prosessen, er det fortsatt et problem - NFS-volumet kan ikke demonteres.
lsof
har et -c
flagg som viser åpnede filer et vilkårlig prosessnavn.
lsof -c mocp
Det vil gi en utgang som ser slik ut:
mocp 9383 music 4r REG 0,19 10147719 102367344 /home/Music/ANOTHER_RMS_GNU_SONG.ogg
I dette eksemplet er det en annen forekomst av mocp
kjøring, som hindrer deg i å demontere delingen. Etter å ha stengt den prosessen, vil du forsikre deg om at brukeren ikke music
har andre potensielt problematiske filer åpne. lsof
har et -u
flagg for å vise filer åpnet av en bestemt bruker. Husk at en fil ikke alltid bare er en vanlig fil på harddisken din!
lsof -u music
Du kan også sende flere brukere, atskilt med komma:
lsof -u music,moremusic
En viktig merknad om standardoppførselen til lsof
: resultatene er ELLER- baserte, noe som betyr at du vil se filresultater åpnet av prosesser som eies av enten brukeren music
eller brukeren moremusic
. Hvis du ønsker å se resultater som samsvarer med prosesser som eies av begge brukerne, må du sende flagget -a
:
lsof -au music, moremusic
Siden begge brukerne er i gruppen musicusers
, kan du også liste filer basert på gruppe:
lsof -g musicusers
Du kan også kombinere kommandolinjeflagg:
lsof -u music,moremusic -c mocp
or
lsof -u ^music +D /home/Music
I den siste linjen la vi til et annet spesialflagg - ^
, som står for et logisk IKKE . Hvis utgangen er tom etter å ha kjørt den kommandoen, vil demonteringen mest sannsynlig være vellykket.
I de forrige eksemplene så vi stort sett på vanlige filer. Hva med stikkontakter og nettverkstilkoblinger?
For å liste opp alle gjeldende nettverkstilkoblinger lsof
har -i
flagget:
lsof -i
Utgangen ligner på det vi har sett så langt...
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
owncloud 3509 myuser 25u IPv4 44946 0t0 TCP strix.local:34217->myserver.vultr.com:https (ESTABLISHED)
firefox 3612 myuser 82u IPv4 49663 0t0 TCP strix.local:43897->we-in-f100.1e100.net:https (ESTABLISHED)
ssh 3784 myuser 3u IPv4 10437 0t0 TCP strix.local:51416->someserver.in:ssh (ESTABLISHED)
wget 4140 myuser 3w IPv4 45586 0t0 TCP strix.local:54460->media.ccc.de:http (CLOSE_WAIT)
... bortsett fra én forskjell: i stedet for filnavn eller kataloger, viser kolonnen NAME
nå tilkoblingsinformasjon. Hver tilkobling består av følgende deler:
Som med mange andre verktøy, kan du melde deg ut av løse DNS-navn og porter ( -n
og -P
henholdsvis). Flagget -i
tar flere parametere. Du kan spesifisere om du vil vise tcp
, udp
eller icmp
tilkoblinger eller visse porter:
lsof -i :25
or
lsof -i :smtp
Igjen kan parametere kombineres. Følgende eksempel...
lsof -i tcp:80
... vil bare vise deg TCP-tilkoblinger som bruker port 80. Du kan også kombinere det med alternativene du allerede kjenner fra "klassiske" filer:
lsof -a -u httpd -i tcp
Dette vil vise deg alle TCP-tilkoblinger som er åpnet av brukeren httpd
. Legg merke til -a
flagget, som endrer standardoppførselen til lsof
(som nevnt tidligere). Som med de fleste kommandolinjeverktøy, kan du gå ekstremt dypt. Følgende vil bare vise deg TCP-forbindelser hvis tilstand er "ETABLISERT":
lsof -i -s TCP:ESTABLISHED
På dette tidspunktet bør du ha en grunnleggende forståelse av hvordan lsof
fungerer, sammen med noen vanlige brukstilfeller. For ytterligere lesing, se manpage lsof
på systemet ditt.
Introduksjon Cacti er et åpen kildekode overvåkings- og grafverktøy som er fullt basert på RRD-data. Gjennom Cacti kan du overvåke nesten alle typer enheter
Introduksjon Lets Encrypt er en sertifikatmyndighetstjeneste som tilbyr gratis TLS/SSL-sertifikater. Installasjonsprosessen forenkles av Certbot,
Bruker du et annet system? Denne opplæringen viser deg hvordan du installerer gruppevaren iRedMail på en ny installasjon av Debian Wheezy. Du bør bruke en serve
1. Virtualmin/Webmin Virtualmin er et kraftig og fleksibelt kontrollpanel for webhotell for Linux- og UNIX-systemer basert på den velkjente Open Source-nettbasen
Skjerm er et program som tillater flere bruk av terminalsesjoner i ett vindu. Dette lar deg simulere flere terminalvinduer der det ma
Introduksjon Logrotate er et Linux-verktøy som forenkler administrasjonen av loggfiler. Den kjører vanligvis en gang om dagen via en cron-jobb, og administrerer loggbasen
Bruker du et annet system? Docker er en applikasjon som gjør det mulig å distribuere programmer som kjøres som containere. Det ble skrevet i det populære Go-programmet
Hva er Dirty Cow (CVE-2016-5195)? Dirty Cow-sårbarheten utnyttes gjennom hvordan Linux behandler kode. Det gjør det mulig for en uprivilegert bruker å gai
Å ha bare én bruker, som er root, kan være farlig. Så la oss fikse det. Vultr gir oss friheten til å gjøre som vi vil med våre brukere og våre servere
Adminer er et lett alternativ til phpMyAdmin. Til sammenligning er dens totale pakkestørrelse 400 KB, mot 4,2 MB med phpMyAdmin. I motsetning til phpMyAdmin, som
Bruker du et annet system? GoAccess er en åpen kildekode-nettlogganalysator. Du kan bruke den til analyse av logger på sanntidsbasis i enten terminalen eller
Denne artikkelen er en del av en todelt serie om installasjon og konfigurering av Nagios på Ubuntu 14.04. Del 1: Nagios Server Del 2: Oversikt over ekstern vert Nagio
Vultr-servere kan ikke distribueres med tidssonen/datoen/klokkeslettet du trenger på serveren din. Heldigvis kan vi manuelt stille inn tidssonen for å forhindre problemer
Denne artikkelen vil lede deg gjennom distribusjon av Meteor-appen din til en Vultr VPS som kjører Ubuntu 14.04. Det kan også fungere på andre Linux-distribusjoner (forsøk a
Introduksjon Linux-funksjoner er spesielle attributter i Linux-kjernen som gir prosesser og binære kjørbare spesifikke rettigheter som er normale
Noen arkitekturer med høy tilgjengelighet krever en flytende IP-adresse. Denne funksjonaliteten er tilgjengelig på Vultr-plattformen når privat nettverk har bee
Innledning Enkelte scenarier krever at du oppretter brukere med lese- og skrivetilgang til en enkelt katalog kun via FTP. Denne artikkelen vil vise deg hvordan t
Node.js-applikasjoner er populære for deres evne til å skalere. Å kjøre flere samtidige prosesser på flere servere gir lavere ventetid og større oppetid
Bruker du et annet system? LibreNMS er et fullverdig åpen kildekode-nettverksovervåkingssystem. Den bruker SNMP for å hente data fra forskjellige enheter. En variant
For DHCP-brukere kan det hende du trenger å redigere /etc/resolv.conf for å bruke andre navneservere. Deretter, etter en periode (eller etter en omstart av systemet)
Kunstig intelligens er ikke i fremtiden, det er her akkurat i nåtiden I denne bloggen Les hvordan kunstig intelligens-applikasjoner har påvirket ulike sektorer.
Er du også et offer for DDOS-angrep og forvirret over forebyggingsmetodene? Les denne artikkelen for å løse spørsmålene dine.
Du har kanskje hørt at hackere tjener mye penger, men har du noen gang lurt på hvordan tjener de den slags penger? la oss diskutere.
Vil du se revolusjonerende oppfinnelser fra Google og hvordan disse oppfinnelsene forandret livet til alle mennesker i dag? Les deretter til bloggen for å se oppfinnelser fra Google.
Konseptet med selvkjørende biler som skal ut på veiene ved hjelp av kunstig intelligens er en drøm vi har hatt en stund nå. Men til tross for flere løfter, er de ingen steder å se. Les denne bloggen for å lære mer...
Ettersom vitenskapen utvikler seg raskt og tar over mye av innsatsen vår, øker også risikoen for å utsette oss for en uforklarlig singularitet. Les hva singularitet kan bety for oss.
Lagringsmetodene for dataene har vært i utvikling kan være siden fødselen av dataene. Denne bloggen dekker utviklingen av datalagring på grunnlag av en infografikk.
Les bloggen for å kjenne ulike lag i Big Data Architecture og deres funksjoner på den enkleste måten.
I denne digitaldrevne verden har smarthusenheter blitt en avgjørende del av livet. Her er noen fantastiske fordeler med smarthusenheter om hvordan de gjør livet vårt verdt å leve og enklere.
Nylig lanserte Apple macOS Catalina 10.15.4 en tilleggsoppdatering for å fikse problemer, men det ser ut til at oppdateringen forårsaker flere problemer som fører til muring av mac-maskiner. Les denne artikkelen for å lære mer