Você está na página 1de 31

RRD::Simple

Marco Gomes
mpglesi@gmail.com Departamento de Informtica Universidade do Minho

Scripting 06 6 de Dezembro de 2006

Marco Gomes

RRD::Simple

RRD::Simple. . .

Da documentao: (. . . ) is ideal for quick and simple storage of data within an RRD le (. . . )

Marco Gomes

RRD::Simple

RRD File. . . Questes:

O que um cheiro RRD?

Marco Gomes

RRD::Simple

RRD File. . . Questes:

O que um cheiro RRD?


1

RRD signica Round Robin DataBase.

Marco Gomes

RRD::Simple

RRD File. . . Questes:

O que um cheiro RRD?


1 2

RRD signica Round Robin DataBase. Um cheiro RRD no aumenta de tamanho.

Marco Gomes

RRD::Simple

RRD File. . . Questes:

O que um cheiro RRD?


1 2 3

RRD signica Round Robin DataBase. Um cheiro RRD no aumenta de tamanho. Os valores armazenados tem que ser numricos mas no precisam de ser apenas inteiros.

Marco Gomes

RRD::Simple

RRD File. . . Questes:

O que um cheiro RRD?


1 2 3

RRD signica Round Robin DataBase. Um cheiro RRD no aumenta de tamanho. Os valores armazenados tem que ser numricos mas no precisam de ser apenas inteiros.

Como o manipulamos?

Marco Gomes

RRD::Simple

RRD File. . . Questes:

O que um cheiro RRD?


1 2 3

RRD signica Round Robin DataBase. Um cheiro RRD no aumenta de tamanho. Os valores armazenados tem que ser numricos mas no precisam de ser apenas inteiros. RRDTool.

Como o manipulamos?
1

Marco Gomes

RRD::Simple

RRDTool
RRDTool!! O que ? uma ferramenta :-)

Marco Gomes

RRD::Simple

RRDTool
RRDTool!! O que ? uma ferramenta :-) Cria, guarda e obtm dados de cheiros RRD.

Marco Gomes

RRD::Simple

RRDTool
RRDTool!! O que ? uma ferramenta :-) Cria, guarda e obtm dados de cheiros RRD. Gera grcos a partir dos dados contidos no cheiro RRD.

Marco Gomes

RRD::Simple

RRDTool
RRDTool!! O que ? uma ferramenta :-) Cria, guarda e obtm dados de cheiros RRD. Gera grcos a partir dos dados contidos no cheiro RRD.

Pode ser usado para medir: Download/Upload de uma ligao, utilizao do CPU e da memria, entre outros. . .
Marco Gomes RRD::Simple

RRDTool (continuao..)

RRDTool. Como funciona? Criar um cheiro RRD para armazenar os dados. rrdtool create . . .

Marco Gomes

RRD::Simple

RRDTool (continuao..)

RRDTool. Como funciona? Criar um cheiro RRD para armazenar os dados. rrdtool create . . . Obter novos dados e actualizar o cheiro. rrdtool update . . .

Marco Gomes

RRD::Simple

RRDTool (continuao..)

RRDTool. Como funciona? Criar um cheiro RRD para armazenar os dados. rrdtool create . . . Obter novos dados e actualizar o cheiro. rrdtool update . . . Extrair os dados do cheiro para visualizao ou para criao de grcos. rrdtool fetch . . . rrdtool graph . . .

Marco Gomes

RRD::Simple

Em Perl
O que pretendemos?

Marco Gomes

RRD::Simple

Em Perl
O que pretendemos?
Criar scripts para monotorizao.

Marco Gomes

RRD::Simple

Em Perl
O que pretendemos?
Criar scripts para monotorizao.

Como faze-lo?

Marco Gomes

RRD::Simple

Em Perl
O que pretendemos?
Criar scripts para monotorizao.

Como faze-lo?
Usar o comando rrdtool. system(rrdtool . . . )

Marco Gomes

RRD::Simple

Em Perl
O que pretendemos?
Criar scripts para monotorizao.

Como faze-lo?
Usar o comando rrdtool. system(rrdtool . . . ) Usar um mdulo.
RRD::Simple RRDTool::OO

Marco Gomes

RRD::Simple

Em Perl
O que pretendemos?
Criar scripts para monotorizao.

Como faze-lo?
Usar o comando rrdtool. system(rrdtool . . . ) Usar um mdulo.
RRD::Simple RRDTool::OO

Para comear: use RRD::Simple;

Marco Gomes

RRD::Simple

RRD::Simple
Mtodos Principais: new - Criar um novo objecto. create - Criar um cheiro RRD. update - Actualizar o cheiro RRD. graph - Gerar um grco.

Marco Gomes

RRD::Simple

RRD::Simple
Mtodos Principais: new - Criar um novo objecto. create - Criar um cheiro RRD. update - Actualizar o cheiro RRD. graph - Gerar um grco. Outros Mtodos: last - Obter quando foi feita a ltima actualizao. sources - Obter a lista dos campos armazenados. add_source - Adicionar um novo campo ao cheiro RRD. rename_source - Alterar o nome de um campo. info - Obter detalhes do cheiro RRD.
Marco Gomes RRD::Simple

Exemplo

Objectivo: Criar um script para recolher estatsticas e gerar dois grcos que mostram:
consumo de CPU e memria. quantidade de download e upload.

Marco Gomes

RRD::Simple

Exemplo - Parte I
Criar um novo objecto:
my $ r r d = RRD : : Simple new ( ) ;

Marco Gomes

RRD::Simple

Exemplo - Parte I
Criar um novo objecto:
my $ r r d = RRD : : Simple new ( ) ;

Criar os cheiros RRD:


$ r r d create ( " f i l e 1 . r r d " , day , cpu "GAUGE" , mem "GAUGE" , ); $ r r d create ( " f i l e 2 . r r d " , day , down "GAUGE" , up "GAUGE" , );

Marco Gomes

RRD::Simple

Exemplo - Parte II
Actualizar o cheiro RRD:
while ( 1 ) { my $ o b j = L i n u x : : S t a t i s t i c s new( P r o c S t a t s 1 , MemStats 1 , NetStats 1 ) ; sleep ( 1 ) ; my $ s t a t s = $ o b j g e t S t a t s ; $ r r d update ( " f i l e 1 . r r d " , cpu $ s t a t s { P r o c S t a t s } { T o t a l } , mem $ s t a t s { MemStats } { MemUsedPer } , ); $ r r d update ( " f i l e 2 . r r d " , down $ s t a t s { NetStatsSum } { RxBytes } , up $ s t a t s { NetStatsSum } { TxBytes } , ); }

Marco Gomes

RRD::Simple

Exemplo - Parte III


Gerar os grcos com as estatsticas:
$ r r d graph ( " f i l e 1 . r r d " , t i t l e "CPU S t a t i s t i c s " , extended_legend 1 , w i d t h 600 , h e i g h t 300 , sources [qw( cpu mem ) ] , s o u r c e _ l a b e l s [ "CPU Usage " , " Memory Usage " ] , source_drawtypes [ qw(AREA LINE2 ) ] , ); $ r r d graph ( " f i l e 2 . r r d " , t i t l e " Network S t a t i s t i c s " , extended_legend 1 , w i d t h 600 , h e i g h t 300 , sources [qw( down up ) ] , s o u r c e _ l a b e l s [ " Net Download " , " Net Upload " ] , source_drawtypes [ qw( LINE2 LINE2 ) ] , );

Marco Gomes

RRD::Simple

Exemplo - Resultados

Marco Gomes

RRD::Simple

Exemplo - Resultados

Marco Gomes

RRD::Simple

Referncias:

http://www.rrdtool.org http://search.cpan.org http://www.google.com $ cpan RRD::Simple && man RRD::Simple

Marco Gomes

RRD::Simple

Você também pode gostar