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)인 것을 말한다.
|
|