강좌

HOME > 강좌 >
강좌| 리눅스 및 오픈소스에 관련된 강좌를 보실 수 있습니다.
 
dstat 사용법
조회 : 9,343  


dstat 사용법


0. 개요

터미널 상이나 콘솔상에서 해당서버의 여러가지 정보를 실시간으로 모니터링 하려면

여러가지의  명령어와  proc 파일에대한 이해가 필요하다

그리고 disk 상태와 cpu 샅테 메모리 상테 네트웍 상태를 동시에 모니터링하기에는

조금 버거운 부분도있다

dstat는 여러가지정보를 옵선조정을 통해서 간단히 확인 가능하도록 해준다

즉 간단하게 콘솔상에서 서버를 모니터링 가능한 프로그램이다


1. 다운로드및 설치

제작사사이트의 주소
http://dag.wieers.com

해당 URL에서 다운 받아 설치하면 된다
wget http://dag.wieers.com/home-made/dstat/dstat-0.6.9.tar.bz2

설치 방법은 압축을 해제하는것으로 끝이난다.
tar jxvfp dstat-0.6.9.tar.bz2


2. 옵션설명

아래와 같은 형식으로 사용가능하며
dstat [-afv] [options..] [delay [count]]

여기서 사용하는옵션들에 대해 간단히 알아보자

-c, --cpu  cpu 상태를 모니터링 한다
                  -C 옵션을 주고 각코어별로 모니터링도 가능하다
                  ex) -c -C 0,1,2,3,total
-d, --disk disk 상태를 모니터링 한다
                  -D 옵션을 주고 각디스트별로 모니터링도 가능하다
                  ex) -d -D sda,sdb,hda,total
-g, --page page 상태를 모니터링 한다
-i, --int  interrupt 상태를 모니터링 한다
                  -I 5,10 include interrupt 5 and 10
-l, --load  load 상태를 모니터링 한다
-m, --mem  memory 상태를 모니터링 한다
-n, --net  network 상태를 모니터링 한다
                  -N 옵션을 주고 각 이더넷 인터페이스 별로 모니터링도 가능하다
                  ex) -n -N eth1,total
-p, --proc  process 상태를 모니터링 한다
-s, --swap  e swap 상태를 모니터링 한다
                  -S 옵션을 주고 각 SWAP 별로 모니터링도 가능하다
                ex) swap1,total
-t, --time    아웃풋 주기와 카운터를 설정하다
-y, --sys  system 상태를 모니터링 한다
--ipc      ipc 상태를 모니터링 한다
--lock      lock 상태를 모니터링 한다
--raw      raw 상태를 모니터링 한다
--tcp      tcp 상태를 모니터링 한다
--udp      udp 상태를 모니터링 한다

--output file  CVS현태로 저장되며 파일경로를 설정한다

3. 사용방법

[root@localhost dstat-0.6.9]# ./dstat -c -d -g -m -s -l -n -p -s
----total-cpu-usage---- -dsk/total- ---paging-- ------memory-usage----- -swp/total- ---load-avg--- -net/total- ---procs--- -swp/total-
usr sys idl wai hiq siq| read  writ|  in  out | used  buff  cach  free| used  free| 1m  5m  15m | recv  send|run blk new| used  free
  0  0 100  0  0  0| 746B 1455B|  0    0 |  39M  86M  121M 4668k|  60k  512M|  0    0    0|  0    0 |  0  0  0|  60k  512M
  0  0 100  0  0  0|  0    0 |  0    0 |  39M  86M  121M 4668k|  60k  512M|  0    0    0|  66B  530B|  1  0  0|  60k  512M
  0  0 100  0  0  0|  0    0 |  0    0 |  39M  86M  121M 4668k|  60k  512M|  0    0    0| 180B  546B|  1  0  0|  60k  512M
  0  0 100  0  0  0|  0    0 |  0    0 |  39M  86M  121M 4668k|  60k  512M|  0    0    0| 132B  660B|  0  0  0|  60k  512M
  0  1  99  0  0  0|  0    0 |  0    0 |  39M  86M  121M 4668k|  60k  512M|  0    0    0| 597B  546B|  1  0  0|  60k  512M
  0  0  99  0  0  1|  0  156k|  0    0 |  39M  86M  121M 4668k|  60k  512M|  0    0    0|  66B  546B|  1  0  0|  60k  512M
  0  0 100  0  0  0|  0    0 |  0    0 |  39M  86M  121M 4668k|  60k  512M|  0    0    0| 126B  562B|  1  0  0|  60k  512M
  0  0  99  0  1  0|  0    0 |  0    0 |  39M  86M  121M 4668k|  60k  512M|  0    0    0|  66B  546B|  1  0  0|  60k  512M
  0  0 100  0  0  0|  0    0 |  0    0 |  39M  86M  121M 4668k|  60k  512M|  0    0    0| 300B  546B|  1  0  0|  60k  512M
  0  1  99  0  0  0|  0    0 |  0    0 |  39M  86M  121M 4668k|  60k  512M|  0    0    0| 486B  546B|  1  0  0|  60k  512M
  0  0 100  0  0  0|  0    0 |  0    0 |  39M  86M  121M 4668k|  60k  512M|  0    0    0| 672B  660B|  0  0  0|  60k  512M
  0  0 100  0  0  0|  0    0 |  0    0 |  39M  86M  121M 4668k|  60k  512M|  0    0    0| 426B  546B|  1  0  0|  60k  512M
  0  0 100  0  0  0|  0    0 |  0    0 |  39M  86M  121M 4668k|  60k  512M|  0    0    0|  66B  546B|  1  0  0|  60k  512M
  1  0  99  0  0  0|  0    0 |  0    0 |  39M  86M  121M 4668k|  60k  512M|  0    0    0|  66B  546B|  1  0  0|  60k  512M


[root@localhost dstat-0.6.9]# ./dstat --aio --fs --ipc --lock --raw --socket --tcp --udp
async --filesystem- --sysv-ipc- ---file-locks-- raw ------sockets------ ----tcp-sockets---- --udp--
 #aio|files  inodes|msg sem shm|pos lck rea wri|raw|tot tcp udp raw frg|lis act syn tim clo|lis act
  0 |  384  12908 |  0  0  0|  4  1  0  5|  0| 38  4  1  0  0|  5  1  0  0  0|  1  0
  0 |  384  12912 |  0  0  0|  4  1  0  5|  0| 38  4  1  0  0|  5  1  0  0  0|  1  0
  0 |  384  12912 |  0  0  0|  4  1  0  5|  0| 38  4  1  0  0|  5  1  0  0  0|  1  0
  0 |  384  12912 |  0  0  0|  4  1  0  5|  0| 38  4  1  0  0|  5  1  0  0  0|  1  0
  0 |  384  12912 |  0  0  0|  4  1  0  5|  0| 38  4  1  0  0|  5  1  0  0  0|  1  0
  0 |  384  12912 |  0  0  0|  4  1  0  5|  0| 38  4  1  0  0|  5  1  0  0  0|  1  0
  0 |  384  12912 |  0  0  0|  4  1  0  5|  0| 38  4  1  0  0|  5  1  0  0  0|  1  0
  0 |  384  12912 |  0  0  0|  4  1  0  5|  0| 38  4  1  0  0|  5  1  0  0  0|  1  0
  0 |  384  12912 |  0  0  0|  4  1  0  5|  0| 38  4  1  0  0|  5  1  0  0  0|  1  0
  0 |  384  12912 |  0  0  0|  4  1  0  5|  0| 38  4  1  0  0|  5  1  0  0  0|  1  0
  0 |  384  12912 |  0  0  0|  4  1  0  5|  0| 38  4  1  0  0|  5  1  0  0  0|  1  0
  0 |  384  12912 |  0  0  0|  4  1  0  5|  0| 38  4  1  0  0|  5  1  0  0  0|  1  0
  0 |  384  12912 |  0  0  0|  4  1  0  5|  0| 38  4  1  0  0|  5  1  0  0  0|  1  0
  0 |  384  12912 |  0  0  0|  4  1  0  5|  0| 38  4  1  0  0|  5  1  0  0  0|  1  0
  0 |  384  12912 |  0  0  0|  4  1  0  5|  0| 38  4  1  0  0|  5  1  0  0  0|  1  0
  0 |  384  12912 |  0  0  0|  4  1  0  5|  0| 38  4  1  0  0|  5  1  0  0  0|  1  0
  0 |  384  12912 |  0  0  0|  4  1  0  5|  0| 38  4  1  0  0|  5  1  0  0  0|  1  0
  0 |  384  12912 |  0  0  0|  4  1  0  5|  0| 38  4  1  0  0|  5  1  0  0  0|  1  0
  0 |  384  12912 |  0  0  0|  4  1  0  5|  0| 38  4  1  0  0|  5  1  0  0  0|  1  0


[root@localhost dstat-0.6.9]# ./dstat -c -C 0,1,2,3,total -d -r -g -m -s -l -n -p -s  --aio --fs --ipc --lock --raw --socket --tcp --udp -T 1 0
Terminal width too small, trimming output.
-------cpu0-usage-----------total-cpu-usage---- -dsk/total- --io/total- ---paging-- ------memory-usage----- -swp/total- ---load-avg--- -net/total- ---procs--- -swp/total- async --filesystem- --sysv-ipc- ---file-locks-- raw --udp-->
usr sys idl wai hiq siq:usr sys idl wai hiq siq| read  writ| read  writ|  in  out | used  buff  cach  free| used  free| 1m  5m  15m | recv  send|run blk new| used  free| #aio|files  inodes|msg sem shm|pos lck rea wri|raw|lis act>
  0  0 100  0  0  0:  0  0 100  0  0  0| 745B 1463B| 0.1  0.1 |  0    0 |  39M  86M  121M 4428k|  60k  512M|  0    0    0|  0    0 |  0  0  0|  60k  512M|  0 |  384  12914 |  0  0  0|  4  1  0  5|  0|  1  0>


[root@localhost dstat-0.6.9]# ./dstat -c -C 0,1,2,3,total -d -r -g -m -s -l -n -p -s  --aio --fs --ipc --lock --raw --socket --tcp --udp --output /root/files  -T 1 0
Terminal width too small, trimming output.
-------cpu0-usage-----------total-cpu-usage---- -dsk/total- --io/total- ---paging-- ------memory-usage----- -swp/total- ---load-avg--- -net/total- ---procs--- -swp/total- async --filesystem- --sysv-ipc- ---file-locks-- raw --udp-->
usr sys idl wai hiq siq:usr sys idl wai hiq siq| read  writ| read  writ|  in  out | used  buff  cach  free| used  free| 1m  5m  15m | recv  send|run blk new| used  free| #aio|files  inodes|msg sem shm|pos lck rea wri|raw|lis act>
  0  0 100  0  0  0:  0  0 100  0  0  0| 744B 1466B| 0.1  0.1 |  0    0 |  39M  86M  121M 4248k|  60k  512M|  0    0    0|  0    0 |  0  0  0|  60k  512M|  0 |  384  12915 |  0  0  0|  4  1  0  5|  0|  1  0>
[root@localhost dstat-0.6.9]# vi /root/files
"Dstat 0.6.9 CSV output"
"Author:","Dag Wieers <dag@wieers.com>",,,,"URL:","http://dag.wieers.com/home-made/dstat/"
"Host:","localhost",,,,"User:","root"
"Cmdline:","dstat -c -C 0,1,2,3,total -d -r -g -m -s -l -n -p -s --aio --fs --ipc --lock --raw --socket --tcp --udp --output /root/files -T 1 0",,,,"Date:","01 Apr 2009 13:28:31 KST"

"cpu0 usage",,,,,,"total cpu usage",,,,,,"dsk/total",,"io/total",,"paging",,"memory usage",,,,"swp/total",,"load avg",,,"net/total",,"procs",,,"swp/total",,"async","filesystem",,"sysv ipc",,,"file locks",,,,"raw","sockets",,,,,"tcp sockets",,,,,"udp",,"epoch"
"usr","sys","idl","wai","hiq","siq","usr","sys","idl","wai","hiq","siq","read","writ","read","writ","in","out","used","buff","cach","free","used","free","1m","5m","15m","recv","send","run","blk","new","used","free","#aio","files","inodes","msg","sem","shm","pos","lck","rea","wri","raw","tot","tcp","udp","raw","frg","lis","act","syn","tim","clo","lis","act","epoch"
0.004,0.077,99.856,0.015,0.042,0.006,0.004,0.077,99.856,0.015,0.042,0.006,743.807,1464.432,0.071,0.127,0.0,0.0,40570880.0,90046464.0,126767104.0,4411392.0,61440.0,536801280.0,0.0,0.0,0.0,0.0,0.0,0.000,0.0,0.126,61440.0,536801280.0,0.0,384.0,12915.0,0.0,0.0,0.0,4.0,1.0,0.0,5.0,0.0,38.0,4.0,1.0,0.0,0.0,5.0,1.0,0.0,0.0,0.0,1.0,0.0,1238560111.486,


4. 결론

물론 dstat는 툴일뿐이다

dstat에서 출력되는정보는 단순히 proc등고 같은 디렉토리에서 정보를 가져와서

우리가 보기쉽게 가공하여 보여주는 것에 불과하다

하지만 위의 정보들을 보기위해 스트립트를 만드는것은 학습을하거나 시간적인 여유가 있을 대는 좋겠지만

그렇지않은 경우 사용하기에 적당하다

그리고 정보역시 TUI를 가지지만 생각보다 가독성역시 좋아 정보를 분석하기 편하다.

한번쯤 사용법을 익혀둔다면 유용하게 사용할 만하다 .

[원글링크] : https://www.linux.co.kr/home2/board/subbs/board.php?bo_table=lecture&wr_id=1772


이 글을 트위터로 보내기 이 글을 페이스북으로 보내기 이 글을 미투데이로 보내기

 
이재석
본명 : 이재석
e-mail : locli앳superuser.co.kr
소속 : (주)수퍼유저코리아