mkgraph

   mkgraph

  사용법


	mkgraph [options] file
	mkgraph [options] -Z data

	Options are as follows:

	-?                   print this help
	-+                   allow to select multiple columns for a graph; maximum is 3
	-,                   put a comma in graph number
	-0                   zero based graph
	-1 { sum | each  }   draw one graph with multiple columns
	-1 multi             draw each separated graph with common max-min value
	-A                   use the line which is starting with character, as data
	-B                   bar graph
	-b                   draw border line
	-bb                  draw border with 2-dot line
	-c config            configuration file
	-C bg:c1:c2:c3       colors of the graph, colors must be 6 hex digits:
	                         bg: background color; def: ffffff
	                         c1: foreground color1; def: 0000ff
	                         c2: foreground color2; def: 00ff00
	                         c3: foreground color3; def: ff0000
	-D directory         output directory; def: .
	-d delimiter         field delimiter; def: whitespace
	-e dot               X-axis extension
	-F mconfig           master configuration file which has attributes of fields
	-f n                 number of columns per line in date file should be equal to n
	-G fn[:[[max][-min]][:title]][,fn[:[[max][-min]][:title]]]...  draw graphs for the specified fields
	                        fn: 1 2 3 ... OR field names when using -F or -H option
	-g                   print color values for one graph(-1 option)
	-H                   column names are in data file
	-h height            height per graph
	-i interval          interval (second)
	-k                   don't skip line automatically which starts with '#'
	-l n                 draw vertical line on graph every n'th data
	-L toplabel          specify top label
	-M num[a|h|l|s|m]    merge input data by num; a=average(default), h=high, l=low, s=sum, m=min-max
	-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                   draw outline for bar graph
	-o outfile           output file,  def: graph[.gif]
	-P                   print only maximum value and minimum value for each field
	-p n                 do not display n data lines
	-q                   draw square point
	-R                   put description on the right for one graph(-1 option)
	-r n                 shift graph data n dot right
	-S skiplist          list starting word to skip (separated by comma)
	-s start             starting data to be processed. n or HHMMSS or HH:MM:SS
	-T title             specify title
	-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
	-x npoint            specify the number of digits after the decimal point; def: 1, max: 6
	-X file              specify a file that contains field name aliases
	-y                   skip unknown field name in config file
	-Z data              coma-separated data to be used as input data

	file                 data file

  설명

mkgraph는 file에서 한 라인씩 읽어서, 지정한 컬럼에 대하여 GIF 파일 포멧의 그래프를 만든다. 그래프를 그리는데 사용되는 컬럼은 -G 옵션을 사용하여 지정할 수 있다.
파일에 있는 각 컬럼은 하나 이상의 whitespace (공백 또는 탭)로 구분된다. 데이타 라인의 첫번째 컬럼은 숫자로 시작하여야 한다.
file속에 있는 내용 중에 데이타가 아닌 라인이 있을 경우, -S 옵션을 사용하여, 그 라인에서 시작하는 문자열을 지정하여 스킵할 수 있다. 스킵하고 싶은 문자열이 여러 개가 있을 경우에 콤마(,)로 구분한다.
지정한 문자열과 입력 데이타 라인과 비교하여, 일치하면 그 라인을 스킵한다. 입력 라인에서 시작 부분의 whitespace (공백 또는 탭)는 비교되지 않는다.

만일 컬럼이 다른 문자로 구분되어 있다면 구분자를 -d 옵션을 사용하여 지정할 수 있다. 예를 들어, 컬럼이 콤마로 구분되어 있다면, 다음과 같이 " -d , "로 지정할 수 있다.

# mkgraph -d , -G 1,2,3 data.log

file에 숫자로 시작하지는 않지만 다른 컬럼에 유효한 데이타를 가지고 있다면 -A 옵션을 사용하여 그 라인을 데이타로 사용할 수 있다. -A 옵션을 지정하지 않고, -S 옵션에도 지정되지 않은 문자가 첫 컬럼에 오면, 오류가 발생된다.

만일 데이타가 실수인 경우에 소수점 첫째 자리까지만 숫자로 인식하고, 숫자와 문자가 혼합되어 있을 때, 시작부분의 숫자만 데이타로 인식하고, 컬럼이 문자로 시작하면 0(zero)으로 인식한다.
입력 데이타가 실수일때, -x npoint 옵션을 사용하여 숫자로 인식할 소수점이하의 자리 수를 지정할 수 있다. -x 옵션을 지정하지 않으면, 소수점 첫번째 자리까지만 숫자로 인식한다.
숫자는 32 bit 정수로 인식한다. 숫자가 음수이면, 음수의 값은 -4까지만 그래프에 표시한다.

예를 들어 vmstat 명령어의 출력물(vmstat.log)에서 12번째 sr 필드와 19번째 cs 필드에 대하여 그래프를 그리려면, 다음과 같은 옵션을 사용하여야 한다.

# mkgraph -S kthr,procs,r -G 12,19 vmstat.log
Solaris 9의 vmstat 명령어에서 나오는 헤더정보에 procs 대신 kthr로 변경되었다.

  [vmstat.log 파일의 내용]
 procs     memory            page            disk          faults      cpu
 r b w   swap  free  re  mf pi po fr de sr s0 s1 s2 s3   in   sy   cs us sy id
 2 0 0  40720 36488  19 1171 660 127 322 52688 35 2 11 5 17 2086 5581 5394 27 6 67
 0 0 0 6834952 96880  2 1360 423 60 328 0 37 2 5  2 10 1625 24257 5995 22 6 72
 0 0 0 6826888 98000  2 1451 179 38 351 26752 43 0 5 2 8 1628 25939 6106 22 6 72
 .... skip ....

vmstat 명령어의 첫번째 데이타는 시스템 부팅 후부터의 누적된 값의 평균이므로 측정 시점의 데이타와 오차가 많기 때문에 -s 2 또는 -p 1 옵션을 사용하여 두번째 데이타부터 사용하는 것이 바람직하다.

다음의 iostat 명령어의 결과물이다.

  [iostat.log 파일의 내용]
                                 extended disk statistics
disk      r/s  w/s   kr/s   kw/s wait actv  svc_t  %w  %b
sd0       0.1  0.4    0.7    2.8  0.0  0.0   94.7   0   1
sd1       0.0  1.1    0.0    8.8  0.2  0.0  184.8   1   1
sd2       0.0  0.7    0.0    5.7  0.1  0.0  127.2   1   1
ssd10     0.0  0.8    0.0    6.3  0.1  0.0  151.9   1   1
 .... skip ....

위의 결과물에서 sd1 디스크에 대해 r/s, w/s, kr/w, kw/s 항목에 대하여 그래프를 만들고 싶으면 다음과 같이 할 수 있다.

# grep "^sd1 " iostat.log > sd1.log
# mkgraph -A -G 2::r/s,3::w/s,4::kr/s,5::kw/s sd1.log
위에서 -A 옵션을 사용하지 않으면 오류가 발생된다. mkgraph 명령어에서 사용되는 대부분의 옵션들은 gvmstat, gmpstat, giostat, gnetstat, gcpu, gsar, 명령어들에서도 공통적인 의미로 사용된다.

  다음은 예제를 사용하여 옵션을 설명한다.

# mkgraph -S kthr,procs,r -G 18,19 vmstat.log



# mkgraph -S kthr,procs,r -G 18:40000:sy,19::cs vmstat.log


vmstat.log 파일은 그래프를 만드는데 사용된 데이타 파일이다.
첫 부분에 있는 2개의 라인은 데이타가 아니기 때문에 -S kthr,procs,r 옵션을
사용하여 kthr 또는 procs 또는  r 글자로 시작하는 라인을 스킵한다.
#으로 시작하는 라인은 자동으로 스킵된다.
즉, -S kthr,procs,r 대신에 -S k,p,r로 지정하여도 된다.
-G 18,19 옵션을 사용하여 그래프를 그릴 컬럼(18번째, 19번째)을 지정한다.

-G 옵션의 형식은 다음과 같다. fn[:[[max][-min]][:title]][,fn[:[[max][-min]][:title]]]...

fn 컬럼번호나 필드명을 지정한다.
mkgraph에서는 -F mconfig 옵션과 -c config 옵션을 사용하여 마스터 구성파일과 구성파일을 각각 지정할 수 있다.

-F 옵션을 사용하여 마스터 구성파일에서는 처리하고자 하는 데이타의 디폴트 구성정보를 정의하여 할 수 있다.

  • 구성파일 작성 방법
  • -F mconfig 옵션이 정의되어 있을 경우에는 fn에는 컬럼번호를 사용할 수 없고 반드시 마스터 구성파일에서 지정한 필드명을 사용하여야 한다.

    -F 옵션이 정의되어 있는데, -c 옵션으로 구성파일을 정의할 경우, 마스터 구성파일에서 정의된 필드명(fn)을 구성파일의 필드명으로 사용하여야 한다. 컬럼 번호는 사용할 수 없다. -F 옵션을 사용하지 않고 -c 옵션을 사용할 경우의 필드명(fn)에는 컬럼 번호가 들어가야 한다.

    colnum[=colname][:[[max][-min]][:title]] -H 옵션을 지정하면, 데이타 파일에 유효한 첫번째 라인에 필드명이 있다는 것을 의미한다.

    -F 옵션과 -c 옵션에 대한 자세한 사용법은 다음의 링크를 참조하십시오.

  • 구성파일 작성 방법
  • -G 옵션에 fn을 숫자로 지정할 때 다음과 같이 범위를 지정할 수 도 있다.

    -G 1,2,3,4   ---->   -G 1-4
    만일 두번째 컬럼부터 끝까지 지정하려면 다음과 같이 할 수 있다.

    -G 2-

    -G 옵션에 fn을 필드명으로 지정할 때, 대소문자 구분하지 않고 사용된다.

    -G 옵션에 필드명 지정하여 사용할 경우, 실제 필드명에 콤마가 있는 경우에는 백슬래쉬를 콤마 앞에 지정하면 된다. 예를 들어, 필드명이 send,a 와 send,b라는 필드명이 있다고 가정하고 -G 옵션에서 이 두개의 필드를 선택하기 위해서는 다음과 같이 사용하여야 한다.

    -G "send\,a,send\,b" 이중인용 부호를 지정하지 않으면 백슬래쉬는 쉘이 먼저 처리하기 때문에 잘 못 된 결과가 나온다.

    -1 옵션이 사용될 때, 가상의 필드명 '+'가 사용될 수 있다. -1 옵션을 지정하면, 각각의 필드 별로 그래프를 그리지 않고, 하나의 그래프에 각각의 필드들의 값을 그린다. 이때, + 를 사용하여 최대값이나 타이틀을 지정할 수 있다. 자세한 것은 뒤에 " 단일 그래프" 에서 설명한다.
    -1 옵션을 사용하지 않고 필드명에 가상의 필드명 '+'를 사용하면, '+'에 대한 최대값 최소값(+:max-min)을 명시적으로 지정하지 않은 필드에 대하여 이 값이 적용된다.

    가상의 필드명 '+' 는 -G 옵션에서 첫번째로 지정되어야 한다.

    [max][-min] 그래프의 최대값과 최소값을 지정한다.
    title 그래프의 제목을 지정한다.
    제목에 "."을 지정하면 그래프의 제목을 표시하지 않는다.
    제목을 지정하지 않으면 컬럼명이 제목으로 사용된다. 컬럼명이 없고 컬럼 번호를 사용하였을 경우에 col_#으로 표시된다.

    -w 옵션을 사용하여 폭을 지정하지 않으면 480 dot의 폭을 가지는 그래프를 만든다.
    -o 옵션을 지정하지 않으면, 디폴트로 "graph.gif" 파일을 만든다.

    # mkgraph -H -S kthr,procs vmstat.log
    	output
    
    # mkgraph -H -S kthr,procs -G cs,in vmstat.log 
    
    
    

    # mkgraph -HH -S kthr,procs -G cs,in vmstat.log

    -H 옵션을 지정하면 유효한 첫번째 라인에 컬럼의 헤더가 표시되어 있다고 가정한다.
    유효한 첫번째 라인이라는 의미는 스킵되는 라인이나 '#'으로 시작하거나 공백라인을 제외한 첫번째 라인을 의미한다.
    헤더의 첫번째 글자는 숫자로 시작하면 안 된다.
    헤더에 첫번째 문자에 '*' 표시가 있으면, 컬럼의 데이타에 대해서는 그래프를 그리지 않는다.

    -H 옵션을 지정한 경우에, -G 옵션에 컬럼 번호 대신에 컬럼 이름을 지정할 수 있다.
    -HH 옵션을 지정하면, 컬럼의 헤더 앞에 컬럼 번호를 붙인다.

    # mkgraph -S kthr,procs,r -G 18 -h 100 vmstat.log
    
    
    
    -h 100 옵션을 사용하여 그래프의 높이를 100 dot로 지정한다. 디폴트는 50 dot 이다.

    # mkgraph -S kthr,procs,r -G 18 -w 300 vmstat.log
    
    
    # mkgraph -S kthr,procs,r -G 18 -w 0 vmstat.log
    
    
    
    # mkgraph -S kthr,procs,r -G 18 -w 240m vmstat.log
    
    
    
    -w 300 옵션을 사용하여 그래프의 폭을 300 dot로 지정한다.
    -w 0을 지정하면, 실제 데이타 라인의 개수 만큼의 폭을 가지는 그래프를 그린다.
    -w 옵션을 지정하지 않으면, 데이타 라인의 개수가 480 보다 크면, 실제 데이타 라인 만큼의 폭의 그래프를 그리고, 480보다 적으면, 그래프의 폭을 480 dot로 사용한다.

    -w 240m :   -w 옵션에 그래프의 폭을 지정하는데, 숫자의 끝에 'm' 이라고 지정하면, 그래프의 폭을 지정한 숫자만큼으로 하고, 추가되는 부분은 여러 줄고 그래프를 그린다.
    이 옵션을 사용할 때에는 -G 옵션에 하나의 필드만 선택하여야 한다.

    # mkgraph -S kthr,procs,r -G 18 -B vmstat.log
    
    
    
    -B 옵션을 사용하여 막대 그래프를 그린다.

    # mkgraph -S kthr,procs,r -G 18 -b vmstat.log
    
    
    
    -b 옵션은 츨력되는 이미지에 외곽선을 그린다.

    # mkgraph -S kthr,procs,r -G 18 -s 60 -n 100 vmstat.log
    
    
    
    -s 60 옵션은 60번째 데이타부터 그래프를 그리게 한다.
    -n 100 옵션은 100 라인만 그래프를 그리는데 사용하게 한다.

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

    HHMMSS or HH:MM:SS

    Exam) # mkgraph -i 30 -t 090000 -s 10:00:00 -S kthr,procs,r -G 18 vmstat.log

    # mkgraph -S kthr,procs,r -G 18 -t 090000 -i 60 vmstat.log
    
    
    
    -t 090000 옵션은 데이타를 수집한 시작 시간을 지정한다. 데이타를 수집한 시간은 09시 00분 00초이다.
    -i 60 옵션은 데이타가 수집된 시간 간격을 60초로 지정한다.

    # mkgraph -S kthr,procs,r -G 18 -t 090000 -i 60 -N vmstat.log
    
    
    
    # mkgraph -S kthr,procs,r -G 18 -t 090000 -i 60 -s 10:00:00 -N vmstat.log
    
    
    
    -i 옵션과 함께 -N 옵션을 사용하면 그래프의 하단에 60 dot 간격으로 시간(HH:MM:SS)을 표시한다.

    # mkgraph -S kthr,procs,r -G 18 -l 20 vmstat.log
    
    
    
    # mkgraph -S kthr,procs,r -G 18 -t 090000 -i 60 -l 0 vmstat.log
    
    
    
    -l 20 이라고 하면 20 번째 데이타 마다 회색 점선을 그린다.
    -i 옵션과 함께 -l 0를 사용하면 그래프의 10분 간격으로 회색 점선을 그린다.

    # mkgraph -S kthr,procs,r -G 18 -t 090000 -i 60 vmstat.log
    
    
    
    # mkgraph -S kthr,procs,r -G 18 -t 090000 -i 60 -M 2 vmstat.log
    
    
    
    # mkgraph -S kthr,procs,r -G 18 -t 090000 -i 60 -M 2h vmstat.log
    
    
    
    # mkgraph -S kthr,procs,r -G 18 -t 090000 -i 60 -M 2l vmstat.log
    
    
    
    # mkgraph -S kthr,procs,r -G 18 -t 090000 -i 60 -M 2s vmstat.log
    
    
    
    # mkgraph -S kthr,procs,r -G 18 -t 090000 -i 60 -M 5m vmstat.log
    
    
    
    
    -M num[a|h|l|s|m]   a=average(default), h=high, l=low, s=sum, m=min-max
    -M 옵션을 사용하면, 그래프의 입력 데이타를 먼저 가공하여, 그래프를 그리는데 사용한다.
    num에 지정한 개수 만큼의 데이타를 가공하여 1 개의 입력 데이타로 만든다.
    숫자의 끝에 지정한 영문자에 따라 각각 'a' 는 평균, 'h' 는 최고값, 'l' 은 최저값, 's'는 합계를 계산하고, 'm'은 최소값과 최대값으로 막대 그래프를 만든다.
    숫자의 끝에 영문자를 지정하지 않으면, 'a'가 디폴트로 사용된다.

    -M 옵션을 사용하면 그래프의 크기를 줄이는 효과가 있다. 1 분 간격으로 수집한 데이타에 대하여 3분 단위로 그래프를 그리고 싶다면, -M 3을 사용할 수 있다.

    # mkgraph -S kthr,procs,r -G 18 -h100 -n 24 -e20 vmstat.log
    
    
    
    -e 20 옵션은 한 라인의 데이타가 20 dot의 간격을 가지게 한다.

    # mkgraph -S kthr,procs,r -G 18 -C ffdddd: vmstat.log
    
    
    
    # mkgraph -S kthr,procs,r -G 18 -C :00ffff vmstat.log
    
    
    
    # mkgraph -S kthr,procs,r -G 18 -C ffdddd:00ffff vmstat.log
    
    
    
    -C ffdddd:00ffff 옵션은 그래프의 배경 색과 선의 색을 지정한다.
    -C ffdddd: 옵션은 그래프의 배경 색을 지정한다. 배경 색에는 transparent를 지정할 수 있다. 이 경우 그래프의 배경 색은 투명하게 된다.
    -C :00ffff 옵션은 그래프의 선의 색을 지정한다.
    -C 옵션에 사용되는 값은 16진수이며, 각각 2개씩 RGB 값이다.

    # mkgraph -S kthr,procs,r -G 18 -T dragon vmstat.log
    
    
    
    -T dragon 옵션은 그래프의 상단에 제목을 기록하게 한다.

    # mkgraph -S kthr,procs,r -G 18 -L "WAS Server" vmstat.log
    
    
    
    # mkgraph -S kthr,procs,r -G 18 -L "WAS Server" -b vmstat.log
    
    
    
    # mkgraph -S kthr,procs,r -G 18 -L "WAS Server" -b -C la00000:ffffff vmstat.log
    
    
    
    # mkgraph -S kthr,procs,r -G 18 -L "WAS Server" -b -C la00000:ffffff -C o0000ff vmstat.log
    
    
    
    -L "WAS Server" 옵션은 그래프의 상단에 레이블을 밝은 회색을 바탕색으로 하여 표시한다.
    -b 옵션을 추가하면, 그래프의 외곽선을 그리고, -C 옵션으로 레이블의 배경색과 문자색을 바꿀수 있다.
    -C옵션으로 외곽선의 색도 바꿀수 있다.

    다음과 같이 소수점 이하 4 자리 숫자를 가지고 있는 숫자 데이타가 있다.
    이 경우 -x 옵션을 사용하여 소수점 이사 4 자리 까지 처리할 수 있다.

    # cat  data.txt
    0.0000
    0.0033
    0.0003
    0.0004
    0.0003
    0.0004
    0.0003
    0.0004
    0.0003
    0.0003
    0.0004
    0.0003
    0.0013
    0.0018
    0.0024
    0.0003
    0.0003
    0.0004
    0.0003
    0.0011
    0.0002
    0.0001
    0.0001
    0.0001
    0.0001
    0.0001
    0.0001
    0.0003
    0.0001
    

    -x 옵션을 사용하지 않으면, 데이타가 실수인 경우, 소수점 이하 한자리 수까지만 실수 데이타로 인식하여 다음과 같은 그래프가 만들어 진다.
    # mkgraph -G 1::second -h 100 -e 10 data.txt
    
    
    

    여기서 -x 4 옵션을 지정하여 소수점 이하 네번째 자리 수 까지 실수 데이타로 인식시킬 수 있다.
    # mkgraph -x 4 -G 1::second -h 100 -e 10 data.txt
    
    
    

    # mkgraph -S kthr,procs,r -G 18,19,20,21 -W vmstat.log
    
    HTML 페이지
    
    -W 옵션은 HTML 페이지를 만든다. 디폴트 파일명은 "graph.html" 이다.
    

    *** 단일 그래프 (-1 option)

    여기서는 -1 옵션을 지정할 경우에 대하여 자세히 설명한다.
    -1 옵션에는 sum, each 또는 multi 를 지정할 수 있다. sum을 지정하면 각각의 컬럼 입력 데이타에 대해 누적 합계에 대해 하나의 그래프를 만들고, each 를 지정하면 각각의 컬럼 입력 데이타에 대하여 하나의 그래프를 만든다.
    multi 를 지정하면 각각의 컬럼 입력 데이타에 대하여 각각의 그래프를 만든다. 이때, 모든 그래프가 공통의 최대값과 최소값을 갖는다.

    다음과 같은 데이타가 data.out 파일에 있다고 가정하자.

    IT	BT	NANO	MICRO
    10	50	40	30
    20	50	40	30
    20	40	60	30
    20	40	60	30
    70	40	60	30
    70	40	40	50
    40	20	40	50
    40	20	80	50
    40	90	80	50
    20	90	80	50
    20	90	80	50

    # mkgraph -e 5 -H data.out
    
    -1 옵션을 지정하지 않으면 기존과 같이 -G에 지정한 컬럼 1,2,3,4에 대하여 각각 그래프를 하나씩 그린다.

    # mkgraph -1 sum -e 5 -h 100 -H data.out
    
    -1 sum 옵션을 지정하면 하나의 그래프에 컬럼 1,2,3,4에 데이타를 순서대로 합하여 그래프를 만든다. 이 그래프를 sum 단일 그래프라고 명명한다.
    IT의 값은 파란선의 높이이고, BT의 값은 빨간선에서 파란선의 높이를 뺀 값이 되고, NANO의 값은 초록선에서 빨간선의 높이를 뺀 값이 되고, MICRO의 값은 노란선에서 초록선의 높이를 뺀 값이 된다.
    선의 색을 설명하는 부분에 '+' 표시가 있다. 이 표시가 있는 것은 sum 단일 그래프을 의미한다.

    # mkgraph -1 each -S IT -e 5 -h 100 -G 1=IT,2=BT,3=NANO,4=MICRO data.out
    
    -1 each 옵션을 지정하면 하나의 그래프에 컬럼 1,2,3,4에 데이타를 각각 그래프를 만든다. 이 그래프를 each 단일 그래프라고 명명한다.
    각각의 선에 나타나는 값이 각 데이타의 실제 값이다.
    선의 색을 설명하는 부분에 '+' 표시가 없다. 이 표시가 없는 것은 each 단일 그래프을 의미한다.

    위의 그래프에서 데이타 값의 위치마다 큰 사각 점이 표시되어 있다. -e 옵션을 사용하여 2 이상의 숫자를 지정하면 사각 점을 표시한다. -e 옵션을 지정하지 않으면 다음과 같이 사각 점을 표시하지 않는다.

    # mkgraph -1 each -S IT -h 100 -G 1=IT,2=BT,3=NANO,4=MICRO data.out

    다음과 같이 -q 옵션을 지정하면 -e 옵션이 지정되지 않아도 사각 점을 그린다.

    # mkgraph -1 each -S IT -q -h 100 -G 1=IT,2=BT,3=NANO,4=MICRO data.out

    # mkgraph -1 multi -e 5 -H data.out
    
    -1 multi 옵션을 지정하면, 각각의 컬럼에 대해 개별 그래프를 만드는데, 개별 그래프가 공통의 최대값과 최소값을 가진다.
    -1 each 옵션을 사용하여 그래프를 만들 경우, 컬럼이 많으면, 어떤 색이 어떤 그래프인지 구별하기가 힘든 경우가 있다. 이때, -1 multi 옵션을 사용하여 개별 그래프를 쉽게 볼 수 있다.

    # mkgraph -1 sum -S IT -e 5 -B -G 1=IT,2=BT,3=NANO,4=MICRO data.out
    
    -B 옵션을 사용하여 막대 그래프를 그린다.

    최상위에 있는 색상이 연해서 잘 구 별되지 않을 경우에 다음과 같이 두 가지 방법으로 색상을 구별할 수 있다.
    첫번째는 각 막대 그래프의 외곽선을 검은 색으로 그리는 것이다. 이것은 -O 옵션을 사용하여 다음과 같이 하면된다. (-O 옵션은 막대 그래프에서만 사용된다.)

    # mkgraph -O -1 sum -S IT -e 5 -B -G 1=IT,2=BT,3=NANO,4=MICRO data.out

    두번째는 그래프의 배경색을 좀 어두운 색을 지정하는 것이다. 이것은 -C 옵션을 사용하여 다음과 같이 하면된다.

    # mkgraph -C c0c0c0 -1 sum -S IT -e 5 -B -G 1=IT,2=BT,3=NANO,4=MICRO data.out

    # mkgraph -1 sum -S IT -e 5 -R -G 1=IT,2=BT,3=NANO,4=MICRO data.out
    
    -R 옵션을 사용하여 그래프 색에 대한 설명을 그래프의 오른쪽에 표시한다.

    # mkgraph -1 sum -S IT -e 5 -X names -G 1=IT,2=BT,3=NANO,4=MICRO data.out
    
    -X 옵션을 사용하여 컬럼명에 대한 별명을 가지고 있는 파일명을 지정할 수 있다.
    파일의 형식은 다음 같다. colname alias

    공백으로 분리된 첫번째 단어가 컬럼명이 되고 그 나머지는 별명이 된다.
    다음은 names 파일의 내용이다.

    IT Internet Tech
    BT Bio Tech
    NANO Nano Tech
    MICRO Micro Tech
    

    # mkgraph -1 sum -e 5 -H data.out
    
    data.out 파일의 첫번째 라인에 header 정보가 있기 때문에 -H 옵션을 사용하여 그것을 컬럼명으로 사용하여 그래프를 만들 수 있다.

    # mkgraph -1 sum -S IT -e 5 -G +:500:Sum_Graph,1=IT,2=BT,3=NANO,4=MICRO data.out
    
    -1 sum 옵션을 지정하여 그래프를 만들 경우에, 그래프의 최대값이나 타이틀을 지정하고 싶을 경우에는 + 표시를 가상의 컬럼명이라고 간주하고, 최대값이나 title를 지정할 수 있다.

    # mkgraph -1 sum -e 5 -H ps_data.out
    
    위의 그래프는 다음의 파일(ps_data.out)를 사용하여 만들어 진 것이다. 이 파일은 다음의 명령어의 결과로 만들어 진 파일이다.
     # psparse -D -o d-cpu -G senddata,mastermon,logmon,httpd psinfo.log
    # FIELD: D-CPU%: Delta CPU usage [CPU% from D-TIME+D-CHILDTIME]
    senddata mastermon logmon httpd
      21.42%   23.22%   5.22%   20.10%
      17.72%   16.25%   8.81%   13.12%      
      17.40%   15.24%   8.73%   18.32%
      13.60%    9.09%   8.44%   18.12%
      14.50%   11.62%   8.58%   19.63%
      24.01%   26.72%   5.29%   19.12%
      18.00%   16.51%   9.81%   20.42%
      15.80%   14.61%   6.69%   20.15%
      12.60%    9.31%   5.45%   23.42%
      14.00%   10.21%   4.48%   23.12%
    
    합계 그래프는 최대 64개의 컬럼 데이타에 대하여 그래프를 만들 수 있다. 디폴트로 1-32 까지는 특정 색상으로 정의되어 있고, 33-64 까지의 색상은 모두 000000으로 정의되어 있다. 각각의 그래프에 해당하는 색상은 -g 옵션을 사용하여 다음과 같이 확인할 수 있다.
    #  mkgraph -g
    1: 0000FF
    2: FF0000
    3: 00FF00
    4: 787878
    5: 800080
    6: EE8222
    7: FF9DFF
    8: BA55D3
    9: 006400
    10: FF1493
    ...
    31: 834683
    32: AAAAAA
    ..
    33: 000000
    ..
    64: 000000
    
    그래프의 색상를 변경하고 싶으면 위에서 출력되는 형식으로 /opt/JSparm/conf/colormap 파일을 만들고 변경하고 싶은 색상 값을 지정하면된다. 형식은 위와 같이 ID: 6-hex-digits 이다.
    ID는 1에서 32까지 지정할 수 있고, 색상 값은 RGB 값의 여섯자리 16진수로 표시한다.
    예를 들어, 두번째 색상만 블랙으로 변경하고 싶으면, 다음과 같는 내용을 /opt/JSparm/conf/colormap 파일에 넣고 다시 그래프를 만들면 된다.
    2: 00000
    

    다음은 32개의 디폴트 색상를 보여주기 위하여 만든 예제 그래프이다.


    기타 옵션 설명
    -+ -+ 옵션을 지정하면, -G 옵션에서 여러 개의 컬럼을 선택하여 하나의 그래프에 여러 개의 라인을 그린다.
    최대 3개 까지 선택할 수 있다
    # mkgraph -+ -S kthr,procs,r -G 5,20+21+22 vmstat.log
    

    -, -, 옵션을 지정하면 그래프의 Y축 숫자에 3자리 마다 콤마를 추가한다.
    # mkgraph -, -S kthr,procs,r -G 18,19 vmstat.log
    

    -0 그래프의 시작값(Y축)을 0부터 시작한다. 디폴트로 그래프의 시작값은 데이타의 최소값과 최대값에 따라 결정된다.
    -A 첫 컬럼이 문자로 시작하여도 데이타 라인으로 인식한다.
    -b -b 옵션을 지정하면, 그래프에 외곽선을 그린다.

    -bb 또는 -b -b 옵션을 지정하면(즉, -b 옵션을 두번 지정하면) 2 dot 짜리 외곽선을 그린다.

    -B -B 옵션을 지정하면, BAR 그래프를 그린다.
    -C [bg]:[c1]:[c2]:[c3] -C 옵션을 사용하여 그림의 배경색과 선색을 지정할 수 있다.

    -C 옵션의 형식은 다음과 같다.

            -C bgcolor:c1:c2:c3
            -C lbgcolor:color1
            -C obgcolor
    
    bgcolor는 배경색이고, c1,c2,c3 은 -G 옵션에서 지정한 그래프의 선의 색상이다.
    디폴트로 배경색은 ffffff(흰색)이고,
    c1은 0000ff(파란색) 이다.
    c2은 ff0000(빨간색) 이다.
    c3은 00ff00(녹색) 이다.
    
    색을 지정하는 형식은 6자리 16진수이다. 각각 2자리씩 red, green, blue을 나타낸다.

    bgcolor 앞에 소문자 'l' 또는 대문자 'L'을 지정하면, -L 옵션을 지정했을 때의 레이블 문자영역의 배경색과 글자색을 지정한다.
    bgcolor 앞에 소문자 'o' 또는 대문자 'O'을 지정하면, -b 옵션을 지정했을 때의 외곽선의 색을 지정한다.
    -C 옵션을 여러 번 지정할 수 있다.

    -c config -c 옵션으로 구성파일을 지정할 수 있다. 이 구성파일에는 그래프를 만들기 위해 선택할 필드에 대한 정보를 기술된다. (Parm에서 필드와 컬럼이 같은 의미 해석된다)

    그래프를 그릴 필드를 선택하기 위해서 -G 옵션을 사용할 수 있고, 구성파일에 정의해 두고 -c 옵션을 사용하여 그 파일을 지정할 수 도 있다. 구성파일에는 한 라인에 하나의 필드에 대하여 정의한다.

    형식: colnum[=colname][:[[max][-min]][:title]]

    다음의 두개의 명령어는 같은 필드를 선택하여 사용한다.

    # mkgraph -G 1::cpu,2::swap,3::process datafile
    
    # mkgraph -c vm.conf datafile
    
    vm.conf의 내용:
    1::cpu
    2::swap
    3::process
    

    다음은 구성파일에서 컬럼에 대하여 컬럼명을 지정하는 예제이다.

    1=run
    2=block::block processes
    3=swap:: swap process
    

    이렇게 컬럼명을 지정하면 -G 옵션에서 컬럼번호 대신에 컬럼명을 지정할 수 있다.

    -c 옵션이 지정되고 -G 옵션이 지정되지 않으면, -c 옵션이 지정한 파일의 내용이 모두 선택된 것으로 간주한다. -G 옵션이 지정되면, -G 옵션에 선택된 필드만 선택된다. 이때, -G 옵션에서 지정되지 않은 최대값 및 최소값 및 제목을 구성파일에서 참조한다.

    -F mconfig 옵션으로 마스터 구성파일을 지정했을 경우, 필드명에 컬럼번호를 사용하지 못하고 반드시 마스터 구성파일에서 정의한 필드명을 사용하여야 한다.

    -F 옵션과 -c 옵션에 대한 자세한 사용법은 다음의 링크를 참조하십시오.

  • 구성파일 작성 방법
  • -D directory 이 옵션은 출력될 그래프를 만들 디렉토리명을 지정한다. 디폴트는 "."이다. 지정한 디렉토리가 없으면 새로 만들어 준다. 단 최하단의 디렉토리만 만든다.
    -d delimiter 데이타 파일을 읽을 때의 필드 구분자를 지정한다. 디폴트는 whitespace(space와 tab) 이다. 만일 필드가 콜론(:)으로 구분된다면, 다음과 같이 시용할 수 있다.

    예제)     # mkgraph -d : -G 1,2,3 file
    -f n -f n 옵션을 지정하면, 데이타 파일에 있는 컬럼수가 정확히 n 개로 일치하여야 한다. 그렇지 않으며 오류가 발생한다.

    -f 옵션이 지정하지 않으면, 컬럼의 개수가 필요한 컬럼보다 적으면 오류가 발생하고, 많으면, 그 나머지는 무시한다.

    -F mconfig -F 옵션으로 마스터 구성파일 지정할 수 있다. 마스터 구성파일에서는 그래프로 만들 필드들에 대한 속성을 정의한다.

    자세한 사용법은 다음의 링크를 참조하십시오.

  • 구성파일 작성 방법
  • -G fn[:[[max][-min]]... -G 옵션을 사용하여, 그래프를 그릴 필드를 지정한다.

    -G 옵션에 대한 자세한 사용법
    -g -g 옵션을 지정하면, -1 옵션을 지정할 때 사용되는 그래프의 색상정보를 16진수로 보여준다.
    -H
    -HH
    -H -H
    -H 옵션을 지정하면 입력되는 유효한 첫번째 데이타가 컬럼명으로 인식한다. 이 컬럼명은 -G 옵션에 컬럼번호 대신에 사용될 수 있다.
    -HH 또는 -H 옵션을 두번 지정하면, 필드명 앞에 컬럼 번호를 붙인다.

    헤더 정보에는 있는 각각의 필드명은 숫자로 시작하면 오류가 발생한다. 그러나 JS Parm V10.4 부터는 헤더 라인의 마지막 컬럼에 다음과 같은 시간 표시가 있는 것 경우, 오류를 발생하지 않고, 무시한다. 즉, 시간 표시가 없는 것과 같이 처리한다.

    
    	mmdd.HH:MM:SS
    	HH:MM:SS
    
    -i interval -i 옵션을 사용하여 데이타를 수집한 시간 간격을 지정하면, 그래프의 하단에 시간을 표시한다.
    -k 입력 파일에서 '#' 문자로 시작하는 라인은 디폴트로 스킵하는데, 이 옵션을 지정하면 스킵하지 않고 데이타로 사용한다.
    -l n 이 옵션은 출력될 그래프에 n 간격의 데이타에 회색 점선을 그린다.
    n이 0이고 -i 옵션과 함께 사용하면 10 분 간격으로 회색 점선을 그린다.
    -L toplabel -L toplabel 옵션을 사용하여, 그림의 상단에 배경색을 회색으로 하는 글자를 표시할 수 있다.
    Parm V10.2 부터는 toplabel에 EUC 한글 문자도 표시된다.
    -m 선택된 각 컬럼에 대한 최대 값을 출력한다.
    -M num[a|h|l|s|m] -M num[a|h|l|s|m] a=average(default), h=high, l=low, s=sum, m=min-max

    -M 옵션을 사용하면, 그래프의 입력 데이타를 먼저 가공하여, 그래프를 그리는데 사용한다. num에 지정한 개수 만큼의 데이타를 가공하여 1 개의 입력 데이타로 만든다. 숫자의 끝에 지정한 영문자에 따라 각각 'a' 는 평균, 'h' 는 최고값, 'l' 은 최저값, 's'는 합계를 계산하고, 'm'은 최소값과 최대값으로 막대 그래프를 만든다. 숫자의 끝에 영문자를 지정하지 않으면, 'a'가 디폴트로 사용된다. -M 옵션을 사용하면 그래프의 크기를 줄이는 효과가 있다. 1 분 간격으로 수집한 데이타에 대하여 3분 단위로 그래프를 그리고 싶다면, -M 3을 사용할 수 있다.

    -N -N 옵션을 지정하면, 그래프의 하단에 시간을 표시할 때, 단순 숫자가 아니고 HH:MM:SS 형식으로 표시한다.
    -n count -n count 옵션을 지정하면, count 개의 데이타에 대해서만 그래프를 그린다.
    -O -B 옵션과 함께 사용되며, BAR 그래프에 외곽선을 그린다.
    -o outfile 출력할 파일명을 지정한다. 디폴트는 graph이다. gif파일은 graph.gif, html파일은 graph.html이다.

    outfile에 '-' 마이너스 기호를 지정하면, 만들어진 GIF 그림파일을 표준출력으로 출력한다.
    이때 "Content-type: image/gif" 라는 HTTP 프로토콜에서 사용되는 Content-type을 먼저 출력하고 나중에 그림 파일의 내용을 출력한다. 이것을 사용하여 CGI 프로그램을 만들어 그림을 웹에서 바로 볼 수 있게 해준다.

    -P -P 옵션은 각각의 그래프의 우측에 표시될 최대값과 최소값을 다음과 같은 형식으로 표준출력으로 출력한다.

    fn:max-min

    이때 그래프는 만들지 않는다. 표준출력으로 출력되는 값을 리다이렉트(redirect)하여 파일로 저장하면, -c 옵션에 구성파일로 사용할 수 있다.

    어떤 주어진 명령어로 데이타를 여러 번 수집하였을 경우에 각각의 파일에 대하여 mkgaph 명령어로 그래프를 만들면, 각각의 그래프의 최대값과 최소값이 다르게 그래프가 그려질 수 있다. 이 경우 그래프 상에서 비교할 때, 최대값과 최소값이 다르기 때문에 비교하기가 어려울 수 있다.
    이러한 경우, -P 옵션을 사용하여 각각 수집된 데이타 파일에 대하여 최대값 및 최소값을 구해서 공통된 최대값과 최소값을 구성파일로 만들어 -c 옵션에 구성파일로 지정하여 다시 그래프를 그리면 공통된 최대값과 최소값을 가지는 그래프 파일들을 만들 수 있다.

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

    -p n -p 옵션을 사용하면 이 옵션에 지정된 수만큼 데이타 라인 그래프로 표시하지 않고 공백으로 비워둔다.
    -q -q 옵션을 사용하면 라인 그래프에서 데이타 값의 위치마다 큰 사각 점을 표시한다.
    또한, -e 옵션을 사용하여 2 이상의 숫자를 지정하여도 사각 점을 표시한다.
    -R -R 옵션은 -1 옵션과 함께 사용되며, 필드명을 우측에 표시한다.
    -r n 그래프를 그릴 때, n dot 만큼 오른쪽으로 위치를 옮겨서 그래프를 그린다.
    다음은 -r 옵션과 -p 옵션을 사용했을 때의 결과를 그림으로 보여준다. 다음과 같은 데이타가 test.out 파일에 있다고 가정하자

    POINT
    100
    50
    70
    90
    30 
    100
    

    여기서 다음과 같은 명령어을 실행하면 다음과 같은 결과가 나온다.

    
    # mkgraph -H -e 10 -w0 -o gr-norp test.out
    # mkgraph -r 1 -H -e 10 -w0 -o gr-norp test.out
    # mkgraph -p 1 -H -e 10 -w0 -o gr-norp test.out
    
    without -r and -p option

    with -r 1 option

    with -p 1 option

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

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

    -s start-s 옵션은 그래프를 만들 데이타 위치를 지정한다.
    다폴트 값은 1이다. 즉 첫번째 데이타 부터 그래프를 그린다.

    -s 60 옵션은 60번째 데이타부터 그래프를 그리게 한다. -i 옵션과 함께 -s 옵션에서 다음과 같이 시간을 지정하면 그 시간부터 그래프를 그린다.

    HHMMSS or HH:MM:SS
    -T title -T 옵션은 그래프의 상단에 중앙에 제목을 지정한다.
    -t HHMMSS -t 옵션에 데이타를 수집한 시작 시간을 지정한다. -i 옵션에 데이타를 수집한 시간 간격을 함께 지정하면, 그래프의 하단에 시간이 표시된다.

    시간표시를 HHMMSS 형식 대신 HH:MM:SS 형식으로 지정하여도 된다.

    디폴프 시간 00:00:00 이다.

    -V -V 옵션을 지정하면, 명령어의 버전 정보를 보여준다.
    -v -v 옵션은 그래프를 만들지 않고 데이타 파일에 있는 값을 출력한다.
    -x npoint -x npoint 옵션은 입력 데이타가 실수일 경우, 소수점 이하 몇번째 자리까지 숫자로 인식할지를 결정한다. 디폴트는 소수점 이하 첫번째 자리만 숫자로 인식한다.
    더 많은 자를 수를 인식하게 하려면 이 옵션을 사용할 수 있다. -x 4 라고 지정하면, 소수점 이하 네번째 자리까지 숫자로 인식한다. 최대 자리수는 6 이다.
    -W -W 옵션은 만들어진 그래프를 보여준는 HTML 페이지를 만든다. 디폴트 파일명은 "graph.html" 이다.
    -X file -X 옵션을 사용하여 그래프의 필드명을 다른 이름으로 대치할 수 있다. 파일의 형식은 한줄에 하나씩 그래프 필드명과 대치할 문자열을 공백으로 분리하여 지정한다. 첫번째 공백으로 분리된 문자열과 그래프 필드명을 비교하여 일치하면, 그 나머지를 문자열들을 대치한다.

    형식:

    field_name alias 예제: col_1 Jan 01/01-01/31 col_2 Feb col_3 Mar last Dec 12/01-12/31 명령어 예제: # mkgraph -G 1,2,3 data # mkgraph -G 1,2,3,4=last data
    -y -y 옵션은 -F mconfig 옵션과 -c config 옵션이 둘 다 지정되어 있을 때 사용될 수 있다. 이 옵션을 지정하면 config 파일에 알 수 없는 필드명이 있을 때, 프로세스를 종료하지 않고 그 필드명을 스킵한다.
    -Z data -Z 옵션을 사용하면, 데이타의 입력을 파일에서 받지 않고 명령어 라인에서 바로 지정할 수 있다.

    # mkgraph -e 10 -h 100 -G 1 -Z "10,20,30,30,20,10,50,60" -o output
    

    # mkgraph -e 10 -H -Z "ONE TOW,10 20,20 30,30 40,30 40,20 30,10 90,50 20" -o output
    
    

    -Z 옵션에 지정한 데이타는 콤마를 NEWLINE으로 바꾼다음에 파일에 저장한 것과 같은 효과를 갖는다. 데이타에서 곰마가 파일에서의 NEWLINE 과 같은 역활을 한다.