Mostrar mensagens com a etiqueta graphing. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta graphing. Mostrar todas as mensagens

sábado, 31 de março de 2012

greygraph on CentOS

Today I gave a look at greygraph, a mailgraph-based tool for displaying sqlgrey graphs.

Here are the adaptations to run it in CentOS. Have a look at the README inside the distribution, anyway, After unpacking the distribution tarball:

[code]
mkdir -p /var/cache/greygraph
chgrp apache /var/cache/greygraph/
chmod g+w /var/cache/greygraph/
[/code]


Review etc/default/greygraph and copy it to /etc/sysconfig/greygraph:
[code]
mv etc/default/greygraph /etc/sysconfig/greygraph
[/code]

Place files and directories directories:
[code]
mkdir -p /usr/share/greygraph
mv usr/lib/cgi-bin/greygraph.cgi /usr/share/greygraph/
mv var/www/css/greygraph.css /usr/share/greygraph/
mv usr/sbin/greygraph /usr/sbin
mkdir -p /var/lib/greygraph
[/code]

As for the SysV script, I've adapted mailgrah's. Download the script greygraph (remove .txt extension).

In the meantime, I'll try to add the generated RRDs to cacti [1, 2], let me know if you managed to do so.

sábado, 10 de abril de 2010

Estes fins de semana

Nota: Este post foi resgatado dos Drafts e é de 30-12-2009...

Este Natal tive tempo de fazer um catchup das notícias (aliás, já devem ter reparado eheh). Esta minha demora em escrever fica pautada por uma presença em Luanda, Angola, e por uns pesadíssimos comprimidos que tive que tomar (e tolerar!! mal ou bem..). Na foto abaixo deixo uma paisagem imensa, algures a meio da viagem, que se estendia para além da curva do horizonte, que foi a primeira sensação dual provocada por África: tão grande e tão... deserto.

luanda-voo

Tive tempo também para um cinema: andava a criticar o facto da oferta não ser nada por aí além, mas fui ver o Avatar, versão em 3D, e.... bem... ainda estou a processar. Neste momento é o meu filme preferido, o que cataloga James Cameron como o melhor realizador, desta vez sem dúvida nenhuma!

Cruzei-me com o Mr. Stanley Jordan a interpretar Stairways to Heaven no pian... perdão, na guitarra! O melhor é mesmo ver :)

E agora umas mais antiguitas, que tinha para aqui guardadas.

Andava farto de ter que lançar 3 ou 4 ferramentas para fazer desenhos para a malta, e dei de caras com estas duas aplicações que talvez venham a simplificar-me/nos a vida: O Gliffy, que já parece integrar com o MediaWiki, e o yUML, que também integra. O caminho há-de ser algures por aí - ou então usar o Google Presentation?

Já uma vez me tinha questionado sobre a complexidade da nossa voz face à simplicidade de um tom/nota acústica, mas nada como isto: estes senhores conseguiram reproduzir voz usando um piano! Bom, e mais qualquer coisinha, é certo...

Noutra frente, e depois de já ter gasto alguns minutos (juro!) a reviver Quake Live, cruzei-me acidentalmente (juro, juro!) com um clássico que merece a atenção, especialmente por ser todo em DHTML/Javscript: o viciante Lemmings!

De volta aos sistemas, andei a experimentar o netconsole. Isto é giro, mas como não deu para usar o logger para escrever para o ring buffer (dmesg), tive que experimentar com um módulo de kernel dummy - e só subindo o nível, com KERN_ERR...!

As férias foram tão grandes que voltei a explorar alguns chapéus coloridos: dei de caras com o fwknop para port knocking, andei a fazer experiências com o ettercap, e li uns artigos giros onde sempre se aprendem mais uns programitas, como no artigo 20 Linux System Monitoring Tools Every SysAdmin Should Know.

domingo, 24 de janeiro de 2010

Início das actividades da Wikimedia Portugal

Este post já deveria ter chegado há muito mais tempo. Mas o tempo não o permitiu...

Não deve ser novidade que a Wikimedia Portugal (WMP) já arrancou o Plano de Actividades para 2010-11. A primeira actividade oficial foi uma apresentação num seminário no Instituto Superior Técnico promovido pela Presidência do Departamento de Engenharia Informática, a convite do prof. José Borbinha, que gostámos muito de conhecer e a quem agradecemos o apoio e disponibilidade que demonstrou para connosco.

A Susana fez uma exposição da Wikimedia Foundation, do nosso contexto WMP, do processo editorial, da estrutura interna dos projectos (utilizadores, categorias, etc), da manutenção, licenciamento, etc.

A apresentação está aqui:
http://wikimedia.pt/download/Wikimedia_Slideshow.pps

Eu juntei-me à festa, atendendo a um público de informática, e apresentei brevemente a plataforma da WMF (servidores, software, arquitectura) mas o grosso da minha mini-apresentação foi para falar de predefinições, dados estruturados e seus benefícios na Wikipédia e, por fim, divaguei um bocadinho até à Web Semântica, conceito para o qual a Wikipédia está a ser bastante utilizada (os tópicos estão resumidos em 2 posts que já tinha feito no blog [1][2]).

A apresentação está aqui:
http://wikimedia.pt/download/Wikimedia_Web_Semantica.pps

sábado, 3 de outubro de 2009

Revisita aos dados estruturados

Há alguns dias num mergulho profundo sobre a utilização de wikis em campos específicos deparei-me com uma "foto" da Wikipédia muito interessante, aqui, que ilustra, entre outras coisas, a actividade na Wikipédia, a vários níveis: Visualizing Science & Tech Activity in Wikipedia:


Fonte: A Beatiful WWW

O website, A Beatiful WWW, dedica-se à extracção e representação dos volumes de informação distintos que conhecemos hoje. Eu já tinha falado nisto e descobri, entretanto, que o Google disponibiliza uma API de representação de dados estruturados.

Consigo pensar numa série de brincadeiras para isto :) Imaginem, por exemplo, juntar isto tudo, logo agora que a Wikimedia vai estar empenhada em manter os conteúdos disponíveis no Amazon Public Data Sets!..

Olhem aqui um exemplo do que pode ser feito, desta vez com Hadoop e Hive: Hot Wikipedia Topics, Served Fresh Daily.

domingo, 27 de setembro de 2009

Listing miscellaneous Apache parameters in SNMP

We recently had to look at a server which occasionaly died with DoS. I was manually monitoring a lot of stuff while I was watching a persistent BIG apache worker popping up occasionally and then disappear (probably being recycled). Yet more rarely I caught two of them. This machine was being flood with blog spam from a botnet. I did the math and soon I found that if the current number of allowed workers was filled the way this was, the machine would start swapping like nuts. This seemed to be the cause.

After corrected the problem (many measures were taken, see below), I searched for cacti templates that could evidence this behaviour. I found that ApacheStats nor the better Apache templates didn't report about Virtual Memory Size (VSZ) nor Resident Set Size (RSS), which is exaplained by mod_status not reporting it either (and they fetch the data by querying mod_status).

So here's a simple way of monitoring these. Suppose there is a server which runs some apache workers you want to monitor, and there is machine to where you want to collect data:

Edit your server's /etc/snmp/snmpd.conf
[code]
# .... other configuration directives
exec .1.3.6.1.4.1.111111.1 ApacheRSS /usr/local/bin/apache-snmp-rss.sh
[/code]

'1.3.6.1.4.1.111111.1' OID is a branch of '.1.3.6.1.4.1' which was assigned with meaning '.iso.org.dod.internet.private.enterprises', which is where one enterprise without IANA assignmed code should place its OIDs. Anyway, you can use any sequence you want.

Create a file named /usr/local/bin/apache-snmp-rss.sh with following contents:
[code]
#!/bin/sh
WORKERS=4
ps h -C httpd -o rss | sort -rn | head -n $WORKERS
[/code]

Notice that httpd is apache's process name in CentOS. In Debian, eg, that would be apache. Now give the script execution rights. Now go to your poller machine, from where you'll do the SNMP queries:
[code]
[root@poller ~]# snmpwalk -v 2c -c public targetserver .1.3.6.1.4.1.111111.1.101
SNMPv2-SMI::enterprises.111111.1.101.1 = STRING: "27856"
SNMPv2-SMI::enterprises.111111.1.101.2 = STRING: "25552"
SNMPv2-SMI::enterprises.111111.1.101.3 = STRING: "24588"
SNMPv2-SMI::enterprises.111111.1.101.4 = STRING: "12040"
[/code]

So this is reporting the 4 most consuming workers (which is the value specified in the script variable WORKERS) with their RSS usage (that's the output of '-o rss' on the script).

Now graphing these values is a bit more complicated, specially because the graphs are usually created on a "fixed number of values" basis. That means whenever your workers number increases or decreases, the script has to cope with it. That's why there is filtering ocurring on the script: first we reverse order them by RSS size, then we get only the first 4 - this means you'll be listing the most consuming workers. To avoid having your graphs asking for more values than the scripts generates, the WORKERS script variable should be adjusted to the minimum apache workers you'll ever have on your system - that should be the httpd.conf StartServers directive.

Now going for the graphs: this is the tricky part as I find cacti a little overcomplicated. However you should be OK with this Netuality post. You should place individual data sources for each of the workers, and group the four in a Graph Template. This is the final result, after lots of struggling trying to get the correct values (I still didn't manage to get the right values, which are ~22KB):

cacti_apache_rss_stats

In this graph you won't notice the events I exposed in the beginning because other measures were taken, including dynamic firewalling, apache tuning and auditing the blogs for comment and track/pingback permissions - we had an user wide open to spam, and that was when the automatic process of cleaning up the blog spam was implemented. In any case, this graph will evidence future similar situations which I hope are over.

I'll try to post the cacti templates as well, as soon as I recover from the struggling :) Drop me a note if you're interested.

sábado, 4 de abril de 2009

Monitorização de plataformas com cacti - LVS

Descobri que existe um módulo completo de Net-SNMP para as estatísticas de IPVS, o net-snmp-lvs-module. O ponto de partida é, naturalmente, a FAQ de LVS, que nos leva para o dito cujo. Os gráficos talvez possam ser mais trabalhados, particularmente no que toca ao valor InActConn, mas para já não tenho tempo.

segunda-feira, 7 de julho de 2008

Ilustrando o código

Ao longo dos anos, tenho encontrado formas alternativas de projectar o código-fonte que se vai fazendo em projectos de larga escala. Este tipo de projectos é um candidato especial, já que é constituído por muitos ficheiros e por várias pessoas, cuja correlação dá resultados surpreendentes. Inclusivamente é uma das fontes de estudo para as ciências sociais e de comportamento.

A utilização do 3D e geração de gráficos 2D sobre os dados evolutivos destes projectos traz-nos perspectivas engraçadíssimas da representação quer da evolução do código, quer do código propriamente dito.

Então temos um projecto, o Code Swarm, que constrói representações orgânicas da evolução de projectos de nome internacional, como o servidor web Apache (site), Python (site), o IDE Eclipse (site) ou o SGBD PostgreSQL (site). O resultado é simplesmente abismal - não se esqueçam de ligar o som.

O mais velhinho destes projectos, pelo menos do meu conhecimento, é o Linux Graphing Project de Rusty Russel, entretanto transformado no Free Code Graphing Project, que fazia uma representação do próprio kernel de Linux.

Outro tipo de projectos que merecem ser mencionados são os visualizadores de tráfego em 3D, como o glTail.rb ou o 3D-tcpdump (vídeo).

Se conhecerem mais, deixem comentário.