Instrumente monitorizare Linux
Vrei sa testezi performantele serverelor tale?
Cele mai multe distributii Linux au foarte multe tool-uri(instrumente) de monitorizare. Aceste instrumente furnizeaza date care pot fi folosite pentru a obtine informatii despre activitatile din sistemul dumneavoastra. Puteti gasi cauzele unei probleme de performanta.
Cele enumerate mai jos sunt unele dintre cele mai importante comenzi atunci cand vine vorba de a analiza problemele de sistem si de depanare servere, cum ar fi:
a. Blocarea(bottlenecks) disk-urilor;
b. Blocarea(bottlenecks) procesoarelor;
c. Blocarea(bottlenecks) retelei.
1. top–vizualizarea proceselor
Comanda top ofera o vizualizare in timp real a proceselor unui sistem. In mod implicit, aceasta afiseaza cele mai intensive sarcini ale procesorului care ruleaza pe server si actualizeaza lista la fiecare cinci secunde.
Cele mai utilizate comenzi top:
a - Afiseaza procesele in functie de memoria folosita;
d - Specifica timpul de intarziere intre updatarea proceselor afisate;
m - Afiseaza procesele in functie de memoria virtuala folosita;
M - Afiseaza procesele in functie de memoria reala folosita.
2. vmstat- Informatii despre activitatea sistemului,
a hardware-urilor si informatii de sistem
Comanda raporteaza informatii despre procese, memorie, de paging, IO bloc, si activitatea procesorului.
#vmstat -m
Afiseaza informatii despre memoria slabinfo(slabinfo - utilizarea memoriei la nivelul slab. Acesta este utilizat intern de catre nucleu pentru a aloca memorie)
Informatii de memorie active si inactiva
# vmstat –a
3. w – Comanda prin care afli cine este logat pe server si ceea ce face
Informatii despre utilizatorii In prezent pe masina, si procesele lor.
4. uptime – iti spune de cat timp functioneaza sistemul
Ora actuala, cat timp functioneaza sistemul, cat de multi utilizatori sunt in prezent autentificati, precum si incarcarea sistemului pentru ultimele 1, 5, si 15 minute.
5. ps - Afiseaza procesele sistemului
Pentru a selecta toate procesele folosesc optiunea -A
#ps -A
Afiseaza primele 10 procese care consuma cea mai multa memorie
# ps -auxf | sort -nr -k 4 | head -10
Afiseaza primele 10 procese care consuma cel mai mult din procesor
# ps -auxf | sort -nr -k 3 | head -10
Afiseaza toate procesele care ruleaza pe serverul dvs
# ps ax sau #ps aux
6. free – Afiseaza memoria folosita
Comanda free afiseaza cantitatea totala de memorie fizica libera si utilizata, memoria swap a sistemului, precum si incarcarea bufferelor folosite de nucleu.
# free
7. iostat – Incarcarea medie a procesorului si activitatea hard disk-urilor
Comanda iostat afiseaza incarcarea Central Processing Unit (CPU) si statistici de Input/Output pentru alte fisiere de sistem, precum si incarcarea altor fisiere de retea (NFS).
8. mpstat-Afiseaza informatii despre procesoarele dvs
Comanda mpstat afiseaza activitatile pentru fiecare procesor disponibil, procesorul 0 fiind primul.
9. sar - Colecteaza si afiseaza activitatea sistemului
Comanda SAR este folosita pentru a colecta, raporta, si a salva informatii despre activitatea sistemului. Pentru a vedea contorul de retea, introduceti:
#sar -n DEV | more
Pentru a afisa contoarele de retea de la ora 24:
#sar -n DEV -f /var/log/sa/sa24 | more
Puteti afisa, de asemenea utilizarea in timp real a sistemului:
#sar 4 5
Puteti afisa memoria fizica folosita, memoria swap si incarcarea bufferelor sistemului dvs:
#sar –r
10. pmap – Afiseaza memoria folosita de un anumit process
Realizeaza o harta a memoriei folosita de un proces. Utilizati aceasta comanda pentru a afla cauzele gatuirilor de memorie (blocajelor de memorie).
#pmap -d PID
#pmap -d 2389 care a fost la acest moment procesul care folosea cea mai multa memorie din sistemul nostru.
Ultima linie este foarte importanta:
- mapata: 21096K cantitatea totala de memorie mapata in fisiere;
- inscriptibil /privat: 10996K cantitatea de memorie folosita de spatiul de adrese privat;
- comun: 80K cantitatea de memorie al acestui proces impartasita cu altii.
11. netstat si ss – Afiseaza conexiunile si statistici de retea(conexiuni active si conexiuni in asteptare)
Comanda netstat afiseaza conexiunile de retea, tabelele de rutare, statisticile pe fiecare interfata.
Comanda ss este utilizata pentru a afisa statisticile pe socketurile de retea. Aceasta permite prezentarea de informatii similare cu netstat.
13. Iptraf - statistici In timp real de retea
Comanda Iptraf foloseste o interfata multicolora pentru afisarea pachetelor din/in/dinspre/inspre retea. Aceasta se bazeaza pe pachetele TCP sau UDP si genereaza diverse statistici de retea, informatii icmp sau ospf, informatii despre incarcarea retelei, erori de control IP, si altele.
Aceasta le poate oferi urmatoarele informatii, in format usor de citit:
- Statistici de trafic in retea prin intermediul unei conexiuni TCP;
- Statistici de trafic IP pe o interfata de retea;
- Statistici de trafic in retea cu ajutorul unui protocol;
- Statistici de trafic in retea cu ajutorul porturilor TCP / UDP si datorita dimensiunii pachetelor de retea;
- Statistici de trafic in retea la nivel de Layer 2.
14. tcpdump - Trafic detaliat asupra retelei
Tcpdump este simpla comanda ce afiseaza traficul din retea. Cu toate acestea, ai nevoie de o buna intelegere a protocolului TCP/IP pentru a utiliza acest instrument.
Pentru a observa pachetele de pe interfata eth0 la nivelul 7 OSI de ex. httpd se va folosi urmatoarea comanda:
#tcpdump -i eth0 | grep -i http
Informatii de DNS pe interfata eth2:
# tcpdump -i eth2 'udp port 53'
15. Fisierele de sistem /proc - diverse statistici despre Kernel
Fisierele de sistem ofera informatii detaliate despre diverse dispozitive hardware si alte informatii despre kernel-ul Linux.
Cele mai des intalnite comenzi sunt urmatoarele:
# cat /proc/cpuinfo //informatii despre procesoarele de pe sistemul dvs.
# cat /proc/meminfo // informatii despre memoria de pe sistemul dvs.
# cat /proc/zoneinfo
# cat /proc/mounts