netinfoctl
사용법
netinfoctl -V
netinfoctl -c config [-S skiplist] file
netinfoctl -d file
netinfoctl -G groupname=interface1[,interface2...] [-G groupname=interface1[,interface2...] ...] [-S skiplist] file
netinfoctl -G groupname=+interfacefile [-G groupname=+interfacefile ...][-S skiplist] file
netinfoctl -p n [-S skiplist] file
netinfoctl -s [-i interval][-T] [-m | -g][-S skiplist] file
Options are as follows:
-? print this help
-c config specify configuration file for grouping interfaces
-d print only interface names in the file
-G groupname=interface1[,interface2,..,] grouping interfaces, (multi-choice option)
-G groupname=+interfacefile interfacefile has interfaces line by line, (multi-choice option)
-g show data in giga byte
-m show data in mega byte
-i interval specify interval
-p n combine n lines into one
-s print sum of each devices
-S skiplist list starting word to skip (separated by comma)
-T print TOTAL values of all interfaces
-V show version
file output of "netinfo -x" command
Example)
# netinfoctl -G service=net0,net1 -G backup=net2,net3 netinfo.log
# netinfoctl -c group_file netinfo.log
# netinfoctl -p 3 netinfo.log
# netinfoctl -s netinfo.log
# netinfoctl -d netinfo.log
설명
netinfoctl 명령어는 netinfo -x" 명령어의 실행결과를 입력으로 받아서
여러 개의 네트웍 인터페이스를 하나의 잍터페이스로 변환하여 준다.
예를 들어, IPMP나 truncking으로 여러 개의 인터페이스를 묶어서 사용할 경우, 여려 개의
인터페이스의 처리량을 하나로 묶어서 보고 싶을 경우, 이 명령어를 사용할 수 있다.
예를 들어, svcnet 이라는 이름으로 net0, net1를 하나로 묶고, bkpnet으로 net2, net3를 묶어서
새롭게 netinfo 명령어의 출력형식으로 만들 수 있다.
# head -20 netinfo.log
Name I-pkts I-data I-errs O-pkts O-data O-errs Collis 08:20:01
lo0 6.5 - - 6.5 - - -
net0 1.8 0.1K 0 1.1 0.1K 0 0
net1 418.3 469.6K 0 258.4 235.5K 0 0
net2 480.7 448.1K 0 502.6 477.5K 0 0
net3 416.8 424.2K 0 316.3 275.0K 0 0
Name I-pkts I-data I-errs O-pkts O-data O-errs Collis 08:21:01
lo0 6.8 - - 6.8 - - -
net0 1.8 0.1K 0 1.6 0.1K 0 0
net1 252.4 260.9K 0 193.0 169.7K 0 0
net2 392.9 346.6K 0 332.8 294.0K 0 0
net3 205.5 171.7K 0 219.3 162.5K 0 0
Name I-pkts I-data I-errs O-pkts O-data O-errs Collis 08:22:01
lo0 6.8 - - 6.8 - - -
net0 1.8 0.1K 0 1.1 0.1K 0 0
net1 124.3 131.7K 0 69.5 53.0K 0 0
net2 207.7 148.0K 0 190.4 130.2K 0 0
net3 157.4 132.5K 0 116.2 56.8K 0 0
Name I-pkts I-data I-errs O-pkts O-data O-errs Collis 08:23:01
lo0 6.9 - - 6.9 - - -
# netinfoctl -G svcnet=net0,net1 -G bkpnet=net2,net3 netinfo.log | head -20
# svcnet (2) = net0 net1
# bkpnet (2) = net2 net3
Name I-pkts I-data I-errs O-pkts O-data O-errs Collis 08:20:01
svcnet 420.1 469.7K 0 259.5 235.6K 0 0
bkpnet 897.5 872.3K 0 818.9 752.5K 0 0
Name I-pkts I-data I-errs O-pkts O-data O-errs Collis 08:21:01
svcnet 254.2 261.0K 0 194.6 169.8K 0 0
bkpnet 598.4 518.3K 0 552.1 456.5K 0 0
Name I-pkts I-data I-errs O-pkts O-data O-errs Collis 08:22:01
svcnet 126.1 131.8K 0 70.6 53.10K 0 0
bkpnet 365.1 280.5K 0 306.6 187.0K 0 0
Name I-pkts I-data I-errs O-pkts O-data O-errs Collis 08:23:01
svcnet 357.3 401.6K 0 95.0 83.80K 0 0
bkpnet 691.5 660.8K 0 698.8 617.5K 0 0
Name I-pkts I-data I-errs O-pkts O-data O-errs Collis 08:24:01
svcnet 1348.8 1300.K 0 738.6 804.4K 0 0
bkpnet 3156.0 3334.K 0 5374.2 6185.K 0 0
Name I-pkts I-data I-errs O-pkts O-data O-errs Collis 08:25:01
svcnet 364.9 330.9K 0 356.5 299.2K 0 0
bkpnet 949.7 861.4K 0 818.5 649.2K 0 0
|
이렇게 만들어진 결과물에 대하여 gnetinfo 명령어를 사용하여 그래프를 만들 수 있다.
-G 옵션에 그룹명과 그룹에 포함되는 인터페이스 명을 지정하면 된다.
-G 옵션을 여러 개 지정이 가능하며, 형식은 다음과 같다.
-G groupname=interface,.....
netinfoctl 명령어의 결과물의 첫부분은, '#' 으로 시작하는 주석문이 나오며,
이것은 gnetinfo 명령어에서 주석으로 처리된다.
이 주석문의 내용은 그룹명과 이에 해당하는 인터페이스 개수와 이름으로 되어 있다.
# svcnet (2) = net0 net1
# bkpnet (2) = net2 net3
여기서, 출력되는 각각의 필드는 다음과 같이 계산된다.
필드
|
설명
|
I-pkts, I-data
O-pkts, O-data
|
-G 옵션이나 -s 옵션을 사용할 때에는 합산되고,
-p 옵션을 사용할 때에는 합산한 값에 대하여 -p 옵션에
지정된 숫자로 나눈다.
|
I-errs
O-errs
Collis
|
이 필드들은 최대값을 표시한다.
|
-p 옵션을 지정하면 여러 번에 걸처 수집한 데이타를 한번에 보여준다.
예를 들어, -p 3 을 지정하면, 3번에 걸처 수집한 데이타를 1번으로 줄여서 보여준다.
만일 1분 간격으로 데이타를 수집한 결과물을 가지고 있는데, 이것에 대해 -p 3 옵션을 지정하여
netinfoctl 명령어를 실행하면, 그 결과 파일은 3분 간격으로 데이타를 수집한 것 처럼 보인다.
netinfo 명령어가 수집한 데이타 파일에서 3개씩 묶어서 하나의 데이타로 출력한다.
netinfoctl -p 3 netinfo.log | head -20
# -p 3
Name I-pkts I-data I-errs O-pkts O-data O-errs Collis 08:22:01
lo0 6.7 0.000K 0 6.7 0.000K 0 0
net0 1.8 0.100K 0 1.3 0.100K 0 0
net1 265.0 287.4K 0 173.6 152.7K 0 0
net2 360.4 314.2K 0 341.9 300.5K 0 0
net3 259.9 242.8K 0 217.3 164.7K 0 0
Name I-pkts I-data I-errs O-pkts O-data O-errs Collis 08:25:01
lo0 8.0 0.000K 0 8.0 0.000K 0 0
net0 1.9 0.100K 0 1.1 0.067K 0 0
net1 688.4 677.6K 0 395.6 395.7K 0 0
net2 972.2 1001.K 0 824.7 855.9K 0 0
net3 626.9 617.3K 0 1472.5 1628.K 0 0
Name I-pkts I-data I-errs O-pkts O-data O-errs Collis 08:28:01
lo0 8.0 0.000K 0 8.0 0.000K 0 0
net0 1.8 0.100K 0 1.1 0.067K 0 0
net1 837.9 912.9K 0 756.7 778.3K 0 0
net2 1127.6 1201.K 0 908.1 929.3K 0 0
net3 910.4 1021.K 0 856.9 894.7K 0 0
Name I-pkts I-data I-errs O-pkts O-data O-errs Collis 08:31:01
|
-s 옵션을 지정하면 다음과 같이 각 인터페이스의 합계를 보여준다.
# netinfoctl -s netinfo.log
Name I-pkts I-data I-errs O-pkts O-data O-errs Collis cnt IO-pkts IO-data sum_i_errs sum_o_errs sum_collis
lo0 3718.9 0.000K 0 3718.9 0.000K 0 0 481 7437.8 0.000K 0 0 0
net0 892.6 48.40K 0 575.7 43.70K 0 0 481 1468.3 92.10K 0 0 0
net1 621932.3 696062K 0 627842.0 691626K 0 0 481 1249774.3 1387688K 0 0 0
net2 804516.1 857766K 0 640265.6 672956K 0 0 481 1444781.7 1530722K 0 0 0
net3 634121.1 727462K 0 608830.4 650715K 0 0 481 1242951.5 1378178K 0 0 0
|
-s 옵션에 -T 옵선을 추가하면, 마지막 줄에 모든 인터페이스의 합계를 보여준다.
# netinfoctl -T -s netinfo.log
Name I-pkts I-data I-errs O-pkts O-data O-errs Collis cnt IO-pkts IO-data sum_i_errs sum_o_errs sum_collis
lo0 3718.9 0.000K 0 3718.9 0.000K 0 0 481 7437.8 0.000K 0 0 0
net0 892.6 48.40K 0 575.7 43.70K 0 0 481 1468.3 92.10K 0 0 0
net1 621932.3 696062K 0 627842.0 691626K 0 0 481 1249774.3 1387688K 0 0 0
net2 804516.1 857766K 0 640265.6 672956K 0 0 481 1444781.7 1530722K 0 0 0
net3 634121.1 727462K 0 608830.4 650715K 0 0 481 1242951.5 1378178K 0 0 0
TOTAL 2065181.0 2281339K 0 1881232.6 2015341K 0 0 2405 3946413.6 4296681K 0 0 0
|
netinfoctl 명령어에서 출력되는 값은 위에서 설명한 표에 있으며, 그 나머지 필드의 설명은 다음과 같다.
필드
|
설명
|
cnt |
cnt는 traffic이 실제 있었던 횟수를 나타낸다. (I-pkts + O-pkts)가 0 보다 컸던 횟수를 나타낸다.
|
IO-pkts |
IO-pkts 는 I-pkts와O-pkts의 합이다.
|
IO-data |
IO-data 는 I-data와O-data의 합이다.
|
sum_i_errs |
I-errs 컬럼에 있는 모든 값의 합계를 표시한다.
|
sum_o-errs |
O-errs 컬럼에 있는 모든 값의 합계를 표시한다.
|
sum_collis |
Collis 컬럼에 있는 모든 값의 합계를 표시한다.
|
다음은 netinfoctl 명령어의 옵션이다.
옵션 | 설명 |
-c config |
-G 옵션에 그룹명과 그 그룹에 포함된 인터페이스 명을 명령어 라인에 지정할 수 있는데, 이것을 명령어 라인에
지정하지 않고 구성파일에 지정할 수 있다.
구성파일명을 지정할 때, -c 옵션을 사용한다.
다음의 두개의 netinfoctl 명령어는 동일한 결과를 같는다.
# netinfoctl -G svc=net0,net1 -G bkp=net3,net4 io.log > output
|
# cat vol.conf
svc=net0,net1
bkp=net3,net4
# netinfoctl -c vol.conf io.log > output
|
구성파일의 형식은 다음과 같으며, 한줄에 하나씩 인터페이스 그룹명을 지정한다.
groupname = interface1[,interface2....]
groupname = +interfacefile
그룹에 속하는 인터페이스 가 많아서 한줄에 쓰기 힘들면 라인의 끝에 백슬래쉬(\)를 표시하고 그 다음 줄에
인터페이스 명를 지정해도 된다.
vol3 = net0, net1, net2, net3, net5
위의 내용을 다음과 같이 두 줄에 표시할 수 있다.
vol3 = net0, net1, net2, net3 \
net5
또한, 인터페이스 명을 별도의 파일을 만들어 한줄에 하나씩 지정한 다음에
그 파일명 앞에 "+" 표시하여 다음과 같이 표시할 수 있다.
vol3 = +file_vol2
"+" 표시와 파일명 사이에 공백이 있으면 안 된다.
"#"으로 시작하는 라인은 주석으로 처리된다.
|
-d |
-d 옵션을 지정하면, 입력파일의 내용을 읽어서 그 파일에 들어 있은 인터페이스 명을 한줄에 하나씩 출력한다.
# netinfoctl -d netinfo.log
ssd0
ssd2
ssd82
ssd83
ssd84
ssd85
ssd86
ssd87
ssd88
ssd89
|
|
-G groupname=interface1[,interface2,..,]
-G groupname=+interfacefile |
그룹명과 그 그룹에 포함된 인터페이스 명을 지정한다.
인터페이스 그룹명이 여러 개 있을 경우, -G 옵션을 여러 번 지정하여야 한다.
그룹에 해당하지 않은 인터페이스 정보는 보여주지 않는다.
인터페이스 명을 명령어 라인에 직접 쓰지 않고 한줄에 하나씩 인터페이스 명을 지정하고 그 파일명을
+ 표시와 함께 사용할 수 있다.
|
-i interval -m -g
|
이 옵션들은 -s 옵션을 사용할 때 같이 사용할 수 있다.
-i 옵션에 데이타를 수집한 시간 간격(초단위: netinfo 명령어를 실행할 때 지정한 값)을 지정하면
I-pkt, I-data, O-pkt, O-data 필드에 시간 간격을 곱한 결과를 출력한다.
이렇게 interval로 곱하게 되면 구간동안에 실제 발생한 네트웍 트래픽 양을 알 수 있다.
곱하기 전에는 초당값(value per second)의 합계이다.
-m 옵션을 사용하면 I-data, O-data 필드를 Mega byte 단위로 표시하고,
-g 옵션을 지정하면 Giga byte 단위로 표시한다.
|
-p n |
-p 옵션을 지정하여, 여러 차례(n) 수집한 데이타를 한번으로 압축하여 보여준다.
-p 2 옵션을 지정하면 두 차례 수집한 데이타를 하나의 데이타로 변환하여 출력한다.
예를 들에, 1분 간격으로 netinfo 명령어를 실행하였다면, -p 2를 지정하면 2분 간격으로 데이타를
수집한 것과 유사한 효과를 볼 수 있다.
netinfo 명령어로 1 분 간격으로 24 시간 동안 데이타를 수집하여 gnetinfo 명령어로
그래프를 만들면 그래프의 X축이 1440이 된다. 이 그래프는 커서 한 페이지에 보기 불편할 수 있다.
이것을 -p 2 옵션을 사용하여 netinfoctl 명령어로 가공하여 그래프를 만들면 그래프의 X 축이 반으로 준다.
|
-s |
-s 옵션을 지정하면 개별 인터페이스에 대한 합계를 보여준다.
|
-T |
-T 옵션을 -s 옵션과 합께 사용하면, 마지막 줄에 전제 인터페이스에 대한 합계를 보여준다.
|
-V |
-V 옵션을 지정하면, 명령어의 버전 정보를 보여준다.
|
|