Documentação Symom Agente de Monitoração na Plataforma

Propaganda
Documentação Symom
Agente de Monitoração na Plataforma Windows
Agente
Windows
Agente
Windows
Agente
Linux
Agente
Linux
Plataforma Windows
Instalação
A instalação do Agente de Monitoração do Symom para Windows é feita através do
executável setup.exe que pode ser baixado do site http://www.symom.com.br/agente. Este
programa vai preparar os serviços do agente de monitoração para funcionar, entretanto, deixa para
o usuário a tarefa de instalar e iniciar os serviços. Ao instalar o Agente um grupo de programa será
criado e dentro deste teremos as seguintes opções:
A opção “Symom Agent Service Manager” permite instalar e iniciar os serviços através do
programa a seguir:
Para instalar o serviço é necessário clicar em “Install Service” e em seguida em “Start
Service”. Após instalar e iniciar os serviços note que o programa indica o status dos serviços e
caso tudo ocorra bem a aparência do programa deve ser esta:
Funcionamento
O agente de monitoração para windows é composto de 2 serviços. O Symom Agent Service
(AgentSymomService.exe) é responsável pela coleta dos dados, já o Symom WatchDog Service
(SymomWDService.exe) é o serviço que garante que o primeiro está rodando. Caso o serviço fique
travado devido a uma instabilidade da máquina o serviço Symom WatchDog Service reinicia
automaticamente o serviço de coleta de dados. Esta arquitetura garante a disponibilidade do
serviço de monitoração 100% do tempo. O serviço de coleta de dados “escuta” uma porta tcp/ip e
responde as requisições do servidor de monitoração. A porta padrão para esta comunicação é a
porta 9000.
A opção “Interface Gráfica” do menu do windows criado na instalação permite executar um
programa que funciona como uma interface para serviço de coleta de dados. Este programa
permite não só ver os dados coletados como também configurar o serviço de coleta de dados. Ao
iniciar este programa você notará que o mesmo foi se instalar na barra de programas do windows.
Clicando com o botão esquerdo do mouse sobre o ícone do
programa surgirão 3 opções. Na Opção “show” será apresentada uma
janela com os dados coletados pelo agente de monitoração.
Esta interface permite
acesso a uma janela de configuração do serviço pela
opção do menu “File”, item “Config”.
Configuração
A janela de configuração está logo abaixo.
A opção RRDTOOL instrui o serviço de coleta de dados a executar os procedimentos necessários
para alimentar o banco de dados do Rrdtool e a executar o script RrdMkGraph.bat que é
responsável pela geração de gráficos localmente.
A opção NETMON instrui ao Agente do Symom para coletar dados de tráfego de rede. Esta opção
foi criado pois alguns programas com SQL Server desativam no registry a disponibilização desta
informação no pelo do Windows. Junto com o agente symom é disponibilizado um arquivo
chamado ActivePerfmon.bat que ativa não só esta monitoração como também a monitoração de
discos.
AllowRemoteExec é a opção que permite ao agente Symom executar scripts e gerenciar serviços
do windows. Assim se um serviço da máquina monitorada parar será possível reiniciar este
serviço remotamente pela porta de comunicação com o servidor Symom.
O parâmetro Listen é importante quando a máquina tem vários ips e um deles é usado para
gerência de servidores e não se deseja deixar o serviço do agente “escutando” em outros ips.
O parâmetro “Symom Server” é o ip do servidor Symom. Este parâmetro permite ao programa de
interface gráfica buscar no servidor Symom o status dos outros servidores monitorados e caso
algum servidor apresente problema o ícone do traybar ira piscar vermelho e a opção messages
apresenta o problema atual em uma janela.
A opção PORT permite alterar a porta tcp/ip onde o agente recebe requisições. Por default esta
porta é a 9000 mas esse parâmetro pode ser mudado para qualquer outra porta caso exista algum
outro serviço escutando nesta porta. Alguns programas conhecidos usam a porta 9000 e
precisamos ajustar o parâmetro PORT do agente Symom para este funcionar corretamente. Por
exemplo, o WebSphere e o PeopleSoft.
O próximos dois parâmetros, NetInterface1 e NetInterface2, permitem selecionar qual a interface
de rede desejamos monitorar. A interface gráfica permite selecionar apenas 2 interfaces de rede
diferentes mas o agente de monitoração está internamente preparado para monitorar até 4
interfaces de rede. Para configurar mais de 2 interfaces de rede atualmente é necessário editar
manualmente o arquivo de configurações SymomAgent.cfg.
Os parâmetros Command1_c e Command2_c permitem coletar informações através de comandos
de console (DOS). Esta opção está em desuso mas a sintaxe é a seguinte:
<comando_dos> | <parâmetros_do_comando> | <parâmetro_grep_1> |<parâmetro_grep_1>
O comando_dos é executado e recebe como parâmetros parâmetros_do_comando, em seguida é
feito um grep com parâmetro_grep_1 e depois é feito um segundo grep com o parâmetro parâmetro_grep_2.
Depois deste tratamento, é feita uma contagem das linhas que sobraram e este número é passado ao
agente symo como sendo o resultado desta monitoração. Este recurso é útil quando por exemplo
se deseja conta número de conexões de um serviço que não dispõe de contadores no performance
monitor do windows. No exemplo a seguir uma configuração para coletar o número de conexões
na porta 80 de um servidor web.
Conteúdo de command1_c: netstat | -n -p tcp | 80| ESTABLISHED
O parâmetro LogLevel é usado para depurar o agente de monitoração. O valor normal é 0 (zero)
mas esse valor pode ser aumentado para 5. Com isso o arquivo de log SymomAgent.log registra os
passos do agente de monitoração. Esse log pode crescer muito por isso aumente esse valor com
cautela.
Os parâmetros Performancemon1 e Performancemon2 permitem adicionar monitorações do
performance monitor. Este recurso é importante principalmente para monitorar aplicativos como
IIS, Oracle, SQL Server, WebSphere, DB2 entre outros. Todos esses programas criam entradas no
performance monitor do windows que podem ser monitoradas pelo agente Symom. A interface
gráfica permite a adição de apenas 2 monitorações mas o agente pode chegar a monitorar até 4
chaves do performance monitor mas para isso é necessário editar o arquivo SymomAgent.cfg.
O último parâmetro tem a função de adicionar segurança ao agente de monitoração. Como o
agente pode ter a capacidade de executar scripts, iniciar e parar serviços do windows por
requisições remotas, o agente de monitoração passa a ser um ponto crítico na segurança da
máquina, por isso, este parâmetro permite acesso apenas pelo servidor do Symom. Este campo
pode ser configurado com vários ips separados por ponto-e-vírgulas.
Módulo RRDTool
Este módulo permite a criação de gráficos das monitorações localmente através das
consagradas ferramentas MRTG e RRDTool desenvolvidas por Tobias Oetiker e sua equipe. Por
ser mais moderna o Agente de Monitoração do Symom usa por padrão o RRDTool.
O agente de monitoração executa duas funções distintas para poder flexibilizar o uso com
outras ferramentas. A primeira rotina consiste em atualizar o banco de dados da ferramenta
escolhida (RRDTool por padrão) com as informações lidas de cpu, memória, consumo de banda
etc. A outra consiste em executar, a cada 5 minutos, um arquivo batch (.bat) responsável pela
criação dos gráficos. Este recurso pode ser aproveitado para adicionar ao windows a capacidade de
executar periodicamente scripts como os do MRTG.
Ao ser iniciado o Agente de monitoração verifica seu arquivo de configuração
(SymomAgent.cfg) e procura pelo flag “RRDTOOL=TRUE”, neste caso o tratamento para
ferramentas como MRTG e RRDTool estará ativado. Em seguida, procura pelo subdiretório
RRDTOOL a partir do diretório do próprio agente. Caso não exista o programa cria este diretório.
Depois procura pelo arquivo rrdtool.tpl que deverá conter templates para criação dos bancos de
dados e para atualização das informações. A sintaxe padrão de cada linha é marcada pelo uso do
separador de campos “##”. O primeiro campo indica a operação a ser executada, pode ser
“CREATE” ou “UPDATE”. O segundo campo indica qual a leitura que deve ser atribuída para as
variáveis $TIME, $VAL, $VAL2 na linha, ou seja, se é uma linha para tratamento de cpu,
memória etc. O terceiro campo contém o comando de prompt que será executado e as variáveis
que deverão ser substituídas antes da execução do comando.
A seguir, o agente procura pelos arquivos de dados do Rrdtool: cpu.rrd, mem.rrd, dskc.rrd,
dskd.rrd, dske.rrd, net.rrd. Caso um destes arquivos não exista será executada a rotina
correspondente para gerar este arquivo. No caso hipotético do arquivo cpu.rrd não existir o agente
irá executar o comando de prompt:
“rrdtool create CPU.rrd --start $TIME --step 60 DS:CPU:GAUGE:1200:0:100
RRA:AVERAGE:0.5:1:600 RRA:AVERAGE:0.5:6:700 RRA:AVERAGE:0.5:24:775 RRA:AVERAGE:0.5:288:797”
Por isso para que o comando tenha sucesso deve existir o programa rrdtool.exe no mesmo
diretório do agente de monitoração. Note que a variável $TIME é substituída pelo tempo no
formato time-stamp do Unix, ou seja, segundos passados a partir de 1970. Depois de criar todos os
arquivos (cpu, memória, discos c,d e e consumo de banda - net), o agente passa a atualizar o banco
de dados do Rrdtool executando os comandos necessários indicados pelas linhas iniciadas por
“UPDATE”. Um arquivo rrdtool.tpl típico está a seguir:
CREATE##CPU##rrdtool create CPU.rrd --start $TIME --step 60 DS:CPU:GAUGE:1200:0:100
RRA:AVERAGE:0.5:1:600 RRA:AVERAGE:0.5:6:700 RRA:AVERAGE:0.5:24:775 RRA:AVERAGE:0.5:288:797
CREATE##MEM##rrdtool create MEM.rrd --start $TIME --step 60 DS:MEM:GAUGE:1200:0:519553024
RRA:AVERAGE:0.5:1:600 RRA:AVERAGE:0.5:6:700 RRA:AVERAGE:0.5:24:775 RRA:AVERAGE:0.5:288:797
CREATE##DSKC##rrdtool create DSKC.rrd --start $TIME --step 60 DS:DSKC:GAUGE:1200:0:13629255680
RRA:AVERAGE:0.5:1:600 RRA:AVERAGE:0.5:6:700 RRA:AVERAGE:0.5:24:775 RRA:AVERAGE:0.5:288:797
CREATE##NET##rrdtool create NET.rrd --start $TIME --step 60 DS:IN:COUNTER:1200:U:U DS:OUT:COUNTER:1200:U:U
RRA:AVERAGE:0.5:1:600 RRA:AVERAGE:0.5:6:700 RRA:AVERAGE:0.5:24:775 RRA:AVERAGE:0.5:288:797
UPDATE##CPU##rrdtool update CPU.rrd $TIME:$VAL
UPDATE##MEM##rrdtool update MEM.rrd $TIME:$VAL
UPDATE##DSKC##rrdtool update DSKC.rrd $TIME:$VAL
UPDATE##DSKD##rrdtool update DSKD.rrd $TIME:$VAL
UPDATE##DSKE##rrdtool update DSKE.rrd $TIME:$VAL
UPDATE##NET##rrdtool update NET.rrd $TIME:$VAL1:$VAL2
Download