Descobrindo o tamanho de um database no MySQL

Pegar o tamanho de todas os databases do MySQL:

SELECT TABLE_SCHEMA AS ‘Database_name’, TABLE_NAME AS ‘=’Table_Name’, CONCAT(ROUND(((DATA_LENGTH + INDEX_LENGTH – DATA_FREE) / 1024 / 1024),” Mb”) AS Size FROM INFORMATION_SCHEMA.TABLES;

Pegar o tamanho de todas as tabelas de uma única database no MySQL:

SELECT TABLE_SCHEMA AS ‘Database_name’, TABLE_NAME AS ‘Table_Name’, CONCAT (ROUND((DATA_LENGTH + INDEX_LENGTH – DATA_FREE) / 1024/ 1024),2), ” MB”) AS Size FROM INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA = ‘nome_da_sua_database’;

Pegar o tamanho total de uma única database:

SELECT (SUM(ROUND(((DATA_LENGTH + INDEX_LENGTH – DATA_FREE) / 1024 / 1024), 2)), ” MB”) AS Size FROM INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA = ‘nome_da_sua_data_base’;

VMware Server with an out-of-date copy of the application

Dica para quando o VMWare indicar que a máquina virtual está fora de moda (out-of-date)

Fui informado pelo plantão que uma de nossas máquinas virtuais, rodando em um antigo VMWare Server 2.02, após ter sido reiniciada não queria ligar e informava que a aplicação estava “fora de moda” (out-of-date). Ué, eu não sabia que máquinas virtuais se ligavam em moda?! Conectei ao servidor aonde reside o VMWare Server 2.02 e tentei reinicar a máquina virtual e a bagaça do VMWare Server 2.02 me informou o seguinte:

Description:

Message from VMHost02: You have started VMware Server with an out-of-date copy of the application.  VMware Server cannot power on virtual machines using this copy (version 2.0.2).  To power on this virtual machine, run VMware Server from the default location.

Peraí!! O VMWare estava no servidor aonde eu estava conectado, como eu deveria executar o VMWare de sua localização Padrão?! Malditos alertas de eventos que não indicam nada! Se você quiser informações de verdade revire os logs da máquina virtual, lá sim tem as informações de verdade.

Ao ler o arquivo de log vmware-0.log encontrei o problema e a dica para resolve-lo.

Jul 10 16:50:45.725: vmx| PowerOnJul 10 16:50:45.725: vmx| VMX_PowerOn: VMX build 203138, UI build -1Jul 10 16:50:45.725: vmx| VMX_PowerOn: Error: VMX build 203138 doesn’t match UI (no build number set, version 2.0.2).  Failing power-on operation. Use vmx.noUIBuildNumberCheck to skip this check.
Jul 10 16:50:45.725: vmx| Msg_Post: Error
Jul 10 16:50:45.725: vmx| [msg.main.versionMismatch] You have started VMware Server with an out-of-date copy of the application.  VMware Server cannot power on virtual machines using this copy (version 2.0.2).  To power on this virtual machine, run VMware Server from the default location.—————————————-

Bastou apenas incluir a seguinte entrada no arquivo vmx da máquina virtual e liga-la para que ela voltasse a operação:

vmx.noUIBuildNumberCheck = “TRUE”

Espero que essa dica ajude a quem por alguma ventura ainda esteja utilizando o VMWare 2.02 e encare o mesmo problema que o meu.


Adicionando Roda estaticas no VMWare ESXi

Dica rápida para adicionar rotas estaticas no ESXi.

Para adicionar uma rota primeiramente conecte via console local (Alt+F1) ou via SSH e execute o esxcfg-route.

~# esxcfg-route -a 192.168.0.0/24 192.168.1.2

Para remover uma rota estatica

~# esxcfg-route -d 192.168.0.0/24 192.168.1.2

Para listar as rotas

~ # esxcfg-route -l
VMkernel Routes:
Network          Netmask          Gateway          Interface
10.192.168.1.0      255.255.255.0  Local Subnet     vmk1
200.198.219.204   255.255.255.224  Local Subnet     vmk0
192.168.0.0       255.255.255.0    192.168.1.2   vmk1
default          0.0.0.0          200.198.219.192   vmk0

Migrando os dados do MRTG para RRDTool

MRTG vs RRDTool

A idéia do projeto é simples migrar os dados do MRTG (.log e .old) para a estrutura mais robusta do RRDTool, isso em um servidor FreeBSD.

Em nosso cenário o MRTG já estava instalado e gerando seus graficos e logs a mais de 02 anos mas nunca se havia atentado para a utilização do RRDTool. Primeiramente vamos instalr o RRDTool.

[root@kratos ~]# pkg_add -rv rrdtool

Provavelmente irá baixar um monte de dependências (inclui pacotes GD, varios pacotes perl e etc).
Despois de terminada a instalação do rrdtool e dependências iremos configurar o MRTG para funcionar com o rrdtool, ou seja, os arquivos .log e .old gerados pelo MRTG serão trocados pelos arquivos .rrd.

Adicione as seguintes linhas no arquivo de configuração do MRTG, no meu caso o arquivo foi o /etc/mrtg.cfg.
O arquivo deverá ficar assim:

RunAsDaemon:Yes
Interval:5

LogFormat: rrdtool
PathAdd: /usr/local/bin/
LibAdd: /usr/local/lib/perl5/site_perl/5.8.9/mach/

Include:/usr/local/etc/mrtg/poseidon.cfg
Include:/usr/local/etc/mrtg/apolo.cfg
Include:/usr/local/etc/mrtg/hades.cfg
Include:/usr/local/etc/mrtg/zeus.cfg

Salve o arquivo e reinicie o MRTG. A partir desse momento o MRTG irá gerar começar a gerar os arquivos .rrd referente aos hosts no configurador no seu mrtg.cfg. O legal é que os arquivos de dados antigos do MRTG (.log e .old) serão mantidos e os arquivos .rrd irão ser criados.

O MRTG irá parar de gerar os gráficos após essa ação os graficos serão gerados agora através de “queries” nos arquivos .rrd o que permitira através de um script buscar dados bem antigos e transforma-los em gráficos.

Para que possamos ter de volta os gráficos iremos baixar o mrtg-rrd um script CGI em perl que irá gerar os gáficos de volta para a gente. Podemos baixa-lo em ftp://ftp.linux.cz/pub/linux/people/jan_kasprzak/mrtg-rrd/mrtg-rrd-0.7.tar.gz.

Após baixar o script basta descompacta-lo.

[root@kratos ~]# tar xzvf mrtg-rrd-0.7.tar.gz
x mrtg-rrd-0.7/
x mrtg-rrd-0.7/COPYING
x mrtg-rrd-0.7/FAQ
x mrtg-rrd-0.7/TODO
x mrtg-rrd-0.7/Makefile
x mrtg-rrd-0.7/mrtg-rrd.cgi
x mrtg-rrd-0.7/ChangeLog

Uma ver descompactado não é necessário compilar apenas copiar o arquivo mrtg-rrd.cgi para o cgi-bin do seu apache.

[root@kratos ~]# mrtg-rrd-0.7/mrtg-rrd.cgi  /usr/local/www/apache22/cgi-bin/

Após a copia do mrtg-rrd.cgi para o cgi-bin é necessário informar no mesmo aonde está o arquivo de configuração do MRTG. Para isso edite o mrtg-rrd.cgi da seguinte forma:

Antes:
# EDIT THIS to reflect all your MRTG config files
BEGIN { @config_files = qw(/home/fadmin/mrtg/cfg/mrtg.cfg); }

Depois:
# EDIT THIS to reflect all your MRTG config files
BEGIN { @config_files = qw(/etc/mrtg.cfg); }

Dessa forma os antigos hosts vistos no MRTG serão novamente vistos no mrtg-rrd.cgi mas, ainda não acabou. Agora iremos alterar a permissão do diretorio do MRTG para que o usuário do apache possa gerar os graficos.

[root@kratos ~]# chown www:mrtg /usr/local/mrtg/

[root@kratos ~]# chmod -R g+rw /usr/local/mrtg/

Excelente!! Agora é só acessar o mrtg-rr.cgi.

Ex: http://kratos.deusdaguerra.com.br/cgi-bin/mrtg-rrd.cgi ou http://kratos.desudaguerra.com.br/mrtg/

Todos os dados anteriores dos seu MRTG estarão lá intactos.

Antes do RRDToll

Antes do MRTG com rrdtool

Depois do RRDTool

MRTG depois do RRD-toolEspero que o tutorial ajude!

Até a próxima!

WordPress Themes