viernes, 14 de marzo de 2014

Glances: échale un ojo a tu sistema Linux

https://github.com/nicolargo/glances

Tengo la suerte de poder administrar un montón de máquinas Linux, corriendo desde RHEL, Debian GNU/Linux, Ubuntu e incluso algún OpenSuSE, y es evidente que todas y cada de estas máquinas deben y están monitorizadas.

En Codery usamos un montón de herramientas muy conocidas para monitorizar procesos y sistemas entre ellas: monit, htop, iptraf, munin e incluso jenkins.

Esta semana he estado pendiente más de lo habitual de una máquina Debian 5.0 que soporta bastante tráfico(100.00 visitas mensuales) con sólo 2GB de RAM. Cansado de usar htop, buscaba una alternativa y me he topado con Glances.

Me ha esta herramienta básicamente por su "todo en uno": tráfico de red, operaciones I/O, procesos, carga del sistema, memoria... Y lo mejor, puede ejecutarse en modo standalone o en modo cliente/servidor :)


La instalación en un sistema basado en Debian GNU/Linux es muy sencilla. En mi caso:

apt-get -y install python-pip python-psutil
pip install Glances


Tenéis toda la información del proyecto en : https://github.com/nicolargo/glances


 ¿Te ha gustado este post? Quizá te interese:

 * Señoras y señores:  jubilen top

 * Mailgraph Postfix


martes, 4 de febrero de 2014

Añadir y actualizar idioma Drupal vía Drush


Con Drush la vida en el planeta Drupal es mucho más sencilla...Instalar, activar y actualizar idiomas vía Drush no podía ser más sencillo. Los pasos

Descargar y activar los módulos.

drush dl drush_language
drush dl l10n_update && drush en -y $_


Añadir idioma "Spanish", actualizar traducciones del core de Drupal y actualizar los módulos contribuídos.

drush language-add es && drush language-enable $_
drush l10n-update-refresh
drush l10n-update



lunes, 27 de enero de 2014

Charset UTF-8 para Debian Wheezy, Apache2 , PHP5 y MySQL

 
 
 
Apache 2
vim /etc/apache2/conf.d/charset
AddDefaultCharset UTF-8 
 
MySQL 
 
$ vim /etc/mysql/conf.d/character.cnf
[client]
default-character-set = utf8
[mysqld]
default-character-set = utf8
character-set-server = utf8
collation-server= utf8_general_ci
init_connect = ‘SET collation_connection = utf8_general_ci’
init_connect = ‘SET NAMES utf8′
[mysqldump]
default-character-set = utf8
[mysqlimport]
default-character-set = utf8
[mysql]
default-character-set = utf8
 
PHP5 
$ vim /etc/php5/apache2/conf.d/charset.ini
[PHP]
default_charset = "utf-8"
[mbstring]
mbstring.language = utf-8
mbstring.internal_encoding = utf-8
mbstring.http_input = utf-8
mbstring.http_output = utf-8 

Debian 
$ dpkg-reconfigure locales

sábado, 25 de enero de 2014

Obradoiro Git en Vigo - Sabádos Libres en Altamar

Git mola, así que si mis amiguetes de GALPon organizan un taller de Git en Vigo, poco más tengo que pensar: vaaaaamos!

En esta ocasión mi compañero de viaje fue Rafael Gaioso (@rrgaioso) , al que además de agradecer su compañía, tengo que agradecer que fuese mi chófer. Pero vamos al grano.

Llegamos alrededor de las 10:15 de la mañana, y tras unos problemas inciales relacionados con el proyector comenzó el "taller" impartido por Jesús Amieiro (@jesusamieiro).

Lo primero que llamó la atención fue la preparación del taller por parte de Jesús. Se nota mucho en este tipo de eventos, cuando el ponente prepara las charlas, ejercicios y ejemplos; y este caso no es una excepción. "Mola" mucho que el ponente distribuya ya los contenidos y los difunda nada más comenzar. La URL de referencia fue:

http://www.jesusamieiro.com/taller-de-introduccion-a-git/

Os recomiendo descargar el PDF de la presentación, nada más y nada menos que 76 hojas! #OMG

Para ser sincero he pasado algún tiempo de la jornada trabajando(y giteando :P ) en un módulo de Drupal que "me tiene loco", pero aún así, mi opinión del taller es muy buena. Breve resumen de "lo bueno" del taller:
  • Los conocimientos del ponente. Usa Git y eso se nota a leguas.
  • La documentación y las referencias.
  • 100% consola con ejemplos constantes "en vivo" proyectados.
  • Los asistentes: consultando continuamente e interactuando a buen ritmo.

[ Jesus Amieiro trabajando con GIT ]

Lo malo del taller:
  • No he encontrado nada malo, en serio. Lo único que podría citar es que al ser un tema tan denso, el espacio entre las sesiones(la próxima es en Marzo), podría ser menor.
 De GALPon y la organización poco más tengo que decir que lo que imagináis: la conexión wifi(teníamos 3 AP a nuestra disposición), a pesar de no ser una T1, funcionó realmente bien, el espacio confortable a pesar de no ser muy grande...

Comentar que en la comida en Xantares Enxebres lo pasamos(eso creo) de cine: risas y frikadas del tipo "eso se compila en una GPU con CUDA..." y....cerveza!!!!

 Así que Miguel, Isaac, Carlos, Guillermo,Jesús y demás GitTroopers : enhorabuena, en Marzo regreso sin duda.





jueves, 16 de enero de 2014

Profiling Drupal 7 con XHProf y Apache2


¿Problemas de rendimiento en Drupal?¿Qué sucede y dónde sucede? Para responder a la segunda pregunta existen las herramientas de "profiling", que nos ayudarán a identificar las funciones que más recursos están consumiendo, el número de llamadas a cada función e infinidad de información a mayores. Si desarrollas con Drupal no puedes prescindir de XHProf.

XHProf es una extensión PECL desarrollada por el equipo de ingeniería de Facebook como alternativa a XDebug que sirve para hacer profiling de aplicaciones PHP.

Su instalación en un entorno Linux + Drupal es muy sencilla.

Instalamos la extensión vía PECL

    pear channel-update pear.php.net
    sudo apt-get install php5-common graphviz
    sudo pecl config-set preferred_state beta
    sudo pecl install xhprof

Creamos el directorio temporal para almacenar los datos. En mi caso :


mkdir /var/tmp/xhprof
chmod 777 /var/tmp/xhprof

Habilitamos la extensión creando el fichero /etc/php5/apache2/conf.d/xhprof.ini con el contenido

[xhprof]
extension=xhprof.so
xhprof.output_dir="/var/tmp/xhprof.conf"

Creamos un "alias" para construir la url de acceso al output de XHProf.

alias /xhprof_html "/usr/share/php/xhprof_html"

Reiniciamos Apache2

apache2ctl -t
service apache2 restart

La integración con Drupal es muy sencilla y se puede realizar directamente desde Drush seguiendo estos pasos:

drush dl devel
drush en devel
drush vset devel_xhprof_enabled 1
drush vset devel_xhprof_directory "/usr/share/php"
drush vset devel_xhprof_url "/xprof_html"

Si pedimos en nuestro navegador la url http://tu.sitio.local/xhprof_html obtendremos todos los datos del profiling.



Bonus: