quinta-feira, 24 de fevereiro de 2011

Editando arquivo CGI(status.cgi ) do Nagios realizando custom

Pessoal recentemente surgiu a necessidade de editar um CGI do Nagios, especificamente o arquivo status.cgi, a carência era adicionar mais uma coluna na tabela da página Problems >> Services(http://servidorNagios/nagios/cgi-bin/status.cgi?host=all&servicestatustypes=28) tal coluna deveria conter a descrição/alias dos hosts. A intenção é para torna compreensivel, para o pessoal não técnico, o host que está apresentando problemas já que teremos uma clouna que informa a descrição do host e não somente a sua abreviatura(Hostname). Pois bem, o bom é que vivemos no mundo open source e sabendo-se disso temos acesso aos fontes dos programas, utilizando-se dessa flexibilidade podemos deixar o programa do nosso jeito, que beleza eim?! Nota 1000 para o GNU e viva ao Linux!! Pois bem, vamos meter a mão na massa:

OBS.:

- Utilizado para esse artigo o CentOS 5.5 e o Nagios Core 3.2.3;
- Você deve compilar o código status.c na máquina que realmente roda o Nagios, tentei editar e compilar o status.c em outra máquina com o mesmo S.O e a mesma versão do Nagios e depois copiei o status.cgi já compilado para outra máquina de produção, porém, não rolou dava erro então compile o nagios na máquina que realmente utilizará os CGI;

1 - Primeiramente vá ao site da Nagios e baixe o source do mesmo;

2 - Descompacte-o;

3 - Vá a pasta /nagios-3.2.3/cgi e edite o status.c;

4 - Foi necessário adicionar somente duas linhas no arquivo, abaixo segue trechos do arquivo numerado e com comentários sobre as linhas adicionadas:
# vi /nagios-3.2.3/cgi/status.c


Primeira parte:

Segunda parte:


Após isso será necessário configurar, compilar e instalar o nagios para ele recompilar os .CGIs, para fazer esta tarefa tomei como referência o How to de instalação do Nagios.org, faremos conforme abaixo:

1 - Em /nagios-3.2.3(A pasta que tem os fontes) você executará 3 comandos:

./configure --with-command-group=nagcmd
make all
make install

Pronto!
E agora vamos ver se a nossa coluna apareceu no services.cgi do Nagios, acesse o seu nagios através do browser:




Voilà!! Customizamos o Nagios!! E Viva o mundo open source!

7 comentários:

  1. Olá Leonardo!

    Achei muito útil e interessante a sua dica, mas quando fui fazer algumas alterações no meu status.c e gerar um novo cgi, após a compilação minha instalação anterior do nagios foi sobrescrita. Não posso só gerar um novo cgi?

    Valeu!
    Rafael

    ResponderExcluir
  2. Olá! A intenção é justamente essa, customizar e sobrescrever a sua instalação atual. Eu tentei editar e compilar o status.c em outra máquina com o mesmo S.O e a mesma versão do Nagios e depois copiei o status.cgi já compilado para a máquina de produção, porém, não rolou dava erro, então, compilei o nagios na máquina que realmente utiliza os CGI e funcionou tranquilo.

    ResponderExcluir
  3. Olá amigo instalei o nagios 4.1 em meu ubuntu 13.10 e ao entrar no site dele e clicar em qualquer link como por exemplo o hosts ou services ele baixa um arquivo status.cgi? como posso resolver esse problema?

    ResponderExcluir
  4. Pessoal,

    Monitoro muitas coisas com nagios aqui, entre elas Nobreaks, Switches, Impressoras, Servidores SUN, Win, Linux, ESX, Links, Relogio de ponto, etc etc mais de 120 itens. Eu precisei editar o status.cgi para adicionar uma quarta coluna para caber tudo na mesma pagina e eu quis tirar o cabeçalho tambem para caber mais coisas na vertical. Eis o que fiz: Editei o arquivo status.c de uma instalacao do nagios, executei o configure e o make all dentro de outro servidor linux para nao sobrecresver nada...peguei o arquivo status.cgi qe foi gerado e copiei no servidor do nagios, com isso, editei o status.c para status.cgi hehehe deve ter algum comando para compilar só o status.c sem compilar tudo...tipo o gcc, deem uma olhada no gcc --help e me avisem se conseguirem, abracos Rodrigo Oleriano(FB e gmail oleriano arroba gmail . com)

    ResponderExcluir
    Respostas
    1. Adicionar mais colunas no Nagios na pagina do Status.cgi, eu consegui como mostrado acima....joga nagios em outro servidor, edita o arquivo status.c, coloca 4 colunas na linha "int overview_columns = 3;", salva o arquivo, roda o configure e o make all, pega o arquivo status.cgi que ele gerou com 4 colunas agora e copia no seu server no meu caso dentro da pasta usr\local\nagios\sbin

      Abracos

      Excluir
  5. Shalla is poor quality.

    We are the worlds leading publisher of Squid 'Native ACL' formatted blacklists, that allow for web filtering directly with Squid proxy. Of course we also offer alternative formats for the most widely used third party plugins, such as DansGuardian and Squidguard. And while our blacklists are subscription based, they are as a result of our efforts, of a much higher degree of quality than the free alternatives.

    We hope to serve you,

    --
    Signed,

    Benjamin E. Nichols
    http://www.squidblacklist.org

    ResponderExcluir

Seguidores