Category ArchiveBlog



News 05:37 PM

Todo carnaval tem seu fim…

Cinco anos se passaram desde que retornei ao Rio de Janeiro para assumir a gerência tecnológica do projeto que viria a se tornar o site HóspedeVIP, maior central de reservas de hotéis online do Brasil.
Nesse período experimentei e implementei as mais diversas soluções de desenvolvimento web, administração de redes e segurança da informação, alta performance e alta disponibilidade.
Graças a excelente equipe com que tive o prazer  de trabalhar, aprendi a cada dia com os erros e acertos de todos, adquirindo maior experiência e aprimorando meus conhecimentos e práticas de gestão e administração.

Em Junho de 2009, após o estabelecimento de parceria com o site Zura!, fui convidado a ajudar na gerência de sua infraestrutura tecnológica, onde uma vez mais, tive a oportunidade de trabalhar com profissionais altamente  qualificados e tecnologia de ponta.


Continue Reading »

Artigos 06:13 PM

(Português) Controle de acessos no Git simples e seguro com Gitosis

Sorry, this entry is only available in Português.

Artigos 12:43 AM

Monitoramento com Zabbix – Parte 2 – Monitorando Hosts e dispositivos

Monitoramento

xyz

Com o servidor e a interface web instalados e configurados, é hora de adicionar os hosts a serem monitorados.
Acesse a interface administrativa,

echo "net-analyzer/zabbix proxy sqlite3" >> /etc/portage/package.use/zabbix
emerge zabbix -uvaND
vim /etc/zabbix/zabbix_proxy.conf

Server=server.localdomain
ServerPort=10051
Hostname=proxy.localdomain
ProxyLocalBuffer=0 #hours (means forever)
ProxyOfflineBuffer=1 #hours
DBName=/var/lib/zabbix/proxydb.sqlite #full path for sqlite only

#/etc/init.d/zabbix-proxy start

#apt-get install zabbix-server-mysql zabbix-frontend-php

Se você deixou o apt fazer a configuração do banco de dados e a definição automáica da senha do banco, é possível que o FrontEnd não funcione, indicando erro na conexão do banco de dados. Se isso ocorrer edite o arquivo /etc/zabbix/zabbix_server.conf, copie a senha do banco de dados e altere no arquivo /etc/dbconfig-common/zabbix-frontend-php.conf
Em seguida execute o comando:
#dpkg-reconfigure zabbix-frontend-php

http://localhost/zabbix/

user: admin
senha: zabbix

Configuration / Hosts
Selecionar “Proxies” no select box e clicar em “Create Proxy”

Dicas 12:58 PM

Erro ao compilar o kernel 2.6.31: implicit declaration of function ‘_cpu_down’

Ao tentar compilar a versão 2.6.31 do kernel linux (com suporte ao Xen) obtive a seguinte mensagem de erro:

kernel/cpu.c: In function 'disable_nonboot_cpus':
kernel/cpu.c:394: error: implicit declaration of function '_cpu_down'
make[1]: *** [kernel/cpu.o] Error 1
make: *** [kernel] Error 2

Uma rápida pesquisa no google me revelou que o problema se encontrava na falta do suporte a hot-pluggable cpu’s. Este recurso permite que CPU’s possam ser ligadas/desligadas durante a execução da máquina, possibilitando a economia de energia e a própria inclusão de novas CPU’s em sistemas multi-processados.
Esse recurso já vem habilitado por padrão caso você esteja configurando o kernel pela primeira vez, mas no meu caso, copiei o arquivo .config de outro kernel que não tinha esse suporte habilitado.

A solução é simples e envolve executar novamente o configurador do kernel para habilitar a opção pertinente ou editar diretamente o arquivo .config, sendo mais aconselhável executar o o configurador (make menuconfig).

A opção que precisa ser habilitada é CONFIG_HOTPLUG_CPU e pode ser encontrada em:

Processor type and features --->
[*] Support for hot-pluggable CPUs

Pronto, agora é só executar o make novamente e aguardar o fim da compilação.

Referências

Artigos 10:39 PM

Monitoramento com Zabbix – Instalação e Configuração

O ZabbixW é um poderoso sistema de monitoramento de hosts e dispositivos, que pode monitorar desde a própria máquina onde está instalado, a milhares de hosts e dispostivos localizados na rede local ou na mais remota localização geográfica.

Sua estrutura é simples e descentralizada e consiste de um aplicativo denominado servidor que coleta e armazena as informações dos hosts em um banco de dados que pode ser SQLiteW, MySQLW, PostgreSQLW ou OracleW; uma interface web para administração / monitoramento feita em PHP, e os agentes que podem ser desde hosts monitorados pelo aplicativo agente do Zabbix quanto os mais variados serviços e dispositivos, acessíveis das mais diversas formas como SNMPW, TCPW, ICMPW E IPMIW.

Nessa série de artigos comentarei a instalação, configuração e utilização do Zabbix nas distribuições GentooW e UbuntuW.

Continue Reading »

Dicas 08:57 AM

Usando kernel vanilla como domU no Xen

O Xen é um dos paravirtualizadores mais famosos do mercado e seu uso está cada vez mais difundido a cada dia que se passa.

Configurar uma instalação básica do Xen nas principais distribuções não é muito difícil e no Gentoo não é diferente. Em geral o processo envolve instalar um kernel customizado no dom0 (a “máquina real”), e instalar os utilitários do Xen também no dom0. Se a CPU em questão tiver suporte a virtualização (flag  svm em arquitetura AMD, ou vmx em arquitetura Intel) é possível utilizar para os domU’s (as “máquinas virtuais”) qualquer versão de Kernel ou de Sistema Operacinal, não necessitando que o mesmo tenha sido previamente preparado (patch) para utilização sob o Xen.

Caso a CPU não tenha suporte a virtualização, é necessário utilizar um Sistema Operacinal ou Kernel devidamente adaptado, o que não costuma ser uma tarefa muito complicada visto que as principais distribuições já orefecem pacotes prontos. No Gentoo apenas é necessário compilar uma versão do mesmo kernel utilizado no dom0 porém com os devidos recursos que dão suporte a inicialização e execução do domU.

Até ai, tudo corre muito bem, sem muitos problemas, no entanto, quando é necessário utilizar uma versão específica de kernel para o domU é que o problema começa, principalmente se for necessário utillizar uma das versões mais recentes do kernel, visto que os patches de suporte ao Xen não costumam ser disponibilizados com a mesma frequência que novas versões do kernel.

Felizmente desde a versão 2.6.23 o kernel vanilla (padrão) do Linux conta com suporte nativo a virtualização, possibilitando que o mesmo seja iniciado como um domU sob o Xen. Para tanto é necessário habilitar no kernel as seguintes opções:

Continue Reading »

Dicas 08:18 PM

IIS + Plesk + PHP e o mistério por trás do erro “502 – Bad Gateway”

Um certo cliente me pediu que desenvolvesse um pequeno script em PHP que fosse capaz de ler um documento do MS-Excel e inserir seus registros numa base mysql.
Usei uma classe bem conhecida para ler arquivos XLS e testei em meu servidor, um Gentoo Linux rodando Apache com PHP 5.
Ao executar o primeiro teste no servidor do cliente, um Windows 2003 Server, o script morreu ao atingir o tempo limite de exeução do PHP.
Modifiquei o script inserindo logo em seu início uma chamada para remover o limite de timeout: set_time_limit(0).
Tentei executar novamente o script e obtive meu primeiro contato com o erro:

“502 Bad Gateway
Web server received an invalid response while acting as a gateway or proxy server.”
Procurando no google encontrei um fórum que mencionava justamente um problema com o trio IIS + Plesk + PHP e a sugestão era de habilitar a extensão ISAPI na configuração do servidor WEB.
Por sorte o cliente tinha os dados de adminstração do servidor então segui os seguintes passos:
1 – Logar na interface Web do Plesk
2 – Entrar na configuração de domínios e escolher o domínio desejado
3 – Entrar em Setup
4 – Habilitar a opção “
5 – Salvar a configuração
Feito isso testei o script e tudo funcionou normalmente sem mais erros misteriosos do IIS.

Dicas 08:15 PM

(Português) E71 – Softwares Indispensáveis

Sorry, this entry is only available in Português.

Dicas 09:10 AM

Código promocional Dreamhost ($50 de desconto)

Pensando em contratar serviço de web hosting? Então não perca tempo e procure a Dreamhost pois com certeza eles têm a melhor relação custo X benefício.

Tenho meu domínio hospedado com eles há cerca de 3 anos e não tenho do que reclamar. Muitos dos meus amigos também utilizam os serviços da Dreamhost.
É claro, não vou mentir que houve um período de cerca de 1 a 2 meses no último ano (se não me engano) em que as coisas lá ficaram problematicas, devido a grande quantidade de novos usuários, mas a política deles foi revista, os planos comerciais re-estruturados e o problema foi sanado.

Se a decisão for pela Dreamhost aproveite o código promocional FREE50BUCKS e garanta já $50 de desconto na assinatura.

Artigos 11:42 AM

Memcached, optimizando aplicações PHP com cache em memória

Aplicações de grande porte tendem a passar por problemas de performance, por N motivos como o crescimento do número de usuários simultâneos, complexidade da lógica, cresicmento da base de dados, dentre outros.

Geralmente o primeiro passo a seguir quando uma aplicação está com a performance degradada é tentar detectar no código os problemas de performance e corrigi-los. Em caso de aplicações WEB um sistema de cache como o do PHP Smarty pode ajudar e quando isso não for o bastante pode ser possível partir para a clusterização dos servidores.

Quando o problema está na base dados, a solução comumente utilizada é clusterizar a base, geralmente adicionando servidores slave que se por um lado melhoram o tempo de resposta de consultas a base, por outro lado perdem no momento da escrita, pois cada nó do cluster deve ser atualizado.

Pensando nesses problemas, Brad Fitzpatrick desenvolveu um sistema de cache em memória distribuido. Fitzpatrick se deparou com o problema de rápido cresicmento da audiência do site LiveJournal.com. Ao chegar a casa dos 20 milhões de usuários por dia, clusters de servidores web e de banco de dados já não eram mais suficientes, e então o Memcached surgiu garantindo rápido acesso aos dados e melhor utilização de recursos.

Continue Reading »

Next Page »