gnetstat

   gnetstat

  사용법


	gnetstat [options] file

	Options are as follows:

	-?            print this help
	-,            put a comma in graph number
	-0            zero based graph
	-1            draw graphs for first interface; def: total
	-B            bar graph
	-b            draw border line
	-C bg:c1:c2   colors of the graph, colors must be 6 hex digits:
	                  bg: background color; def: ffffff
	                  c1: foreground color1; def: 0000ff
	                  c2: foreground color2; def: ff0000
	-c config     configuration file for maximum values and titles
	-D directory  output directory; def: .
	-e dot        X-axis extension
	-G fn[:[[max][-min]][:title]][,fn[:[[max][-min]][:title]]]...  draw graphs for the specified fields
	                    fn: pkt,err,coll,err%,coll%
	-h height     height per graph
	-i interval   interval (second)
	-l n          draw vertical lines on graph every n'th data
	-L toplabel   specify top label
	-m            print maximums value for each field
	-N            write time info(HH:MM:SS) at the bottom of the graph
	-n count      count of data to be processed
	-o outfile    output file,  def: netstat[.gif]
	-P            print only maximum value and minimum value for each field
	-s start      starting data to be processed. n or HHMMSS or HH:MM:SS
	-S skiplist   list starting word to skip (separated by comma)
	-T title      specify title; def: netstat
	-t HHMMSS     starting time of gathering data
	-V            show version
	-v            print data in text without graph
	-W            generate HTML page
	-w width      width of the graph
	-y            skip unknown field name in config file

	file          output of "netstat -i n" command
  설명

gnetstat는 netstat -i 명령어의 출력을 저장한 file을 읽어 들여, 각 필드에 대하여 GIF 파일포멧의 그래프를 만든다.

# netstat -i 30 > netstat.log netstat의 출력은 다음과 같은 형태이다.

    input   hme0      output           input  (Total)    output
packets errs  packets errs  colls  packets errs  packets errs  colls
2701671 0     1728125 0     0      3178828 0     2205282 0     0
4761    0     2626    0     0      4840    0     2705    0     0
2292    0     1115    0     0      2307    0     1130    0     0
2104    0     1174    0     0      2110    0     1180    0     0
... skip ...

netstat의 출력물에서 다음과 같은 필드가 선택되어 그래프를 그리는데 사용된다.

pkt(input + output), err(input + output), coll, err%(err/pkt*100), coll%(coll/pkt_output*100) "netstat -i"의 출력물에는 두 부분의 데이타가 있다. 첫번째 부분은 첫번째 인터페이스에 대한 데이타이고, 두번째 부분은 모든 인터페이스의 합계이다. vmstat 명령어의 출력 값은 초당 처리 값을 나타내고, netstat 명령어의 출력 값은 시간 간격에 대한 차이 값이다.

   command           output              meaning
 ----------------------------------------------------------
   vmstat 30          120                120 / second
   netstat -i 30      120                120 / 30 seconds

각각의 필드에 대한 의미는 netstat 메뉴얼 페이지를 참고한다.(# man netstat)
netstat의 결과물에서 첫번째 데이타는 사용되지 않고, 두번째 데이타부터 사용된다. 첫번째 데이타는 시스템 부팅부터 지금까지 합계이며, 측정한 시점의 데이타에 대한 정확도가 없기 때문에 사용되지 않는다.

-s 옵션을 사용하여 시작하는 데이타의 위치를 지정할 수 있는데, 여기서 -s 10 이라고 지정하면 실제 데이타 파일에서는 11번째 데이타부터 그래프를 그린다. 위에서 설명했듯이 데이타 파일의 첫번째 데이타는 유효한 데이타로 간주하지 않는다.

데이타 파일에 #으로 시작하는 라인이 있으면 그 라인을 스킵한다.

09시 정각에 30초 간격으로 데이타를 수집하였다고 가정하면, 그래프 상에서 09시 00분 30초에 표시된 값은 09시 00분 00초 부터 09시 00분 30초 동안의 초당값이다.

  netstat의 출력물, netstat.log를 가지고 각 옵션에 대하여 설명한다.

명령어 설명
# gnetstat netstat.log 옵션 없이 그래프를 만든다. -o 옵션을 지정하지 않으면, 디폴트로 netstat.gif 파일을 만든다. -1 옵션을 사용하면 첫번째 인터페이스에 대한 그래프를 그려주고, 이 옵션이 지정되지 않으면, 전체(total)값에 대하여 그래프를 만든다.
netstat의 출력 값은 초당 평균값이 아니기 때문에 데이타를 수집한 시간 간격을 -i 옵션을 지정하여야 초당 값이 나온다.
# gnetstat -1 netstat.log -1 옵션은 첫번째 인터페이스에 대한 그래프를 만든다.
# gnetstat -B netstat.log -B 옵션은 막대 그래프를 만든다.
# gnetstat -t 090000 -i 30 netstat.log

# gnetstat -t 090000 -i 30 -l 0 netstat.log

# gnetstat -t 090000 -i 30 -N netstat.log

# gnetstat -t 090000 -i 30 -N -e 5 -n 120 netstat.log

-t 090000 -i 30 옵션은 그래프의 X축에 시간을 표시한다. 데이타를 수집한 시작 시간은 09시 00분 00초이고, 시간 간격은 30초이다.

-i 옵션과 함께 -l 0 옵션을 사용하면, 10 분 간격으로 회색 점선을 그린다.

-i 옵션과 함께 -N 옵션을 사용하면, 60 dot 간격으로 그래프의 하단에 시간(HH:MM:SS)을 표시한다.

-e 옵션과 함께 -N 옵션을 사용하면 그래프의 구간을 자세히 볼 수 있다.

# gnetstat -w 200 netstat.log -w 200 옵션은 그래프의 폭을 200 dot로 지정한다. 이 옵션이 지정되어 있지 않으면, 데이타의 개수 만큼의 폭을 차지하며, 그 폭이 480 dot 보다 적으면, 480 dot로 사용된다. -w 0 옵션을 지정하면, 실제 데이타 양 만큼의 폭으로 그래프를 만든다.
# gnetstat -s 100 -n 200 netstat.log -s 100 옵션은 100 번째 데이타부터 읽어 들인다. -n 200 옵션은 200개의 데이타에 대해서만 그래프를 만든다.

-i 옵션과 함께 -s 옵션에서 다음과 같이 시간을 지정하면 그 시간부터 그래프를 그린다.

HHMMSS or HH:MM:SS Exam)     # gnetstat -i 30 -t 090000 -s 10:00:00 netstat.log
# gnetstat -e 10 -n 40 netstat.log -e 10 옵션은 1 개의 데이타가 X축으로 10 dot의 간격을 가지게 한다. -n 40 옵션은 40 개의 데이타로 그래프를 만든다.
# gnetstat -h 100 netstat.log -h 100 옵션은 각 단위 그래프의 높이가 100 dot의 크기를 가지게 한다.
# gnetstat -T "July 1" netstat.log -T "July 1" 옵션은 그래프의 상단에 제목을 쓰는데 사용된다. -T "" 또는 -T . 옵션을 사용하면, 상단의 제목을 쓰지 않는다.
디폴트는 "netstat [%i]" 이다. %i는 인터페이스 이름으로 대치된다.
# gnetstat -G pkt netstat.log -G pkt 옵션은 netstat 데이타 중에 pkt 필드에 대한 그래프만 그려준다.

-G fn[:[[max][-min]][:title]][,fn[:[[max][-min]][:title]]]...

fn 필드명을 지정한다. 필드명은 다음과 같다.
pkt   err   coll   err%   coll% 
[max][-min] 그래프의 최대값과 최소값을 지정한다.
title 그래프의 제목을 지정한다. 제목에 "."을 지정하면 그래프의 제목을 표시하지 않는다.

  • -G and -c option 에 대한 자세한 설명
  • # gnetstat -c gnet.conf netstat.log -c gnet.conf 옵션은 구성파일 gnet.conf를 지정한다.

    구성파일의 형식은 다음과 같으며, 한 라인에 하나의 필드를 정의한다.

    fn[:[[max][-min]][:title]] 구성파일에는 각 그래프의 최대값과 최소값과 그래프 제목을 지정할 수 있다. 공백 라인과 '#' 문자로 시작하는 라인은 스킵된다.

    fn 필드명을 지정한다. 필드명은 다음과 같다.
    pkt   err   coll   err%   coll% 
    [max][-min] 그래프의 최대값과 최소값을 지정한다.
    title 그래프의 제목을 지정한다.

  • -G and -c option 에 대한 자세한 설명
  • 다음은 구성파일에 대한 예제이다.
    pkt::PKT - Packets
    pkt:1000
    pkt:1000-500
    pkt:-500
    pkt:1000-500: Packets
    # gnetstat -C 00ffff:: netstat.log

    # gnetstat -C :ff00ff:00cc00 netstat.log

    -C 00ffff:: 옵션은 그래프의 배경 색으로 RGB #00ffff를 지정한다. 배경 색에는 transparent를 지정할 수 있다. 이 경우 그래프의 배경 색은 투명하게 된다.

    -C :ff00ff:00cc00 옵션은 그래프의 선의 색을 RGB #ff00ff와 #00cc00으로 지정한다.

    # gnetstat -W netstat.log -W 옵션은 HTML 페이지를 만든다. -o옵션을 사용하지 않으면, 디폴트로 "netstat.html" 파일이 생성된다. 이 HTML 파일에는 각 필드에 대한 최대 값이 하단에 정리되어 있다.
    -, 옵션을 지정하면 그래프의 Y축 숫자에 3자리 마다 콤마를 추가한다.
    -0 옵션은 그래프의 시작값(Y축)을 0부터 시작한다. 디폴트로 그래프의 시작값은 데이타의 최소값과 최대값에 따라 결정된다.
    -b 옵션은 츨력되는 이미지에 외곽선을 그린다.
    -o outfile 옵션은 출력될 그래프의 파일명을 지정한다. 디폴트는 "netstat"이다.
    실제 출력될 파일명에는 ".gif" 가 추가된다. 따라서 디폴트로 생성될 파일명은 "netstat.gif" 가 된다.
    -D directory 옵션은 출력될 그래프를 만들 디렉토리명을 지정한다. 디폴트는 "."이다. 지정한 디렉토리가 없으면 새로 만들어 준다. 단 최하단의 디렉토리만 만든다.
    -l n 옵션은 출력될 그래프에 n 간격의 데이타에 회색 점선을 그린다.
    n이 0이고 -i 옵션과 함께 사용하면 10 분 간격으로 회색 점선을 그린다.
    -L toplabel 옵션을 사용하여, 그림의 상단에 배경색을 회색으로 하는 글자를 표시할 수 있다.
    -m 옵션은 선택된 각 필드에 대한 최대 값을 출력한다.
    -P 옵션은 각각의 그래프의 우측에 표시될 최대값과 최소값을 다음과 같은 형식으로 표준출력으로 출력한다.

    fn:max-min

    이때 그래프는 만들지 않는다. 표준출력으로 출력되는 값을 리다이렉트(redirect)하여 파일로 저장하면, -c 옵션에 구성파일로 사용할 수 있다.
    netstat 명령어로 여러 개의 파일을 만들었을 경우에 각각에 대하여 그래프를 그리면, 그래프의 최대값과 최소값은 수집된 데이타에 의해 자동으로 의해 결정된다. 만일 3개의 파일이 있다고 가정하면, 각각의 파일들이 최대값과 최소값이 다를 수 있다. 이 경우 3개의 데이타를 그래프 상에서 비교할 때, 최대값과 최소값이 다르기 때문에 비교하기가 어려울 수 있다.
    이러한 경우, -P 옵션을 사용하여 각각 수집된 데이타 파일에 대하여 최대값 및 최소값을 구해서 공통된 최대값과 최소값을 구성파일로 만들어 -c 옵션에 구성파일로 지정하여 다시 3개의 파일에 대하여 그래프를 그리면 공통된 최대값과 최소값을 가지는 3개의 그래프 파일을 만들 수 있다.

    다음은 -P 옵션을 사용한 결과 화면이다.
    
    
    # gnetstat -P netstat.log
    pkt:500-0
    err:10-0
    coll:10-0
    err%:10-0
    coll%:10-0
    

    -P 옵션의 결과값을 저장한 파일은 adjmaxmin 명령어에 의해 가공되어 구성파일로 사용될 수 있다.

    -S skiplist -S 옵션을 사용하여 데이타로 사용되지 않는 입력라인을 제거할 수 있다.

    file속에 있는 내용 중에 데이타가 아닌 라인이 있을 경우, -S 옵션을 사용하여, 그 라인에서 시작하는 문자열을 지정하여 스킵할 수 있다. 스킵하고 싶은 문자열이 여러 개가 있을 경우에 콤마(,)로 구분한다.
    지정한 문자열과 입력 데이타 라인과 비교하여, 일치하면 그 라인을 스킵한다. 입력 라인에서 시작 부분의 whitespace (공백 또는 탭)는 비교되지 않는다.

    -V -V 옵션을 지정하면, 명령어의 버전 정보를 보여준다.
    -v 옵션은 그래프를 만들지 않고 데이타 파일에 있는 값을 출력한다.
    -y 옵션은 -c config 옵션과 함께 사용될 수 있다. 이 옵션을 지정하면 config 파일에 알 수 없는 필드명이 있을 때, 프로세스를 종료하지 않고 그 필드명을 스킵한다.