- Alfresco (5)
- bbdd (4)
- Chisteradas (6)
- Curiosidades (16)
- General (83)
- Java (5)
- JavaScript (1)
- JBoss (4)
- Linux (37)
- MacOS X (4)
- Monitorización (2)
- PHP (4)
- Sobre el autor (2)
- Sobre el autor (8)
- SysAdmin (45)
- Uncategorized (23)
- vmware (1)
- Webmaster (12)
Archivo del Autor
Cargando...
Error: Exception thrown by the agent : java.rmi.server.ExportException:Port already in use: 8999; nested exception is:java.net.BindException: Address already in useLa 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.
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.
Abrazos !!!
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.confview systemview included .1.3.6.1.2.1.1view systemview included .1.3.6.1.2.1.25.1.1Agregamos 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 !
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.cnfDentro de la sección mysqld agregar la línea que establece el valor máximo.
[mysqld]max_allowed_packet=500MJBoss 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=1800000Por 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=24.- 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.
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.
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 .shtmlAddHandler server-parsed .shtml
Y a la directiva
"Options"añadiremos también la partícula+IncludesHagámoslo para Tomcat
Renombrar $CATALINA_BASE/server/lib/servlets-ssi.renametojar a
$CATALINA_BASE/server/lib/servlets-ssi.jarDescomentar 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
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
Para usar Yum donde haya un proxy, deberemos modificar el fichero de configuración /etc/yum.conf
Le agregaremos las siguientes líneas:
proxy=http://<IP-Servidor-proxy>:<puerto>/proxy_username=<usuario>proxy_password=<clave>Funcionando !
El cliente Rhq usado para monitorización con JBoss ON, tiene la posibilidad de monitorizar entre varias cosas bases de datos Oracle, para ello deberemos ampliar con un plugin el servidor, para tener disponible esta funcionalidad.
El plugin de monitorización, para Oracle tiene un problemilla sencillo de solucionar. Cuando lo instalé por primera vez, me dio el siguiente error:
An unexpected error occurred in the Agent. Cause: java.lang.Exception:Discovery component invocation failed. -> org.rhq.core.pluginapi.inventory.InvalidPluginConfigurationException:Unable to connect to Oracle ->org.rhq.core.pluginapi.inventory.InvalidPluginConfigurationException:Specified JDBC driverclass(oracle.jdbc.driver.OracleDriver) not found.El error nos está indicando que no tiene el driver OJDBC, necesario para realizar la conexión; Indagando un poco localicé esto:
“The RHQ Agent’s Oracle plugin module is always built as part of the default RHQ Maven build. But, it will be limited to discovery only without the Oracle JDBC driver. The Oracle JDBC driver can be added manually to the rhq-oracle-plugin.jar by placing it in <root>/lib of the JAR file.”
Para solucionar el problema, hay que descomprimir el plugin y crear un directorio lib en el raíz del plugin, donde meteremos el driver ojdbc14.jar quedando solucionada esta pincelada que faltaba.
Hay que puntualizar y comentar que el plugin actualizado, lo situaremos en el directorio correspondiente de plugins dentro del servidor, ya que este es quien sirve los plugins a los agentes que vayamos creando.