GreenSQL… WHAT!?

GreenSQL is an Open Source database firewall used to protect databases from SQL injection attacks. GreenSQL works as a proxy and has built in support for MySQL. The logic is based on evaluation of SQL commands using a risk scoring matrix as well as blocking known db administrative commands (DROP, CREATE, etc). GreenSQL is distributed under the GPL license.

Project page

Érre o quê!? Monitoramento ativo via MSN Messenger

Eu estava ouvindo Tool - Hooker with a penis quando me ocorreram algumas idéias. Geralmente, alertas de monitoramento ou de chamados (helpdesk) chegam por e-mail, ou você tem ir em uma página web, atualizar para ver se tem algo novo, etc. Neste meio tempo, é bem simples dar atenção a alguma conversa no MSN, e principalmente se a janela for de alguma delicinha, e foi justamente pensando neste tipo de situaçao que surgiu ele (ou seria ela!?): rööker.rb, um bot para MSN, que possibilita monitoramento ativo dos serviços.

O que o rööker.rb faz:

- existe uma base com todos os clientes, contendo o quê (serviços) roda em quem (empresa);

- existe uma checagem constante dos serviços. Se algum deles cai, no mesmo momento é gerado um alarme, e através deste alarme é possível saber o quê parou em quem;

- no mesmo momento, uma mensagem no MSN é recebida, e esta mensagem traz informações sobre qual serviço parou e em qual empresa. Agora entra a intervenção, ficando a critério “deixar de lado” (pois o chamado não foi aberto pela empresa ainda), ou fazer o serviço voltar;

Na janela do chat é possível digitar comandos, por exemplo:

#c0344 httpd restart

Esta mensagem que envio diz o seguinte: deve ser reiniciado o Apache no cliente c0344. Então o “rööker” conecta via SSH no cliente e faz todo o serviço, simples assim.

Tem mais coisa a ser feita: alarmes via gTalk e twitter. Quando tudo estiver redondinho eu posto o fonte aqui. Estou testando tudo em Linux (CentOS 5.2) e OpenBSD (4.4).

Integrate Ruby and Asterisk (call detail record) using ActiveRecord

First of all, I would like to let you know I’m working with Asterisk PBX again (not enough, but that’s ok).

As far we know, Asterisk can store entire call logs in a database - MySQL at this point. So, let we have some fun with Ruby and Asterisk and Mysql too, and all we want is: retrieve all calls’ time, in seconds, just to know how much time we spent on phone.

Read the rest of this entry »

MySQL 1 of 3: realtime replication

Aqui, mostro como fazer a replicação de dados sem a utilizar mysqldump’s ou rsync’s da vida. Particularmente não sou muito fã do MySQL, só que achei interessante este recurso para cópia em tempo real. Colocando-se no seguinte cenário: uma aplicação que tenha grande fluxo de dados constantemente, com picos variáveis. O problema está no tipo da consulta e no tamanho da resposta, diretamente, se toda a informação passa apenas por um único gargalo. Então, o intuito deste texto (1 de 3: replication, load balance e failover) é preparar o cenário, possibilitando ter uma cópia fiel dos dados em mais de um servidor. O mestre será 10.2.3.9, e o escravo 10.2.3.10.

Read the rest of this entry »