Páginas

terça-feira, 25 de junho de 2013

Watch Dog para Nagios

Olá a todos!!!

Como todos já sabem, é possível fazer infinitas customizações no Nagios. Eu mesmo já criei meus próprios plugins usando shell script. Dessa vez, eu tentei algo um pouco mais ousado, que é a criação de um watch dog (sistema automático que detecta falhas e tenta corrigir sozinho) para serviços monitorados pelo Nagios. Na verdade é bem simples, um shell script básico que é executado pelo plugin NRPE. No tutorial que está nesse mesmo blog, vemos que quando utilizamos o NRPE nós configuramos comandos a serem executados no host monitorado através do arquivo nrpe.cfg:

A linha comum para monitorar o Apache num servidor seria:

command[check_http]=/usr/lib/nagios/plugins/check_http -I localhost

O que eu fiz foi criar um script que chama cada comando, ex:

command[check_http]=/usr/lib/nagios/plugins/watch_dog.sh "check_http -I localhost" apache2

Caso o serviço não esteja rodando, ele executa o comando para iniciar o serviço no sistema operacional. Simples, não? Abaixo o script:

#!/bin/bash
# Watch Dog para Nagios 1.0
# Desenvolvido por Rodrigo Garcia em 25/06/2013
# Informe em PDIR="" o caminho para os plugins do Nagios
PDIR="/usr/local/nagios/libexec"
SERV=$(which service)

# O script deve ser chamado colocando como primeiro argumento ($1) o nome do plugin do Nagios e seus argumentos entre aspas
# O segundo argumento ($2) é o nome do serviço a ser executado caso o mesmo não esteja rodando.

$PDIR/$1 $2 > /dev/null

case $? in
"0")
        $PDIR/$1 $2
        ;;
"1")
        $PDIR/$1 $2
        ;;
"2")
        $SERV $2 restart
        if [ $? != "0" ]
        then
                $PDIR/$1 $2
        fi
        ;;
esac

Por enquanto só funciona em Linux. Talvez mais para frente eu desenvolva algo para Windows.
Abraço e até a próxima!!!

sexta-feira, 14 de junho de 2013

Plugin do Nagios para HP-UX

Olá,

Como não encontrei um plugin satisfatório na net que verifcasse a memória no HP-UX eu adaptei um plugin que eu criei para Linux. Abaixo o código para versão 11.31 (para a versão 11.23 mudar o "NR == 5" para "NR == 6"):

#!/sbin/sh
PATH=/sbin:/usr/sbin:/bin:/usr/bin

TMEM=$(swapinfo -tam | awk 'NR == 5 { print $2 }')
UMEM=$(swapinfo -tam | awk 'NR == 5 { print $3 }')
FMEM=$(swapinfo -tam | awk 'NR == 5 { print $4 }')
PMEM=$(echo $(($UMEM * 100 / $TMEM)))

if [ $PMEM -lt $1 ]
        then
                echo "Total(MB)= $TMEM, Livre(MB)= $FMEM Uso(MB)= $UMEM OK|Uso(%)= $PMEM%"
                exit 0
elif [ $PMEM -ge $1  ] && [ $PMEM -lt $2 ]
then
                echo "Total(MB)= $TMEM, Livre(MB)= $FMEM Uso(MB)= $UMEM Atencao!!!|Uso(%)= $PMEM% "
                exit 1
elif [ $PMEM -ge $2 ]
then
                echo "Total(MB)= $TMEM, Livre(MB)= $FMEM Uso(MB)= $UMEM Critico!!!|Uso(%)= $PMEM%"
                exit 2
fi

Espero ter ajudado e até a próxima!!!

quarta-feira, 12 de junho de 2013

Comandos Úteis HP-UX para Administradores Linux

É muito comum acontecer (e aconteceu comigo também) de um administrador Linux pensar que é moleza administrar um sistema Unix HP-UX. Muitos comandos são os mesmos, às vezes muda uma sintaxe ou outra. Porém tem algumas coisas às vezes bem pequenas mas que podem irritar até os mais experientes. Esse pequeno artigo visa ajudar aos que estão habituados com o Linux a se ambientarem no HP-UX.

Para que o backspace funcione (o padrão do sistema é pressionar Esc e em seguida a tecla x para apagar os caracteres) basta digitar o comando:

"stty erase ^?"

E a partir daí já poderá usar o backspace. A dica aqui é incluir esse comando no arquivo .profile que fica na pasta home do usuário, para que sempre que esse usuário logar no sistema, a tecla backspace já fique automaticamente ativada.

O comando "df -h" no Linux nos mostra as partições, os tamanhos, espaço usado, espaço livre, a porcentagem de uso e o ponto de montagem. Esse mesmo comando no HP-UX traz uma saída parecida trazendo o ponto de montagem, a partição e o tamanho em blocos do disco. Para trazer a mesma saída do Linux o comando a ser utilizado é o:

"bdf"

Para mostrar o modelo e arquitetura do servidor, o comando é:

"model"

O HP-UX utiliza pacotes com extensão .depot, e para instalá-los o comando é:

"swinstall -s /caminho/completo/para/o/pacote.depot \*"

Para quem acha que não existe instaladores de pacotes como por exemplo o apt ou yum no HP-UX, eu indico a página http://hpux.connect.org.uk/hppd/packages.html e procure pelo pacote "depothelper" que faz exatamente esse trabalho. A instalação é feita com o comando acima e para executá-lo (como root) o comando é:

"/usr/local/bin/depothelper -h/?"

Quando precisamos desbloquear uma conta de usuário local, devemos executar:

"/usr/lbin/modprpw -k -l usuario"

A opção -k desbloqueia/habilita uma conta, e a opção -l informa ser uma conta local.

Usuários de Linux estão acostumados a iniciar e parar serviços acessando os scripts no diretório "/etc/init.d". Esse padrão não se aplica no HP-UX, mas sim:

"/sbin/init.d"

E os scripts rc (de inicialização) ficam em:

"sbin"

Para sabermos o runlevem do sistema, executamos o comando:

"who -r"

Para completar a nossa linha decomando no Linux usamos a tecla "Tab". No HP-UX utilizamos a tecla "Esc" duas vezes. De forma semelhante, para repetirmos os comandos anteriores no Linux utilizamos a tecla direcional para cima, no HP-UX utilizamos a combinação de teclas "Esc + k".

Para se adicionar um usuário no sistema, o comando é:

"useradd -m usuario"

Para adicionar um usuário a um grupo o comando é:

"usermod -G grupo usuario"

Para os preguiçosos de plantão ou em uma emergência onde não sabe-se os comandos certos, existe uma interface web de administração do sistema. Basta executar o comando:

"smh"

No navegador coloque o ip do servidor seguido da porta 2301:

"http://ip.do.seu.server:2301"

E logue normalmente.

Existe também uma central de administração via shell que é aberta através do comando:

"sam"

Por hoje é só, espero ter sido útil e até a próxima!!!

Fonte: http://www.spritian.com/2012/04/26/useful-hp-ux-commands-for-linux-administrator/

ATUALIZAÇÃO

No sistema Linux, quando precisamos ver a memória total, livre e usada, utilizamos o comando "free". No HP-UX o comando é:

"swapinfo -tam"

quinta-feira, 6 de junho de 2013

Poderes de Super Vaca

Olá a todos,

Muita gente já viu e me perguntou sobre o que significa a mensagem no final da ajuda do APT:

apt-get --help

"Este APT tem poderes de Super Vaca"

 e do Aptitude

aptitude --help

"Este aptitude não contém poderes de Super Vaca"

o que pouca gente sabe é que essas mensagens fazem referência a easter eggs inseridos nos programas. Vamos ao easter egg do APT:

apt-get moo

         (__)
         (oo)
   /------\/
  / |    ||  
 *  /\---/\
    ~~   ~~  
...."Have you mooed today?"...

E é só!

aptitude moo

"Não existem Ovos de Páscoa neste programa."

aptitude moo -v

"Realmente não existem Ovos de Páscoa neste programa."

aptitude moo -vv

"Eu já não lhe disse que não existem Ovos de Páscoa neste programa?"

aptitude moo -vvv

"Pare com isso!"

aptitude moo -vvvv

"Ok, ok, se eu lhe der um Ovo de Páscoa você irá embora?"

aptitude moo -vvvvv

"Tudo bem, você ganhou."

                               /----\
                       -------/      \
                      /               \
                     /                |
   -----------------/                  --------\
   ----------------------------------------------


aptitude moo -vvvvvv


"O que é isso? Isso é um elefante sendo comido por uma cobra, é claro."

E é isso!!! Agora todos sabem o que significa ter ou não poderes de Super Vaca !!!

Abraço e até a próxima!!!