Windows typeperf 명령을 fluentd in_exec로 처리

5549 단어 FluentdWindows

0. 이전





"Windows의 CPU 사용률 / 사용 가능한 메모리 양 로그를 fluentd로 전송하고 GrowthForecast로 그래프화"이라는 항목이 있습니다.

이 중에서는 typeperf 명령의 표준 출력을 파일로 리디렉션하고, 그 파일을 tail 플러그인으로 읽어들입니다. 그러나이 경우,
  • typeperf 명령 실행
  • 리디렉션 된 파일을 로테이션하는 방법

  • 등을 별도로 생각할 필요가 있습니다.

    본고에서는 fluentd의 in_exec 플러그인 및 기타 플러그인을 이용하여 fluentd의 기동에 맞추어 기동하면서 파일로 리디렉션하지 않고(=팔로테이션의 방법을 생각하지 않아도 된다) 설정을 소개하고 있다 합니다.

    구체적으로
    1. in_exec에서 typeperf 명령을 치십시오. 그러나 이 결과는 TSV가 아니기 때문에
    2. fluent-plugin-parser로 퍼스를 걸어 기대하는 형태로 다시 이밋합니다
    라는 느낌입니다.

    before
    ユーザー → typeperf → 標準出力 → ファイル(リダイレクト) → tailで読み取り → 期待するフォーマット
    

    after
    in_exec → typepef → 標準出力 → 標準入力 → parser → 期待するフォーマット
    

    fluentd는 도입되었다고 가정합니다. .
    설치되지 않은 경우에는 다음 항목을 참조하십시오.
    "Windows를 fluentd로 이동"
     

    1. 플러그인 도입



    in_exec는 fluentd에 표준에 포함되어 있으므로 특별히 할 수 없습니다.
    parser 플러그인을 다음 명령으로 도입합니다.
    tagomoris씨 근제입니다. 감사.
    > fluent-gem install fluent-plugin-parser
    
    Fetching: fluent-plugin-parser-0.3.4.gem (100%)
    Successfully installed fluent-plugin-parser-0.3.4
    Installing ri documentation for fluent-plugin-parser-0.3.4
    1 gem installed
    

     

    2. fluent.conf에 설정 작성



    출력은 표준 출력입니다. 필요에 따라 변경하십시오.
    typeperf의 실행 간격은 10초입니다.
    <source>
      type exec
      command typeperf -sc 1 "\Processor(_Total)\% Processor Time" "\Memory\Available Bytes"
      keys msg
      run_interval 10s
      tag raw.pc.cpumem
    </source>
    
    <match raw.pc.cpumem>
     type parser
     remove_prefix raw
     key_name msg
     format /\"(?<date>[0-9:./ ]*)\",\"(?<cpupercent>[0-9]*)\.[0-9]*\",\"(?<memav>[0-9.]*)\.[0-9]*\"/
    </match>
    
    <match pc.cpumem>
      type stdout
    </match>
    

     

    3. 막상!



    움직이자.
    > fluentd -c C:/fluent/fluent.conf
    
    2014-06-27 10:48:05 +0900 [info]: starting fluentd-0.10.46
    2014-06-27 10:48:05 +0900 [info]: is windows platform : true
    2014-06-27 10:48:05 +0900 [info]: spawn command to main (windows) : C:/Ruby193/bin/ruby.exe 'C:/Ruby193/bin/fluentd' -c ./fluent.conf -u
    2014-06-27 10:48:06 +0900 [info]: starting fluentd-0.10.46
    2014-06-27 10:48:06 +0900 [info]: is windows platform : true
    2014-06-27 10:48:06 +0900 [info]: reading config file path="./fluent.conf"
    2014-06-27 10:48:07 +0900 [info]: gem 'fluent-plugin-parser' version '0.3.4'
    2014-06-27 10:48:07 +0900 [info]: gem 'fluentd' version '0.10.46'
    2014-06-27 10:48:07 +0900 [info]: using configuration file: <ROOT>
      <source>
        type exec
        command typeperf -sc 1 "\Processor(_Total)\% Processor Time" "\Memory\Available Bytes"
        keys msg
        run_interval 10s
        tag raw.pc.cpumem
      </source>
      <match raw.pc.cpumem>
        type parser
        remove_prefix raw
        key_name msg
        format /\"(?<date>[0-9:./ ]*)\",\"(?<cpupercent>[0-9]*)\.[0-9]*\",\"(?<memav>[0-9.]*)\.[0-9]*\"/
      </match>
      <match pc.cpumem>
        type stdout
      </match>
    </ROOT>
    2014-06-27 10:48:07 +0900 [info]: adding source type="exec"
    2014-06-27 10:48:07 +0900 [info]: adding match pattern="raw.pc.cpumem" type="parser"
    2014-06-27 10:48:07 +0900 [info]: adding match pattern="pc.cpumem" type="stdout"
    2014-06-27 10:48:19 +0900 [warn]: pattern not match: "(PDH-CSV 4.0)","\\RL32330U\Processor(_Total)\% Processor Time","\\RL32330U\Memory\Available Bytes"
    2014-06-27 10:48:19 +0900 pc.cpumem: {"date":"06/27/2014 10:48:19.464","cpupercent":"4","memav":"902524928"}
    2014-06-27 10:48:19 +0900 [warn]: pattern not match: 終了しています。お待ちください...                                      
    2014-06-27 10:48:19 +0900 [warn]: pattern not match: コマンドは、正しく完了しました。
    2014-06-27 10:48:32 +0900 [warn]: pattern not match: "(PDH-CSV 4.0)","\\RL32330U\Processor(_Total)\% Processor Time","\\RL32330U\Memory\Available Bytes"
    2014-06-27 10:48:32 +0900 pc.cpumem: {"date":"06/27/2014 10:48:32.107","cpupercent":"1","memav":"906846208"}
    2014-06-27 10:48:32 +0900 [warn]: pattern not match: 終了しています。お待ちください...                                      
    2014-06-27 10:48:32 +0900 [warn]: pattern not match: コマンドは、正しく完了しました。
    

    하이, 잡혔다!

    no pattern match가 많습니다. 이것은 typeperf를 한 샷으로 호출하면 다음과 같은 네 줄의 메시지가 흐르기 때문입니다.

    "(PDH-CSV 4.0)","\RL32330U\Processor(_Total)\% Processor Time"
    "06/27/2014 10:45:23.431","3.376004"
    종료되었습니다. 기다려주세요 ...
    명령이 올바르게 완료되었습니다.

    아무쪼록 용서를. 우선 목표는 달성입니다.
     

    4. 주의 사항 및 기타



    시각화의 예로는 다음 항목을 참조하십시오.
    "Windows의 CPU 사용률 / 사용 가능한 메모리 양 로그를 fluentd로 전송하고 GrowthForecast로 그래프화"

    끝.

    좋은 웹페이지 즐겨찾기