Du trenger ikke installere noe for å begynne å overvåke en server. Proxmox viser grafer for hver VM, og Linux har kommandoer som viser hvor mye prosessor, minne og disk som brukes. Her skal du finne ut hvordan VM-en din ser ut når alt er normalt, og hva som endrer seg når den får mer å gjøre.
Prøv først: VM-en din bruker 90 % av minnet. Er det et problem? Skriv ned svaret ditt før du leser videre. Du får sjekke det senere på siden.
Før du begynner
Du trenger en Linux-VM i Proxmox og tilgang til konsollen. VM-veiledningen viser hvordan den opprettes, og Naviger i Proxmox VE viser hvor du finner Summary og konsollen. Docker er bare nødvendig i steg 5.
Alt arbeidet skjer på din egen VM. Ikke kjør belastningstesten på andres maskiner eller på Proxmox-verten.
Tre spørsmål for hver ressurs
Når noe går tregt, sjekker driftsfolk hver ressurs på en fast måte. Metoden kalles USE etter de engelske ordene for tre spørsmål:
| Spørsmål | Hva det betyr | Eksempel |
|---|---|---|
| Utnyttelse (utilization) | Hvor stor del av ressursen er i bruk? | CPU-en er i arbeid 60 % av tiden |
| Metning (saturation) | Står arbeid i kø fordi ressursen ikke rekker mer? | Flere prosesser venter på CPU enn det finnes kjerner |
| Feil (errors) | Melder systemet om feil fra ressursen? | Kjernen melder lesefeil fra disken |
Høy utnyttelse er ikke alltid et problem. Metning og feil er tydeligere tegn på at brukerne merker noe.
| Ressurs | Utnyttelse | Metning | Feil |
|---|---|---|---|
| CPU | top: linjen %Cpu(s) | uptime: belastningen (load average) sammenlignet med nproc | Sjelden synlig på dette nivået |
| Minne | free -h: kolonnen available | free -h: swap tas i bruk | journalctl: meldinger om «Out of memory» |
| Disk | df -h: kolonnen Use% | Nesten fullt filsystem | journalctl: meldinger om I/O-feil |
1. Se grafene i Proxmox
- Velg VM-en din i venstremenyen og åpne Summary.
- Finn grafene for CPU, minne, nettverk og disk.
- Bytt tidsrom øverst til høyre, for eksempel fra time til dag. Se om bruken har endret seg.
Proxmox lagrer disse målingene over tid. Derfor kan du se hva som skjedde i går, også om du ikke var logget inn da. Minnetallet i Proxmox kan avvike fra det VM-en selv viser, fordi Proxmox måler fra verten.
2. Finn normaltilstanden
Åpne konsollen til VM-en og kjør kommandoene én etter én:
nproc
uptime
free -h
df -h
| Kommando | Hva den viser |
|---|---|
nproc | Antall CPU-kjerner VM-en har |
uptime | Hvor lenge VM-en har kjørt, og belastningen de siste 1, 5 og 15 minuttene |
free -h | Minne i bruk og tilgjengelig minne. -h gir enheter som M og G |
df -h | Plass brukt på hvert filsystem |
Lag en tabell med tallene for CPU-kjerner, belastning, tilgjengelig minne, swap og diskbruk. Dette er normaltilstanden (baseline). Du trenger den for å se når noe er unormalt.
Tilbake til prøv-først-spørsmålet
Linux bruker ledig minne til hurtigbuffer for filer. Derfor kan used være høy uten at noe er galt. Se på available: den viser hvor mye minne programmer kan få. Et problem oppstår først når available blir lav og swap begynner å brukes.
3. Se på prosessene med top
Kjør top. Øverst ser du belastning, CPU og minne for hele VM-en. Under ser du prosessene, sortert etter CPU-bruk. Avslutt med q.
I prosesslisten betyr 100 % at en prosess bruker én hel kjerne. Linjen %Cpu(s) øverst viser andelen av alle kjernene. Tallet id (idle) er hvor stor del av tiden CPU-en har ingenting å gjøre.
4. Gi VM-en noe å gjøre
Kjør denne kommandoen. Den holder én CPU-kjerne fullt opptatt i 60 sekunder og stopper av seg selv:
timeout 60 yes > /dev/null &
Kjør top mens testen pågår, og se etter prosessen yes. Kjør uptime etter et minutt. Sammenlign med normaltilstanden.
Se også på CPU-grafen i Proxmox. Det kan ta et minutt før den oppdateres.
Kontroller svaret: Prosessen yes bruker nær 100 % i top, fordi den holder én kjerne opptatt. Belastningen i uptime stiger mot 1. Har VM-en to kjerner, er utnyttelsen omtrent 50 %. Ingen prosess står i kø, så CPU-en er ikke mettet.
Tenk gjennom: Hva ville skjedd med belastningen hvis du startet flere slike prosesser enn VM-en har kjerner? Hvilket av de tre USE-spørsmålene ville det svart på?
5. Se på containere
Hvis du har Docker og Nginx-containeren fra Kjør og undersøk en container, kan du se ressursbruk og logger for hver container:
docker stats --no-stream
docker logs --since 10m min-nginx
docker stats viser CPU, minne og nettverk per container. --no-stream gir én måling i stedet for en levende visning. docker logs --since 10m viser loggmeldingene fra de siste ti minuttene. Åpne Nginx-siden i nettleseren og kjør loggkommandoen på nytt. Da skal du se forespørselen din.
6. Let etter feil i systemloggen
Systemloggen samler meldinger fra kjernen og tjenestene. Vis meldinger med feilnivå siden siste oppstart:
sudo journalctl -p err -b
-p err betyr feil og alvorligere. -b betyr siden oppstart (boot). Bla med piltastene og avslutt med q.
Noen meldinger kan være ufarlige, særlig rett etter oppstart. Se etter hvilken tjeneste som melder, og om meldingen gjentar seg.
Vis hva du har funnet
Forklar muntlig eller skriftlig, med tabellen din som støtte:
- Hvordan ser normaltilstanden til VM-en ut?
- Hva endret seg under belastningstesten, og hvilket USE-spørsmål svarer hver endring på?
- Hvorfor holder det ikke å se på
usedifree -h?
Hvis noe går galt
journalctlviser ingenting eller sier at du mangler tilgang: Bruksudo. Uten den kan brukeren bare se sine egne meldinger.- Grafen i Proxmox endrer seg ikke: Vent et minutt, og sjekk at du ser på riktig VM og et kort tidsrom.
dockergir «permission denied»: Bruksudoforan kommandoen, slik som i Docker Level 1.yeskjører fortsatt:timeoutstopper den etter 60 sekunder. Vil du stoppe den før, kjørpkill yes.
Neste steg
Kommandoene viser hvordan VM-en har det når du ser etter. I Level 2 setter du opp et verktøy som sjekker en tjeneste hele tiden og viser når den slutter å svare.
Kilder: Brendan Gregg om USE-metoden, Proxmox VE Administration Guide og journalctl-manualen.