2009-12-29 7 views
-2

10 초마다 별도의 응용 프로그램 로그를 인쇄합니다. 로그 파일에서 RRD 파일을 만들어야합니다. 로그 파일을 읽고 그래프없이 RRD를 만들려면 Perl 코드가 필요합니다.Perl로 RRD 파일을 만들려면 어떻게해야합니까?

CPAN에서 사용할 수있는 Perl 모듈 (예 : RRD::Simple 및 RRD :: Simple :: Examples)도 사용했지만 여전히 도움이 필요합니다.

+2

지금까지 무엇을 가지고 계십니까? 너 뭐 해봤 니? 사람들이 코드를 제공 할 웹 사이트가 아니며 사람들이 프로그래밍 문제를 해결하는 데 도움이되는 웹 사이트입니다. –

+0

@Chris : rrd를 만들려면 펄 작성을 시작하는 데 도움이 필요합니다. 시작할 샘플 코드를 제안 해 줄 수 있다면. – Space

+0

모듈의 개요 섹션에서 수행 할 작업을 보여줍니다. 당신이 그 예제를 시도했을 때 어떤 일이 일어 났습니까? –

답변

3

나는 RRD::Simple으로 시작하겠다. 설명서에는 몇 가지 예제 코드가 있습니다. 그래프를 만들 필요가 없으므로 예제의 해당 섹션을 건너 뛰기 만하면됩니다.

일부 예제에서는 데이터 한 샘플을 읽고 update 함수를 한 번 호출 한 다음 종료합니다. 이러한 스크립트는 실시간으로 데이터를 수집하기 위해 주기적으로 실행됩니다. 여러분의 필요에 더 적합한 예제는 Apache 로그 파일을 읽고 정규 표현식으로 각 행을 구문 분석 한 후 방금 읽은 내용을 파악하기 위해 약간의 분석을 수행 한 다음 update을 모두 루프로 호출하는 ApacheAccessLogActivity.pl입니다. 이 예제에서는 객체 지향 버전이 아닌 독립 실행 형 함수를 사용합니다.

이미 해당 모듈의 설명서를 읽었으며 모듈 사용 방법에 대한 추가 정보가 필요하거나 모듈을 사용해 본 결과 사용하지 못하는 단점이있는 경우 자세한 내용을 확인하십시오. 네가해야 할 일에 대해서.

RRDTool::OO도 유망 해 보입니다.

0

RRDTool :: OO를 권해드립니다. perldoc에서 발췌 :

$ rrd-> create (...) 새 라운드 로빈 데이터베이스 (RRD)를 만듭니다. RRD는 하나 이상의 데이터 소스와 하나 이상의 아카이브로 구성됩니다.

  $rrd->create(
       step  => 60, 
       data_source => { name  => "mydatasource", 
           type  => "GAUGE" }, 
       archive  => { rows  => 5 }); 
관련 문제