e aê ?!
Estou preparando uma série (com 3 ou 4 partes) sobre monitoramento de rede utilizando o Nagios integrado ao Nagvis e MRTG, tudo via protocolo SNMP.
Aguardem!
12/04/2013
02/04/2013
Redes: Nagios no Debian/Ubuntu - Parte 2
Continuação do post Redes: Nagios no Debian/Ubuntu - Parte 1 ...

Gerenciando hosts Linux Debian
Para instalar todas as bibliotecas necessárias adicione à sua lista de espelhos o repositório "non-free":
/etc/apt/sources.list
deb http://ftp.br.debian.org/debian squeeze main contrib non-free
deb-src http://ftp.br.debian.org/debian squeeze main contrib non-free
$ apt-get install snmp snmp-mibs-downloader -y
Exemplo de configuração:
/etc/snmp/snmpd.conf
agentAddress udp:161
view systemonly included .1.3.6.1.2.1.1
view systemonly included .1.3.6.1.2.1.25.1
rocommunity public default -V systemonly
rouser authOnlyUser
sysLocation pbdnd
sysContact System Administrator <sysadmin@pbdnd.blogspot.com>
sysServices 72
proc mountdnagios
proc ntalkd 4
proc sendmail 10 1
disk / 10000
disk /var 5%
includeAllDisks 10%
load 12 10 5
trapsink localhost public
iquerySecName internalUser
rouser internalUser
defaultMonitors yes
linkUpDownNotifications yes
master agentx
Nagios
Exemplo de configuração para o host com as seguintes configurações:
Endereço IP: 10.20.1.200
Nome do host: srv-deb6-web.pbdnd.blogspot.com
/etc/nagios3/conf.d/srv-deb6-web.cfg
define host {
use generic-host
host_name srv-deb6-web.pbdnd.blogspot.com
alias srv-deb6-web
address 10.20.1.200
}
define service{
use generic-service
host_name srv-deb6-web.pbdnd.blogspot.com
service_description Espaco em Disco
check_command check_all_disks!20%!10%
}
define service{
use generic-service
host_name srv-deb6-web.pbdnd.blogspot.com
service_description No de usuarios logados
check_command check_users!20!50
}
define service{
use generic-service
host_name srv-deb6-web.pbdnd.blogspot.com
service_description No de processos em execucao
check_command check_procs!250!400
}
define service{
use generic-service
host_name srv-deb6-web.pbdnd.blogspot.com
service_description Carga de Processamento Atual
check_command check_load!5.0!4.0!3.0!10.0!6.0!4.0
}

Gerenciando hosts Linux Debian
Para instalar todas as bibliotecas necessárias adicione à sua lista de espelhos o repositório "non-free":
/etc/apt/sources.list
deb http://ftp.br.debian.org/debian squeeze main contrib non-free
deb-src http://ftp.br.debian.org/debian squeeze main contrib non-free
$ apt-get install snmp snmp-mibs-downloader -y
Exemplo de configuração:
/etc/snmp/snmpd.conf
agentAddress udp:161
view systemonly included .1.3.6.1.2.1.1
view systemonly included .1.3.6.1.2.1.25.1
rocommunity public default -V systemonly
rouser authOnlyUser
sysLocation pbdnd
sysContact System Administrator <sysadmin@pbdnd.blogspot.com>
sysServices 72
proc mountdnagios
proc ntalkd 4
proc sendmail 10 1
disk / 10000
disk /var 5%
includeAllDisks 10%
load 12 10 5
trapsink localhost public
iquerySecName internalUser
rouser internalUser
defaultMonitors yes
linkUpDownNotifications yes
master agentx
Nagios
Exemplo de configuração para o host com as seguintes configurações:
Endereço IP: 10.20.1.200
Nome do host: srv-deb6-web.pbdnd.blogspot.com
/etc/nagios3/conf.d/srv-deb6-web.cfg
define host {
use generic-host
host_name srv-deb6-web.pbdnd.blogspot.com
alias srv-deb6-web
address 10.20.1.200
}
define service{
use generic-service
host_name srv-deb6-web.pbdnd.blogspot.com
service_description Espaco em Disco
check_command check_all_disks!20%!10%
}
define service{
use generic-service
host_name srv-deb6-web.pbdnd.blogspot.com
service_description No de usuarios logados
check_command check_users!20!50
}
define service{
use generic-service
host_name srv-deb6-web.pbdnd.blogspot.com
service_description No de processos em execucao
check_command check_procs!250!400
}
define service{
use generic-service
host_name srv-deb6-web.pbdnd.blogspot.com
service_description Carga de Processamento Atual
check_command check_load!5.0!4.0!3.0!10.0!6.0!4.0
}
01/04/2013
Emlur recolhe 30 animais soltos em vias públicas de João Pessoa

A Autarquia Especial Municipal de Limpeza Urbana (Emlur) realizou durante o mês de março, 30 apreensões de animais que estavam abandonados em vias públicas de João Pessoa. Dentre eles, dez são equinos (cavalos) e 20 são muares (jumentos).
Um levantamento realizado pelo gerente de Apreensões de Animais da Emlur, Odemar Araújo, aponta que desde o início de 2013, já foram recolhidos cerca de 83 animais (adultos e/ou filhotes), entre equinos, bovinos e muares.
Para realizar a remoção dos animais, duas equipes integradas por seis pessoas utilizam um caminhão boiadeiro quando solicitado pela população ou pela Polícia Rodoviária Federal (PRF), para auxiliar as rodovias federais.
Todos os animais recolhidos são encaminhados diretamente ao Centro de Apreensões de Animais, que funciona em uma chácara localizada em Engenho Velho, a 12 quilômetros do Centro da Capital.
Após serem encaminhados à chácara, os animais são imediatamente separados e levados para as baias onde recebem capim e água potável, além de serem tratados por um veterinário designado pelo Centro de Vigilância Ambiental e Zoonoses.
Resgate - Para resgatar os animais, os proprietários devem seguir ao Centro de Apreensões e pagar multa de R$ 10 referente ao muá (jumento), R$ 20 ao equino (cavalo) e R$ 30 ao bovino (vaca).
Doação - Caso os animais não sejam resgatados pelos proprietários, após 30 dias de apreensão eles são doados para pessoas que trabalham com reciclagem, cadastradas previamente pelo Centro de Apreensões.
Contato - O serviço de apreensão de animais funciona 24 horas, incluindo nos finais de semana, em caso de emergência. Quem encontrar qualquer animal de grande porte, solto na cidade, pode entrar em contato com a Emlur, por meio do número 0800 083 24 25 ou ainda pelas redes sociais @pmjpEMLUR @LimpinhoDaSilva.
25/03/2013
VBoxHeadLess - Monitor
Por curiosidade acabei desenrolando alguns comandos e scripts para acompanhar o uso dos recursos do notebook pelas máquinas virtuais do VirtualBox
Comandos:
Exibe a cada 2 segundos, por ordem de carga de processamento, o pid, processamento, memória e máquina virtual:
$ watch -n 2 -d -t 'ps -C VBoxHeadless --no-headers -o cpuid,pcpu,pmem,cmd | sort -rnk 2'
Exibe a cada 2 segundos, por ordem de consumo total (2 cores) de processamento, as máquinas virtuais em execução:
$ watch -n 2 -d -t ./script/sandbox/vboxmoncpu.sh
/script/sandbox/vboxmoncpu.sh
#!/bin/bash
./script/sandbox/vboxcpu.sh | awk '{print $1 " " $2 " " $3 " " $4}' | sort -k 4 -nr
/script/sandbox/vboxcpu.sh
ps -C VBoxHeadless -o cpuid,pcpu,pmem,cmd --no-headers | grep " 0" | awk '{sum += $2} END {print "PCPU 0 --- " sum}'
ps -C VBoxHeadless -o cpuid,pcpu,pmem,cmd --no-headers | grep " 1" | awk '{sum += $2} END {print "PCPU 1 --- " sum}'
Comandos:
Exibe a cada 2 segundos, por ordem de carga de processamento, o pid, processamento, memória e máquina virtual:
$ watch -n 2 -d -t 'ps -C VBoxHeadless --no-headers -o cpuid,pcpu,pmem,cmd | sort -rnk 2'
Exibe a cada 2 segundos, por ordem de consumo do disco (read/write/swap), as máquinas virtuais em execução:
$ watch -n2 -d -t 'sudo ./script/sandbox/vboxdisk.sh | sort -nrk 3'
/script/sandbox/vboxdisk.sh
#!/bin/bash
pgrep VBoxHeadless |
while read vboxpid; do
echo `ps -o cmd --no-headers $vboxpid | awk '{print $3}'` `grep "read_bytes\|write_bytes" /proc/$vboxpid/io | grep -v can` " swap: " `awk -v name="$n" '/^Swap/{total += $2} END {print total}' /proc/$vboxpid/smaps`
done
$ watch -n 2 -d -t ./script/sandbox/vboxmoncpu.sh
/script/sandbox/vboxmoncpu.sh
#!/bin/bash
./script/sandbox/vboxcpu.sh | awk '{print $1 " " $2 " " $3 " " $4}' | sort -k 4 -nr
/script/sandbox/vboxcpu.sh
ps -C VBoxHeadless -o cpuid,pcpu,pmem,cmd --no-headers | grep " 0" | awk '{sum += $2} END {print "PCPU 0 --- " sum}'
ps -C VBoxHeadless -o cpuid,pcpu,pmem,cmd --no-headers | grep " 1" | awk '{sum += $2} END {print "PCPU 1 --- " sum}'
25/02/2013
Bash one liner - Looking Glass Checker (Brazil)
Alog Datacenter
curl -s --request POST 'http://lg.alog.com.br/cgi-bin/lg.cgi' --data 'query=ping¶meters=ip.address' | grep Pack | sed 's/]*>/\n/g' | sed 's/<[^>]*>//g'
CGIBR
curl -s --request POST 'http://registro.br/cgi-bin/nicbr/trt' --data 'HOST=ip.address' | sed 's/]*>/\n/g' | sed 's/IPv4/\n/g' | sed 's/<[^>]*>//g' | grep -v Registro
CTBC
curl -s --request POST 'http://lg.ctbc.com.br' --data 'ip=4&source=junos-200.225.196.164&comando=ping&destination=ip.address' | sed 's/]*>/\n/g'
curl -s --request POST 'http://lg.ctbc.com.br'--data 'ip=4&source=junos-200.225.199.8&comando=ping&destination=ip.address' | sed 's/]*>/\n/g'
RNP
curl -s --request POST 'http://lg.ceo.rnp.br/lg/' --data 'router=Rio de Janeiro, RJ&query=ping&addr=ip.address' | sed 's/<[^>]*>//g'
curl -s --request POST 'http://lg.ceo.rnp.br/lg/' --data 'router=Minas Gerais, MG&query=ping&addr=ip.address' | sed 's/<[^>]*>//g'
curl -s --request POST 'http://lg.ceo.rnp.br/lg/' --data 'router=Brasilia, DF&query=ping&addr=ip.address' | sed 's/<[^>]*>//g'
curl -s --request POST 'http://lg.ceo.rnp.br/lg/' --data 'router=Sao Paulo, SP&query=ping&addr=ip.address' | sed 's/<[^>]*>//g'
Now you can check your host status from outside your network.
curl -s --request POST 'http://lg.alog.com.br/cgi-bin/lg.cgi' --data 'query=ping¶meters=ip.address' | grep Pack | sed 's/]*>/\n/g' | sed 's/<[^>]*>//g'
CGIBR
curl -s --request POST 'http://registro.br/cgi-bin/nicbr/trt' --data 'HOST=ip.address' | sed 's/]*>/\n/g' | sed 's/IPv4/\n/g' | sed 's/<[^>]*>//g' | grep -v Registro
CTBC
curl -s --request POST 'http://lg.ctbc.com.br' --data 'ip=4&source=junos-200.225.196.164&comando=ping&destination=ip.address' | sed 's/]*>/\n/g'
curl -s --request POST 'http://lg.ctbc.com.br'--data 'ip=4&source=junos-200.225.199.8&comando=ping&destination=ip.address' | sed 's/]*>/\n/g'
RNP
curl -s --request POST 'http://lg.ceo.rnp.br/lg/' --data 'router=Rio de Janeiro, RJ&query=ping&addr=ip.address' | sed 's/<[^>]*>//g'
curl -s --request POST 'http://lg.ceo.rnp.br/lg/' --data 'router=Minas Gerais, MG&query=ping&addr=ip.address' | sed 's/<[^>]*>//g'
curl -s --request POST 'http://lg.ceo.rnp.br/lg/' --data 'router=Brasilia, DF&query=ping&addr=ip.address' | sed 's/<[^>]*>//g'
curl -s --request POST 'http://lg.ceo.rnp.br/lg/' --data 'router=Sao Paulo, SP&query=ping&addr=ip.address' | sed 's/<[^>]*>//g'
Now you can check your host status from outside your network.
14/02/2013
Bash one-liner - Swap Check
Search for processes using swap.
for i in $(find /proc/ -maxdepth 1 -type d -regex "^/proc/[0-9]+"); do test -f ${i}/smaps && echo "Program: "$(ps -p $(echo $i | cut -d '/' -f 3) -o comm --no-headers) " PID: " $(echo $i | cut -d '/' -f 3) $(grep Swap ${i}/smaps 2> /dev/null | awk '{ print $2 }') ; done
Another one:
awk -v name="$n" '/^Swap/{total += $2} END {print total}' /proc/[0-9]*/smaps
Edit
And so on:
SUM=0 && total=0 && for i in $(sudo find /proc/ -maxdepth 1 -type d -regex "^/proc/[0-9]+"); do test -f ${i}/smaps && export swap=$(sudo awk '/^Swap/{if($2>0) SUM += $2 } END { print SUM}' ${i}/smaps 2> /dev/null) && echo "Programa: "$(ps -p $(echo $i | cut -d '/' -f 3) -o comm --no-headers | cut -d ":" -f 2- | cut -f 2- -d " " ) "PID:" $(echo $i | cut -d '/' -f 3) "Swap: " $swap && if [[ ! -z "$swap" ]]; then let "total += $swap"; fi; done && echo $total
Sources:
http://stackoverflow.com/questions/479953/how-to-find-out-which-processes-are-swapping-in-linux
http://linuxgazette.net/164/misc/lg/2_cent_tip__checking_the_amount_of_swapped_out_memory_owned_by_a_process.html
http://linuxgazette.net/164/misc/lg/2_cent_tip__checking_the_amount_of_swapped_out_memory_owned_by_a_process.html
Assinar:
Postagens (Atom)



