terça-feira, 21 de julho de 2015
WebSphere MQ - Troubleshhoting MQ Server - Activity trace
Existem várias situações que precisamos habilitar trace para troubleshooting.
O trace padrão do MQ pode ser habilitado via comando:
strmqtrc -e -t all -t detail -l 100
Para desabilitar o trace:
endmqtrc -a
Os traces serão gerados no diretório padrão [../qmgrs/nome_queue_manager/trace] no formato AMQ...
Há casos onde precisamos de informações mais detalhadas de todas as atividades realizadas no MQ (Activity trace).
Podemos, por exemplo, obter o conteúdo de todas as mensagens e o correlation id das mesmas para troubleshooting envolvendo o Message Broker. Para isso:
1. Editar o arquivo de Activity trace, [../qmgrs/nome_queue_manager/mqat.ini].
Exemplo de valores: TraceLevel=HIGH, TraceMessageData=100, StopOnGetTraceMsg=OFF
2. Habilitar Activity trace: via MQ Explorer clique com o botão direito em cima do Queue Manager > Online monitoring > Activity trace > ON. Ou, via comando ALTER QMGR ACTVTRC(ON).
3. Efetuar as operações desejadas no MQ Server
4. Desabilitar o Activity trace
5. Visualizar os traces: /usr/mqm/samp/bin/amqsact -m nome_queue_manager -v > saida.txt
6. Visualizar o conteúdo do arquivo saida.txt
Vale ressaltar que Activity trace tem um grande peso sobre a performance do ambiente. Só habilite em momentos de troubleshooting e de modo controlado.
Link de referência: http://www.ibm.com/developerworks/websphere/library/techarticles/1306_bushby/1306_bushby.html
quarta-feira, 15 de julho de 2015
WebSphere MQ - Troubleshhoting MQ Client
Em alguns casos há falha de conectividade entre as aplicações que utilizam MQ Client e o MQ Server como, por exemplo, reason code 2539 [RC2539): MQRC_CHANNEL_CONFIG_ERROR]
Através do MQ Client podemos testar a conectividade com o MQ Server através dos próprios utilitários do MQ, normalmente localizado em "c:\program files (x86)\ibm\websphere mq\tools\c\samples\bin", utilizando os comandos abaixo.
1. Validar a conexão entre o MQ Client e MQ Server
amqscnxc.exe -x nome_do_servidor -c nome_do_canal nome_do_queue_manager
Exemplo: amqscnxc.exe -x servidor01 -c canal01 QM01
Nesse caso, será possível validar se realmente há um problema de conectividade entre o MQ Client e o MQ Server ou se há algum erro vindo da aplicação.
Em algumas situações, foi possível ver que o nome do servidor está configurado incorretamente na aplicação.
2. Inserir uma mensagem na fila
set MQSERVER=nome_do_canal/TCP/nome_do_servidor(1414)
amqsputc nome_da_fila nome_do_queue_manager
Exemplo:
set MQSERVER=SYSTEM.DEF.SVRCONN/TCP/servidor01(1414)
amqsput fila01 QM01
Nesse caso, será possível validar se há algum problema para inserir uma mensagen na fila.
Em algumas situações, foi possível identificar que o usuário utilizado na aplicação não tem permissão para inserir mensagem na fila. Quando isso ocorre, é possível identificar com precisão a falta de permissão no MQ Server no arquivos "../errors/AMQERR01.LOG"
3. Habilitar traces
Em situações mais complexas pode ser necessário habilitar trace e reproduzir o problema para análise ou mesmo encaminhar traces para o Fornecedor (IBM). Os traces ficam gravados no diretório "..\websphere mq\trace" do MQ Client.
- Habilitar trace no MQ Client
strmqtrc -e -t all -t detail -l 100
- Desabilitar trace no MQ Client
endmqtrc -a
4. Verificar lentidão
E alguns casos pode ser percebdio lentidão de conexão entre o MQ Client e o MQ Server. Uma das causas é IPv6 lookup.
Links de referência: http://www-01.ibm.com/support/docview.wss?uid=swg21306138 e http://www-01.ibm.com/support/docview.wss?uid=swg21515397
Através do MQ Client podemos testar a conectividade com o MQ Server através dos próprios utilitários do MQ, normalmente localizado em "c:\program files (x86)\ibm\websphere mq\tools\c\samples\bin", utilizando os comandos abaixo.
1. Validar a conexão entre o MQ Client e MQ Server
amqscnxc.exe -x nome_do_servidor -c nome_do_canal nome_do_queue_manager
Exemplo: amqscnxc.exe -x servidor01 -c canal01 QM01
Nesse caso, será possível validar se realmente há um problema de conectividade entre o MQ Client e o MQ Server ou se há algum erro vindo da aplicação.
Em algumas situações, foi possível ver que o nome do servidor está configurado incorretamente na aplicação.
2. Inserir uma mensagem na fila
set MQSERVER=nome_do_canal/TCP/nome_do_servidor(1414)
amqsputc nome_da_fila nome_do_queue_manager
Exemplo:
set MQSERVER=SYSTEM.DEF.SVRCONN/TCP/servidor01(1414)
amqsput fila01 QM01
Nesse caso, será possível validar se há algum problema para inserir uma mensagen na fila.
Em algumas situações, foi possível identificar que o usuário utilizado na aplicação não tem permissão para inserir mensagem na fila. Quando isso ocorre, é possível identificar com precisão a falta de permissão no MQ Server no arquivos "../errors/AMQERR01.LOG"
3. Habilitar traces
Em situações mais complexas pode ser necessário habilitar trace e reproduzir o problema para análise ou mesmo encaminhar traces para o Fornecedor (IBM). Os traces ficam gravados no diretório "..\websphere mq\trace" do MQ Client.
- Habilitar trace no MQ Client
strmqtrc -e -t all -t detail -l 100
- Desabilitar trace no MQ Client
endmqtrc -a
4. Verificar lentidão
E alguns casos pode ser percebdio lentidão de conexão entre o MQ Client e o MQ Server. Uma das causas é IPv6 lookup.
Links de referência: http://www-01.ibm.com/support/docview.wss?uid=swg21306138 e http://www-01.ibm.com/support/docview.wss?uid=swg21515397
sexta-feira, 23 de março de 2012
Vmware Sistema Operacional 64-bits
Para trabalhar com vmware que tenha Sistema Operacional 64-bits como, por exemplo, Windows 2008 R2 64bits é necessário habilitar um recurso adicional na sua máquina.
Esse recurso é chamado VT (Virtualization Technology) e é habilitado na BIOS do computador.
Para isso, reinicie o Computador e fique pressionando F2. Vá na aba "Configuration" e troque essa propriedade para "enabled".
Quando você tenta iniciar a vmware sem esse recurso irá obter a mensagem "Continue without 64-bit support?". Se você continuar, a vmware ficará em loop eterno com a mensagem "Windows is loading files".
A própria vmware disponibiliza um aplicativo chamado "Processor Check for 64-Bit Compatibility" para verificar se sua máquina é compatível com vms 64-bits.
Link de referência: http://downloads.vmware.com/d/details/processor_check_5_5_dt/dCpiQGhkYmRAZQ==
Esse recurso é chamado VT (Virtualization Technology) e é habilitado na BIOS do computador.
Para isso, reinicie o Computador e fique pressionando F2. Vá na aba "Configuration" e troque essa propriedade para "enabled".
Quando você tenta iniciar a vmware sem esse recurso irá obter a mensagem "Continue without 64-bit support?". Se você continuar, a vmware ficará em loop eterno com a mensagem "Windows is loading files".
A própria vmware disponibiliza um aplicativo chamado "Processor Check for 64-Bit Compatibility" para verificar se sua máquina é compatível com vms 64-bits.
Link de referência: http://downloads.vmware.com/d/details/processor_check_5_5_dt/dCpiQGhkYmRAZQ==
sexta-feira, 2 de setembro de 2011
sqlcode=-803 - IBM WebSphere Process Server
Outro dia verifiquei sqlcode=-803 nos logs do ambiente do Process Server.
A solução é utilizar o rippleStart no Cluster do Process ao invés do Start normal. Isso, porque há concorrência dos Application Servers com o Banco de Dados quando utilizamos o start. Com o rippleStart isso não ocorre porque cada Application Server é iniciado em sequencia.
Rastreamento do problema:
1. Verifiquei que o código -803 está relacionado com comandos DDL no Banco de Dados.
http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=%2Fcom.ibm.db2z9.doc.codes%2Fsrc%2Ftpc%2Fn803.htm
2. Em seguida, procurei por erros relacionados ao código -803 no ambiente do Process e obtive o seguinte report:
http://www-01.ibm.com/support/docview.wss?uid=swg21474394
3. Verifiquei documentação sobre o rippleStart
http://publib.boulder.ibm.com/infocenter/dmndhelp/v7r0mx/index.jsp?topic=/com.ibm.websphere.wps.doc/doc/tadm_start_cluster.html
4. O ambiente está automatizado para utilizar jython ao parar e iniciar o ambiente WebSphere BPM. Então tive a pequena curiosidade de ver as diferenças entre jacl e jython
http://en.wikipedia.org/wiki/wsadmin
5. Como iniciar um Cluster via jacl ou jython
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=%2Fcom.ibm.websphere.nd.doc%2Finfo%2Fae%2Fae%2Ftxml_startcluster.html
Uma segunda documentação sobre ripplestart em jacl e jython
http://www-01.ibm.com/support/docview.wss?uid=swg1PK11560
Uma terceira documentação muito boa sobre ripplestart em jacl (script pronto)
http://www.webspheretools.com/sites/webspheretools.nsf/docs/Ripple%20Start%20cluster%20in%20WebSphere%20using%20JACL
A solução é utilizar o rippleStart no Cluster do Process ao invés do Start normal. Isso, porque há concorrência dos Application Servers com o Banco de Dados quando utilizamos o start. Com o rippleStart isso não ocorre porque cada Application Server é iniciado em sequencia.
Rastreamento do problema:
1. Verifiquei que o código -803 está relacionado com comandos DDL no Banco de Dados.
http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=%2Fcom.ibm.db2z9.doc.codes%2Fsrc%2Ftpc%2Fn803.htm
2. Em seguida, procurei por erros relacionados ao código -803 no ambiente do Process e obtive o seguinte report:
http://www-01.ibm.com/support/docview.wss?uid=swg21474394
3. Verifiquei documentação sobre o rippleStart
http://publib.boulder.ibm.com/infocenter/dmndhelp/v7r0mx/index.jsp?topic=/com.ibm.websphere.wps.doc/doc/tadm_start_cluster.html
4. O ambiente está automatizado para utilizar jython ao parar e iniciar o ambiente WebSphere BPM. Então tive a pequena curiosidade de ver as diferenças entre jacl e jython
http://en.wikipedia.org/wiki/wsadmin
5. Como iniciar um Cluster via jacl ou jython
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=%2Fcom.ibm.websphere.nd.doc%2Finfo%2Fae%2Fae%2Ftxml_startcluster.html
Uma segunda documentação sobre ripplestart em jacl e jython
http://www-01.ibm.com/support/docview.wss?uid=swg1PK11560
Uma terceira documentação muito boa sobre ripplestart em jacl (script pronto)
http://www.webspheretools.com/sites/webspheretools.nsf/docs/Ripple%20Start%20cluster%20in%20WebSphere%20using%20JACL
Marcadores:
bpm,
ibm,
process,
server,
sqlcode=-803,
websphere,
websphere process server
quarta-feira, 31 de agosto de 2011
Como visualizar conexões JDBC no WebSphere Application Server
Na versão 7 do WebSphere Application Server (WAS) existe a ferramenta Tivoli Performance Viewer nativa.
Para entrar na Ferramenta faça login no Console Administrativo e vá em Monitoring and Tuning > Performance Viewer > Current activity e selecione o Application Server desejado.
Após selecionar o Application Server, vá em Performance Modules > JDBC Connection Pools > DB2 Universal JDBC Driver Provider (XA) e selecione o jdbc desejado.
. No meu caso, estamos utilizando conexão com o DB2
Selecione as propriedades
. CreateCount: quantidade de conexões que foram abertas no Banco de Dados
. CloseCount: quantidade de conexões fechadas
. PoolSize: quantidade de conexões correntemente abertas
Em outras palavras, o PoolSize indica quantas conexões estão abertas no momento.
Para visualizar a quantidade total de conexões JDBC abertas no Banco de Dados, será necessário somar os valores do PoolSize de cada Application Server.
Com o Performance Viewer é possível iniciar log (através do botão "Start Logging") e salvar esses valores para visualização futura. Os arquivos são salvos em formato xml e compactado com formato zip após clicar em "Stop Logging" - no diretório ".../logs/tpv"
No Console Administrativo vá em Monitoring and Tuning > Performance Viewer > View logs e selecione o arquivo desejado (formato zip dito no parágrafo anterior) para visualizar os logs.
Para entrar na Ferramenta faça login no Console Administrativo e vá em Monitoring and Tuning > Performance Viewer > Current activity e selecione o Application Server desejado.
Após selecionar o Application Server, vá em Performance Modules > JDBC Connection Pools > DB2 Universal JDBC Driver Provider (XA) e selecione o jdbc desejado.
. No meu caso, estamos utilizando conexão com o DB2
Selecione as propriedades
. CreateCount: quantidade de conexões que foram abertas no Banco de Dados
. CloseCount: quantidade de conexões fechadas
. PoolSize: quantidade de conexões correntemente abertas
Em outras palavras, o PoolSize indica quantas conexões estão abertas no momento.
Para visualizar a quantidade total de conexões JDBC abertas no Banco de Dados, será necessário somar os valores do PoolSize de cada Application Server.
Com o Performance Viewer é possível iniciar log (através do botão "Start Logging") e salvar esses valores para visualização futura. Os arquivos são salvos em formato xml e compactado com formato zip após clicar em "Stop Logging" - no diretório ".../logs/tpv"
No Console Administrativo vá em Monitoring and Tuning > Performance Viewer > View logs e selecione o arquivo desejado (formato zip dito no parágrafo anterior) para visualizar os logs.
segunda-feira, 22 de agosto de 2011
Segurança (autenticação) no WebSphere Application Server
Dica para habilitar Segurança no WAS (WebSphere Application Server) quando há vários nós e Applications Servers.
1. Pare todos os Applications Servers
2. Pare todos os nós (nodeagents)
Portanto, deixe somente o dmgr (Deployment Manager) iniciado
3. Aplique a segurança desejada
4. Reinicie o dmgr e verifique se está tudo Ok
5. Faça o syncnode para cada nó. Nesse momento (após a segurança habilitada) o was irá solicitar usuário/senha para autenticar no dmgr
Faça isso para cada nó e depois inicie os Applications Servers.
Em outras palavras, habilite a segurança somente o dmgr iniciado.
1. Pare todos os Applications Servers
2. Pare todos os nós (nodeagents)
Portanto, deixe somente o dmgr (Deployment Manager) iniciado
3. Aplique a segurança desejada
4. Reinicie o dmgr e verifique se está tudo Ok
5. Faça o syncnode para cada nó. Nesse momento (após a segurança habilitada) o was irá solicitar usuário/senha para autenticar no dmgr
Faça isso para cada nó e depois inicie os Applications Servers.
Em outras palavras, habilite a segurança somente o dmgr iniciado.
sexta-feira, 1 de julho de 2011
Nome distinto na busca de usuários do Windows - AD
Em algumas situações desejamos visualizar o nome distinto do usuário no AD. Exemplo:
CN=Juliano Claiton,OU=Administradores,OU=XPTO,DC=BR,DC=COM,DC=BR
O "Procurar" padrão do Windows não exibe essa coluna e não permitir selecionar-mos as colunas desejadas.
Para isso podemos utilizar o seguinte comando:
%windir%\system32\rundll32.exe dsquery,OpenQueryWindow
Então, encontre o usuário desejado --> clique Exibir, Escolher Colunas --> Selecione a coluna "Nome Distinto".
CN=Juliano Claiton,OU=Administradores,OU=XPTO,DC=BR,DC=COM,DC=BR
O "Procurar" padrão do Windows não exibe essa coluna e não permitir selecionar-mos as colunas desejadas.
Para isso podemos utilizar o seguinte comando:
%windir%\system32\rundll32.exe dsquery,OpenQueryWindow
Então, encontre o usuário desejado --> clique Exibir, Escolher Colunas --> Selecione a coluna "Nome Distinto".
Assinar:
Postagens (Atom)