quarta-feira, 10 de julho de 2013

RDP (Remote Desktop Protocol) Oracle VirtualBox

Para realizar uma conexão remota em uma máquina virtual do VirtualBox via RDP usando Ubuntu 12.04 faça os seguintes passos:
Na VM que desejas conectar vá em "Configurações" - "Monitor" - "Tela Remota" 
Marque a checkbox "Habilitar Servidor"
Abra o shell e digite o seguinte comando:
$ rdesktop -a 16 -N 192.168.192.168:3389
Onde 192.168.192.168 é o IP da máquina onde está sendo rodada a VM
Caso não funcionar certifique de que o pacote de extensão "Oracle_VM_VirtualBox_Extension_Pack-4.2.16-86992.vbox-extpack" esta instalado em
"Arquivo" - "Preferências" -"Extensões"
Caso não esteja instalado realizar o download aqui e adicione esta extensão e repetir o comando
$ rdesktop -a 16 -N 192.168.192.168:3389
Fontes acessada em 10/07/2013
http://www.downloadcrew.com/article/20279-virtualbox_extension_pack

terça-feira, 25 de junho de 2013

Zabbix - Monitoramento de Servidores [Instalação]

Realize o download do package Zabbix 2.0.6 em :
http://www.zabbix.com/download.php

No terminal acesse o MySQL
$ mysql -uusuario -psenha
mysql> create database zabbix;
mysql> exit
Entre no diretório do package Zabbix:
$ cd /home/desenv/zabbix-2.0.6/database/mysql
Importe os sqls:
$ mysql -uusuario -psenha zabbix < schema.sql
$ mysql -uusuario -psenha zabbix < images.sql
$ mysql -uusuario -psenha zabbix < data.sql 
Após configure a ativação dos modulos do Zabbix:
$ ./configure --enable-server --enable-agent --with-mysql 
           --enable-ipv6 --with-net-snmp --with-libcurl
E compile:
$ sudo make install
Crie um arquivo com o nome zabbix em /etc/apache2/conf.d/:
$ sudo nano /etc/apache2/conf.d/zabbix
E acrescente isso:
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value date.timezone America/Sao_Paulo
Aponte seu apache para o package do Zabbix.
home/desenv/zabbix-2.0.6/frontends/php/
Restart o apache:
$ sudo service apache2 restart
Agora siga os passos do instalação via browser ou se preferir acesse o manual em :
https://www.zabbix.com/documentation/doku.php?id=2.0/manual/installation/install

Um passo do final da instalação terás algo como :
Press the "Download configuration file" button, download
 the configuration file and save it as "/home/desenv/zabbix-2.0.6/frontends/php/conf/zabbix.conf.php"
Faça o donwload e jogue o arquivo em home/desenv/zabbix-2.0.6/frontends/php/conf/.

Depois é só se logar no sistema e pronto Zabbix instalado.

Fontes acessadas em 25/06/2013:
https://www.zabbix.com/documentation/doku.php?id=2.0/manual/installation/install
http://www.zabbix.com/download.php

segunda-feira, 17 de junho de 2013

Script Munin/FreeBSD - Monitoramento de temperatura

Verifique se o módulo de monitoramento de temperatura foi inicializado:
 # kldstat 
 Id Refs Address    Size     Name
 1   12 0xc0400000 972234   kernel
 2    1 0xc0d73000 164e8    geom_mirror.ko
 3    1 0xc0d8a000 58e0     if_vlan.ko
 4    1 0xc0d90000 36d6c    pf.ko
 5    1 0xc0dc7000 295c     coretemp.ko
 6    1 0xc0dca000 6a32c    acpi.ko
 7    1 0xc67fa000 22000    linux.ko
Caso o módulo já esteja em execução, utilize 'sysctl' para verificar a temperatura:
# sysctl -a | grep temperature

 dev.cpu.0.temperature: 68
Se o modulo 'NÃO' está carregado edit o arquivo '/boot/loader.conf' acrescentando:
 coretemp_load="YES" 
Reinicie a máquina e rode novamente o comando:
# sysctl -a | grep temperature
Para fazer o script para o Munin faça o seguinte:
Como 'root' acesse '/usr/local/etc/munin/plugins/' e crie o seguinte script:
 #!/usr/local/bin/bash
 case $1 in
  config)
    echo "graph_title CPU Temperatures";
    echo "graph_vtitle Celsius";
    echo "graph_args --base 1000 -l 0";
    echo "graph_category sensors";

    for n in $(eval echo "{0..$(expr $(sysctl -n hw.ncpu) - 1)"})
    do
     echo "core${n}.label Core ${n}";
    done

  exit 0;;
 esac

 for n in $(eval echo "{0..$(expr $(sysctl -n hw.ncpu) - 1)"})
 do
   echo -n "core${n}.value $(sysctl -n dev.cpu.${n}.temperature).0"
 done
Salve o script como por exemplo 'cpu_temp'.
Rode o seguinte comando:
 # chmod + x cpu_temp 
Para obter a temperatura execute
 # ./cpu_temp
Para obter as informações de configuração execute
 # ./cpu_temp config
O resultado com o Munin é algo como:

quarta-feira, 12 de junho de 2013

Munin - Monitoramento de temperatura para servidores Linux

Munin é uma ferramenta de monitoramento de recursos de rede que podem ajudar a analisar as tendências e recursos. A instalação padrão fornece uma grande quantidade de gráficos.

Caso não tenha os plugins do Munin instalados em sua máquina digite:

$ sudo apt-get install munin-plugins-extra
$ sudo apt-get install lm-sensors

 Como ''root'' rode:

$ sensors

Caso nenhum resultado exibido suba o modulo "coretemp"

$ modprobe coretemp

Faça um link simbólico

$ ln -s /usr/share/munin/plugins/sensors_ /etc/munin/plugins/sensors_temp

Acesse /etc/munin/plugins e rode

$ sudo ./sensors_temp

A saida é algo semelhante a :

temp1.value 40.0 temp2.value 40.0 temp3.value 39.0

Pronto terás as informações de temperatura do seu server no Munin.
Link relacionado :
http://wiki.kartbuilding.net/index.php/Munin_Statistics

quinta-feira, 16 de maio de 2013

FIND e REPLACE com SED

Sed significa "Stream EDitor" como o próprio nome diz "editor de fluxo", é um editor NÃO "convencional" pois não usa interatividade em tela com o arquivo a ser editado e é executado via linha de comando utilizando o "shell"(linux).
Utilizado para editar arquivos de extensão ".txt",".php",".html" dentre outros.

O meu problema era alterar mais de 200 arquivos em PHP trocando os links absolutos por links relativos, e a grande solução para não alterar um por um foi a utilização do SED.

Exemplo de comando utilizado:

$ find /home/user/projetos/ -type f -exec sed -i 's/ANTIGO/NOVO/g' {} \;

Você consegui alterar todos os arquivos que estão dentro do diretório "/home/user/projetos/" e que possuir a palavra "ANTIGO" por "NOVO".

Caso precisa alterar apenas um arquivo use:

$ sed -i 's/ANTIGO/NOVO/g' /home/user/projetos/arquivo.txt

Para mais opções de utilização do SED digite:

$ man sed

Fontes acessadas em 17/05/2013:
 http://www.brunolinux.com/02-The_Terminal/Find_and%20Replace_with_Sed.html
http://pt.kioskea.net/faq/8760-sed-introducao-ao-sed-part-i


quinta-feira, 17 de janeiro de 2013

The xdebug extension is not loaded. No code coverage will be generated.

Após ter instalado o framework PHPUnit para realizar os teste unitários dos códigos desenvolvidos, houve a necessidade de se ter um melhor controle ou visualização do que já havia testado e o que ainda faltava testar, onde o PHPUnit disponibiliza de dashboard interativo de visualização de seus testes.

Através do parâmetro [--coverage-html] passado para o phpunit é possível ter acesso a esse "painel" através do browser.

O comando para geração desse dashboard é:

root@Notebook: /home/desenv/site/TesteUnit$ phpunit --colors --coverage-html ./reports CadastroAdminTest

Onde meu retorno era algo como :

PHPUnit 3.7.13 by Sebastian Bergmann.

The xdebug extension is not loaded. No code coverage will be generated.

....

Time: 0 seconds, Memory: 4.75Mb

OK (4 tests, 6 assertions)

No qual não era possível gerar o dashboard.

A solução para esse problema foi encontrada no site abaixo acessado em (18/01/2013): http://blog.mac2k3.be/2010/05/upgrading-ubuntu-9-10-to-10-4-php-and-xdebug-problems/

Onde no meu caso precisou-se instalar php5-xdebug com o comando:
sudo apt-get install php5-xdebug

Adicionar a linha:
zend_extension="/usr/lib/php5/20060613/xdebug.so"
 
No arquivo :
/etc/php5/apache2/php.ini
 
Pois possui-a php-pear e
php5-dev
em uma versão mais nova. 
 
Após a adição da linha realizei o restart do servidor apache2
e rodei novamente o comando:
phpunit --colors --coverage-html ./reports CadastroAdminTest
 
E meu retorno agora é :
 
PHPUnit 3.7.13 by Sebastian Bergmann.

....

Time: 0 seconds, Memory: 4.75Mb

OK (4 tests, 6 assertions)

Generating code coverage report in HTML format ... done

Conforme o esperado.














  

quarta-feira, 19 de dezembro de 2012

Problema na identificação das portas serial no Arduino com o Ubuntu 12.04


Tive algumas experiência de desenvolver aplicações em Arduino no Ubuntu 11.04, mas nunca havia desenvolvido no 12.04, quando fui utilizar tive um grande problema na identificação das portas serial usb,não conseguia configurar pela IDE qualquer porta usb, estava desabilitada a opção no menu "Tools->Serial Port", impossibilitando de realizar qualquer teste com o Arduino quanto menos desenvolver algo.

Pelo terminal verifiquei usando o seguinte comando:
$ dmesg

E meu problema era algo como :

usb 1-1.3: new full-speed USB device number 18 using ehci_hcd
usb 1-1.3: device not accepting address 18, error -32
usb 1-1.3: new full-speed USB device number 19 using ehci_hcd
usb 1-1.3: device not accepting address 19, error -32
hub 1-1:1.0: unable to enumerate USB device on port 4

Solução:

sudo usermod -a -G tty name_user
sudo usermod -a -G dialout name_user

Após feito isso reiniciei e funcionou.