DBA com Informações de Administrador de Redes

Bem, na maioria das empresas existe um DBA e um Sysadmin, cada um cuidando da sua parte.

Geralmente o DBA não tem senha de root nas maquinas e não tem acesso a N informações gerenciais do Sistema Operacional por ser um dever do Sysadmin.

Porém nós DBAs temos apenas os servidores de banco para cuidar, e os Sysadmins tem apenas TODOS os servidores para cuidar, seja ele qual for (Eu já fui Sysadmin, acredite .. a coisa é feia !!!).

Muitas vezes temos problemas de lentidão no banco ou alguma coisa que empaca no meio do caminho, ai perdemos um considerável tempo no banco procurando o motivo, quando na verdade pode ser falta de espaço em disco ou a memória que já foi … e da-lhe swap (que deixa o servidor mais lento).

Pois bem em alguns casos é mais dificil conseguir esse tipo de informação do Sysadmim, pois o volume de trabalho do mesmo não é pouco não é?

Para facilitar a vida, segue 2 scripts bem simples que nos envia por email uma mensagem com o espaçamento em disco e o consumo de memória. Com isso temos a informação que precisamos sem ter que depender do Sysadmin, basta colocar o script para se executado no cron e pronto !!!!!

espaco_disco.sh

#!/bin/bash
#Cria as variáveis com a informação de uma coluna específica
#do comando df (Exibe o espaço em disco), nesse caso a coluna
#contendo o nome da partição
pgbackup_desc=`df -h /dev/sda5 | tail -1 |awk ‘{print $6}’`
pgteste_desc=`df -h /dev/sda6 | tail -1 |awk ‘{print $6}’`
postgres_desc=`df -h /dev/sdb1 | tail -1 |awk ‘{print $6}’`

#Cria as variáveis com a informação de uma coluna específica
#do comando df, nesse caso a coluna contendo o espaço livre em
#MB da partição

pgbackup_livre=`df -h /dev/sda5 | tail -1 | awk ‘{print $4}’`
p
gteste_livre=`df -h /dev/sda6 | tail -1 | awk ‘{print $4}’`
p
ostgres_livre=`df -h /dev/sdb1 | tail -1 | awk ‘{print $4}’`

#Cria as variáveis com a informação de uma coluna específica
#do comando df, nesse caso a coluna contendo o espaço utilizado
#em % partição

pgbackup_porc=`df -h /dev/sda5 | tail -1 | awk ‘{print $5}’`
p
gteste_porc=`df -h /dev/sda6 | tail -1 | awk ‘{print $5}’`
p
ostgres_porc=`df -h /dev/sdb1 | tail -1 | awk ‘{print $5}’`

#Cria as variáveis com a informação de uma coluna específica
#do comando df, nesse caso a coluna contendo o espaço utilizado
# em MB

pgbackup_usado=`df -h /dev/sda5 | tail -1 | awk ‘{print $3}’`
p
gteste_usado=`df -h /dev/sda6 | tail -1 | awk ‘{print $3}’`
p
ostgres_usado=`df -h /dev/sdb1 | tail -1 | awk ‘{print $3}’`

tamanho_maximo=”80%”
host=`hostname`

#Se o valor do resultado da % usada for maior que o limite
#estipulado, é enviado um email notificando a situação crítica,
#com os valores dos tamanhos atuais

if [ $pgbackup_porc \> $tamanho_maximo ] ;
then
echo `date` > mail.txt
echo “Espaço na partição $pgbackup_desc no servidor $host está
crítico” >> mail.txt
echo “Permissão máxima de utilização = 80% ” >> mail.txt
echo “Espaço Utilizado = $pgbackup_porc ($pgbackup_usado) ” >>
mail.txt
echo “Espaço disponível = $pgbackup_livre” >> mail.txt

elif [ $pgteste_porc \> $tamanho_maximo ] ;
then
echo `date` > mail.txt
echo “Espaço na partição $pgteste_desc no servidor $host está
crítico” >> mail.txt
echo “Permissão máxima de utilização = 80% ” >> mail.txt
echo “Espaço Utilizado = $pgteste_porc ($pgteste_usado) ” >>
mail.txt
echo “Espaço disponível = $pgteste_livre” >> mail.txt

elif [ $postgres_porc \> $tamanho_maximo ] ;
t
hen
e
cho `date` > mail.txt
e
cho “Espaço na partição $postgres_desc no servidor $host está
crítico” >> mail.txt
e
cho “Permissão máxima de utilização = 80% ” >> mail.txt
e
cho “Espaço Utilizado = $postgres_porc ($postgres_usado) ” >>
mail.txt
e
cho “Espaço disponível = $postgres_livre” >> mail.txt
mail -s “ESPAÇO EM DISCO NO SERVIDOR $host ESTÁ CRÍTICO” dba@dominio.com.br < mail.txt

else

echo `date` > mail.txt
echo “O Espaço nas partições $pgbackup_desc, $pgteste_desc,
$postgres_desc no servidor $host estão OK” >> mail.txt
echo “Permissão máxima de utilização = 80% ” >> mail.txt
echo “Espaço Utilizado em $pgbackup_desc = $pgbackup_porc
($pgbackup_usado) ” >> mail.txt
echo “Espaço Utilizado em $pgteste_desc = $pgpgteste_porc
($pgteste_usado) ” >> mail.txt
echo “Espaço Utilizado em $postgres_desc = $postgres_porc
($postgres_usado) ” >> mail.txt
echo “Espaço disponível em $pgbackup_desc = $pgbackup_livre” >>
mail.txt
echo “Espaço disponível em $pgteste_desc = $pgteste_livre” >>
mail.txt
echo “Espaço disponível em $postgres_desc = $postgres_livre” >>
mail.txt

fi

ger_memoria.sh

#!/bin/bash
#Cria as variáveis com a informação de uma coluna específica
#do comando free (Exibe a memória ram usada e a memória SWAP)

free -m > memoria.txt
swap_usada=`awk ‘NR == 4 {print $3}’ memoria.txt`
swap_livre=`awk ‘NR == 4 {print $4}’ memoria.txt`
ram_usada=`awk ‘NR == 2 {print $3}’ memoria.txt`
ram_livre=`awk ‘NR == 2 {print $4}’ memoria.txt`
ram_total=`awk ‘NR == 2 {print $2}’ memoria.txt`
swap_total=`awk ‘NR == 4 {print $2}’ memoria.txt`
ram_minima=`expr $ram_total / 4`
ram_limite=`expr $ram_total – $ram_minima`

# Se a memória usada for maior que a estipulada, envia um email
# com os valores atuais
if [ $ram_usada \> $ram_limite ] ;
then
echo `date` > mail2.txt
echo “Uso da Memória Ultrapassou 75%” >> mail2.txt
echo “Permissão máxima de utilização = 75% ” >> mail2.txt
echo “Memória Total = $ram_total MB” >> mail2.txt
echo “Memória Utilizada = $ram_usada MB” >> mail2.txt
echo “Memória Livre = $ram_livre MB” >> mail2.txt
echo “Swap Usada = $swap_usada (Total da Swap = $swap_total MB)” >> mail2.txt
mail -s “USO DE MEMÓRIA ULTRAPASSOU 75%” dba@dominio.com.br <
mail2.txt

else
echo `date` > mail2.txt
echo “Uso da Memória OK” >> mail2.txt
echo “Permissão máxima de utilização = 75% ” >> mail2.txt
echo “Memória Total = $ram_total MB” >> mail2.txt
echo “Memória Utilizada = $ram_usada MB” >> mail2.txt
echo “Memória Livre = $ram_livre MB” >> mail2.txt
echo “Swap Usada = $swap_usada (Total da Swap = $swap_total
MB)” >> mail2.txt

fi

Espero que tenha ajudado!!
Kenia Milene

2 thoughts on “DBA com Informações de Administrador de Redes

  1. Bom dia.

    Sabemos que toda empresa existe um dba, isso quer dizer se existe dba existe a necessidade de mascarar alguns dados sensiveis que não podem ser entregues para uma area de desenvolvimento, teste, homologação, etc.

    Por este motivo existe um software de segurança e prevenção a roubo de dados muito eficiente chamado Camouflage.

    Este software realiza uma serie de mascaraentos, tornando os dados reais em dados aparentemente reais porém sem consistencia nenhuma caso possa cair em mãos erradas.

    Caso algum dba se interesse por esta solução inovadora e muito eficiente, peço a gentileza de me procurar que terei a satisfação de mostrar na pratica como funciona o software.

    Atencioamente,

    Márcio Duarte
    marcio.duarte@polysoftwrecom.br
    (11) 3845-4420

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s