O horário de verão está chegando e como sempre muita gente se esquece de como ajustar o relógio de seus servidores.
Na verdade o que precisamos acertar não é o relógio, mas sim o timezone que a máquina está. Nosso timezone para a maior parte do Brasil, é o GMT -3 (Brasilia, SP...), quando entramos no horário de verão, vamos para GMT -2 e simplesmente alterar a hora para menos uma, gera vários problemas com servidor de e-mails (esse é o mais sensível a isso).
Chega de conversa, mas como saber se estou preparado para o horário de verão?
zdump -v America/Sao_Paulo |grep 2011
America/Sao_Paulo Sun Feb 20 01:59:59 2011 UTC = Sat Feb 19 23:59:59 2011 BRST isdst=1 gmtoff=-7200
America/Sao_Paulo Sun Feb 20 02:00:00 2011 UTC = Sat Feb 19 23:00:00 2011 BRT isdst=0 gmtoff=-10800
America/Sao_Paulo Sun Oct 16 02:59:59 2011 UTC = Sat Oct 15 23:59:59 2011 BRT isdst=0 gmtoff=-10800
America/Sao_Paulo Sun Oct 16 03:00:00 2011 UTC = Sun Oct 16 01:00:00 2011 BRST isdst=1 gmtoff=-7200
Mas meu timezone não está atualizado como faço?
Primeiro, visite o seguinte ftp: ftp://ftp.iana.org/tz , baixe o ultimo tzdata[ANO][a-z].tar.gz por exemplo tzdata2011i.tar.gz.
tar -xvzf tzdata2011i.tar.gz
Compile o arquivo contendo todos os timezones para a America do Sul
Copie o arquivo de timezone do estado de São Paulo (no meu caso, alguns outros estados também utilizam esse mesmo timezone)
Verifique sua data, ela deve estar correta, e com o uso do zdump, já deve ser possível verificar.
Duvidas / Sugestões e-mail para:
Marcadores: brst, debian, hora, horario de verão, linux, timezone, zdump, zic
Nagios 3.3.1 - Problemas na hora do make install
Hoje fui fazer um setup de um novo nagios, porém me deparei com o seguinte erro:
do /usr/bin/install -c -m 664 -o nagios -g nagios $file /usr/share/includes/rss; done
Após pesquisar no oraculo, encontrei um post no forum do ubuntu...
Para recuperar do erro:
Execute o ./configure (pode ser o que tem aqui no blog)
Depois siga normalmente com o conjunto de makes (pode ser o que tem aqui no blog também)
Postado por Victor às 12:19 2 comentários:
Marcadores: compilacao, erro, error, error compiling, install, make, make install error, nagios 3, nagios 3.3.1
Postado por Victor às 12:18 2 comentários:
Termômetro USB – TemperNTC
Recentemente comprei um termômetro USB para ver até onde conseguiria chegar com ele.
Comprei esse termômetro no ebay (paguei algo em torno de R$ 15,00) mas é encontrado facilmente nesses sites de compras chineses fica a dica.
Em um primeiro momento após pesquisar um pouco, encontrei um código na internet, mas ele tinha um problema, era escrito para o termômetro Temper que só tem um sensor de temperatura.
O TemperNTC, tem um "rabicho" (termômetro externo) com um sensor de temperatura extra, assim você consegue fazer duas medições em locais distintos.
Partindo dai, iniciei minha pesquisa sobre como fazer-lo funcionar no linux, depois de algumas googladas, achei um módulo do Perl que tem suporte para ambos Temper, porém era necessário transformar a saída do módulo em alguma coisa funcional.
A saída do lsusb dele é:
Bus 003 Device 013: ID 1130:660c Tenx Technology, Inc.
Preparando para utilizar o termômetro
Para o módulo ser instalado corretamente, algumas dependências são necessárias, portanto instale:
Depois instale o CPAN e os módulos necessários
Esse processo leva alguns minutos, responda todas as perguntas das instalações com as respostas padrão (tecle enter)
Feito isso, já é possível retirar alguns dados do termômetro.
my $pcsensor  = Device::USB::PCSensor::HidTEMPer->new();
my @devices   = $pcsensor->list_devices();
my $interno_grande = $devices[0]->internal()->celsius();
my $externo_grande = $devices[0]->external()->celsius();
my $interno = substr $interno_grande, 0, 5;
my $externo = substr $externo_grande, 0, 5;
printf "Termometro Interno: $interno C\n";
printf "Termometro Externo: $externo C\n";
Salve o arquivo, dê permissão de execução, a saída desse pequeno código é:
# ./termometro
Termometro Interno: 21.12 C
Termometro Externo: 25.02 C
Para quem comprou o Temper, é só utilizar a função internal, as funções external não devem ser utilizadas.
Legal, mas para mim isso ainda não é o suficiente. Gostaria de gerar alguns gráficos disso, é possível? SIM!
Como utilizo o Munin para fazer a geração dos gráficos da minha rede, resolvi escrever um plugin que faz a captura dos dados e coloca-los tudo em um único gráfico.
Preparando o ambiente para executar o script
1 – Instalar o munin e o sudo
aptitude install munin munin-node sudo
Com tudo instalado, já é possível ver localmente os gráficos, se você tem um web server instalado, ele estará disponível em http://seuwebserver/munin
2 – Configurar o sudo
nobody  ALL=(root) NOPASSWD:/usr/local/bin/temper_run.pl
3 – Criar os arquivos
Crie o arquivo temper em /usr/share/munin/plugins e insira o seguinte conteúdo:
sudo /usr/local/bin/temper_run.pl $1
Crie o arquivo temper_run.pl em /usr/local/bin com o seguinte conteúdo:
# Script to monitor ambient temperature using the TemperNTC
# Writen by Victor Sartori 10/10 - victor (NoS Pa M) sartori (d o t ) eti [d o t] br
# All values in Celsius, if you wanna use it in fahrenheit, change the conversion function to fahrenheit on line 50 and 51
if ("$ARGV[0]" eq "autoconf") {
if ("$ARGV[0]" eq "config") {
my $LOAD_WARN="28";
my $LOAD_CRIT="32";
print "graph_vlabel Temperature\n";
print "temperE.label External temperature in Celsius\n";
print "temperE.warning $LOAD_WARN\n";
print "temperE.critical $LOAD_CRIT\n";
print "temperI.label Internal temperature in Celsius\n";
print "temperI.warning $LOAD_WARN\n";
print "temperI.critical $LOAD_CRIT\n";
print "graph_info Temperature.\n";
print "temper.info Average temperature.\n";
my $internal_big = $devices[0]->internal()->celsius();
my $external_big = $devices[0]->external()->celsius();
# This is a workarround becouse the external value shows so much decimal values.
my $internal = substr $internal_big, 0, 5;
my $external = substr $external_big, 0, 5;
print "temperI.value $internal\n";
print "temperE.value $external\n";
Dê permissão de execução para os dois arquivos, reinicie o munin-node
A saída do gráfico fica assim:
O termômetro ficou com o sensor interno desrregulado, ele marcava sempre 75 ou 110, resolvi colocando em uma máquina windows, instalando o software que vem junto e alterando a parte de calibração para 0, ele voltou a marcar a temperatura normalmente.
O plugin não rodava direto no munin-node, descobri que é necessário ter privilégios de root para acessar o dispositivo, por isso existe dois scripts e a configuração do sudo.
Estou escrevendo um script para o nagios também, assim que ele estiver pronto faço um novo post aqui.
O fonte do script do munin está em inglês, porque irei posta-lo no munin-exchange.
Quem for um programador perl e souber como faço isso sem o sudo, fico grato se me explicar, não tenho muita experiencia com perl.
Dúvidas, sugestões, enviem um e-mail para:
Postado por Victor às 11:31 2 comentários:
Marcadores: driver, driver linux, temper, temperntc, termometro, termômetro usb, usb
Instalando o Debian via pendrive
Fala pessoal…..
Esses dias fui fazer um setup em um server e estava sem mídias (mentira, eu quebrei um cd-rw que funcionava, sem querer :p ). Qual a solução mais simples?
Utilizar uma instalação via internet, o NETINST do Debian.
Após uma olhada rápida no site do Debian achei a solução, rápida e simples!
Um pendrive >= a 256 mb
Uma máquina linux
Imagem iso do Debian netinst
Você irá precisar da imagem de boot do sistema, o debian fornece isso aqui:
Para sistemas i386 (32 bits) ou amd64 (64bits)
Os arquivos tem em média 20 mb
Download da imagem iso do netinst
Sistemas i386 (32 bits) ou amd64 (64bits)
Os arquivos tem 150 mb e 130 mb (valores arredondados)
ATENÇÃO TODOS OS SEUS DADOS DO PENDRIVE SERÃO DELETADOS APÓS ESSES COMANDOS!! ATENÇÃO!!
Descompacte a imagem no pendrive
Para isso, descubra onde o seu pendrive foi detectado, duas formas de se fazer isso:
Eu prefiro usar o fdisk -l, é mais simples de se identificar o dispositivo (localize-o pelo tamanho)
Nesse exemplo, irei usar o dispositivo em /dev/sdc, tenha certeza que é o dispositivo correto, caso contrário vc irá apagar informações de outros dispositivos, e isso não é legal