GIT – 15 tool : Đối với người quản trị hệ thống mạng thì việc monitor và troubleshoot hệ thống là công việc thiết yếu thường phải thực hiện thường xuyên.

Trong bài viết này mình sẽ giới thiệu một số công cụ nhỏ nhưng hiệu quả cao, đa số đều có sẵn trên hệ điều hành Linux để giúp chúng ta có thể thực hiện được công việc quản trị tốt hơn khi làm việc trong môi trường dòng lệnh.

1) sar

Sử dụng tiện ích sar chúng ta có thể làm việc là: monitor hiệu suất hoạt động của hệ thống theo thời gian thực (CPU, Memory, I/O,…) và thu thập các dữ liệu của các tiến trình đang xử lý để đưa ra thống kê và xử lý tắt nghẽn.

Một vài nội dung chúng ta có thể sử dụng sar để xem:

  • Tài nguyên CPU được sử dụng.
  • Tài nguyên CPU được sử dụng theo từng core.
  • Tình trạng bộ nhớ RAM.
  • Tình trạng bộ nhớ SWAP.
  • Tình trạng I/O trên hệ thống.
  • Thống kê về mạng.
  • Đưa ra các báo cáo từ khoản thời gian nào đó.

Ví dụ: Để thông kê tình trạng I/O của hệ thống trong mỗi giây (thực hiện tổng cộng 3 lần) ta sử dụng lệnh như sau

# sar -b 1 3
Linux 2.6.32-71.el6.x86_64 (gocit.vn)  01/09/2012    _x86_64_(1 CPU)

03:54:28 PM       tps      rtps      wtps   bread/s   bwrtn/s
03:54:29 PM    346.00    264.00     82.00   2208.00    768.00
03:54:30 PM    100.00     36.00     64.00    304.00    816.00
03:54:31 PM    282.83     32.32    250.51    258.59   2537.37
Average:       242.81    111.04    131.77    925.75   1369.90

2) lostat

iostat sẽ đưa ra các thống kê về CPU, disk I/O và NFS. Khi sử dụng lệnh iostat không có đối số nào chúng ta sẽ có kết quả tổng quan về tình trạng CPU, disk I/O trên hệ thống.

# iostat
Linux 2.6.32-71.el6.x86_64 (gocit.vn)  01/09/2012    _x86_64_(1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           5.68    0.00    0.52    2.03    0.00   91.76

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda             194.72      1096.66      1598.70 2719068704 3963827344
sda1            178.20       773.45      1329.09 1917686794 3295354888
sda2             16.51       323.19       269.61  801326686  668472456
sdb             371.31       945.97      1073.33 2345452365 2661206408
sdb1            371.31       945.95      1073.33 2345396901 2661206408
sdc             408.03       207.05       972.42  513364213 2411023092
sdc1            408.03       207.03       972.42  513308749 2411023092

Để đưa thống kê trê một ổ đĩa ta thực hiện

# iostat -p sda

Linux 2.6.32-71.el6.x86_64 (gocit.vn)  01/09/2012

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           5.68    0.00    0.52    2.03    0.00   91.76

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda             194.69      1096.51      1598.48 2719069928 3963829584
sda2            336.38        27.17        54.00   67365064  133905080
sda1            821.89         0.69       243.53    1720833  603892838

Chú ý: iostat là một phần của gói systat, vì thế trức khi sử dụng được lệnh iostat thì bạn cần cài đặt gói systat trước.

3) mpstat

Lệnh mpstat sẽ đưa ra các thống kê chi tiết về tình trạng xứ lý của CPU. Với tham số “-A” chúng ta có thể xem được tất cả các thống kê này.

# mpstat -A

Linux 2.6.32-71.el6.x86_64 (gocit.vn)        01/09/2012      _x86_64_(1 CPU)

03:34:27 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle
03:34:27 PM  all    0.15    0.01    0.34    1.16    0.00    0.11    0.00    0.00   98.23
03:34:27 PM    0    0.15    0.01    0.34    1.16    0.00    0.11    0.00    0.00   98.23

03:34:27 PM  CPU    intr/s
03:34:27 PM  all     31.60
03:34:27 PM    0     10.35

Để đưa ra thống kê về mức xử lý trên từng core ta có thể dùng lệnh:

# mpstat -P ALL

4) vmstat

Lệnh vmstat sẽ đưa ra các thống kê chi tiết về tình trạng bộ nhớ ảo. Ví dụ

# vmstat

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 724176  20316 144060    0    0    60    13   30  120  0  0 98  1  0

Chú ý: vmstat là một phần của gói systat, vì thế trức khi sử dụng được lệnh vmstat thì bạn cần cài đặt gói systat trước.

5) ps

Một lệnh khác cũng khá quen thuộc với người sử dụng Linux đó là lệnh ps. Lệnh này giúp ta liệt kê các tiến trình đang chạy trên hệ thống và nhiều thông tin liên quan khác giúp ta xử lý được các sự cố xảy ra.

Để liệt kê các tiến trình đang chạy trên hệ thống

# ps –ef

UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 14:51 ?        00:00:01 /sbin/init
root         2     0  0 14:51 ?        00:00:00 [kthreadd]
root         3     2  0 14:51 ?        00:00:00 [migration/0]
root         4     2  0 14:51 ?        00:00:00 [ksoftirqd/0]
root         5     2  0 14:51 ?        00:00:00 [watchdog/0]
root         6     2  0 14:51 ?        00:00:00 [events/0]
root         7     2  0 14:51 ?        00:00:00 [cpuset]
root         8     2  0 14:51 ?        00:00:00 [khelper]
root         9     2  0 14:51 ?        00:00:00 [netns]
root        10     2  0 14:51 ?        00:00:00 [async/mgr]
root        11     2  0 14:51 ?        00:00:00 [pm]
root        12     2  0 14:51 ?        00:00:00 [sync_supers]
root        13     2  0 14:51 ?        00:00:00 [bdi-default]
root        14     2  0 14:51 ?        00:00:00 [kintegrityd/0]
root        15     2  0 14:51 ?        00:00:00 [kblockd/0]
root        16     2  0 14:51 ?        00:00:00 [kacpid]
root        17     2  0 14:51 ?        00:00:00 [kacpi_notify]
root        18     2  0 14:51 ?        00:00:00 [kacpi_hotplug]
root        19     2  0 14:51 ?        00:00:00 [ata/0]
root        20     2  0 14:51 ?        00:00:00 [ata_aux]
root        21     2  0 14:51 ?        00:00:00 [ksuspend_usbd]
root        22     2  0 14:51 ?        00:00:00 [khubd]
root        23     2  0 14:51 ?        00:00:00 [kseriod]
root        25     2  0 14:51 ?        00:00:00 [khungtaskd]
....

Để hiển thị chi tiết hơn ta có thể sử dụng lệnh

# ps -aux

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME 
root         1  0.0  0.1  19236  1424 ?        Ss   14:51   0:01 /sbin/init
root         2  0.0  0.0      0     0 ?        S    14:51   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    14:51   0:00 [migration/0]
root         4  0.0  0.0      0     0 ?        S    14:51   0:00 [ksoftirqd/0]
root         5  0.0  0.0      0     0 ?        S    14:51   0:00 [watchdog/0]
root         6  0.0  0.0      0     0 ?        S    14:51   0:00 [events/0]
root         7  0.0  0.0      0     0 ?        S    14:51   0:00 [cpuset]
root         8  0.0  0.0      0     0 ?        S    14:51   0:00 [khelper]
root         9  0.0  0.0      0     0 ?        S    14:51   0:00 [netns]
root        10  0.0  0.0      0     0 ?        S    14:51   0:00 [async/mgr]
...

Để liệt kê các tiến trình thuộc về người dùng nào đó ta có thể làm như sau. Ví dụ mình sẽ liệt kê các tiến trình thuộc về 2 user là apache và nginx

ps -f -u apache,nginx

UID        PID  PPID  C STIME TTY          TIME CMD
apache    1423  1422  0 14:51 ?        00:00:00 php-fpm: pool www
apache    1424  1422  0 14:51 ?        00:00:00 php-fpm: pool www
apache    1425  1422  0 14:51 ?        00:00:00 php-fpm: pool www
apache    1426  1422  0 14:51 ?        00:00:00 php-fpm: pool www
apache    1427  1422  0 14:51 ?        00:00:00 php-fpm: pool www
nginx     1437  1435  0 14:51 ?        00:00:00 nginx: worker process

6) free

Lệnh free sẽ cho chúng ta thống kê về tình trạng sử dụng của dung lượng RAM và SWAP của hệ thống. Ví dụ

# free
             total       used       free     shared    buffers     cached
Mem:       1020532     296852     723680          0      20444     144180
-/+ buffers/cache:     132228     888304
Swap:      4128760          0    4128760

Bạn có thể sử dụng các đối số –b, –m, –g,.. để hiển thị mức dung lượng theo đơn vị bytes, megabytes hay gigabytes,..

7) top

Cũng là một trong số các lệnh cơ bản và được build sẵn trong hầu hết các hệ điều hành linux/unix. Lệnh top giúp chung ta có cái nhìn tổn quát về các tiến trình đang chạy trên hệ thống bao gồm nhiều thông tin như PID, PPID, %CPU, %MEM,…

# top

top - 15:58:50 up  1:07,  1 user,  load average: 0.00, 0.00, 0.00
Tasks:  88 total,   1 running,  87 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   1020532k total,   297108k used,   723424k free,    20540k buffers
Swap:  4128760k total,        0k used,  4128760k free,   144276k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
    1 root      20   0 19236 1424 1148 S  0.0  0.1   0:01.46 init
    2 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kthreadd
    3 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 migration/0
    4 root      20   0     0    0    0 S  0.0  0.0   0:00.00 ksoftirqd/0
    5 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 watchdog/0
....

Để liệt kê các tiến trình đang chạy bằng lệnh top phân biệt theo từng người dùng. Ví dụ các tiến trình đang chạy với user apache

# top -u apache

top - 16:01:54 up  1:10,  1 user,  load average: 0.00, 0.00, 0.00
Tasks:  88 total,   1 running,  87 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.3%us,  0.0%sy,  0.0%ni, 99.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   1020532k total,   297240k used,   723292k free,    20580k buffers
Swap:  4128760k total,        0k used,  4128760k free,   144276k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 1423 apache    20   0  358m 4400  912 S  0.0  0.4   0:00.00 php-fpm
 1424 apache    20   0  358m 4400  912 S  0.0  0.4   0:00.00 php-fpm
 1425 apache    20   0  358m 4400  912 S  0.0  0.4   0:00.00 php-fpm
 1426 apache    20   0  358m 4400  912 S  0.0  0.4   0:00.00 php-fpm
 1427 apache    20   0  358m 4400  912 S  0.0  0.4   0:00.00 php-fpm


8 ) pmap:

Lệnh pmap sẽ hiển thị bản đồ về bộ nhớ được cấp phát cho các tiến trình đang chạy trên hệ thống. Để sử dụng được lệnh pmap đầu tiên ta cần phải xác định trước pid của một tiến trình (chẳn hạn sử dụng lệnh ps –aux để biết). Ví dụ mình sử dụng lệnh pmap để xem bản đồ về bộ nhớ của tiến trình có pid là 1423

# pmap 1423
1423:   php-fpm: pool www
0000000000400000   2900K r-x--  /usr/sbin/php-fpm
00000000008d5000    336K rw---  /usr/sbin/php-fpm
0000000000929000    112K rw---    [ anon ]
0000000000b28000     44K rw---  /usr/sbin/php-fpm
00000000025c9000   2656K rw---    [ anon ]
0000003e47200000    120K r-x--  /lib64/ld-2.12.so
0000003e4741e000      4K r----  /lib64/ld-2.12.so
0000003e4741f000      4K rw---  /lib64/ld-2.12.so
0000003e47420000      4K rw---    [ anon ]
0000003e47600000      8K r-x--  /lib64/libdl-2.12.so (deleted)
0000003e47602000   2048K -----  /lib64/libdl-2.12.so (deleted)
0000003e47802000      4K r----  /lib64/libdl-2.12.so (deleted)
0000003e47803000      4K rw---  /lib64/libdl-2.12.so (deleted)
0000003e47a00000   1492K r-x--  /lib64/libc-2.12.so
0000003e47b75000   2048K -----  /lib64/libc-2.12.so
0000003e47d75000     16K r----  /lib64/libc-2.12.so
0000003e47d79000      4K rw---  /lib64/libc-2.12.so
0000003e47d7a000     20K rw---    [ anon ]
…

9) Tcpdump

Có lẽ đây là một lệnh quen thuộc mà bất kỳ người quản trị hệ thống mạng Linux/Unix đều biết . Với tcpdump chúng ta có thể thực hiện bắt gói tin từ dữ liệu ra vào trên các giao tiếp mạng. Ví dụ:

# tcpdump -i eth1

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes
15:18:46.719161 IP 192.168.1.111.ssh >; 192.168.1.13.valisys-lm: Flags [P.], seq 1756740101:1756740297, ack 3536611579, win 142, length 196
15:18:46.719474 IP 192.168.1.13.valisys-lm >; 192.168.1.111.ssh: Flags [.], ack 196, win 4305, length 0
15:18:46.719861 IP 192.168.1.111.43629 >; google-public-dns-a.google.com.domain: 49260+ PTR? 13.1.168.192.in-addr.arpa. (43)

Bắt gói tin từ eth1 và lưu vào tệp tin thongke.pcap

# tcpdump -w thongke.pcap -i eth1

tcpdump: listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes

9 packets captured
9 packets received by filter
0 packets dropped by kernel

10)  netstat:

Đối với các quản trị mạng thì chắc hẳn không ai bỏ qua lệnh này . Với netstat ta có thể xem được các thông tin về mạng hiện tại của chúng ta như: tình trạng kết nối, routing, interfaces, các nhóm muticast,…

Để liệt kê tất cả các port đang được sử dụng

# netstat -a | more

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             Stat
e
tcp        0      0 localhost.locald:cslistener *:*                         LIST
EN
tcp        0      0 *:sunrpc                    *:*                         LIST
EN
tcp        0      0 *:http                      *:*                         LIST
EN
tcp        0      0 *:ssh                       *:*                         LIST
EN
tcp        0      0 localhost.localdomain:smtp  *:*                         LIST
EN
tcp        0      0 *:51709                     *:*                         LIST
EN
tcp        0     52 192.168.1.111:ssh           192.168.1.13:7104           ESTA

Để xác định tiến trình nào đang sử dụng port 80

# netstat -an | grep 80

tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN
unix  2      [ ACC ]     STREAM     LISTENING     9808   /var/run/abrt/abrt.socket
unix  2      [ ]         DGRAM                    9803

Liệt kê các interfaces có trong hệ thống

# netstat -i

Kernel Interface table
Iface       MTU Met    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eth1       1500   0    13914      0      0      0    18406      0      0      0 BMRU
lo        16436   0        0      0      0      0        0      0      0      0 LRU

Hiển thị bảng định tuyến

# netstat -r

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.1.0     *               255.255.255.0   U         0 0          0 eth1
link-local      *               255.255.0.0     U         0 0          0 eth1
default         my.router       0.0.0.0         UG        0 0          0 eth1

11) lsof:

Lsof viết tắt của ls open files, với lệnh này chúng ta có thể liệt kê tất cả các file đang được mở trên hệ thống. Những file này bao gồm file về kết nối mạng, thiết bị, thư mục. Output của lệnh lsof có những cột như:

  • COMMAND: Tên của process
  • PID: PID của process
  • USER: Tên của user thực hiện process đó
  • FD: File decriptor
  • TYPE: Loại file
  • DEVICE: Device number
  • SIZE: Kích thước
  • NODE: Số hiệu node
  • NAME: Đường dẫn đầy đủ của file

Để xem danh sách tất cả các file đang được mở

# lsof | more

COMMAND     PID         USER   FD   TYPE             DEVICE      SIZE      NODE
NAME
init          1         root  cwd    DIR             144,98      4096  54759537
/
init          1         root  rtd    DIR             144,98      4096  54759537
/
init          1         root  txt    REG             144,98     40968 199737498
/sbin/init
init          1         root  mem    REG             144,98    137344  81322956
/lib64/ld-2.5.so
init          1         root  mem    REG             144,98    245232  81322958
/lib64/libsepol.so.1
init          1         root  mem    REG             144,98     92960  81322884
/lib64/libselinux.so.1
...

Để xem danh sách các file được mơ bởi user apache

# lsof -u apache

COMMAND   PID   USER   FD   TYPE    DEVICE      SIZE      NODE NAME
httpd    2017 apache  cwd    DIR    144,98      4096  54759537 /
httpd    2017 apache  rtd    DIR    144,98      4096  54759537 /
httpd    2017 apache  txt    REG    144,98    331048  81346804 /usr/sbin/httpd
httpd    2017 apache  mem    REG    144,98    137344  81322956 /lib64/ld-2.5.so
httpd    2017 apache  mem    REG    144,98    611880  81322899 /lib64/libm-2.5.s
o
httpd    2017 apache  mem    REG    144,98    127720  81322853 /lib64/libpcre.so
.0.0.1
httpd    2017 apache  mem    REG    144,98     92960  81322884 /lib64/libselinux
.so.1
httpd    2017 apache  mem    REG    144,98    108136  81351015 /usr/lib64/libapr
util-1.so.0.2.7
...

Để liệt kê danh sách các user đang sử dụng trình soạn thảo vi

# lsof /bin/vi

COMMAND  PID  USER    FD   TYPE DEVICE   SIZE   NODE NAME
vi      7258  root   txt    REG    8,1 474608 475196 /bin/vi
vi      7300  khanhnd txt    REG    8,1 474608 475196 /bin/vi

12) w và uptime:

Với lệnh rất ngắn “w” sẽ cho chúng ta biết được những user nào đã đăng nhập vào hệ thống

# w

 20:01:32 up 22 days, 23:18,  2 users,  load average: 0.01, 0.07, 0.07
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    123.20.50.205    19:51    0.00s  0.09s  0.00s w
khanhnd  pts/1    123.20.50.205    20:01    3.00s  0.00s  0.00s -bash

Một số thông tin hữu ích từ lệnh w như:

  • USER: Tên của user đăng nhập
  • TTY: Đăng nhập trên tty nào?
  • FROM: Địa chỉ IP của client đăng nhập.
  • LOGIN@: Thời gian đăng nhập.

Đối với lệnh uptime sẽ cho chúng ta kết quả một dòng duy nhất có thông tin về thời gian hệ thống đã chạy được là bao lâu, có bao nhiêu user đăng nhập vào, thời gian load trung bình,…

# uptime

 19:59:38 up 22 days, 23:16,  1 user,  load average: 0.08, 0.11, 0.08

Chú ý: Cả 2 lệnh w và uptime đều lấy dữ liệu từ /var/run/utmp

13) /proc

/proc là thư mục chứa các tệp tin chứa thông tin về hệ thống như cpuinfo, devices, dma, filesystems, locks, meminfo,…

Ví dụ để đọc thông tin cpu

# cat /proc/cpuinfo

processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 16
model           : 8
model name      : AMD Opteron(tm) Processor 4180
stepping        : 1
cpu MHz         : 2600.049
cache size      : 512 KB
physical id     : 1
siblings        : 6
core id         : 0
cpu cores       : 6
apicid          : 8
fpu             : yes
fpu_exception   : yes
cpuid level     : 5
wp              : yes
...

14) vnStat

vnStat là một công cụ nhỏ gọn chạy ở chế độ console giúp chúng ta có thể monitor lưu lượng mạng trên từng interface của hệ thống Linux.

# vnstat

Database updated: Sun Jan  8 22:30:16 2012

   eth1 since 01/08/12

          rx:  273 KiB      tx:  98 KiB      total:  371 KiB

   monthly
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
       Jan '12       273 KiB |      98 KiB |     371 KiB |    0.00 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated        --     |      --     |      --     |

   daily
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
         today       273 KiB |      98 KiB |     371 KiB |    0.04 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated        --     |      --     |      --     |

Cách sử dụng

– Các bạn muốn đo card mạng nào trên thì các bạn vào file  vnstat.conf để sửa

# vi /etc/vnstat.conf

# vnStat 1.11 config file
##

# default interface
Interface “eth0″ # bạn nào muốn đo card nào thì sửa vào đây; ở đây mình đo card eth0

# location of the database directory
DatabaseDir “/var/lib/vnstat”

# locale (LC_ALL) (“-” = use system locale)
Locale “-”

# on which day should months change
MonthRotate 1

# date output formats for -d, -m, -t and -w
# see ‘man date’ for control codes
DayFormat    “%x”
MonthFormat  “%b ‘%y”
TopFormat    “%x”

# characters used for visuals
RXCharacter       “%”
TXCharacter       “:”
RXHourCharacter   “r”
TXHourCharacter   “t”

# how units are prefixed when traffic is shown
# 0 = IEC standard prefixes (KiB/MiB/GiB/TiB)
# 1 = old style binary prefixes (KB/MB/GB/TB)
UnitMode 0

# output style
# 0 = minimal & narrow, 1 = bar column visible
# 2 = same as 1 except rate in summary and weekly
# 3 = rate column visible
OutputStyle 3

# used rate unit (0 = bytes, 1 = bits)
RateUnit 1

– Các option khi sử dụng vnstat

# vnstat –help
vnStat 1.11 by Teemu Toivola <tst at iki dot fi>

-q,  –query          query database
-h,  –hours          show hours
-d,  –days           show days
-m,  –months         show months
-w,  –weeks          show weeks
-t,  –top10          show top10
-s,  –short          use short output
-u,  –update         update database
-i,  –iface          select interface (default: eth0)
-?,  –help           short help
-v,  –version        show version
-tr, –traffic        calculate traffic
-ru, –rateunit       swap configured rate unit
-l,  –live           show transfer rate in real time

See also “–longhelp” for complete options list and “man vnstat”.

$ vnstat
Database updated: Sat Aug  1 22:50:01 2009

   eth1 since 11/20/08

          rx:  3.32 TiB      tx:  2.81 TiB     total:  6.13 TiB

   monthly
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
       Jul '09    609.40 GiB |  282.21 GiB |  891.61 GiB |    2.79 Mbit/s
       Aug '09     16.95 GiB |   10.46 GiB |   27.40 GiB |    2.80 Mbit/s
     ------------------------+-------------+-------------+---------------
     estimated    552.14 GiB |  340.70 GiB |  892.83 GiB |

   daily
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
     yesterday     19.19 GiB |    8.63 GiB |   27.82 GiB |    2.70 Mbit/s
         today     16.95 GiB |   10.46 GiB |   27.40 GiB |    2.80 Mbit/s
     ------------------------+-------------+-------------+---------------
     estimated     17.81 GiB |   10.99 GiB |   28.80 GiB |
(with 2 interfaces)
$ vnstat

                      rx      /      tx      /     total    /   estimated
 Internet (eth1):
       Jul '09     31.90 GiB  /   28.05 GiB  /   59.95 GiB
       Aug '09    281.04 MiB  /   99.45 MiB  /  380.49 MiB  /   12.05 GiB
     yesterday      1.23 GiB  /  473.23 MiB  /    1.69 GiB
         today    281.04 MiB  /   99.45 MiB  /  380.49 MiB  /     397 MiB

 Local (eth0):
       Jul '09     25.13 GiB  /  116.94 GiB  /  142.07 GiB
       Aug '09    234.75 MiB  /    5.03 GiB  /    5.26 GiB  /  170.76 GiB
     yesterday    520.55 MiB  /    2.21 GiB  /    2.72 GiB
         today    234.75 MiB  /    5.03 GiB  /    5.26 GiB  /    5.51 GiB
$ vnstat -h
 eth1                                                                     21:25
  ^           r
  |           r
  |           r                                            r
  |        r  r                                            r
  |      t r  r                                            r            t
  |     rt r  r                                            r  r      t  t
  |     rt r  r                                            r  r      t  t
  |     rt r  r         t                      r           r  r      t  t
  |     rt r  rt        t                   r  r        r  rt rt  t rt rt  t
  |  rt rt rt rt rt r  rt r              r  r  r  r  rt rt rt rt rt rt rt  t
 -+--------------------------------------------------------------------------->
  |  22 23 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21

 h  rx (KiB)   tx (KiB)      h  rx (KiB)   tx (KiB)      h  rx (KiB)   tx (KiB)
22    250,801    205,825    06    100,529     49,054    14    205,356    157,877
23    705,144    885,844    07     52,806     44,130    15    258,228    226,265
00    928,792    224,789    08     52,298     45,230    16  1,028,043    343,843
01  1,271,180    292,260    09     70,396     61,719    17    755,804    293,309
02    212,296    186,481    10    155,502     72,451    18    235,691    284,886
03    165,931     91,943    11    266,673     92,497    19    275,554    658,386
04    150,997    437,071    12    392,244    122,185    20    307,819    850,813
05    180,170     56,391    13    133,829    120,555    21    117,474    292,787
$ vnstat -d

 eth1  /  daily

         day         rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
      07/03/09     10.90 GiB |    6.39 GiB |   17.29 GiB |    1.68 Mbit/s
      07/04/09     21.21 GiB |    5.65 GiB |   26.87 GiB |    2.61 Mbit/s
      07/05/09     10.58 GiB |    6.67 GiB |   17.25 GiB |    1.67 Mbit/s
      07/06/09     49.90 GiB |    9.69 GiB |   59.59 GiB |    5.79 Mbit/s
      07/07/09     28.09 GiB |    7.58 GiB |   35.68 GiB |    3.46 Mbit/s
      07/08/09     17.60 GiB |    6.83 GiB |   24.43 GiB |    2.37 Mbit/s
      07/09/09     20.80 GiB |   15.64 GiB |   36.44 GiB |    3.54 Mbit/s
      07/10/09     16.10 GiB |   11.14 GiB |   27.24 GiB |    2.64 Mbit/s
      07/11/09      9.79 GiB |    4.96 GiB |   14.76 GiB |    1.43 Mbit/s
      07/12/09      9.36 GiB |    9.60 GiB |   18.97 GiB |    1.84 Mbit/s
      07/13/09     11.26 GiB |    8.16 GiB |   19.42 GiB |    1.89 Mbit/s
      07/14/09     32.65 GiB |    9.56 GiB |   42.21 GiB |    4.10 Mbit/s
      07/15/09     35.32 GiB |   15.55 GiB |   50.88 GiB |    4.94 Mbit/s
      07/16/09     20.71 GiB |   15.24 GiB |   35.95 GiB |    3.49 Mbit/s
      07/17/09     15.10 GiB |   15.34 GiB |   30.44 GiB |    2.95 Mbit/s
      07/18/09     14.23 GiB |    5.20 GiB |   19.44 GiB |    1.89 Mbit/s
      07/19/09     23.59 GiB |    6.73 GiB |   30.32 GiB |    2.94 Mbit/s
      07/20/09     36.36 GiB |    7.53 GiB |   43.90 GiB |    4.26 Mbit/s
      07/21/09     28.11 GiB |    6.06 GiB |   34.16 GiB |    3.32 Mbit/s
      07/22/09     20.80 GiB |   15.36 GiB |   36.16 GiB |    3.51 Mbit/s
      07/23/09     18.20 GiB |   10.71 GiB |   28.91 GiB |    2.81 Mbit/s
      07/24/09     13.07 GiB |    6.25 GiB |   19.33 GiB |    1.88 Mbit/s
      07/25/09      9.74 GiB |    6.38 GiB |   16.11 GiB |    1.56 Mbit/s
      07/26/09     11.51 GiB |    6.66 GiB |   18.17 GiB |    1.76 Mbit/s
      07/27/09     16.68 GiB |    9.18 GiB |   25.86 GiB |    2.51 Mbit/s
      07/28/09     17.06 GiB |    6.61 GiB |   23.67 GiB |    2.30 Mbit/s
      07/29/09     23.19 GiB |    7.21 GiB |   30.41 GiB |    2.95 Mbit/s
      07/30/09      9.34 GiB |    7.79 GiB |   17.13 GiB |    1.66 Mbit/s
      07/31/09     19.19 GiB |    8.63 GiB |   27.82 GiB |    2.70 Mbit/s
      08/01/09     17.13 GiB |   10.50 GiB |   27.63 GiB |    2.81 Mbit/s
     ------------------------+-------------+-------------+---------------
     estimated     17.94 GiB |   11.00 GiB |   28.94 GiB |
$ vnstat -m

 eth1  /  monthly

      month         rx      |      tx      |    total     |   avg. rate
    ------------------------+--------------+--------------+---------------
     Nov '08      74.94 GiB |    96.48 GiB |   171.42 GiB |  554.76 kbit/s
     Dec '08     279.32 GiB |   276.05 GiB |   555.37 GiB |    1.74 Mbit/s
     Jan '09     324.34 GiB |   413.38 GiB |   737.72 GiB |    2.31 Mbit/s
     Feb '09     273.73 GiB |   362.49 GiB |   636.22 GiB |    2.21 Mbit/s
     Mar '09     353.50 GiB |   270.03 GiB |   623.53 GiB |    1.95 Mbit/s
     Apr '09     361.74 GiB |   365.01 GiB |   726.74 GiB |    2.35 Mbit/s
     May '09     345.62 GiB |   440.43 GiB |   786.05 GiB |    2.46 Mbit/s
     Jun '09     758.45 GiB |   359.30 GiB |     1.09 TiB |    3.62 Mbit/s
     Jul '09     609.40 GiB |   282.21 GiB |   891.61 GiB |    2.79 Mbit/s
     Aug '09      17.13 GiB |    10.50 GiB |    27.63 GiB |    2.81 Mbit/s
    ------------------------+--------------+--------------+---------------
    estimated    556.15 GiB |   340.85 GiB |   897.00 GiB |
$ vnstat -t

 eth1  /  top 10

    #      day          rx      |     tx      |    total    |   avg. rate
   -----------------------------+-------------+-------------+---------------
    1   06/24/09      80.56 GiB |   10.47 GiB |   91.03 GiB |    8.84 Mbit/s
    2   06/09/09      49.11 GiB |   21.65 GiB |   70.76 GiB |    6.87 Mbit/s
    3   06/15/09      38.01 GiB |   28.77 GiB |   66.78 GiB |    6.48 Mbit/s
    4   06/26/09      53.03 GiB |   10.57 GiB |   63.60 GiB |    6.17 Mbit/s
    5   07/06/09      49.90 GiB |    9.69 GiB |   59.59 GiB |    5.79 Mbit/s
    6   06/25/09      47.32 GiB |   10.11 GiB |   57.43 GiB |    5.58 Mbit/s
    7   02/20/09      19.15 GiB |   37.55 GiB |   56.70 GiB |    5.50 Mbit/s
    8   02/02/09      20.65 GiB |   34.03 GiB |   54.68 GiB |    5.31 Mbit/s
    9   01/14/09      20.00 GiB |   32.99 GiB |   52.99 GiB |    5.14 Mbit/s
   10   04/26/09      32.37 GiB |   19.22 GiB |   51.59 GiB |    5.01 Mbit/s
   -----------------------------+-------------+-------------+---------------
$ vnstat -w

 eth1  /  weekly

                      rx      |     tx      |    total    |   avg. rate
   ---------------------------+-------------+-------------+---------------
    last 7 days    114.11 GiB |   56.58 GiB |  170.69 GiB |    2.38 Mbit/s
      last week    137.79 GiB |   58.96 GiB |  196.75 GiB |    2.73 Mbit/s
   current week    102.60 GiB |   49.92 GiB |  152.52 GiB |    2.49 Mbit/s
   ---------------------------+-------------+-------------+---------------
      estimated    121.38 GiB |   59.06 GiB |  180.44 GiB |
$ vnstat -tr
3103 packets sampled in 5 seconds
Traffic average for eth1

      rx          50.41 KiB/s           289 packets/s
      tx          82.11 KiB/s           331 packets/s
$ vnstat -l
Monitoring eth0...    (press CTRL-C to stop)

   rx:        0 kbit/s     1 p/s          tx:        4 kbit/s     2 p/s

 eth0  /  traffic statistics

                           rx         |       tx
--------------------------------------+------------------
  bytes                       21 KiB  |          36 KiB
--------------------------------------+------------------
          max              60 kbit/s  |       72 kbit/s
      average            3.36 kbit/s  |     5.76 kbit/s
          min               0 kbit/s  |        0 kbit/s
--------------------------------------+------------------
  packets                        262  |             272
--------------------------------------+------------------
          max                 94 p/s  |          94 p/s
      average                  5 p/s  |           5 p/s
          min                  0 p/s  |           0 p/s
--------------------------------------+------------------
  time                    50 seconds

Gỡ bỏ vnstat hay uninstall vnstat

# make uninstall

15) ss

ss viết tắt của Socket Statistics. Lệnh này cũng tương tự như lệnh netstat vậy.

Để hiển thị tất cả các socket đang lắng nghe

# ss -l

Recv-Q Send-Q           Local Address:Port               Peer Address:Port
0      0                            *:mysql                         *:*
0      0                            *:pop3                          *:*
0      0                            *:imap                          *:*
0      0                            *:http                          *:*
0      0                            *:ndmp                          *:*
0      0                    127.0.0.1:scp-config                       *:*
0      0                            *:ftp                           *:*
0      0                            *:imaps                         *:*
0      0                            *:pop3s                         *:*
0      0                           :::webcache                      :::*
0      0                           :::ssh                          :::*

Để chỉ hiển thị các kết nối đã được thiết lập

# ss -o state established
Recv-Q Send-Q           Local Address:Port               Peer Address:Port
0      0               180.235.134.14:http              66.249.67.105:46744
0      0                    127.0.0.1:44706                 127.0.0.1:webcache
0      69              180.235.134.14:36226              65.110.21.43:http     timer:(on,380ms,0)
0      0             ::ffff:127.0.0.1:webcache        ::ffff:127.0.0.1:44706    timer:(keepalive,119min,0)
0      596      ::ffff:180.235.134.14:ssh        ::ffff:123.20.50.205:35900    timer:(on,650ms,0)

 

Bài viết này nằm trong dự án  website : www.gocit.vn, forum hổ trợ forum.gocit.vn , xem thêm tại link http://www.gocit.vn/du-an-linux-toan-tap/

Thảo luận bài viết tại forum : http://forum.gocit.vn/threads/15-tool-monitor-linux.444/

Print Friendly

Comments

comments

Bài viết liên quan