remove www. from host and redirect with 301 on haproxy

If you have a lot of domains on single haproxy frontend and only want domains without www for SEO reasons, you can remove the www. with this configuration

# add header on every incoming request with www
http-request add-header X-Host-Redirect yes if { hdr_beg(host) -i www. }
# math header
acl host_redirect hdr_cnt(X-Host-Redirect) eq 1
# change host header if X-Host-Redirect is present
reqirep ^Host:\ www.(.*)$ Host:\ \1 if host_redirect
# redirect with schema http
redirect code 301 scheme http if host_redirect

bulk delete sql_plan baselines

if any time you have enabled auto capture sqlplan baselines, you can accumulate more of 3000 baselines in few seconds and if you want to disable auto capture again, you must delete all baselines before.

You can do it with this code:

SET SERVEROUTPUT ON;
DECLARE
vResult Binary_Integer;

BEGIN
for vPlan In 
  (SELECT distinct Plan_Name FROM dba_sql_plan_baselines) Loop
    DBMS_OUTPUT.PUT_LINE('Deleting ' || vPLan.Plan_Name );
    vResult := DBMS_SPM.DROP_SQL_PLAN_BASELINE(
               sql_handle=>NULL, 
               plan_name=>vPlan.Plan_Name
    );
END LOOP;
END;
/

Tsuru Paas at Qdqmedia

Begining with the new tech blog, at QDQMEDIA, where I work, I wrote a post in Spanish about Tsuru Paas,  one Platform as a service based on docker, that we use for a few months and we are very pleased.

It allows us, from the operations department, to unleash the talent of the developers, leaving the operations team in time for other work.

Now, Tsuru allows developers to quickly develop Microservices, using the same tools, languages or frameworks ( python, nodejs, java, git, php, django, etc ) they used before, but without the intervention of the operations team

https://tecnologia.qdqmedia.com/tsuru-transformando-el-departamento-de-sistemas-en-un-proveedor-de-servicios.html

Oracle Dashboard with graphite, collectd and pyorastats

Oracle Enterprise Manager console for Oracle database is a very nice tool when you have to view the database performance and take any action on querys, session or any other database activity, but some times you only need to show the performance graphs without login to the EM console.

I used the time series database Graphite to store the results of database performance, so we can see the past performance easily. Completing Graphite, I used grafana to facilitate the creation of dashboards. Graphite consists of three major components: Graphite-Web, Carbon metric daemons and Whisper time-series database library. If you are interested on Graphite you can view the project page on https://github.com/graphite-project/graphite-web

For collecting the database performance data I used collectd that have the wirte_graphite pluging and the pyorastats a python statistics database library with support for graphite and cacti output.
Nginx and uwsgi acts as webserver-appserver at the frontend.

Seguir leyendo

repair root xfs filesystem

I have a lot of kvm virtual machines with xfs on the root filesystem. XFS is a great filesystem from SGI. On the last years its performance and stability has been improved and linux distros like Redhat think on it like default filesystem.

Today one VM report incorrect free space, so

df -h
S.ficheros         Tamaño Usados  Disp Uso% Montado en
/dev/vda1             40G    28G   13G  68% /

give diferent numbers than

du -sch /*

Seguir leyendo

generar paquete deb a partir del código fuente

Para generar un paquete .deb que son los que se usan en ubuntu a partir del codigo fuente de algo que hayamos compilado, podemos usar el comando checkinstall, para ello lo mas normal es ejecutarlo asi:

checkinstall --pkgname=nombre-pkg --pkgversion="1:$(date +%Y%m%d%H%M)" --default

esto nos generara un paquete debian en el directorio actual.

checkinstall 1.6.2, Copyright 2009 Felipe Eduardo Sanchez Diaz Duran
           Este software es distribuído de acuerdo a la GNU GPL

*****************************************
**** Debian package creation selected ***
*****************************************

Este paquete será creado de acuerdo a estos valores:

0 -  Maintainer: [ root@zbox ]
1 -  Summary: [ Paquete deb de pruebas ]
2 -  Name:    [ nombre-pkg ]
3 -  Version: [ 1:201203140101 ]
4 -  Release: [ 1 ]
5 -  License: [ GPL ]
6 -  Group:   [ checkinstall ]
7 -  Architecture: [ amd64 ]
8 -  Source location: [ pruebas_zbox ]
9 -  Alternate source location: [  ]
10 - Requires: [  ]
11 - Provides: [ nombre-pkg ]
12 - Conflicts: [  ]
13 - Replaces: [  ]

el paquete generado puede ser instalado en otras maquinas con dpkg o des instalarlo de la maquina también con dpkg

Seguir leyendo

configuración mando a distancia zbox nano con lirc

Una de las cosas que mas me ha complicado la vida en estos primeros pasos con el nano ha sido el mando a distancia. Después de leer un montón de manuales, ya que no tenia experiencia previa con lirc, he conseguido generar un fichero de configuración para lirc que funciona 100%

Para el que no lo sepa, lirc, linux infrared remote control, es el demonio, lircd que se encarga de la comunicación con los mandos a distancia por infrarojos en las maquinas linux.

Para que lircd consiga levantar, primero tenemos que generar un fichero lircd.conf valido para nuestro mando. Para generarlo, con la distribución lirc de linux, viene la utilidad irrecord que sirve para grabar las pulsaciones de nuestro mando a un fichero de configuración. Tuve que hacer varios intentos siguiendo las instrucciones de irrecord hasta que he conseguido la configuración correcta.

Asi que quiero compartir con vosotros los ficheros de configuración. He llamado al mando zboxremote para que luego en vuestros programas podais hacer referencia a el, pej xbmx:

Este en mi fichero /etc/lirc/lircd.conf

Seguir leyendo

zotax zbox nano ad10 – mi nuevo htpc

Hace unas semana que decidi cambiar el media center que tenia en el salon de casa y desde hace tiempo queria poner un htpc por la libertad que da el tener un ordenador con capacidad de poder instalar lo que queramos en el.

Zotac-ZBox-nano-AD10

Para esta tarea he elegido una pequeña maravilla de la casa zotac, el nuevo zotac zbox nano ad10, que en esta version viene equipado con un procesador AMD E-350 Processor (2 cpu cores) con una GPU ATI AMD Radeon HD 6310 capaz de reproducir contenido en FULL HD mediante su conexión hdmi a un televisor que soporte esa resolución.
Ademas viene equipado con algo que los usuarios venían solicitando a la marca desde hace tiempo y es un mando a distancia. El mando es mediante infrarrojos y el zbox tiene un receptor integrado y otro por usb por si necesitamos mas alcance.

En mi caso he comprado la version normal del zbox nano y le he puesto 2G de RAM y un disco de 750GB de 2.5. Tambien le he puesto una sintonizadora con doble canal TDT-HD para poder grabar todo lo que me apetezca de la tele, incluso los nuevos canales HD.

Para la tarea de manejar el HTPC confio en uno de los sabores de ubuntu mas ligeros, xubuntu, que con xfce, hace que el aparato vaya mas ligero que con los escritorios mas complejos y que para el uso que le voy a dar no lo necesito. Eso si he instalado la ultima versión 11.11 ya que si no es con un kernel 3.1 no reconoce correctamente todos los dispositivos

En cuanto a mediacenter, me decanto por xbmc, que con su nueva integración con diferentes PVR ( personal video recorders ) me permite integrar el proyecto VDR como backend y xbmc como frontend

Como de momento no he visto ninguna comunidad especifica para este aparato, espero poder compartir aqui experiencias con mas gente interesada en este aparato.
Asi que pasaros por la categoria de zbox que encontrareis articulos interesantes sobre el nano, xbmc, vdr

crear un alias para el acceso por ssh

Hay veces que tenemos que acceder a una maquina que se encuentra detras de un ip dimanica y para poder acceder a el tenemos que darnos de alta en alguno de los servicios dyndns que hay en internet.

El caso es que estos servicios normalmente te facilitan un nombre para tu ip que no suelen ser descriptivos de la maquina o servicio que hay detras, ya que al ser gratuito tienes que elegir entre los que te ofrecen, del tipo mimaquina.no-ip.org o mimaquina.myserver-ftp.org

Si necesitamos hacer ssh a esa maquina muy a menudo, recordar o teclear el nombre se hace pesado. Para eso ssh nos permite crear alias para acceder sin la necesidad de teclear todo el nombre.
Para ello, necesitamos crear un archivo config en tu home ~/.ssh/config

root@zbox:~# vi ~/.ssh/config

Host mimaquina
    HostName mimaquina.no-ip.org

Ahora solo tenemos que hacer referencia al alias que hemos especificado en el archivo config para conectar directamente con nuestra maquina

root@zbox:~# ssh usuario@mimaquina.no-ip.org

por

root@zbox:~# ssh usuario@mimaquina