Tentativa de abreviar a saída de PDF do kSAR

6

Atualmente, estou escrevendo um cronjob em torno das opções de linha de comando (não-GUI) do kSar para gerar PDFs. Vou enviar por e-mail um PDF da atividade do dia anterior para um webmaster diferente (basicamente apenas um usuário experiente) todos os dias depois da meia-noite.

Este é o comando que estou tentando usar:

java -jar /usr/local/ksar/kSar.jar -cpuFixedAxis \ 
      -input /var/log/sa/sa$(date +"%d" -d yesterday) \
      -outputPDF /tmp/SAR-$(date +"%d-%m-%Y" -d yesterday).pdf

O código acima gera um documento em PDF e posso enviá-lo por e-mail para quem eu quiser.

O problema é que há muito mais informações do que eu realmente acho que ele precisa e eu realmente o vejo ficando confuso e quer me pedindo para ajudá-lo a entender ou apenas desconsiderar o e-mail e pingar para mim pessoalmente sempre que ele tiver uma pergunta sobre carga ou desempenho (o que será muito).

Estou vendo que o kSar tem uma opção -graph para gerar apenas um determinado subconjunto de gráficos, mas não tenho ideia de como usá-lo e ele não está on-line em nenhum lugar. -help diz para alimentar uma lista dos gráficos que eu quero gerar, mas não há nenhuma indicação de como eu deveria descobrir o que cada gráfico é tecnicamente chamado. Eu pensei que -showOnlygraphName era meu salvador, mas isso apenas mostrou a GUI normal não-PDF para o SAR relevante e parece idêntico a se eu tivesse deixado -showOnlygraphName para começar.

Neste ponto, estou me agarrando a palhas para que qualquer ajuda seja apreciada.

EDITAR:

Só para você ver a sintaxe que estou usando quando digo nos comentários que tentei os nomes dos gráficos sugeridos por @derobert:

$ java -jar kSar.jar -graph SWAP -input sar31 -outputPDF out.pdf
time to parse: 695ms number of line: 4073 line/msec: 5.0
jadavis@XXX-R9ZN2ZV /cygdrive/c/Documents and Settings/JADAVIS/Documents/kSar-5.0.6
$ echo $?
0
jadavis@XXX-R9ZN2ZV /cygdrive/c/Documents and Settings/JADAVIS/Documents/kSar-5.0.6
$ ls out.pdf
ls: cannot access out.pdf: No such file or directory
$ java -jar kSar.jar -graph LOAD -input sar31 -outputPDF out.pdf ; ls out.pdf
time to parse: 681ms number of line: 4073 line/msec: 5.0
ls: cannot access out.pdf: No such file or directory

O que está diretamente acima está sendo feito em cygwin , mas a sintaxe funciona (isto é, gera saída em PDF) se eu não tentar restringir quais gráficos gerar. Eu também tentei uma variedade de estilos de embalagens e citações.

EDIT # 2:

Sucesso parcial nesta área. Eu encontrei esta página e, seguindo suas instruções, consegui gerar um PDF que somente tinha atividade da CPU:

jadavis@XXX-R9ZN2ZV /cygdrive/c/Documents and Settings/JADAVIS/Documents/kSa                            r-5.0.6
$ java -jar kSar.jar -input sar31 -outputPDF out.pdf -graph all-cpu; ls -l out.pdf                          time to parse: 712ms number of line: 4073 line/msec: 5.0
-rwx------+ 1 jadavis mkpasswd 112772 Apr  3 18:51 out.pdf
    
por Bratchley 01.04.2014 / 23:31

2 respostas

1

A resposta que não é realmente uma resposta: Para aqueles que estão acompanhando em casa, você notará que eu tive um tempinho tentando obter kSar para fazer isso mim. Não duvido que realmente exista uma solução com o kSar, mas cheguei à difícil conclusão de que kSar é uma droga. Eu não trabalho mais com plataformas não-Linux (usadas para gerenciar o Solaris, não muito agora), então qualquer vantagem de usar dados SAR agora é insignificante se ainda existir.

Minha solução pessoal:

Desde então, concentrei minhas energias em fazer com que isso funcionasse com collectd e, nos últimos 30 minutos, obtive muito mais sucesso do que em três dias com lutas difíceis com kSar . Isto é o que eu fiz nos meus servidores RHEL5 e RHEL6 (obviamente YMMV):

1. Assegure-se de que o repositório EPEL esteja instalado no servidor.

2. Instalou o collectd , collectd-web , collectd-apache e      collectd-mysql packages.

3. Editei o arquivo /etc/httpd/conf.d/collectd.conf da seguinte forma:

ScriptAlias /collectd/bin/ /usr/share/collectd/collection3/bin/
Alias /collectd/ /usr/share/collectd/collection3/

<Directory /usr/share/collectd/>
AddHandler cgi-script .cgi
DirectoryIndex bin/index.cgi
Order Deny,Allow
Deny from all
Allow from 192. 10.
</Directory>

4. Garantiu que os seguintes plug-ins foram ativados em /etc/collectd.conf :

LoadPlugin apache
LoadPlugin cpu
LoadPlugin df
LoadPlugin disk
LoadPlugin fscache
LoadPlugin interface
LoadPlugin load
LoadPlugin memory

5. Iniciou o collectd service e emitiu um comando service httpd reload .

Aguarde um curto período de amostragem e aceda a collectd-web (terceira parte da interface Web escrita em perl ) visitando:

  • link MYHOSTNAME /collectd/bin/index.cgi

Pouco depois, eu estava gerando todos os gráficos que ele estaria interessado em ver e nada disso provavelmente iria confundi-lo. Também estou vendo que algumas collectd stats podem ser orientadas para detalhes, o que pode ser útil para meus propósitos também.

A interface collectd-web é totalmente funcional, mas bastante simples e difícil de personalizar. Ainda assim, é definitivamente mais fácil dar a ele esta URL, então eu vou apenas brincar com frontends diferentes.

Se alguém postar uma resposta específica de kSar (ou se eu encontrar uma nesse meio tempo), aceito isso como a resposta. Mas finalmente acho que é hora de colocar uma única rosa negra no caixão da SAR e, finalmente, deixá-la morrer.

EDITAR:

Para os curiosos, veja alguns exemplos de gráficos aleatórios:

Existemtambémalgunsgráficosparamesclagemdefilaseutilizaçãodosistemadearquivosparadiscos,alémdeexecutarotamanhodafilaeasalternânciasdecontextoparaaCPU.Eletambémparece aceitar notificações sobre violações de limite. Por isso, parece ser uma ferramenta bastante decente para monitoramento de desempenho de propósito geral e planejamento de capacidade.

    
por 04.04.2014 / 20:11
2

Aqui está a lista das opções -graph disponíveis no kSar v5.0.6 -

all-cpu
bond0-if1
bond0-if2
eth0-if1
eth0-if2
eth2-if1
eth2-if2
LinuxcswchSar
LinuxioSar
LinuxkbmemSar
LinuxkbmiscSar
LinuxkbswpSar
LinuxloadSar
LinuxnfsdSar
LinuxnfsSar
LinuxpageSar
LinuxpgpSar
LinuxprocSar
LinuxsockSar
LinuxswapSar
lo-if1
lo-if2

Veja um exemplo de como eu gero um relatório -

java -jar kSar.jar -input /apps/kSar-5.0.6/logs/sa01 -showCPUstacked -cpuFixedAxis -graph 'all-cpu bond0-if1 LinuxcswchSar LinuxioSar LinuxkbmemSar LinuxloadSar LinuxpgpSar LinuxprocSar'   -outputPDF /apps/kSar-5.0.6/logs/sa01.pdf
    
por 21.09.2016 / 20:37