Cargando...
Error: Exception thrown by the agent : java.rmi.server.ExportException: Port already in use

Error: Exception thrown by the agent : java.rmi.server.ExportException:
Port already in use: 8999; nested exception is:
java.net.BindException: Address already in use

La causa del error de puerto ya en uso, sobre versiones antiguas de Tomcat, que no nos permite parar el servidor de aplicaciones, se soluciona de forma sencilla editando el fichero catalina.sh (sobre el bloque (case) de “STOP”)

Línea anterior

  • $_RUNJAVA" $JAVA_OPTS $CATALINA_OPTS \

Línea modificada

  • $_RUNJAVA" $JAVA_OPTS \

Hay que tener en cuenta que los modificadores para levantar el puerto, se deben establecer en CATALINA_OPTS, que no será leido.

Como en familia

Andaba hoy echando un ratico mirando fotos del “feisbuk” y vaya !!! He localizado una que me trae muy buenos recuerdos.
Os echo mucho de menos amigos.

Amigos

Abrazos !!!

ERROR: Description table : The requested table is empty or does not exist

Estás trabajando con Nagios y has obtenido este error ??

Mi caso:
[root@Paquito libexec]# ./check_snmp_int -H 127.0.0.1 -C public -n eth0 -r
ERROR: Description table : The requested table is empty or does not exist.

Veamos como solucionarlo:
Shell> vi /etc/snmp/snmpd.conf

view systemview included .1.3.6.1.2.1.1
view systemview included .1.3.6.1.2.1.25.1.1

Agregamos esta línea al fichero justo debajo del bloque que se muestra
view systemview included .1  (Solo agrega el MIB)

Reiniciamos el servicio snmpd

Shell> /etc/init.d/snmpd restart

[root@Paquito libexec]# ./check_snmp_int -H localhost -C public -n eth0 -r
OK : eth0:UP: 1 UP
Listo !

ERROR 1153 (08S01) Got a packet bigger than ‘max_allowed_packet’ bytes

Para solucionar este problema, le diremos al servidor que puede cargar ficheros de mayor tamaño al que tiene por defecto (1M).

Editamos el fichero de configuración de MySQL /etc/my.cnf

Dentro de la sección mysqld agregar la línea que establece el valor máximo.

[mysqld]

max_allowed_packet=500M

Tunning JBoss II

JBoss es un servidor de aplicaciones que se ejecuta sobre la JVM, así que deberemos afinar y mejorar todo lo posible el rendimiento de esta, para que las aplicaciones que despleguemos sobre JBoss se ejecuten con la máxima eficiencia. Si esto lo sumamos a un buen diseño de las aplicaciones y una arquitectura adecuada (sin sobredimensionarla), obtendremos un resultado óptimo (tened en cuenta que siempre falla uno de los 3).

Es fundamental aplicar estas buenas prácticas no solo a JBoss, sino a servidores que trabajan sobre la JVM.

1.-Xms y Xmx

Asignar el mismo valor a cada uno de estos parámetros optimiza el trabajo dentro de la memoria, porque es donde se reserva la memoria que se va a usar, estando toda seguida y no espaciada por toda la memoria, cosa que dilataría la recuperación de información.

2.- GC

Este posiblemente sea uno de los aspectos más importantes a la hora de hacer más eficiente nuestro servidor de aplicaciones.

Lo que haremos será usar el sistema de recolección distribuido.

-Dsun.rmi.dgc.client.gcInterval=1800000
-Dsun.rmi.dgc.server.gcInterval=1800000

Por defecto el tiempo de acción es muy reducido, cada minuto, por lo que normalmente todos suelen establecerlo a 3600000 (una hora), en entornos de producción. En mi opinión esto no mejora mucho el rendimiento porque es dilatar demasiado esta acción, por ello debemos hacer que se ejecute ajustándolo a nuestras necesidades, el tiempo que mejor resultado me ha ofrecido es de 30 minutos.

No olvidemos que esta acción, penaliza mucho mientras se está ejecutando, porque está organizando gran parte de la memoria.

3.- Ejecución paralela

Podemos hacer que se ejecuten varios hilos del GC, consiguiendo que la cantidad de elementos organizados y eliminados sea mayor. -XX:+ UseParallelGC

Esto ejecutará tantos hilos como procesadores tenga nuestra máquina, quizás queramos que solo se encarguen 2 procesadores de esta tarea, así que podemos establecer el número máximo de hilos con el parámetro: -XX:ParallelGCThreads=2

4.- 70%

La memoria Heap no debe superar el 70% de la memoria física, para evitar errores de paginación y que la recolección de basura sea más eficiente.

Tunning JBoss

Ahora que en el nuevo lugar de trabajo lidiamos a diario con servidores de aplicación JBoss, veamos algunos trucos para optimizar su funcionamiento.

El más importante de todos y en el que hicieron mucho hicapié es en el hot deploy. Para entornos de producción no se recomienda tenerlo activado, aunque si no queremos desprendernos de esta utilidad, siempre podemos prolongar su tiempo de chequeo. Veamos como hacerlo:

Editando el archivo de configuración jboss-service.xml ubicado en el directorio conf de nuestra configuración, tenemos que modificar:
<!-- A flag to disable the scans -->
<attribute name="ScanEnabled">true</attribute>

Cambiando a false ala variable, los despliegues en caliente se deshabilitarán.
Si por el contrario, decidimos ampliar los tiempos de búsqueda para nuevos despliegues, editaremos la siguiente entrada:

<!-- Frequency in milliseconds to rescan the URLs for changes -->
<attribute name="ScanPeriod">5000</attribute>

Podríamos ponerlo cada hora (3600000), no olvidemos que estos tiempos se miden en milisegundos.

SSI en Apache

Es posible introducir en nuestras páginas WEBs distintas etiquetas que serán interpretadas del lado del servidor, y serán enviadas al usuario en forma de valor. Esto es posible hacerlo con tags, que no son más que unas etiquetas un tanto especiales.
SSI, es el acrónimo de Server Side Includes, y creo que lo mejor será ver un ejemplo de lo que pueden hacer estas etiquetas y como hacer posible su interpretación por parte del servidor.

En Httpd

Etiquetas:
Dirección IP del servidor: <!--#echo var="SERVER_ADDR"-->

Cómo activarlas:
Agregaremos en el bloque que hace referencia al directorio en el que queremos que estén disponibles los archivos .shtml

AddType text/html .shtml
AddHandler server-parsed .shtml

Y a la directiva "Options" añadiremos también la partícula +Includes

Hagámoslo para Tomcat

Renombrar $CATALINA_BASE/server/lib/servlets-ssi.renametojar a $CATALINA_BASE/server/lib/servlets-ssi.jar

Descomentar en el xml siguiente los comentarios alrededor del servlet SSI  y servlet-mapping en $CATALINA_BASE/conf/web.xml

Más información en Apache.org

Instalación de RT 3.8.7 en CentOS 5.4

= Instalación de RT en CentOS =

(Se presupone la instalación y correcta configuración de sendmail para la recepción y el envío de correo desde y hacia el host)

Primero instalamos algunos paquetes necesarios

yum install -y  httpd-2.2.3-31.el5.centos.2 perl mysql-5.0.77-4.el5_4.1 mysql-server-5.0.77-4.el5_4.1 mod_perl-2.0.4-6.el5
graphviz graphviz-devel graphviz-doc graphviz-gd graphviz-perl perl-GraphViz.noarch
gd-2.0.33-9.4.el5_4.2 gd-devel-2.0.33-9.4.el5_4.2

”’Ahora instalamos RT”’

wget http://download.bestpractical.com/pub/rt/release/rt-3.8.7.tar.gz
tar xzvf rt-3.8.7.tar.gz -C /opt ; cd /opt/rt-3.8.7
./configure –with-web-user=apache –with-web-group=apache –with-web-handler=modperl2 –with-db-type=mysql –prefix=/opt/rt3 –enable-graphviz –enable-gd –enable-gpg
make testdeps

”’Configuración de CPAN”’
nota-> dependencias ncftp y links, las podemos descargar de rpmfind.net

Para configurar CPAN ehecutamos

/usr/bin/perl -MCPAN -e shell

Le damos a todos los valores por defecto menos la codificación (UTF8), luego de los mirrors eligimos Europa, luego Finlandia y luego todas las opciones que de :)

NOTA:
Las dependencias de RT son muchas así que paciencia, dale que si que si a las dependencias hasta que termine. Si configuras CPAN para que procese las dependencias sin preguntar, preparate, yo una vez lo tuve 2 días hay rulando, :D

Ahora ya podemos ejecutar

make fixdeps

Si termina en fallo, te habrá soltado en pantalla los que falta, entonces toca ir a /root/.cpan/build y revisar los paquetes, la rutina normal para instalar un modulo de Perl es

(make clean)
perl Makefile.PL
make
make install

Aunque siempre es bueno usar el –help. Para instalar un modulo de los repositorios de CPAN configurados podemos hacer

cpan -i RT::Extenison::CommandByMail

Un caso común en la 3.8.4

Módulo XML::RSS -> RT busca la versión 1.05, CPAN instala la 1.43, se pueden descargar las fuentes de http://search.cpan.org

Una vez resueltas todas las dependencias de perl, podemos terminar la instalación

make install ; make initialize-database

Ahora creamos el archivo de configuración de apache

vi /etc/httpd/conf.d/rt3.conf

Alias /helpdesk “/opt/rt3/share/html/”
PerlRequire /opt/rt3/bin/webmux.pl
<Directory “/opt/rt3/share/html/”>
AllowOverride All
Options ExecCGI FollowSymLinks
RewriteEngine On
RedirectMatch permanent (.*)/$ $1/index.html
AddDefaultCharset UTF-8
SetHandler perl-script
PerlHandler RT::Mason
</Directory>

Ahora editamos el /etc/aliases e incluimos los aliases que necesitemos al final del archivo

#ALIAS RT
ejemplo: “|rt-mailgate –queue ejemplo –action correspond –url http://www.ejemplo.com/helpdesk/”
ejemplo-com: “|rt-mailgate –queue ejemplo –action comment –url http://www.ejemplo.com/helpdesk/”

Ahora nos aseguramos de que todo va a funcionar automatizado, y que reiniciamos los cambios realizados:

ln -s /opt/rt3/bin/rt-mailgate /etc/smrsh/
newaliases
service sendmail restart
chkconfig sendmail on
chkconfig httpd on
chkconfig mysqld on
service httpd restart

Y listo! Para acceder

http://www.ejemplo.com/helpdesk
root
password

NetWork Interfaces en ESX 4

Haciendo una máquina virtual hoy, nos hemos encontrado con un problemilla con el interfaz de red, y es que como siempre, tener el manual de referencia a nuestro lado es lo más importante.

Durante la creación de la máquina virtual, se le dio el interfaz de red vmxnet3, que anteriormente había sido asignada a otras máquinas, y esta vez no ha querido funcionar.

Veamos cuales son los tipos de interfaces de red que nos ofrece ESX y como podemos usarlos en cada máquina.

Vlance - Una emulación de AMD pcnet32 79C970 LANCE NIC, una antigua NIC de 10 Mbps con los controladores disponibles en la mayoría de resultados 32-bit sistemas operativos excepto Windows Vista y posteriores. Una máquina virtual configurada con este adaptador de red puede utilizar su red de inmediato. Siempre puede ser interesante usar modelos de este tipo en pruebas sobre máquinas antiguas.

Vmxnet - El interfaz de red virtual vmxnet no tiene interfaz física contrapartida. Vmxnet está optimizado para funcionar en una máquina virtuales. Será necesario el uso de VMware Tools, ya que los fabricantes no tienen los controladores para este interfaz.

Flexible - El interfaz de red flexible se identifica como un adaptador de Vlance al arrancar la máquina virtual, pero se inicializa a sí mismo, como Vlance o un adaptador vmxnet, dependiendo de qué controlador inicializa. Con las VMware tools instaladas, el controlador que se carga es el vmxnet y cambia el adaptador Vlance al de mayor rendimiento vmxnet.

E1000 - Una emulación de Intel Gigabit Ethernet NIC 82545EM, con drivers disponibles en la mayoría de los sistemas operativos más recientes, incluyendo Windows XP y posteriores y las versiones de Linux 2.4.19 y posteriores.

VMXNET 2 El adaptador vmxnet 2 se basa en el adaptador vmxnet pero ofrece algunas características de alto rendimiento de uso común en las redes modernas. Este adaptador de red virtual está disponible sólo para algunos sistemas operativos en ESX / ESXi 3.5 y posteriores.

VMXNET 3 El adaptador vmxnet 3 es la próxima generación de NIC paravirtualizado diseñado para un alto rendimiento, y no está relacionada con vmxnet o vmxnet 2. Ofrece todas las funciones disponibles en vmxnet 2, y añade varias características nuevas como soporte para múltiples colas, descarga de IPv6…

Dicen que no hay mal que por bien no venga, y ahora ya hemos podido refrescar la memoria.

Fuente: VMware

Recuperar contraseña de root en Mysql

Si alguna vez de tantas pruebas en local os habéis cargado el servicio mysqld, puede que esto os ayude. No es la receta para todos los males, sólo nos permite resetear la contraseña de conexión del usuario root. ¿La has perdido?¿Se te ha olvidado?¿Tu mysql funciona pero te da un pete de “access denied” using password “yes”, aunque has metido las credenciales correctas?

Esta es la solución:

1-Paramos el servicio a lo machote
/etc/init.d/mysqld stop
killall mysqld
2-Lo arrancamos sin leer las tablas de permisos y como usuario root:
/usr/libexec/mysqld --skip-grant-tables --user=root &

3-Entramos en la consola a la BBDD mysql
mysql mysql

4-Y escribimos lo siguiente:
UPDATE mysql.user SET Password=PASSWORD('NUEVA PASSWORD') WHERE User='root';
flush privileges;
exit

Donde 'NUEVA PASSWORD' es tu nueva password entre comillas simples

5-Volvemos a para el servicio a lo machote
killall mysqld

6-Iniciamos el servicio normalmente:
/etc/init.d/mysqld start

Y comprobamos que funciona !!!

Creado con la plantilla ExtJS traducida por Ayuda Wordpress.