
Desculpe pela parede de texto abaixo.
No meu local de trabalho, temos alguns servidores Exchange e controladores de domínio de suporte, todos atualmente monitorados pelo SCOM. Configurei certos elementos de monitoramento além do que o SCOM pode fazer em um site ASP.net, apoiado por um banco de dados SQL.
Estou interessado em monitorar os servidores mais de perto para que possamos:
Baseline the servers better for historical comparison
If a problem occurs we can pull out more raw data.
Para esse fim, quero extrair mais dados dos contadores Perfmon. Eu sei que o SCOM pode extrair alguns dados do Perfmon, e ele o faz, mas nossa implementação do SCOM é bastante grande, e os caras que o gerenciam não querem que eu aumente a frequência dos contadores para que sejam suficientes para serem úteis às vezes.
Além disso, consultar o banco de dados SCOM em busca de dados significa que não posso realmente alterar os índices, controlar os tempos limite para os dados de que preciso ou realmente controlar o que preciso.
Minha pergunta aqui é realmente mais uma sobre como devo abordar isso, não como realmente extraio os dados e os insiro, pois já tenho scripts que podem extrair dados e inseri-los no SQL.
Vagamente, temos divisões de servidores da seguinte forma:
Exchange 2007 in Domain1.com
Exchange 2010 in Domain2.com
Os servidores são divididos logicamente da seguinte forma para o Exchange 2007/2010:
Mailbox Servers
Client Access Servers
Hub Transport Servers
Domain Controllers
Gostaria de obter contadores para o básico de todos os servidores acima e, em seguida, aprofundar-me em tipos de servidores específicos, por exemplo, extraindo a latência média de RPC dos servidores de caixa de correio, número de conexões de servidores CAS, mensagens enviadas/s para Servidores HT etc.
Então, o que eu quero fazer é criar 4 tipos de script, um para cada classe de servidor, e depois executá-los em cada servidor de acordo com uma programação para registrar alguns dados, conectar-me ao meu banco de dados SQL e, em seguida, inserir os registros nas tabelas.
Para minhas tabelas SQL, devo criar uma por classe de servidor ou apenas colocar todos os registros em uma única tabela?
é uma péssima ideia executar um script local em cada servidor que jogue todos os dados na tabela SQL? Considerei coletar os dados remotamente, mas se eu quiser apenas capturar alguns dados a cada poucos minutos, descobri tempos muito variados causados pela latência da rede ou outros fatores que atrapalharam o tempo.
Eu também gostaria de ouvir sobre possíveis soluções de arquivamento, como como manter registros mais frequentes dos últimos dias (talvez a cada 5 minutos para todos os contadores durante 5 dias), mas manter registros menos frequentes voltando no tempo.
Responder1
No final, acabei de executar uma coleta remota, mas para um conjunto limitado de dados, e defini o intervalo para cerca de uma vez a cada 5 minutos, o que parece bom até agora. Preciso pensar na retenção de dados, na eficiência das consultas, etc., mas enquanto isso respondi à minha própria pergunta, ninguém propôs nada.