Azure VM Resource Health e Diagnose and solve problems

Hoje o Azure conduz o administrador para uma melhor análise e troubleshooting de seus recursos através do Resouce Health, recomendações para troubleshooting que ajudam no dia a dia em cuidar de seu workload mais principalmente orientar sua análise baseada em recomendações e algumas ferramentas para lhe apoiar em seu problema.

Pensando nisso e como venho acompanhado um tempo Azure, resolvi escrever este post para adicionar aqui algumas opções que temos no Portal do Azure.

Ao clicar na VM que deseja analisar, na blade e opções lado esquerdo você tem Support + troubleshooting, primeiro item que nos deparamos é o Resource Health, aonde vai lhe dar:

  • Problemas na plataforma que possam afetar recurso;
  • Histórico de Health e detalhes sobre problemas assim como também apoiar em uma melhor análise e conduzir no troubleshooting.

Neste caso tivemos um reboot iniciado internamente pela VM e passos recomendados, além do melhor que seria o troubleshooting tool, clicando no mesmo (link) ou em Diagnose and solve problems. Esta opção irá guiar você com possíveis problemas, soluções, recomendações e ferramentas para lhe ajudar na sua análise do problema identificado.

Alguns casos se remete as soluções como Network Watcher, Connection Monitor, entre outros conforme problema apresentado. Um que acho interessante é o VM Performance Issues e Network Watcher assim como em alguns casos Service Map.

Opções do VM Performance Issues

 

Obrigado e até o próximo….

 

#Azure #AzureResourceHealth

 

 

 

 

 

Camada de serviço e aplicação falando via MSDTC com banco de dados SQL (Troubleshooting)

Pessoal, recentemente tive uma atuação em um problema antigo na empresa que trabalho, aonde a camada de serviço de uma determinada aplicação, através do MSDTC do Windows fala com a camada também configurada no banco (receptor) e que abre conexão com o banco.

The MSDTC transaction manager was unable to pull the transaction from the source transaction manager due to communication problems.
Possible causes are: a firewall is present and it doesn’t have an exception for the MSDTC process,
the two machines cannot find each other by their NetBIOS names,
or the support for network transactions is not enabled for one of the two transaction managers. (Exception from HRESULT: 0x8004D02B)

Possible causes are: a firewall is present and it doesn’t have an exception for the MSDTC process,

Alguns pontos para se analisar

Habilitar MSDTC e as configurações necessárias, indo em Component Services -> Computers -> My Computer -> Distributed Transaction e Local DTC
Clicando com o botão direto e em propriedades:

DTC

Ir no Firewall do Windows liberando aplicação:

Control Panel\All Control Panel Items\Windows Firewall\Allowed apps

allow_DTC

Quer validar se permite conexão MSDTC, veja via PowerShell:

ImageDTC

Um ponto importante é quando temos um firewall, pensamos como liberar as portas necessárias para esta conexão uma vez que usa um range de portas, portas dinâmicas, etc ? Bom, fiz uma pesquisa de vários artigos na Internet e notei que as portas basicamente pelo que falam são estas :

RPC PORT RANGE (49152 A 65535)
Custom RPC UX (5000-6000 / TCP/UDP)
RPC EndPoint Mapper Service (TCP 135)
Security Port 88 (TCP/UDP) – Kerberos
NETBIOS (UDP/137, UDP/138 e UDP/139)
SQL 1433

Porta 135 (RPC, tcp/udp)

1

1433 (SQL)

2

3

Utilizei o DTCPing ( Download -> https://www.microsoft.com/en-us/download/details.aspx?id=2868) para gerar os pacotes acima.

Neste cenário tinha um ambiente com firewall, regra NAT, então tudo isso é importante você conhecer em infraestrutura, como exemplo de nosso cenário e necessidades:

Capturar

Pode-se notar a camada de serviço no Azure fazendo conexão em outro DataCenter

Necessário setar um range específico para conexão MSDTC via registry (Salve como .reg e execute em ambos servidores)

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Rpc\Internet]
“PortsInternetAvailable”=”Y”
“UseInternetPorts”=”Y”
“Ports”=hex(7):35,00,30,00,30,00,31,00,2d,00,36,00,30,00,30,00,30,00,00,00,00,\
00,00,00

Novo .reg

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\RPC]
“EnableAuthEpResolution”=dword:00000001
“RestrictRemoteClients”=dword:00000000

Com isso vai notar que as portas de conexão MSDTC serão deste range, podendo facilitar a criação de regra no Firewall:

fw

Basicamente, as portas necessárias para serem liberadas em ambos os lados, seja no Azure no NSG, ou no Firewall do DataCenter são:

Custom RPC UX (5000-6000 / TCP/UDP)
RPC EndPoint Mapper Service (TCP 135)
SQL 1433

Uma vez feito estas liberações e configurações do MSDTC em ambas as pontas, igualmente será feito conexão com sucesso e inclusive em testes pelos DTCPing:

ab

Observação: Lembre de abrir em ambas as pontas o DTCPing antes de gerar um teste.

 

Referência:

Store Procedure para RPC Request (https://msdn.microsoft.com/en-us/library/dd357576.aspx )

SQLBatch, descreve o formato SQL Batch Message (https://msdn.microsoft.com/en-us/library/dd358575.aspx )

Transaction Manager Request (https://msdn.microsoft.com/en-us/library/dd339887.aspx )

 

Obrigado pessoal e até a próxima….