O sistema de detecção e monitoramento automático do Hyperic HQ é excelente, mas não detecta tudo. Existem serviços que, embora sejam suportados, simplesmente não serão detectados ou precisarão de alguns ajustes para serem monitorados totalmente.
Veremos a seguir, como habilitar manualmente o monitoramento de alguns serviços que não tenham sido detectados automaticamente pelo Hyperic HQ, para que você tenha uma ideia de como isso é feito.
Monitorando um processo genérico
Ao instalar o agente Hyperic HQ num servidor
Linux ou Unix que possua o servidor SSH roddando, o processo sshd é monitorado automaticamente.
Se quisermos configurar outros processos, isso pode ser feito facilmente. Basta clicar em Tools Menu e selecionar a opção New Service e fornecer o nome, a descrição e o tipo do serviço que será monitorado (nesse caso, Process).
Na tela que se abre, vá na seção Configuration Properties e clique em EDIT. Preencha o campo "process.query" com o valor:
Pid.PidFile.eq=/var/run/crond.pid
E clique em OK. Depois, clique na aba Monitor, aguarde 5 minutos e atualize a página.
Monitorando Apache 2.2
Acesse o servidor onde o
Apache está instalado e insira o conteúdo abaixo, no arquivo
/etc/httpd/conf.d/hyperic.conf (no CentOS):
ExtendedStatus On
NameVirtualHost localhost:80
<VirtualHost localhost:80>
ServerName localhost:80
<Location /server-status>
SetHandler server-status
Allow From 127.0.0.1
</Location>
</VirtualHost>
Em seguida, reinicie o serviço para que as alterações entrem em vigor.
# apachectl restart
Depois, ajustes as permissões dos logs do Apache. Isto é necessário para que o usuário "hyperic" consiga acessá-los.
# chgrp -R apache /var/log/httpd
# find /var/log/httpd -type d -exec chmod 0750 {} \;
# find /var/log/httpd -type f -exec chmod 0640 {} \;
Em seguida, adicione o usuário "hyperic" ao grupo
apache e reinicie o agente de monitoramento:
# gpasswd -a hyperic apache
# su - hyperic
hq-agent.sh restart
$ exit
Por fim, edite o arquivo
/etc/sudoers e adicione a linha abaixo para permitir que o Hyperic HQ possa controlar o Apache usando o comando
apachectl, através do comando
sudo.
hyperic ALL=(root) NOPASSWD: /usr/sbin/apachectl
Agora, acesse a interface de gerenciamento do Hyperic e faça login. Se o Apache ainda não estava instalado, é provável que ele tenha sido detectado e seja exibido no portlet Auto-Discovery.
Se for esse o caso, clique em Add to Inventory. Se, por outro lado, o Apache já estava instalado na máquina antes de o agente do Hyperic ser configurado, é já deve ter sido detectado anteriormente, e só necessitará ser configurado adequadamente.
Clique na aba Resources, localize o servidor onde o Apache está instalado e clique sobre ele. O Apache deverá ser então listado na seção Deployed Servers Health, clique sobre ele, acesse a aba Inventory e, na seção Configuration Properties, clique em EDIT.
Preencha os campos como mostrados na lista abaixo, clique em OK e depois acesse a aba Monitor.
hostname: localhost;
port: 80;
path: /server-status
pidfile: /etc/httpd/run/httpd.pid;
program: /usr/sbin/apachectl;
prefix: sudo
Para o Apache e para outros tipos de servidores, o Hyperic HQ oferece o recurso de controle remoto, ou seja, você pode iniciar, parar, reiniciar ou consultar o status do serviço diretamente a partir da console do Hyperic. Essas funções, quando disponíveis, ficam dispostas na aba Control.