As emocionantes aventuras de um sysadmin linux na procura pelo uptime perfeito!

VULoad, para observar load average em terminais

Posted: outubro 5th, 2010 | Author: coredump | Filed under: Linux e Open Source, Programação | Tags: , ,

Update: dei uma mexida nele e já coloquei a versão nova no github. Agora ele parece um pouco mais rápido para sair. Atualizei o screenshot também (os mais atentos vão notar que as barras estão sendo desenhadas com dados de teste, bem mais altos que os loads mostrados no cabeçalho).

Nesse final de semana de eleição tivemos de colocar umas coisas no ar na EBC para atender as demandas de infraestrutura dos sistemas suportando as rádios, agência de notícias, apuração em tempo real e tv ao vivo, e para isso fizemos vários testes incluíndo balanceamento e carga. Num desses um dos colegas do desenvolvimento me sacaneou porque eu estava usando os gráficos do Zabbix para monitorar o load dos servidores, enquanto usava o iftop em um terminator todo repartido para ver como andava a rede dos mesmos.

Como nada é mais inspirador que uma boa aporrinhação-construtiva, tirei um tempo nas madrugadas para fazer um trequinho em python-ncurses para a próximas vez que eu precisar monitorar o Load Average de máquinas em modo console. Na verdade, eu imagino que já exista, mas como eu ando precisando reanimar meus skills em python eu nem me esforcei muito para procurar. Abaixo dois screenshots da paradinha em funcionamento:

Essa é minha máquina local, com quatro processadores e pouco load. Não tinha nada a mão para gerar um bom enfileiramento de processos então ficou assim mesmo.

A idéia é a seguinte: até o meio da tela eu mostro uma barra linear que vai até o valor de Load Average igual ao número de CPUs disponíveis na sua máquina (ou seja, até onde o seu Load Average está tranquilo, leia isso aqui para entender). Depois disso eu uso um multiplicador configurável (no código claro) para mostrar a barra de excesso de load. Visualmente é fácil de interpretar, mesmo se estiver com vários abertos na: se a barra passou do meio da tela o load está alto demais e processos estão começando a enfileirar, quanto mais pro final da tela, pior.

Ainda tem algumas coisinhas cosméticas para mexer, e eu ainda tenho de testar em uma máquina com load alto de verdade, para ver como ele se comporta (por exemplo, se ele vai conseguir se atualizar corretamente com um grande enfileiramento acontecendo).

Mais um screenshot, agora usando o terminator para mostrar duas telas simultâneas, no meu VPS que só tem uma CPU:

O código está no Github, você pode baixar direto clicando aqui. Obviamente, é GPL. É um bom exemplo de como usar ncurses com python também, para quem quiser ter um feeling de como era programar na era dos terminais. Por exemplo, eu tinha me esquecido como era ter de se lembrar de re-escrever a tela. Ou fazer barras usando código ASCII. Mas foi bem divertido. Vou dar mais umas hackeadas nele depois se pensar em mais informações ou alguma otimização que for interessante de fazer.

intel.

No Comments »

LinuxCon Brasil 2010 – Dia 2

Posted: setembro 9th, 2010 | Author: coredump | Filed under: Linux e Open Source, Uncategorized | Tags: , , ,

Continuando, o segundo dia da LinuxCon prometia ser tão interessante quanto o primeiro, mas como meu voo estava marcado para mais tarde eu tinha de ficar esperto com bagagem, aeroporto e essas coisas.

O Panel com os desenvolvedores do Kernel foi bem interessante. Foi meio um QA sobre futuro e passado do Kernel, com direito a casos pitorescos como “Qual o código menos mantido no código do kernel” (resposta, a camada TTY).

Outras palestras interessantes do dia incluiram a do Glauber da Red Hat sobre KVM, que me deixou bastante animado com relação a evolução do projeto. Ou “produto” como eles chamam lá na corporação deles.

Teve um palestrante que faltou. Foi… Trágico.

A palestra do Thomas Gleixner do RT Patch foi hilária. Eles são realmente meio malucos, mas aparentemente o patch está a caminho de ser aprovado. Claro que existem penalidades de performance em se usar um sistema Real Time, em torno de 25% até, mas se você quer usar um real time kernel você tem de se conformar.

No final das contas, a qualidade das palestras da LinuxCon é inegável, principalmente dos palestrantes internacionais.

intel.

1 Comment »

LinuxCon Brasil 2010 – Dia 1

Posted: setembro 1st, 2010 | Author: coredump | Filed under: Linux e Open Source | Tags: , , ,

Depois de algum tempo sem ir a eventos de SL eu finalmente me animei a ir ao LinuxCon. Não vou negar que a presença do Linus, Andrew Morton e Jon Corbet da LWN não contaram na decisão, claro, é por isso que eles são chamados keynote speakers.

Primeiro dia, cheguei mais o fike já no final da palestra sobre MeeGo, mas nem senti muito porque o assunto não é láááá esse meu interesse todo (ojeriza a QT dá nisso). Eu meio que assisti a fala do Ian Pratt do Xen Project sobre os novos rumos do Xen e quando terminou tudo que eu conseguia pensar era em KVM. Ele meio que me perdeu quando mostrou a Virtualização para Notebooks. A idéia é boa? É boaish… Mas tem formas menos overkill de implementar, me parece.

A keynote seguinte foi o bate papo entre Linus Torvalds, Andrew Morton e Jim Zemlin da Linux Foundation, foi bem interessante, cheio de coisa que estamos carecas de saber mas que imagino tenha sido a primeira vez que muita gente tenha visto e em alguns casos como o meu foi a primeira vez que eu vi ao vivo, como por exemplo o fato do Linus ser um tosco :) Mas ele fez o que pode para ser simpático e vencer a timidez que lhe é característica, imagino que por ser uma das raras visitas ao Brasil ele se dobrou para ser um pouco mais public relations, deu autógrafos, posou para algumas fotos (não para todas, tinha muita gente).

Andrew Morton e Coredump

Andrew Morton, coredump e boné do debian

O Andrew Morton foi menos assediado, consegui uma foto com ele para minha coleção tiete.

O problema do assédio é bem complicado. Por um lado, o Linus tinha de entender que existem pessoas que vão tentar tirar fotos e conversar e pedir autógrafos e tal. Pelo outro lado, isso deve ser um SACO, e a incapacidade de se locomover por um evento pode ser um ótimo motivo para nunca mais voltar. Na verdade, me disseram que na convenção da Austrália espalharam cartazes pedindo para não aporrinharem demais o coitado se quisessem que ele voltasse.

Vem com a fama. Não imagino que ele queria ser famoso quando ele escolheu ser programador na verdade. Como ele mesmo disse, ele só escolheu uma profissão que garantiria que ele sempre teria dinheiro pra viver :P

Linus Torvalds

Linus, cercado e autografando

Depois do almoço acabei perdendo a palestra do Jon Corbet, no finalzinho que peguei ele falava sobre System Tap e performance counters no Linux, boas novidades para quem sente falta de um dtrace de gente grande como nós pobres sysadmins.

A palestra do Jeremy Allison foi uma grata surpresa. Ele trabalha no Google com Samba,  estava no evento como representante do projeto e é um dos criadores da parada. Ele falou muito sobre como usar o Samba em dispositivos embarcados ou produtos próprios, como interagir (e como não interagir) com o Dev Team do Samba. Também falou da preocupação com a segurança e de alguns projetos interessantes, como uma empresa (não citada) que está trabalhando com o Samba 4 para fornecer uma solução completa de substituição do Active Directory e um projeto que ele está trabalhando no Google, que também usa Samba 4 e que, de acordo com ele, se contasse teria de nos matar depois. Mas só o prospecto de Samba 4 + Google dá o que pensar né?

Abordei ele depois da palestra para conversar sobre Samba e consegui uma boa confirmação de que a versão atual no git HEAD do projeto já consegue substituir um AD com um número razoável de usuários (1500-2000) desde que não tenha relações de confiança demais, com sucesso, e que mais ou menos no meio do ano que vem o Samba 4 deve estar sendo lançado.

Chupa. Active. Directory.

Depois dessa palestra eu fiquei mais zanzando e fazendo um networking com uns conhecidos que eu não via a tempos. Otávio,  e faw do Debian, andrelop, Luiz Blanes, Corinto Meffe, Deivi Khun (esse é meu vizinho na verdade), Julio Neves, e por ai vai.

Cena engraçada e frase punk do dia:

Otávio, fike, eu, faw, andrelop e mais uns chegados parados conversando e combinando uma churrascaria

Camarada da Organização:

- E ai, vocês vão no jantar dos famosos?

Todo mundo se entreolha, faw responde:

- Claro que não, você está olhando pro chão de fábrica do software livre.

Amanhã, último dia e volta pra casa. Cheio de idéias! Compra-se dia de 30 horas para implementá-las todas!

intel

No Comments »

Sobre o novo sistema de avaliação de palestras do FISL

Posted: junho 24th, 2010 | Author: coredump | Filed under: Linux e Open Source | Tags: ,

Esse post é uma rant. Nem é tão pela minha palestra não ter sido chamada, é mais pela esquisitisse da coisa.

Para quem não sabe, o FISL mudou a avaliação esse ano. Basicamente, organizaram as palestras em duplas, como se fosse um campeonato, e todo mundo que submeteu palestras ganhou tokens para avaliar 5 palestras, funcionando como um campeonato de Xadrez: você podia escolher qual das duas palestras “ganhava” entre as duas avaliadas, se “empatava” ou ainda podia pular aquelas duas e ir para outras palestras.

Os problemas na minha opinião começam exatamente na opção de ‘pular’ as palestras. Com isso eu pude simplesmente ficar pulando as palestras até cair em uma que eu conhecesse o palestrante ou o assunto e escolhesse aquela. Eu espero que o sistema tenha sido desenhado de forma que todas as palestras recebessem o mesmo número de votos!

O outro problema é que essa forma de avaliação virou um concurso de popularidade. Obviamente as pessoas escolheram palestras de pessoas que conheciam, ou de assuntos extremamente populares mas não necessariamente relevantes.

Alguns exemplos: Se você usa Java, o FISL não vai ser um lugar interessante para você. Das 20 palestras na trilha PHP/Java, só 3 falam de Java. Na trilha de assuntos emergentes, 5 das 10 palestras são sobre Cloud Computing e 2 sobre virtualização (que é bem ali, pregado em Cloud Computing).

Esse efeito parece ser menos acentuado nas trilhas mais especializadas, como a de Kernel e a de Segurança, mas mesmo assim o que se observa é que os assuntos ‘populares’ foram escolhidos a revelia de assuntos que poderiam ser interessantes, mas que os ‘avaliadores’ (palestrantes) não tinham como julgar.

Por exemplo, na trilha de Desenvolvimento (outras linguagens) você tem palestras sobre Javascript, MySQL Stored Procedures e  Shell Script, mas deixaram palestras sobre Clojure, Scala e C de fora. Isso só demonstra que as pessoas que estavam avaliando estavam pensando no pop, não no realmente interessante. Se você analisar bem as trilhas, vai ver que as palestras escolhidas são sempre as que apresentam uma solução (nem sempre nova), enquanto as que são de aprofundamento em algum assunto ou ferramenta são largadas de lado.

Isso vai de encontro ao que se espera do FISL: palestras que mostrem para quem já trabalha na área temas tecnicamente atraentes ou assuntos populares/básicos? Precisamos realmente de tantas palestras de PHP e Cloud Computing, deixando de fora assuntos não populares mas extremamente interessantes? Eu preferiria ver palestras sobre novas linguagens como Scala e Clojure do que MAIS UMA palestra sobre Shell Script, mas aparentemente eu sou a minoria :)

Acho que é muito bonito isso de ‘democratizar a escolha das palestras’, mas ainda acho que esse tipo de coisa tem de ser resolvida na base de benevolent dictatorship mesmo, ou pelo menos uma forma de garantir que um certo nível de homogeneidade seja mantida.

intel

PS: Claro, a sempre presente palestra “Mulheres e Software Livre” está lá de novo esse ano. É quase uma presença tão garantida quanto o Maddog.

3 Comments »

Para ser um Sysadmin

Posted: março 7th, 2010 | Author: coredump | Filed under: Linux e Open Source, segurança | Tags: , ,

Vendo o formspring do fike eu tentei me lembrar do que um bom sysadmin precisa. Eu e ele terminamos o papo no gtalk, e eis a lista sem uma ordem específica:

  1. Sistemas Operacionais e Organização de Computadores (não adianta tentar ser um sysadmin sem ter um amplo conhecimento de como o SO e Hardware funcionam)
  2. Rede (mesma coisa ali de cima, e aqui estamos falando daquelas chatices de TCP/IP, cabeçalhos, window size, mtu e tudo mais, não só roteamento)
  3. Programação (tem de saber algum shell script, e mais uma linguagem de verdade)
  4. Conceito das linguagens utilizadas no ambiente que vai se administrar (java, python, etc…)
  5. Banco de Dados (como eles funcionam, transações, locking, particionamento, tuning)
  6. Inglês (isso é óbvio)

Mas dai você vai dizer “porra, mas esse monte de coisa?”. Acredite, o seu ambiente vai dar merda e você pelo menos tem de ter conhecimento o bastante para apontar a falha (além de ter de resolver).

intel

1 Comment »