Sunteți pe pagina 1din 19

WebShpere MQ implementa una interfaz común a las distintas plataformas (MQI) para

permitir la comunicación.
Envio y recepción desacoplados (asíncrono), aplicación (emisora) puede enviar mensaje
y seguir trabajando sin esperar al receptor.
Arranque automático de aplicaciones cuando se recibe mensaje en cola.
Mensaje = Datos aplicacion + Cabecer
Tamaño = 4MB (defecto) -> 100MB (maximo)
Limitado tamaño mensaje por: - tamaño mensaje cola receptora
- tamaño m
ensaje definido en QM
- tamaño m
ensaje definido en cola
Cola = estrucutra almacenamiento mensajes.
Predefinidas (permanentes desde su definición)
Dinámicas (creadas al invocar MQOPEN sobre una cola modelo)
Modelo puede definir colas permanentes o temporales.
Extración mensajes
First-in-first-out (FIFO).
Message priority, as defined in the message descriptor. Messages that ha
ve the same priority are retrieved on a FIFO basis.
A program request for a specific message.
The manipulation or administration of objects includes:
Starting and stopping queue managers.
Creating objects, particularly queues, for applications.
Working with channels to create communication paths to queue managers on
other (remote) systems.
Creating clusters of queue managers to simplify the overall administrati
on process, and to balance workload
Queues:
Existen 4 tipos de colas:
- Local
- Remota: identifica a una cola local alojada en un QM remoto. (
Antes de poder enviar, hay que definir una cola de transmisión y un canal)
- Alias: permite a las aplicaciones a acceder a una cola refirie
ndose indirectamente
- Modelo: cola plantilla con valores de atributos por defecto en
la creación de colas.
Por uso:
- Inicialización: colas usadas en triggering
- Transimisión: colas que almacenan temporalmente mensajes destina
dos a un QM remoto
(Cada QM tiene una cola de tranmisión por defecto, cuando
un QM que no forma parte de un cluster pone un mensajes en una cola remota, la a
cción por defecto si no existe una cola de tranmsión con el mismo nombre el que el Q
M de destino, es usar la cola de transmisión por defecto
- Cluster Transmisión
Cada QM que pertenece a un cluster tiene una cola de tra
msmisión cluster llamada SYSTEM.CLUSTER.TRANSMIT.QUEUE (creada por defecto al defi
nir el QM). Un QM perteneciente a un cluster puede mandar un mensaje a cualquier
QM del cluster mediante el uso de la cola cluster de transmisión.
- Dead-letter: cola que almacena los mensajes que no han podido
ser enrutados
- Command: La cola SYSTEM.ADMIN.COMMAND.QUEUE es una cola local
que permite el envio de comandos MQSC para ser procesados.
- Reply-to: Cuando una aplicación manda un mensaje request, la apl
icación receptora puede contestar a la aplicación. Este mensajes es puesto en esta c
ola (normalmente local) donde le nombre de la cola es indicado por la aplicación e
misora en la cabecera.
- Event: Eventos pueden ser usados para la monitorización. Cuando
ocurre un evento, el QM pone un mensaje en una cola de eventos para que sea leid
o por una aplicación gestora de eventos.
Definición de procesos: son objetos que definen una aplicación que se ejecuta cuando
en respuesta a un trigger.
Cluster:
En el marco normal de Websphere MQ cada QM es independiente siendo neces
ario definir, una cola de transmisión, canal y cola remota para cada envio.
Un cluster es una colección de QM que puede comunicarse directamente con o
tra aplicación sobre una red (canal, colas).
Namelist:
Objeto que contiene una lista de objetos MQ. Puede actualizarse aunque e
ste en uso, no se bloque por el uso de las aplicaciones.
Autenticación de objetos:
Canal:
objetos que permiten la comunicación entre un par de QM
Canales de conexión del cliente:
Objetos que permiten la comunicación desde un WebSphere MQ cliente a un se
rvidor (QM)
Listeners: Son procesos que aceptan la petición de conexión desde otro QM o aplicación
cliente y empieza la asociación de canales. Pueden ser arrancados con el proceso
runmqlsr.
Servicios: Estos objetos son una forma de definir programas que se ejecuten cuan
do un QM se inicia o se para.
Objetos por defecto del sistema: creados automáticamente al crear el QM.

********************************************************************************
*************
********************************************************************************
*************
INTRODUCCIÓN A LA ADMINIST
RACIÓN
********************************************************************************
*************
********************************************************************************
*************
Administración local y remota, desde un único punto de acceso se puede administrar t
odos los QM, bien porque se encuentre en el ordenador donde estamos situados, o
bien mediante el uso de un canal para la comunicación.
Administración por comandos (tres tipos)
- Control comamnds: tareas administrativas sobre QM.
- MQSC commands: tareas administrativas sobre objetos del QM. (runmqsc)
- PCF commands: tareas administrativas sobre un programa
Diferencia cluster windows (MSCS) y cluster MQ.
Cluster MQ: grupo de dos o mas QM sobre uno o mas ordenadores, proporcio
nando interconexión automatica, y permitiendo a las colas ser compartidad entre el
los para balanceo de carga y redundancia.
Cluster Windows (MSCS): gruop de ordenadores, conectados entre ellos y c
onfigurados de manera que si uno falla, se tranfiera el trabajo al activo de las
aplicaciones.
Nombre de objetos:
Todos los objetos son almacenados en disco.
Los QM se encuentran en el directorio (C:/Program Files/IBM/Websphere MQ
) en Windows y (/var/mqm) en Unix.
Los nombres de los QM se suelen transformar en disco a un formato valido
(queue.manager --> queue!manager) para la creación de directorio.
Resto de objetos no tiene un formato de transformación tan obvio, para obt
ener la relación nombre lógico - físico, se puede realizar mediante la ejecución del com
ando (dspmqfls)

********************************************************************************
*************
********************************************************************************
*************
MANEJANDO QUEUE MANAGERS
********************************************************************************
*************
********************************************************************************
*************
* CONTROL COMMANDS -> Desde el promp directamente
crtmqm -> Crear QM
strmqm -> Arrancar QM
endmqm -> Para un QM
- c (Indica a las aplicaciones que terminen)
- w (Espera a que las aplicaciones terminen y el QM tamb
ien)
- i (Inmediato)
dltmqm -> Borra un QM
* USANDOS MQ EXPLORER
********************************************************************************
*************
********************************************************************************
*************
ADMINISTRANDO OBJETOS LO
CALES
********************************************************************************
*************
********************************************************************************
*************
Administración local con MQSC
Para poder ejecutar MQSC se ha de ejecutar runmqsc QM, pudiendose rediri
gir la salida y la entrada.
Modos ejecucion runmqsc:
- Verificacion (-v) {No puede ser usado para QM remotos}
- Local
- Remoto (-w)
Comprobar QM existentes dspmq
No se pueden borrar mensajes desde runmqsc con el comando clear si:
- Una aplicación tiene la cola abierta
- Existen mensajes sin confirmación (UNCOMMIT)
COLAS ALIAS (utilidad).
- Obtener diferentes niveles de autorización para las aplicacione
s que acceden a la cola.
- Permitir a distintas aplicaciones trabajar con la misma cola
por distintos caminos.
- Simplificar mantenimiento, migración y balanceo de carga.

********************************************************************************
*************
********************************************************************************
*************
ADMINISTRACIÓN OBJETOS REM
OTOS
********************************************************************************
*************
********************************************************************************
*************
- Necesario configurar los canales necesarios para la comunicación entre Q
M, ademas de las colas de transmisición, colas remotas y listeners necesarios.
NOTA: Nombre cola de tranmisión igual que QM remoto.
(89 - 103)
********************************************************************************
*************
********************************************************************************
*************
ADMINISTRACIÓN WEBSPHERE M
Q EXPLORER
********************************************************************************
*************
********************************************************************************
*************
- Permite tanto administración local como remota.
- Que se puede hacer con Websphere MQ Explorer:
* Creación y borrado de QM (solo locales)
* Arracar y parar QM (solo locales)
* Definir, mostrar y modificar los atributos de los objetos como
colas, canales, ...
* Mirar mensajes en las colas
* Arrancar o parar un canal
* Mirar el estado de un canal, listener, cola u objeto servidor.
* Ver los QM de un cluster
* Comprobar que aplicaciones, usuario o canales tienen un cola a
bierta
* Crear un nuevo QM cluster
* Añadir un QM a un cluster
* Manejar la información de autenticación de los objetos usando cana
les de seguridad SSL.
* Crear y borrar inicializadores de canales, monitores de trigge
r y listeners.
* Arrancar y parar el servidor de comandos, inicializadores de c
anales, monitores de trigger y listeners.
* Indicar que un servicio se lance cuando un QM se arranque
* Modificar propiedades de los QM
* Cambiar el QM por defecto.
* Invocar ikeyman GUI para manejar certificados de seguridad SSL
, asociar certificados a QM, configurar e instalar certificados (solo en maquina
local)
* Modificar los parametros del cualquier servicio, como el puert
o de un listener o el QM del inicializador de canal.
* Arrancar y parar el servicio de trazas.

Seguridad de conexión a QM remotos


- El MQ Explorer se conecta a los Qm remotos como una aplicación c
liente MQI. Esto significa que cada QM remoto tiene que tener una definición de un
canal servidor-conexión y un listener sobre TCP/IP. Si no se especifica un valor
en el campo MCAUSER del canal o se utiliza una salida de seguridad, es posible q
ue una aplicación maliciosa se conecte al servidor a traves de canal y obtenga acc
eso a los objetos de QM con autorización ilimitada.
- El valor por defecto del MCAUSER es el userId local.
- Usando salida de seguridad "WebSphere MQ for Windows, V6.0 Qui
ck Beginning"
- Usando SSL se hace necesario utilizar una tabla "WebSphere MQ
Clients"
Conectarte a través de otro QM
- Se puede conectar a un QM a través de otro QM del cual ya tenemo
s conexión. MQ Explorer pone los comandos PCF en QM intermedio:
* El parametro ObjectQMgrName en el descriptor.
* El parametro UserIdentifier en el descriptor.

AMQMSRVN (Windows) --> 111 - 115


Extensibilidad de WebSphere MQ - Se puede ampliar la funcionalidad de We
bsphere MQ Explorer mediante la programación de plugins para eclipse.
********************************************************************************
*************
********************************************************************************
*************
CONFIGURACIÓN DE WEBSPHERE
MQ
********************************************************************************
*************
********************************************************************************
*************
Windows - Toda la información almacenada en el registro de Windows. Para m
anejar la información utilizar amqmdain, nunca manipular el registro directamente.
Unix - Se puede modificar la información mediante la edicción de los fichero
s:
* mqs.ini (Para cambiar la configuración de MQ en cada nodo, uno p
or nodo), contiene la siguente información:
-> /var/mqm
- Nombre de los QM's
- Nombre del QM por defecto
- Localización de los ficheros asociados a cada uno de ell
os.
* qm.ini (Para realizar cambios en el el QM, uno por QM)
-> /var/mqm/qmgrs/QMNAME/
********************************************************************************
*************
********************************************************************************
*************
SEGURIDAD EN WEBSPHERE M
Q
********************************************************************************
*************
********************************************************************************
*************
Se puede configurar quien puede:
- Administrar Websphere MQ.
- Usar los objetos de Websphere MQ
(Página 153 --> Administrar MQ, necesario ser administradores)
Se puede configurar distintos grupos en los objetos de MQ, para garantiz
ar distintos niveles de acceso.
Acceso completo a un objetos es dado automaticamente al usuarios ID crea
dor del objeto y los miembros del grupo mqm.
Comprobaciones de seguridad tipicas de una aplicacion:
Conexión con el QM (MQCONN, MQCONNX)
Abriendo objetos (MQOPEN, MQOPEN1)
Poner/Quitar mensajes (MQPUT, MQGET)
Cerrando el objeto (MQCLOSE)
Websphere MQ implementa la seguridad mediante OAM (Object Authority Mana
ger), instalado por defecto. Este puede ser sustituido por cualquier componente
propio del usuario, que realicen el servicio de interfaz de autorizacion.
El OAM, mantienen una lista de control de acceso (ACL) para todos los re
cursos que controla. Los datos de autorización estan almacenados en una cola llama
da SYSTEM.AUTH.DATA.QUEUE (Acceso restrigido a usuarios pertenecientes al grupo
mqm)
Conceptos de permisos en el OAM:
principal = userID
grupos
Cabecera de los mensajes MQ, existen dos secciones "Identity section" (Q
uien lo envia) "Origin section" (De donde viene)
Si existen problemas de arranque, creación de QM's a través de Terminal Serv
ers, es porque no se tienen los permisos "Create global objects"
Creación grupos SS.OO. (160 - 165)
Administrando permisos con OAM
* Dando acceso a un objeto de MQ -> setmqaut (El Qm debe de esta
r ejecutandose). Para dar permisos se debe de especificar:
- El nombre del QM que almacena el objeto. Si no se espe
cifica se asume el nombre del QM de por defecto.
- Nombre y tipo de objeto (para identificación unica).
- Uno o mas usuarios (principals) y grupos a los que dar
persmisos. (Si un usuario contiene espacios, meterlo entre comillas simples 'pe
pe el best' y si continene el simbolo @ dupicarlo @@)
- Lista de autorizaciones, se puede dar(+) o revocar per
misos(-)
setmqaut -m saturn.queue.manager -t queue -n RED.LOCAL.Q
UEUE -g groupa +browse -get +putç
Usando perfiles genericos de OAM
Caracteres especiales.
? Pone todas las posibilidades existentes en esa posisci
on (AB.?D = AB.DC, AB.ED y AB.FD)
* Para patrones de una letra o un cualificador AB.CD (AB
= cualificador, CD = cualificador)
** Para todos las posibilidades existentes, o para todas
las posibilidades que abarquen mas de un cualificador (**.ABC todos los que aca
ben por .ABC)
Si existen varios perfiles aplicables a un objeto, se aplica el
mas especifico (solo se puede aplicar un perfil por objeto)
setmqaut -n AB.* -t q +put -p fred
setmqaut -n AB.C* -t q +get -p fred
Creamos una cola AB.CD -> obtendra solo el permi
so get
Cuando se comparan caracteres genericos el orden de mas a menos
especifico es ?, *, **
Mostrando configuraciones de acceso.
Mediante el comando dspmqaut para ver los permisos que tienen un
grupo o un usuario sobre un objeto
dspmqaut -m QueueMan1 -t process -n Annuities -g GpAdmin
Cambiar o quitar permisos a un objeto Websphere MQ - setmqaut, si se qui
ere quitar permisos a un usario perteneciente a un grupo eliminarlo del grupo.
Desabilitar comprobaciones de seguridad.
Habilitando una variable de entorno del sistema operativo (no se
puede añadir OAM despues)
On Windows systems:
SET MQSNOAUT=yes
On UNIX systems:
export MQSNOAUT=yes
Mediante el Websphere MQ explorer o editando la configuracion de
l QM para borrar el servicio (no se puede añadir OAM despues)
Seguridad en canales
Los MCAs (Message channel agents) son aplicacioens Websphere MQ
que necesitan permisos de acceso a varios recursos Websphere MQ.
El userID de un canal de envio necesita acceso al QM, TX
, DLQ, y otros recursos necesitados por el canal.
El userID de un canal de recepcion necesita acceso para
poner mensajes en la cola. Se pueden espificar los controles a realizar con el u
serID y el MCA o el userID con los mensajes.
El parametro PUTAUT de la definicion de canal, e
specifica que userID es usado para las siguientes comprobaciones:
- Si se usa el userID del MCA, este sera
definido en el sistema local.
- si se usa el userID asociado al mensaj
es, es igual que si fuera un userID remoto, debe ser reconocido por el sistema p
ara conectarse al QM, hacer operaciones, configurar atributos, configurar opcion
es (+connect, +inq, +set, and +setall). Ademas debe tener permisos para poner me
nsajes y configurar informacion de contexto(+put and +setall) para los destinos
y los DLQ.
El userID asociado a un MCA depende de su tipo:
- Caller MCA: Son MCA's que inician el canal, pu
eden ser arrancados como procesos individuales, como hilos del canal, o como hil
os de procesos. El userID usado es el del proceso padre, o el proceso que hace q
ue se inicie el MCA.
- Responder MCA: Son MCA's que son iniciados com
o resultado de una peticion de una caller MCA. Pueden ser iniciados como proceso
individuales, hilos del listener, o hilos del proceso. El userID puede ser uno
de los siguientes en orden:
* En aplicacion, mediante la indicación de
l parametro USERID en la definicion del canal.
* Si no esta definido el USERID, puede e
spificar el userID a usar configurando el parametro MCAUSER de la definicion del
canal.
* Si no se usar el userID del proceso qu
e inicia el MCA o del proceso padre del listener.
Proteger la definicion de iniciacion de canales
Los iniciadores de canales de Websphere MQ no son objetos, el ac
ceso a ellos no estan controlados por el OAM. Websphere MQ no permite su manipul
acion a no ser que sea un usuario perteneciente al grupo mqm.
Colas de transmisión
QM ponen automaticamente mensajes en las colas de TX, no necesit
ando permisos especiales
Channel exits.
Se pueden usar para añadir seguridad al canal. El 'security exit'
forma una conexión segura entre dos 'security exit programs'
Protegiendo canales con SSL
Websphere MQ, adminte seguridad SSL en los canales, permitiendo
configurar el tipo de seguridad que se desea como puede ser el tipo de algortimo
a usar.
Como trabajan las autorizaciones
En la tabla de abajo se puede ver como trabajan las autorizacion
es y las restriciones que aplican. La tabla se aplica a estas situaciones:
- Aplicaciones que usan llamadas MQI
- Programas de admnistracion que usan comandos MQSC como
PCF
- Programas de admnistracion que usan comandos PCF
[174 - 185]
Difenrencias entre Windows 2000 y Windows 2003
(185 - 188)

********************************************************************************
*************
********************************************************************************
*************
SOPORTE DE TRANSACCIONAL
********************************************************************************
*************
********************************************************************************
*************
Unidades de trabajo (Units of work)
Hasta que no se hace un 'commit' de una unidad de trabajo (poner
x's mensajes o leer y's mensajes) no se hace visible al resto , para preservar
asi la integridad de los datos. Permitiendo esto hacer un rollback si se encuent
ra que existe un error durante el proceso.
La decisión de realizar un commit o un rollback en el caso mas sen
cillo es al final de la tarea, pero se pueden establecer puntos de sincronización
para realizar estos procesos entre media de una tarea.
Unidades de trabajo locales
Son las que solo tienen acciones put y get sobre colas W
ebsphere MQ y la coordinación de las unidades de trabajo es realizado por el QM.
Unidades de trabajo globales
Cuando se ven envueltas mas de un recurso de administrac
ión, es necesario usar el proceso 'two-phase commit' para coordinar la unidad de t
rabajo. (Ataques sobre BBDD)
Coordinacion con BBDD solo soportado por Websphere MQ server, no por el
client
Utilización de la interfaz XA Specificatión (switch load files)
dspmqtrn -> Muestra las unidades de trabajo pendientes
dspmqtrn -m MY_QMGR
AMQ7107: Resource manager 0 is MQSeries.
AMQ7107: Resource manager 1 is DB2 MQBankDB.
AMQ7107: Resource manager 2 is DB2 MQFeeDB.
AMQ7056: Transaction number 0,1.
XID: formatID 5067085, gtrid_length 12, bqual_length 4
gtrid [3291A5060000201374657374]
bqual [00000001]
AMQ7105: Resource manager 0 has committed.
AMQ7104: Resource manager 1 has prepared.
AMQ7104: Resource manager 2 has prepared.
Para resolver las unides de trabajo pendientes, tan pronto como se rearr
anque la BBDD.
> rsvmqtrn -m MY_QMGR -a
Any in-doubt transactions have been resolved.
********************************************************************************
*************
********************************************************************************
*************
MANEJADOR COLA DEAD LETT
ER
********************************************************************************
*************
********************************************************************************
*************
Los mensajes que se van a la dead letter es porque no han podido ser env
iados, estos mensajes pueden ser enviados por un QM, una MCA y una aplicación. Tod
os los mensajes que van a la dead letter deben de llevar una cabecera MQDLH, con
un campo Reason que contiene el reason code.
El manejador de colas dead letter es una rutina de un proceso. Esta se p
uede invocar con el comando runmqdlq.
Las intrucciónes a seguir por el manejador DLQ se basa en una tabla de reg
las, cuando encuentra mensajes en la DLQ que coincide con una entrada de la tabl
a, realiza la acción asociada a esa entrada.
INVOCANDO AL MANEJADOR DLQ
Se puede especificar el QM y la DLQ de dos maneras:
Como parametros del comandos: runmqdlq ABC1.DEAD.LETTER.
QUEUE ABC1.QUEUE.MANAGER <qrule.rul
En la tabla de reglas: INPUTQ(ABC1.DEAD.LETTER.QUEUE) IN
PUTQM(ABC1.QUEUE.MANAGER)
CODIGO DEL MANEJADOR DLQ
Se proporciona codigo fuente de un manejador de DLQ amqsdlq, que
funciona de manera similar al runmqdlq, el cual nos permite personalizar su fun
cionamiento.
TABLA DE REGLAS DE MANEJADOR DLQ
Indica como se ha de proceder con los mensajes que llegan a la D
LQ, existen dos tipos de entradas en la tabla:
- La primera entrada en la tabla, opcional, contiene el
'control data'
- El resto de entradas son reglas que debe seguir. Cada
regla consiste en un patron (característica mensaje) para encontrar un mensaje, y
una acción a tomar. Debe haber almenos una regla en la tabla.
(220 - 226)
COMO ES PROCESADA LA TABLA DE REGLAS
El manejador de DLQ, busca en la tabla un patrón que coincida con
el mensaje. La busqueda empieza en el principio y hace una busqueda secuencial h
asta que encuentra un patrón que coincide con la regla, si al aplicar la acción que
corresponde con la entrada se realiza de manera satisfactoria termina ahi, si no
se intenta realizar la acción un número de reintentos, si todos son negativos, se c
ontinua la busqueda por la tabla hasta encontrar otra entrada que satisfaga.
Notas:
* Busqueda en la tabla solo es realizado para mensajes c
on MQDLH
* El patrón puede ser puesto por defecto, aplicando una ac
ción, esto implica que se ejecutará esa acción para todos los mensajes.
* La tabla de reglas es validada cuando el DLQH (DLQ han
dler) comienza, se puede hacer cambios en cualquier momento pero solo seran util
es cuando se reinicie el DLQH
* DLQH no modifica el contenido ni del mensaje, MQDLH o
descriptor del mensaje.
* Errores sintacticos consecutivos en la tabla de reglas
no son reconocidos porque esta diseñado para eliminar la generación de errores repe
tidos durante la validación.
* El DLQH abre la DLQ con la opcion MQOO_INPUT_AS_Q_DEF
* Multiples instacias de DLQH pueden estar ejecutandose
sobre la misma cola, usando la misma tabla de reglas, aunque suele ser mas norma
l que haya una relación 1:1.
ASEGURANDOSE QUE TODOS LOS MENSAJES DLQ SON PROCESADOS
El DLQH lleva un registro de todos los mensajes que han sido lei
dos pero no borrados, permitiendo obtener la lista de los mensajes que no se han
leido hasta el momento. Además el DLQH no puede asegurar que todos los mensajes s
ean leidos, sobre todo por ejemplo si la cola sigue una politica FIFO. Por eso e
s recomendable asegurarse que el número en la DLQ es mínimo o nulo.
Para asegurarse que no se llena la DLQ, se puede:
- Asegurarse que no se usa la acción ACTION(IGNORE) con me
nsajes simples.
- Hacer una regla final que afecte a todos los mensajes
para que sean procesados.
Ejemplo: 228 - 229

********************************************************************************
*************
********************************************************************************
*************
SOPORTANDO MICROSOFT CLU
STER SERVICE (MSCS)
********************************************************************************
*************
********************************************************************************
*************
MSCS permite conectar servidores en un cluster, permitiendo control de f
allos (si existe error de aplicación en una máquina, apaga la aplicación y la arranca
en la otra máquina).
INTRODUCCIÓN
Websphere MQ cluster: grupos de uno o mas QM, en uno o mas orden
adores proporcionando interconectividad.
MSCS cluster: grupos de dos o mas ordenadores conectados entre s
i y configurados de tal manera que si uno falla, transfiere el estado a otro ord
enador del cluster y reinicia las operacioens en el nuevo.
(imagen - pagina 232)
CONFIGURANDO WEBSPHERE MQ EN MSCS
Se configura Websphere Mq para clustering haciendo el QM como la
unidad de 'failover'.
Para configurar tu sistema, se debe primero comenzar por instala
r Websphere MQ en cada nodo del cluster.
Los Qm's necesitan existir solo en el ordenador en el que se cre
an, en caso de fallo el MSCS lo inicia en el otro ordenador. Para esto deben de
tener el log y los datos alojados en un directorio compartido.
Seguridad MSCS
Crear un mismo nombre de dominio (namespace) en el cluster.
Hacer a los nodos del cluster pertenicientes al dominio, donde e
l usuario del cluster pertenece al dominio.
Hacer el resto de los usuarios del cluster del dominio, de tal m
anera que esten habilitadas en todos los nodos.
Multiples QM con MSCS
Si se estan corriendo mas de un QM en un ordenador se puede eleg
ir las siguientes configuraciones:
- Todos los QM's pertenecen al mismo grupo. Con esta con
figuración si existe un problema en cualquiera de los QM's, todos los QM's en el g
rupo son balanceados 'failover' a la otra maquina.
- Cada Qm en un grupo, si existe un error en el Qm solo
es balanceado este.
- Hibrido entre los dos anteriores.
Modos Cluster.
- Activo/Pasivo: En una máquina se ejecuta la aplicación y la otra s
e utiliza de respaldo. En este modo se puede usar un único disco compartido ya que
se garantiza el acceso exclusivo.
- Activo/Activo: Tanto la máquina A como la B están ejecutando la ap
licación y estan configuradas para que si falla una se ejecute el backup en la otr
a (ejecutandose en esa máquina su aplicación y la de otra). Para esta configuración se
necesita dos discos compartidos
Crear QM para MSCS
Se debe crear el QM en el disco local, y despues migrar tanto lo
g como datos a un disco compartido (nunca crearlo directamente en el disco compa
rtido)
Crear QM desde prompt:
1. Asegurarse que se tiene la variable MQS_PREFIX apunta
ndo a un disco local.
2. Crear el Qm con el comando crtmqm
3. Proceder con el movimiento de almacenamiento del QM.
Crear Qm desde Explorer:
1. Arrancar MQ Explorer.
2. Expandir el arbol de navegación de QM's.
3. Pulsar boton derecho y seleccionar crear nuevo QM.
4 - 5. Completar dialogos y pulsar next.
6. Completar dialogo y asegurarse de que 'Start QM' y 'C
reate Server Connection Manager' no estan seleccionados.
7. Completar dialogo y pulsar fin.
8. Proceder con el movimiento de almacenamiento del QM.
Mover un QM al almacenamiento MSCS
1. Parar el QM y comprobar que no existen errores.
2. Crear un backup de los datos del QM
3. Comprobar el disco compartido por MSCS balanceandolo de una máq
uina a otra.
4. Comprobar que el disco compartido es accesible por el nodo de
l cluster donde esta el QM alojado localmente.
5. Ejecutar el siguiente programa:
hamvmqm /m qmname /dd "e:\WebSphere MQ" /ld e:\WebSphere
MQ\log"
(Sustituyendo qmname por el QM a mover, e: por el disco
compartido y WebSphere MQ por el directorio elegido) -> Directorios si no existe
n se crean.
6. Testear el QM para comprobar que funciona (Arrancar QM, crear
cola, poner mensaje, ver, borrar y parar)
7. Asegurarse que el arranque esta configurado en modo manual .
Poner QM bajo el control de MSCS
1. Comprobar que Websphere MQ esta instalado y su soporte MSCS t
ambién, además de que el software en ambas máquinas sea identico.
2. Comprobar las operaciones de MSCS para compartición de discos.
Tras las comprobaciones:
1. Logearse en la máquina del cluster que aloja el QM.
2. Arrancar el MSCS Cluster Admnistration.
3. Abrir una conexión con el cluster.
4. Crear un grupo MSCS usado como contenedor de los recu
rsos del QM. Nombrarlo de manera que identifique al QM de manera obvia. Cada gru
po puede contener varios QM's.
5. Crear una instacia de recursos físicos.
(237)
********************************************************************************
*************
********************************************************************************
*************
RECUPERACIÓN Y REINICIO
********************************************************************************
*************
********************************************************************************
*************
Websphere MQ se asegura de que los mensajes no se pierdan mediante logs
de recuperación, sobre actividades de QM, recepción, transmisiones y envio mensajes.
Existen tres tipos de logs de recuperación:
- Restart recovery, cuando se para Websphere MQ de manera planif
icada.
- Crah recovery, cuando un fallo para Websphere MQ
- Media recovery, cuando un objeto resulta dañado.
Restauración recupera el QM al estado cuando el estaba parado, exceptuando
que las operaciones en curso son echadas hacia atras 'rollback'. Además asegura l
a recuperación de todos los mensajes persitentes, pudiendose perder los mensajes n
o persistentes.
Asegurandose que los mensajes no son perdidos
Websphere MQ guarda todos los cambios significativos en los dato
s de control en el log de recuperación.
Esto incluye creación/borrado de objetos, actualización de mensajes
persistentes, estado transaciones, cambio de atributos de objetos, estado canale
s.
Los logs de Websphere MQ consiste en dos componentes:
- Uno o mas ficheros de log de datos. (Un fichero de log
de datos es conocido también como extensión de log)
- Un fichero de log de control
Los logs son almacenados en:
Windows -> C:\Program Files\IBM\WebSphere MQ\log
\<QMgrName>
UNIX -> /var/mqm/log/<QMgrName>
El fichero de log de control, contiene la información nece
saria para manejar la información de los logs de datos (tamaño, localización, nombre s
iguiente fichero)
Existen dos tipos de logs:
Circular -> Si se quiere solo restart recovery (Número lim
itado de ficheros)
Lineal -> Si se quiere restart y media recovery (Número de
ficheros de log muy grande, manejando ficheros 'activos' para recuperar el sist
ema, controlandose que ficheros estan activos mediante los checkpoints. Logs ina
ctivos pueden ser almacenados
Manejando checkpoints para asegurar recuperación
Los cambios son grabados antes en los logs que en la propia conf
iguración del QM. Un checkpoint es un punto en el tiempo que asegura la consistenc
ia entre el fichero de log y el QM.
Websphere MQ genera checkpoints automaticamente, al arranque, pa
rada del QM, baja actividad o cada 10000 operaciones.
Todos las operaciones que se realizaron del desde el ultimo chec
kpoint tras una recuperación son desestimadas.

********************************************************************************
*************
********************************************************************************
*************
DETERMINACIÓN DE ERRORES
********************************************************************************
*************
********************************************************************************
*************
Comprobaciones preliminares
Antes de comenzar con la busqueda del problema hay que delimitar
la causa del problema.
WebSphere MQ
The network
The application
Para encontrar el problema hay que responderse una serie de preg
untas:
¿Funcionaba WebSphere MQ de manera satisfactoria antes? ->
Si no funcionaba antes bien es que no estaba bien configurado.
¿Existe algun mensajes de error? -> Mirar logs de errores
¿Existe algun codigo de retorno que explique el error?
¿Puede reproducir el problema? Si se puede reproducir, ana
lizar las causas:
- ¿Causado por un comando o una petición de administ
ración? Funciona el comando por otro metodo (Si comando funciona pero no otra form
a, comprobar SYSTEM.ADMIN.COMMAND.QUEUE)
- ¿Causado por un programa?
- ¿Se puede identificar las aplicaciones que estan
siempre ejecutandose en el sistema cuando ocurre el problema?
¿Se ha realizado algún cambio desde la ultima ejecución satisf
actoria?
- Cambiado/añadido/borrado colas
- cambiado/borrado/añadido canales
- Obtiene la aplicación errores por motivos de cam
bios.
- Modificado algun componente del SSOO que pueda
afectar
¿Ha corrido la aplicación de manera satisfactoria anteriorme
nte?
- ¿Se ha realizado algun cambio a la aplicación?
- ¿Se han testeado todas las funciones de la aplic
ación?
- ¿Captura todos los mensajes de error la aplicación
?
- ¿Se ejecuta la aplicación en otro sistema Webspher
e MQ
Errores comunes de programación
Problemas con los comandos: Tener cuidado al esc
ribir los comandos como son los caracteres especiales \, "
¿El problema afecta partes concretas de la red?
- Comprobar conexión entre los sistemas y que el c
omponente de intercomunicación de Websphere se ha iniciado.
- Comprobar que las colas de transmisión estan env
iando los mensajes y recibiendolos.
- comprobar la configuración de la cola local de t
ranmisión
- Comprobar las colas remotas
¿Ocurre el problema a una hora concreta del dia? Puede deb
erse a picos de carga.
¿Es el problema intermintente?
¿Se ha actualizado algún servicio? Comprobar que se ha reali
zado exitosamente y no ha producido mensajes de error.
- Tenia la actualización algun comando especial
- Existia algún test para verificar que la actuali
zación se aplicó correcta y complentamenteç
- Persiste el problema si se restaura MQ a la ve
rsión anterior.
- Si la actualización fue exitosa contactar con so
porte IBM para mantenimiento.
Buscar problemas mas en detalle
¿Problemas de output incorrecto?
- No se reciben mensajes que se estaban esperando
* ¿Se ha puesto el mensaje en la cola de manera sa
tisfactoria?
Se ha definido de manera correcta la col
a (MAXMSGL suficientemente grande)
Esta habilitado el poner mensajes en la
cola
Esta la cola llena
Tiene otra aplicación acceso exclusivo a l
a cola
* ¿Se puede quitar (get) cualquier mensaje de la c
ola?
Necesita realizar un punto de sincroniz
ación (Si los mensajes son puesto o leidos sin un punto de sincronización, no son ac
cesibles al resto hasta que se realice un commit)
Es el intervalo de espera suficientemen
te grande (Se puede definir el tiempo de espera al GET, asegurarse que sea sufic
ientemente grande para recibir respuesta9
Estas esperando por un mensajes en conc
reto MsgId o CorrelId
Pueden otras aplicaciones coger mensaje
s de la cola
Esta definido el mensaje que se esta es
perando como persistente
Tiene otra aplicación acceso exclusivo a
la cola
Si no se encuentra ningún error en la cola y Websp
here MQ esta ejecutandose, comprobar el proceso que pone el mensaje:
Esta la aplicación levantada
Esta la aplicación parada
Esta el trigger monitor ejecutandose
Esta el proceso triger bien definido
Se ha completado la aplicación de manera c
orrecta
A realizado commit la aplicación
- Se recibe mensajes sin información o corrupta
¿Se ha modificado la aplicación? Comprobar que los c
ambios son recogidos en ambos lados
Esta la aplicación mandando mensajes a la cola equ
ivocada. Comprobar que realmente los mensajes que se reciben no tiene que ver co
n esa aplicación y aplicar medidas de seguridad para que no puedan poner mensajes.
Se ha especificado la información del trigger de m
anera correcta. Comprobar que es la aplicación correcta la que se ha iniciado.
- Se recibe mensajes que no se estaban esperando en cola
s distribuidas
¿Esta Websphere MQ correctamente instalado en los
sistemas receptores y emisores y correctamente configurado para usar colas distr
ibuidas?
¿Estan los enlaces habilitados entre ambos sistema
s?
Comprobar que ambos sistemas estan habil
itados y conectados con Websphere MQ y comprobar que la conexión esta activa. (Se
puede usar el comando ping para comprobarlo)
Esta el triggering habilitado en el sist
ema emisor
¿Esta el mensaje de respuesta en un sistem
a remoto? Comprobar que triggering esta habilitado en el sistema remoto.
¿Esta la cola llena?
- Si es asi comprobar si los men
sajes se estan poniendo en la dead-letter queue (La DLQ contiene un codigo de ra
zón de porqué no se puede poner el mensajes en la cola destino9
¿Existen incompatibilidades entre emisor y
receptor? (El tamaño del mensaje no puede ser mayor que lo que puede manejar el r
eceptor)
¿Es la definicion del canal compatible ent
re el emisor y el receptor?
¿Es necesaria la conversiíon de datos? Esto
sucede cuando la codificación difiere entre emisor y receptor.
- Fallo al recibir respuesta de un comando PCF
¿Esta el servidor de comandos ejecutandose? Ejecut
ar dspmqcsv para comprobar el estado, si el estado es que no se esta corriendo,
ejecutar strmqcsv. Si el resultado del comando indica que YSTEM.ADMIN.COMMAND.QU
EUE no tiene habilitado respuesta MQGET, habilitarlas.
¿Una respuesta ha sido enviada a la DLQ?
¿Ha sido un mensaje enviado al log de error?
¿Estan habilitadas las operaciones put y get en la
s colas?
¿Es el intervalo de espera 'WaitInterval' suficien
temente grande?
¿Son los atributos MAXDEPTH y MAXMSGL suficienteme
nte grandes?
¿Se estan usando los campos CorrelId y MsgId corre
ctamente?
Prueba a parar el command server y rearrancarlo,
respondiendo a cualquier mensaje de error que se produzca.
Si el sistema no responde el problema puede ser
de un QM o el sistema WebSphere MQ.
- Falla alguna de las colas
Mostrar la información de la cola, y con la inform
ación mostrar comprobar:
Si CURDEPTH es igual MAXDEPTH, la cola n
o esta procesando, comprobar que las aplicaciones se estan ejecutando.
Si CURDEPTH es menor MAXDEPTH, comprobar
los siguientes atributos para comprobar que son correctos:
Si se esta usando el triggering
Esta el trigger monitor
ejecutandose
Is the trigger depth too
great? That is, does it generate a trigger event often enough?
Es el nombre de proceso
correcto
Es el proceso accesible
y operacional.
¿Puede la cola ser compartida? Si
no es asi puede otra aplicación tenerla bloqueada
¿Esta habilitado el GET y el PUT e
n la cola?
Si no existen aplicaciones cogiendo mens
ajes de la cola determinar el porqué. Puede ser por:
Aplicaciones tienen que lanzarse
.
La conexión se ha visto interrumpi
da
MQOPEN ha fallado
Comprobar los atributos IPPPROCS y OPPPR
OCS (estos indican cuantas veces ha sido abierta la cola para entrada y salida.
Si el valor es cero indica que no se pueden realizar ese tipo de operaciones)
- El problema solo afecta a colas remotas
Comprobar que los canales requeridos estan arran
cados, pueden ser triggered y cualquier inicilizador esta en ejecución.
Comprobar que los programas que tienen que poner
mensajes en las colas remotas no esten reportando errores.
Si se usa triggering para iniciar el proceso de
distribución, comprobar que la cola de transmisión tiene el triggering habilitado y
comprobar que el trigger monitor esta activo.
Comprobar los mensajes de error de los logs de l
os canales reportados
Si es necesario arrancar el canal manualmente.
- Se ejcuta la aplicación o el sistema lentamente
Si la aplicación se ejecuta lentamente es porque s
e puede encontrar en un bucle o esperando por un recurso que no es encuentra dis
ponible.
Esto indica un problema de rendimiento, probable
mente el sistema esta operando en los limites de su capacidad, suelen deberse po
r picos de carga
Los siguientes sintomas suelen indicar que Websp
here MQ se esta ejecutando lentamente:
- Tarda mucho en responder a comandos MS
CS
- Visualizando la profundidad de la cola
se comprueba que decrece muy lentamente.

LOGS DE ERRORES
QM conocido:
UNIX systems -> /var/mqm/qmgrs/qmname/errors
Windows systems ->c:\Program Files\IBM\WebSphere
QM desconocido:
UNIX systems -> /var/mqm/errors
Windows systems -> c:\Program Files\IBM\WebSphere MQ\err
ors
Error en cliente.
UNIX systems -> /var/mqm/errors
Windows systems -> c:\Program Files\IBM\WebSphere MQ Cli
ent\errors
Ficheros de log:
Pueden contener tres ficheros de error llamados:
AMQERR01.LOG
AMQERR02.LOG
AMQERR03.LOG
UNIX systems -> /var/mqm/errors
Windows systems -> c:\Program Files\IBM\WebSphere MQ\err
ors
Tracing 283 - 291
First-Failure support Technology (FFST)
Contiene información sobre errores severos y normalmente no recupe
rables.
Windows system: c:\Program Files\IBM\WebSphere MQ\errors\AMQnnnn
n.mm.FDC
UNIX system. /var/mqm/errors/AMQnnnnn.mm.FDC
********************************************************************************
*************
********************************************************************************
*************
COMANDOS WEBSPHERE MQ
********************************************************************************
*************
********************************************************************************
*************
amqccert -> Check certificate chains
amqmdain -> Configure or control WebSphere MQ services (Windows systems only)
amqtcert -> Transfer certificates
crtmqcvx -> Convert data
crtmqm -> Create a local queue manager
dltmqm -> Delete a queue manager
dmpmqaut -> Dump authorizations to an object
dmpmqlog -> Dump a log
dspmq -> Display queue managers
dspmqaut -> Display authorizations to an object
dspmqcsv -> Display the status of a command server
dspmqfls -> Display file names
dspmqrte -> WebSphere MQ display route application
dspmqtrc -> Display formatted trace output (UNIX systems only)
dspmqrtn -> Display details of transactions
dspmqver -> Display version number
endmqcsv -> Stop the command server on a queue manager
endmqdnm -> Stop .NET monitor
endmqlsr -> Stop the listener process on a queue manager
endmqm -> Stop a local queue manager
endmqtrc -> Stop tracing for an entity
mqftapp -> Run the File Transfer Application
mqftrcv -> Receive file using the File Transfer Application (server)
mqftrcvc -> Receive file using the File Transfer Application (client)
mqftsnd -> Send file using the File Transfer Application (server)
mqftsndc -> Send file using the File Transfer Application (client)
rcdmqimg -> Write an image of an object to the log
rcrmqobj -> Recreate an object from their image in the log
rsvmqtrn -> Commit or back out a transaction
runmqchi -> Start a channel initiator process
runmqchl -> Start a sender or requester channel
runmqdlq -> Start the dead-letter queue handler
runmqdnm -> Run .NET monitor
runmqlsr -> Start a listener process
runmqsc -> Issue MQSC commands to a queue manager © Copyright IBM Corp. 1994, 2005
281
runmqtmc -> Invoke a trigger monitor for a client (AIX clients only)
runmqtrm -> Invoke a trigger monitor for a server
setmqaut -> Change authorizations to an object
setmqcrl -> Set certificate revocation list (CRL) LDAP server definitions (Windo
ws systems only)
setmqscp -> Set service connection points (Windows systems only)
strmqcsv -> Start the command server for a queue manager
strmqm -> Start a local queue manager
strmqtrc -> Enable tracing

EX622 - MQIPT

S-ar putea să vă placă și