terça-feira, 27 de setembro de 2011

GroundWork - Criar gráficos de performance para um AIC


Criar gráficos de performance


    Os procedimentos abaixo são destinados a criação de gráficos de performance dos AICs*. 

    AICs: Atributo de Item de Configuração -> Nada mais é que um serviço do Nagios, exemplo monitoramento do disco C de um host(IC). 
    ICs: Item de Configuração -> Nada mais é que um host do Nagios, exemplo monitoramento de um servidor. 

    Onde se aplica? 

    O GroundWork OpenSource Community Edition(GWOS) não cria por padrão gráficos de performance para os AICs adicionados. Para gerar novos gráficos é necessário um conhecimento básico da solução RRDTool que é utilizada no MTRG. 

    Explicando um pouco mais, imagine que você adicionou no host(IC) 'TESTE' o serviço(AIC) 'IC-Availability', ao acessar a guia 'Status' do Groundwork e selecionar o AIC alvo mencionado anteriormente, não poderá visualizar um histórico de valores obtidos nas checagens caso este gráfico de performance não esteja configurado corretamente. Dai a importância deste 'how-to', possibilitar isso ao cliente, o acompanhamento dos valores coletados para que com eles o cliente possa basear implementações e adição de recursos. 



    Requisitos:

    1. O AIC que adicionará o gráfico do RRDTool deve gerar perfdata;
    2. Noções administrativas de Nagios(core do GroundWork);
    3. Ser provido de cérebro; 

    Verificações:

    O AIC que quero criar o gráfico gera perfdata? 

    Teste executando uma checagem, seja via GroundWork(GWOS), ou através da console mesmo:

    GroundWork(GWOS):

    Console: 

    Perfdata: Toda informação que é enviada na execução da checagem após o pipe, logo no exemplo acima o perfdata é:
    rta=0.938ms;3000.000;5000.000;0; pl=0%;80;100;;

    Onde 'rta' e 'pl' são as duas métricas, sendo 'response time average' e 'packet loss'.
    O 'rta' é obtido em milissegundos(ms) e o 'pl' em porcentagem(%).
    0.938 é o valor em 'ms' obtido na checagem.
    0% é o valor em '%' obtido na checagem.
    3000.000 é o threshold(limite) de alerta para que o 'rta' seja considerado como WARNING ao Nagios(GWOS).
    5000.000 é o threshold(limite) de alerta para que o 'rta' seja considerado como CRITICAL ao Nagios(GWOS).
    0 é o valor mínimo na plotagem do gráfico do RRDTool. 

    Com as afirmações abaixo consideramos que o perfdata é composto por uma ou mais métricas, as quais possuem a seguinte sintaxe:
    [métrica]={valor obtido};{threshold para WARNING};{threshold para CRITICAL};{valor mínimo plotado no gráfico};{valor máximo plotado no gráfico}

    E se meu AIC não gera perfdata? 
    Existe uma função no GroundWork(GWOS) que é capaz de realizar expressão regular(REGEX) no status do AIC, ou seja, tudo que vem antes do pipe, em nosso exemplo seria: OK - 192.168.20.13: rta 0.938ms, lost 0%

    Vamos a configuração do Gráfico de Performance, no GroundWork acesse 'Configuration -> Performance' e clique em 'Create New Entry'.

    Serão apresentadas as opções para a criação de um novo gráfico, então explicando cada opção:

    Graph Label - Título do gráfico, para nosso exemplo 'ICMP Ping Response Time'
    Service - Nome do Serviço, para nosso exemplo 'IC-Availability'
    Use Service as a Regular Expression - Opção para utilizar o perfdata do AIC
    Host - IC aos quais o gráfico se aplicará, para aplicar para todos os ICs que possuam este AIC utilize *
    Status Text Parsing Regular Expression - Se utilizado o perfdata para coleta dos dados não preencha este campo, ele se aplica somente se seu AIC não gera perfdata, neste caso coloque sua REGEX ai
    Use Status Text Parsing instead of Performance Data - Marque essa opção para AICs sem perfdata
    RRD Name - O arquivo que será gravado no disco do Groundwork(GWOS), utilize '/usr/local/groundwork/rrd/$HOST$_$SERVICE$.rrd' 
    RRD Create Command - Este campo é para a criação do gráfico, caso não entenda as informações que serão inseridas neste campo procure conhecer um pouco mais de RRDTool, para nosso exemplo utilizaremos o seguinte:
    $RRDTOOL$ create $RRDNAME$ --step 300 --start n-1yr DS:rta:GAUGE:1800:U:U DS:pl:GAUGE:1800:U:U RRA:AVERAGE:0.5:1:8640 RRA:AVERAGE:0.5:12:9480
    RRD Update Command - Este campo é para o comando que o RRDTool utilizará para atualizar o gráfico, para nosso exemplo utilizaremos:
    $RRDTOOL$ update $RRDNAME$ $LASTCHECK$:$VALUE1$:$VALUE2$ 2>&1
    Custom RRDtool Graph Command - Este campo é para customização de cores e saídas do gráfico caso o perfdata não seja exatamente o que você quer mostrar, utilizaremos para nosso exemplo o seguinte:
    'rrdtool graph - --imgformat=PNG --title="ICMP Performance" --rigid --base=1000 --height=120 --width=700 --alt-autoscale-max --lower-limit=0 --vertical-label="Time and Percent" --slope-mode DEF:a="rrd_source":ds_source_1:AVERAGE DEF:b="rrd_source":ds_source_0:AVERAGE CDEF:cdefa=b CDEF:cdefb=a,100,/ AREA:cdefa#43C6DB:"Response Time (ms) " GPRINT:cdefa:LAST:"Current\:%8.2lf %s" GPRINT:cdefa:AVERAGE:"Average\:%8.2lf %s" GPRINT:cdefa:MAX:"Maximum\:%8.2lf %s\n" LINE1:cdefb#307D7E:"Percent Loss " GPRINT:cdefb:LAST:"Current\:%8.2lf %s" GPRINT:cdefb:AVERAGE:"Average\:%8.2lf %s" GPRINT:cdefb:MAX:"Maximum\:%8.2lf %s"'
    Enable - Para habilitar o gráfico deixe o checkbox marcado

    Após salve o gráfico e realize um 'Commit' na guia 'Control' do GroundWork(GWOS). Pronto, seu gráfico se estiver correto dentro de 4 checagens do seu AIC será criado e já poderá visualizá-lo. 

    Nenhum comentário:

    Postar um comentário