gnetinfo

   gnetinfo

  사용법

       
	gnetinfo [-G fn] [-d intf] [options] file
	gnetinfo -O fn -d intf [options] file

	Options are as follows:

	-?               print this help
	-,               put a comma in graph number
	-0               zero based graph
	-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: .
	-d intf[,intf..] specify network interface name to make graph or output; def: total
	                    intf: one of 'all' 'total' 'max'
	                    intf: hme0[,hme1]...
	                    intf: all=hme0,hme1...
	                    intf: total=hme0,hme1...
	                    intf: max=hme0,hme1...
	-e dot           X-axis extension
	-f               put network interface name at graph's subtitle
	-G fn[:[[max][-min]][:title]][,fn[:[[max][-min]][:title]]]...  draw graphs for the specified fields
 	                    fn: pkt,data,err,coll,inpkt,outpkt,indata,outdata,inerr,outerr
	-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 maximum values 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: netinfo[.gif]
	-O fn[+fn...]    print field data line by line
	                   fn: I-pkts I-data I-errs O-pkts O-data O-errs Collis
	-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: netinfo
	-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
	-x               do not make netinfo-nettbl.html and netinfo-nettbl.txt file
	-X file          file that contains network interface device name to be replaced
	-z               draw graph for unused network interface

	file             output of "netinfo -x" command
  설명

gnetinfo 명령어는 'netinfo -x' 명령어의 출력을 저장한 file을 읽어 들여 각 필드에 대하여 GIF 파일포멧의 그래프를 만든다.
다음의 명령어는 60초 간격으로 480 번 netinfo 명령어의 데이타를 수집한 예제이다.

	# netinfo -x 60 480 > netinfo.log 

다음의 명령어는 60초 간격으로 480 번 netinfo 명령어의 데이타를 수집한 예제이다.

# DATE 2007/10/05 00:00:00
# Date.time 1011.000000 interval 60
Name       I-pkts   I-data   I-errs   O-pkts   O-data   O-errs   Collis 00:01:00
lo0           7.2        -        -      7.2        -        -        -
ce0           1.9   0.131K        0      1.1   0.263K        0        0
ce1        4084.9   6718.K        0   3034.3   4746.K        0        0
ce2        2568.6   3561.K        0   2296.5   3326.K        0        0
Name       I-pkts   I-data   I-errs   O-pkts   O-data   O-errs   Collis 00:02:00
lo0           6.6        -        -      6.6        -        -        -
ce0           1.8   0.131K        0      2.1   0.395K        0        0
ce1        3159.4   5142.K        0   1783.0   2673.K        0        0
ce2        1794.5   2514.K        0   1504.2   2140.K        0        0
... skip ...

gnetinfo 명령어는 netinfo -x 명령어의 출력물에서 다음과 같은 필드를 그래프로 만든다.

헤더설명
pkt
inpkt
outpkt
   pkt : 입출력 패킷의 수 (I-pkts + O-pkts)
 inpkt : 입력 패킷의 수 (I-pkts)
outpkt : 출력 패킷의 수 (O-pkts)
data
indata
outdata
   data: 입출력 패킷의 양 (I-data + O-data)
 indata: 입력 패킷의 양 (I-data)
outdata: 출력 패킷의 양 (O-data)
err
inerr
outerr
  err: 입출력 오류가 발생한 패킷의 개수 (I-errs + O-errs)
 inerr: 입력 오류가 발생한 패킷의 개수 (I-errs)
outerr: 출력 오류가 발생한 패킷의 개수 (O-errs)
coll collision이 발생한 개수 (Collis)

그래프 그림에서 actv_net 그래프는 데이타를 수집한 시점에network traffic이 있는 디스크의 개수를 표시한다.

netinfo 명령어의 결과물에서는 첫번째 데이타부터 유효한 데이타 이다.

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

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

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

명령어 설명
# gnetinfo netinfo.log 옵션 없이 그래프를 만든다. -o 옵션을 지정하지 않으면, 디폴트로 netinfo.gif 파일을 만든다. -d 옵션은 지정하지 않으면, 디폴트로 모든 개별 인터페이스에 대한 합계를 사용하여 그래프를 만든다.
# gnetinfo -d all netinfo.log -d all 옵션은 모든 인터페이스에 대하여 그래프를 만든다.
-d 옵션에는 그리고 싶은 인터페이스를 지정한다. 인터페이스의 이름(ce0 ..) 과는 별개로 all과 total과 max를 지정할 수 있다.
total-d 옵션을 지정하지 않은 경우의 디폴트이며, 각 인터페이스의 값을 합계한 수치로 그래프를 만든다.
max는 각각의 인터페이스에서 최대 값만 모아서 그래프를 만든다.
all은 total과 max를 포함하고 각각 인터페이스에 대하여 그래프를 만든다. 만들어진 그래프의 이름은 netinfo_interface.gif이다. 예를 들면, netinfo.gif netinfo_max.gif netinfo_ce0.gif netinfo_ce1.gif ...

-d all 옵션 사용하면, 트래픽이 있는 각각의 인터페이스에 대해 그래프를 만들어 주고, 각각의 필드에 대한 최대 값을 정리한 netinfo-nettbl.html 파일과 netinfo-nettbl.txt 파일을 만들어 준다.
-z 옵션을 지정하면, 트래픽이 없는 인터페이스에 대해서도 그래프를 만들어 준다.

-x 옵션을 지정하면 netinfo-nettbl.html, netinfo-nettbl.txt 파일을 만들지 않는다.

인터페이스 명에 all 사용되고 -M 옵션을 지정하면, 각각의 인터페이스에 대하여 그래프를 만들때, 각각의 그래프에 공통의 최대값, 최소값을 사용한다.
-M 옵션을 지정하지 않으면, 각각의 인터페이스에 적절한 최대값, 최소값을 사용한다.


-X file 옵션을 지정하면, 각각의 인터페이스 명에 별명을 지정할 수 있다. file 의 형식은 다음과 같고, 한줄에 하나씩 지정할 수 있다.

device_name alias

공백으로 분리된 첫번째 단어가 인터페이스 명이 되고 그 나머지는 별명이 된다.

다음은 인터페이스 명에 별명을 지정한 예제이다.

ce0 net.129.10.10
ce1 net.129.10.20
-X file 옵션을 사용하기 전의 netinfo_ce0.gif 파일의 제목은 "netinfo [ce0]" 이다. 위에 있는 내용을 사용하여 -X 옵션을 지정하면, netinfo_ce0.gif 파일의 제목은 "netinfo [net.129.10.10]" 로 표시된다.

-d 옵션에 개별 인터페이스 명을 지정하면, 그 인터페이스에 대해서만 그래프를 만들어 준다. 인터페이스 명을 두개 이상 지정하면 netinfo-nettbl.html 파일과 netinfo-nettbl.txt 파일을 만들어 준다.

# gnetinfo -d ce0,ce1,ce2 netinfo.log

위의 명령어는 ce0 ce1 ce2 세개의 인터페이스에 대한 그래프를 만든다.

다음과 같이, 특정 인터페이스들에 대해서만 합계그래프나 최대값 그래프를 만들 수 있다.

# gnetinfo -d all=ce0,ce1,ce2 netinfo.log

위의 명령어는 ce0 ce1 ce2 세개의 인터페이스를 전체 인터페이스로 가정하고 그래프를 만든다. all= 이 지정되어 있으므로 total 그래프, max 그래프, 각각 인터페이스 ce0 ce1 ce2 에 대한 그래프를 만든다.

# gnetinfo -d total=ce0,ce1,ce2 netinfo.log

위의 명령어는 ce0 ce1 ce2 세개의 인터페이스를 전체 인터페이스로 가정하고 total 그래프를 만든다.

# gnetinfo -d max=ce0,ce1,ce2 netinfo.log

위의 명령어는 ce0 ce1 ce2 세개의 인터페이스를 전체 인터페이스로 가정하고 max 그래프를 만든다.

# gnetinfo -B netinfo.log -B 옵션은 막대 그래프를 만든다.
# gnetinfo -t 090000 -i 60 netinfo.log

# gnetinfo -t 090000 -i 60 -l 0 netinfo.log

# gnetinfo -t 090000 -i 60 -N netinfo.log

# gnetinfo -t 090000 -i 60 -N -e 5 -n 120 netinfo.log

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

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

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

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

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

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

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

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

fn 필드명을 지정한다. 필드명은 다음과 같다.
pkt data err coll inpkt outpkt indata outdata inerr outerr

(inpkt, outpkt, indata, outdata, inerr, outerr 그래프는 명시적으로 지정하지 않으면 그래프가 그려지지 않는다)
[max][-min] 그래프의 최대값과 최소값을 지정한다.
title 그래프의 제목을 지정한다. 제목에 "."을 지정하면 그래프의 제목을 표시하지 않는다.

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

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

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

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

  • -G and -c option 에 대한 자세한 설명
  • 다음은 구성파일에 대한 예제이다.

    kb::Kilo Bytes of Input and Output kb:1000 kb:1000-500 kb:-500 kb:1000-500:Kilo Bytes of Input and Output

    # gnetinfo -C 00ffff:: netinfo.log

    # gnetinfo -C :ff00ff:00cc00 netinfo.log

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

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

    # gnetinfo -W netinfo.log -W 옵션은 HTML 페이지를 만든다. -o 옵션을 사용하지 않으면, 디폴트로 "netinfo.html" 파일이 생성된다. 이 HTML 파일에는 각 필드에 대한 최대 값이 하단에 정리되어 있다.

    -O 옵션을 사용하여 netinfo 명령어의 결과파일에서 필요한 필드만 지정한 인터페이스 별로 뽑아 낼 수 있다.

    # gnetinfo -O I-pkts -d ce0,ce1,ce2 netinfo.log | head
    # FIELD: I-pkts
         ce0     ce1     ce2
         1.9  4084.9  2568.6
         1.8  3159.4  1794.5
         2.4  3487.3  2312.3
         2.2  3460.1  2563.8
         1.9  1034.9  1462.9
         2.0  1297.1  1628.0
         2.2   690.2  1010.9
         1.9   555.7   963.2
    # gnetinfo -O O-pkts -d ce0,ce1,ce2 netinfo.log | head
    # FIELD: O-pkts
         ce0     ce1     ce2
         1.1  3034.3  2296.5
         2.1  1783.0  1504.2
         1.1  2021.3  1912.8
         1.6  1615.2  1498.0
         1.6   888.1   840.1
         1.1   370.5   392.7
         1.6   309.4   314.6
         1.1   322.2   315.2
    # gnetinfo -O I-pkts+O-pkts -d ce0,ce1,ce2 netinfo.log | head
    # FIELD: I-pkts+O-pkts
         ce0     ce1     ce2
         3.0  7119.2  4865.1
         3.9  4942.4  3298.7
         3.5  5508.6  4225.1
         3.8  5075.3  4061.8
         3.5  1923.0  2303.0
         3.1  1667.6  2020.7
         3.8   999.6  1325.5
         3.0   877.9  1278.4
    

    다음의 그래프는 위에 있는 마지막 데이타 (I-pkts+O-pkts) 데이타를 가지고 mkgraph 명령어를 사용하여 각각의 인터페이스에 대한 데이타를 하나의 그래프에 그렸다.

    # mkgraph -1 sum -H -G "+::pkts/s for input and output" -e 5 -w 200 -o gr-netin net.log
    
    
    
    # mkgraph -1 sum -B -H -G "+::pkts/s for input and output" -e 5 -w 200 -o gr-netin-B net.log
    
    
    
    

    -, 옵션을 지정하면 그래프의 Y축 숫자에 3자리 마다 콤마를 추가한다.
    -0 옵션은 그래프의 시작값(Y축)을 0부터 시작한다. 디폴트로 그래프의 시작값은 데이타의 최소값과 최대값에 따라 결정된다.
    -b 옵션은 츨력되는 이미지에 외곽선을 그린다.
    -d intf[,intf]... 옵션은 그래프를 만들 인터페이스 명을 지정한다. 형식은 다음과 같다.
    	intf: one of 'all' 'total' 'max'
    	intf: hme0[,hme1]...
    	intf: all=hme0,hme1...
    	intf: total=hme0,hme1...
    	intf: max=hme0,hme1...
    
    인터페이스 이름 대신에 인터페이스 이름을 가지고 있는 파일명을 지정할 수 도 있다. 인터페이스 명이 있을 자리에 '+' 로 시작하는 단어는 파일명으로 간주하여 그 파일에 있는 내용을 읽어들인다. 파일에는 한줄에 하나씩 인터페이스 명을 지정하여야 한다.

    # cat interface
    ce0
    ce1
    ce2
    # gnetinfo -d +interface,ce3 netinfo.log
    
    # gnetinfo -d ce0,ce1,ce2,ce3 netinfo.log
    

    위의 두개의 gnetinfo 명령어는 동일한 결과를 갖는다.

    -f 옵션을 사용하면, 각 필드명 앞에 인터페이스 명을 붙인다.

    예)   pkt: packets ---> [ce0] pkt: packets
    -o outfile 옵션은 출력될 그래프의 파일명을 지정한다. 디폴트는 "netinfo"이다.
    실제 출력될 파일명에는 ".gif" 가 추가된다. 따라서 디폴트로 생성될 파일명은 "netinfo.gif" 가 된다.
    -D directory 옵션은 출력될 그래프를 만들 디렉토리명을 지정한다. 디폴트는 "."이다. 지정한 디렉토리가 없으면 새로 만들어 준다. 단 최하단의 디렉토리만 만든다.
    -l n 옵션은 출력될 그래프에 n 간격의 데이타에 회색 점선을 그린다.
    n이 0이고 -i 옵션과 함께 사용하면 10 분 간격으로 회색 점선을 그린다.
    -L toplabel 옵션을 사용하여, 그림의 상단에 배경색을 회색으로 하는 글자를 표시할 수 있다.
    -m 옵션은 선택된 각 필드에 대한 최대 값을 출력한다.
    -P 옵션은 각각의 그래프의 우측에 표시될 최대값과 최소값을 다음과 같은 형식으로 표준출력으로 출력한다.

    fn:max-min

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

    다음은 -P 옵션을 사용한 결과 화면이다.
    

    # gnetinfo -P netinfo.log
    pkt:60000-0
    data:70000-0
    err:5-0
    coll:5-0
    

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

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

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

    -V -V 옵션을 지정하면, 명령어의 버전 정보를 보여준다.
    -v 옵션은 그래프를 만들지 않고 데이타 파일에 있는 값을 출력한다.
    -y 옵션은 -c config 옵션과 함께 사용될 수 있다. 이 옵션을 지정하면 config 파일에 알 수 없는 필드명이 있을 때, 프로세스를 종료하지 않고 그 필드명을 스킵한다.
    -d all옵션에 -z옵션을 지정하지 않으면 트래픽이 없는 인터페이스에 대해서는 그래프를 만들지 않는다.
    트래픽이 없다는 것은 I-pkts 과 O-pkts 컬럼에 값이 모두 0(zero)인 것을 말한다.