•
OK, então você usa linux e conhece o ‘top‘, item básico no repertório de qualquer sysadmin, que permite acompanhar algumas informações sobre a carga do sistema e processos. Essa ferramenta antiga e poderosa, é de uma idéia tão simples porem tão prática, que ganhou um termo para designar ferramentas semelhantes, ferramentas “top-like“.
Para se enquadrar em uma ferramenta top-like o candidato tem que:
ser baseado em curses
ter atualizações em intervalos pré-definidos
ter formato tabulado
e opcionalmente permitir interação com os objetos analisados
Fiz uma lista com 16 ferramentas top-like disponíveis no Ubuntu 9.04. Enquanto fazia a pesquisa, encontrei pelo menos mais meia dúzia sem pacotes para o ubuntu, e se for considerar as que eu não encontrei esse número deve subir consideravelmente.
Continue lendo!
Tags:
network,
performance,
processos,
tools,
troubleshooting,
virtualização
•
Esse meme está rolando em muitos planetas. Fiquei curioso e resolvi brincar!
Aí está o resultado.

Tags:
performance
•
A volta do twitter vivo
Ontem a noite acessando meu e-mail, encontro uma mensagem nova com o título: ” Nelson Abu S. R. Jr is now following you on Twitter! “ Aí eu pensei, que legal, ganhei um seguidor no twitter!
Momento de silêncio… ( o tico acordando o teco )
Pera aí, eu não tenho twitter.
Fui clicando e descubro isso: http://twitter.com/smilecaolho. Pois é, ao que tudo indica, em Março de 2007 eu criei uma conta no Twitter, eu não sei exatamente por que fiz isso, até onde me lembro eu acho o twitter um serviço meio sem propósito, mas eu fiz. Nesse caso vou encarar isso como um sinal do Deus dos Ateus, e experimentar novamente essa naba!
Hd fantasma
Resumo da ópera, formatei meu antigo desktop, botei o Ubuntu Server 9.04 e agora ele virou um Gateway que está compartilhando a Internet com os vizinhos. Desde que fiz isso, quase toda noite quando ia dormir ouvia um barulho baixinho - mas irritante - vindo do HD do “Servidor”.
Só ontem fui descobrir o que era! Eu havia me esquecido de trocar a porta do sshd, e toda noite recebia milhares de tentativas de conexão provenientes de máquinas comprometidas na Internet. E cada tentativa era registrada em /var/log/auth.log causando o barulho baixinho e irritante.
Porta trocada, hd novamente silencioso, e agora posso arrumar outra desculpa para minha insônia.
Tags:
Humor,
Segurança
•
Na tarde de sábado eu precisava pegar as portas abertas no servidor, da forma mais Real Time possível. Primeira idéia? Naturalmente, foi parsear o resultado do netstat e ‘grepar’ o LISTEN ou OUÇA, mas depois imaginei que beber diretamente da fonte pudesse fazer o negócio andar mais rápido. Pesquisa daqui, pesquisa dali, aparentemente o netstat pega suas informações dos arquivos em /proc/net.
Após umas horinhas consegui o protótipo inicial do código que preciso. Mas durante a caminhada perdi o foco e acabei brincando um pouco mais com o /proc/net/tcp, no fim tinha um netstat simplificado feito em Python.
Então se alguém algum dia precisar recuperar informações de conexões ao estilo netstat aí está o código:
#!/usr/bin/python
# Criado por Ricardo Pascal, qualquer dúvida ou
# contribuição mande para 'pascal.linux' no gmail!
# Pode usar a vontade só lembre-se de citar a autoria ;)
# Agradecimento ao pessoal do #python-br na freenode.
# A galera lá sempre ajuda.
PROC_TCP = "/proc/net/tcp"
STATE = {
'01':'ESTABLISHED',
'02':'SYN_SENT',
'03':'SYN_RECV',
'04':'FIN_WAIT1',
'05':'FIN_WAIT2',
'06':'TIME_WAIT',
'07':'CLOSE',
'08':'CLOSE_WAIT',
'09':'LAST_ACK',
'0A':'LISTEN',
'0B':'CLOSING'
}
tcp_FH = open(PROC_TCP,'r')
content = tcp_FH.readlines()
content.pop(0) # remove header
tcp_FH.close()
def hex2dec(s):
return int(s,16)
def ip(s):
return str(hex2dec(s[6:8])) +"."+ str(hex2dec(s[4:6])) +"."+ \
str(hex2dec(s[2:4])) +"."+ str(hex2dec(s[0:2]))
def remove_empty(list):
return [x for x in list if x !='']
def get_list(c):
result = []
result.append(['ID','IP','PORT','rIP','rPORT','STATS'])
for lines in content:
line_array = remove_empty(lines.split(' '))
line = [line_array[0], line_array[1].split(':'), \
line_array[2].split(":"),line_array[3]]
line = [line[0], ip(line[1][0]), hex2dec(line[1][1]), \
ip(line[2][0]), hex2dec(line[2][1]), STATE[(line[3])]]
result.append(line)
return result
if __name__ == '__main__':
for lines in get_list(content):
print lines |
PS. Quando eu tiver tempo eu refaço a cama de gato que ta ali na função get_list() e ip().
Tags:
HowToPython,
network,
performance,
Python
•
Imagino que no final vou acabar usando o Standalone WSGI Server (engine do CherryPy) com a solução apresentada no Static. Mas até lá continuo fazendo meus testes com o CherryPy mesmo.
Tags:
framework,
performance,
Python,
troubleshooting,
webserver,
wsgi
•
É algo que me irrita profundamente, servidores mal aproveitados que por sua vez demandam mais servidores! Alem dos óbvios custos financeiros envolvidos, existe também o fator “Sysadmin puto da cara” e “Sysadmin pagando o pato por falha no desenvolvimento”.
Essa é a recomendação de leitura da semana:
Hardware is Expensive, Programmers are Cheap
Hardware is Expensive, Programmers are Cheap II
Vale citar que esses textos foram escritos em resposta a esse outro:
Hardware is Cheap, Programmers are Expensive
Tags:
escalabilidade,
performance
•
Recebi o convite essa tarde e já estou com o UbuntuOne rodando no meu laptop. O processo de instalação foi extremamente simples, não levou 5 min. No pouco uso que fiz ainda não encontrei nenhum problema, o próximo passo é instalar no dekstop lá onde eu trabalho.
Até agora só não me agradou o fato de o programa criar a pasta Ubuntu One no meu $HOME. Eu sou meio nervoso em se tratando da organização do meu $HOME, mas acho que posso me acostumar, ou achar onde mudar essa configuração e acrescentar um . (ponto) no início da pasta, afinal o que os olhos não vêem o cérebro não processa =)
E aqui quem quiser pode ver uma screenshot do UO rodando.
Tags:
backup,
Cloud,
desktop,
Ubuntu
•
Função que converte tamanhos de arquivos em um formato legível para humanos. Não lembro onde achei, se alguém souber o link para o site original por favor me avise.
Update: Enquanto limpava os bookmarks achei o site em que encontrei o código
#!/usr/bin/python
import os
def sizeof_fmt(num):
for x in ['bytes','KB','MB','GB','TB']:
if num < 1024.0:
return "%3.1f%s" % (num, x)
num /= 1024.0
if __name__ == "__main__":
lista = os.listdir('.')
for file in lista:
print "File: %s Size: %s" % ((file),(sizeof_fmt(os.path.getsize(file)))) |
Tags:
HowToPython
•
Não sei quando foi, mas aconteceu. Era algo que eu imaginava a algum tempo: um dropbox da vida mantido pela canonical e integrado ao Ubuntu. O projeto em Beta se chama UbuntuOne, e infelizmente depende de um “invitation” para participar ( eu já solicitei o meu ).
Na versão gratuita são oferecidos 2gb de espaço para o usuário, um ícone na área de notificação permite o acesso as funcionalidades do produto, que no momento são: integração com o Nautilus, capacidade de compartilhar arquivos com outros usuários, sincronização e uma interface Web que permite o acesso aos dados.
Alem da versão gratuita,existe também a versão paga, que por enquanto tem como único diferencial o espaço, são 10gb por 10 doletas mensais.
Antes que alguém pergunte, o protocolo em que está sendo desenvolvido o UO é livre e o cliente é open source. Contudo o servidor é da Canonical e não existem planos de disponibilizar o código fonte! Mas nada impede que alguém desenvolva um servidor próprio baseado nas especificações públicas.
Em um futuro próximo vai ser liberado uma API(fato) em cima do CouchDB(meio-fato) para que desenvolvedores possam projetar suas apps e trabalhar diretamente com o UO. Isso vai servir para facilitar a sincronização de dados dos diversos aplicativos do Ubuntu entre máquinas diferentes.
Update:
Leia também: http://tarzxvf.com/ubuntu-one-primeiras-impressoes
Tags:
backup,
Cloud,
desktop,
Ubuntu
•
Ontem a noite fiz a instalação do Ubuntu 9.04, e até agora só tive 4 problemas. São eles:
- O driver Open Source para placa de Vídeo ATI as vezes “pisca” a tela.
- O driver proprietário fglrx causa um crash no sistema.
- O Liferea trava logo depois de abrir.
- O ctrl+alt+backspace não funciona.
Os 3 primeiros são bugs, e só me resta esperar uma atualização. Já o lance do backspace dizem que é feature! Tá bom…
Enfim, para desabilitar essa “feature” basta adicionar no fim do seu xorg.conf:
Section "ServerFlags"
Option "DontZap" "False"
EndSection |
Outra alternativa válida é rodar:
pascal@workaholic:~$ sudo apt-get install dontzap
seguido de:
pascal@workaholic:~$ dontzap - -disable
Tags:
desktop,
Ubuntu