Em determinadas situações pode ser necessária a exportação dos dados que estão em um servidor SQL Server para outros formatos de dados. Por exemplo, podemos exportar uma tabela ou o resultado de uma view para um planilha do Excel. A pessoa responsável, por exemplo uma secretária, pode preparar um relatório a partir da planilha do Excel.
A exemplo da importação de dados, podemos exportar dados para uma variedade de formatos. Vamos fazer dois exemplos de exportação de dados. No primeiro, exportaremos dados para uma planilha do Excel; no segundo exemplo, para o formato de um arquivo de dados do Dbase III.
Exemplo prático: Exportar as tabelas Pedidos, Detalhes do pedido e Clientes, do Banco de Dados ImportAccess, da instância SERVIDOR\SQL2005, para uma planilha do Excel. A planilha será gravada na pasta C:\Meus documentos, com o nome de ExportadoDoSQLServer.xls.
Importante: Quando exportamos dados para uma planilha do Excel é necessário que o arquivo já tenha sido criado previamente,. Caso o arquivo C:\Meus documentos\ ExportadoDoSQLServer.xls não exista, crie este arquivo, pois senão será gerado um erro, durante a execução do assistente de exportação.
Procedimento: Para exportar as Pedidos, Detalhes do pedido e Clientes, do Banco de Dados ImportAccess, da instância SERVIDOR\SQL2005, para uma planilha do Excel, siga os passos indicados a seguir:
1. Abra o SQL Server Management Studio.
2. Navegue até a opção Databases da instância SERVIDOR\SQL2005.
3. Dê um clique no sinal de mais ao lado da opção Databases, para exibir os bancos de dados disponíveis. O banco de dados ImportAccess deve estar sendo exibido na listagem.
4. Dê um clique com o botão direito do mouse no Banco de Dados ImportAccess. Nas opções que surgem, clique no comando Tasks -> Export Data... Será aberto o “Data Transformation Services Import/Export Wizard”.
5. A primeira tela do assistente é apenas informativa. Dê um clique no botão Next, seguindo para a próxima etapa do assistente.
Na segunda etapa podemos selecionar o formato dos dados a serem exportados. Por padrão vem selecionado, na lista Data Source, o drive para SQL Server: Microsoft OLE DB Provider for SQL Server. Mas existe a possibilidade de exportar dados para diversos formatos, como por exemplo:
- Dbase III, IV e V.
- Microsoft Access.
- Microsoft Excel 3, 4, 5, 97 e 2000.
- Paradox 3, 4 e 5.
- Fox Pro.
- Visual Fox Pro.
- ORACLE.
- Arquivos de texto.
Como estamos exportando dados do SQL Server 2005, certifique-se de que na lista Data Source esteja selecionado Microsoft OLE DB Provider for SQL Server.
Quando escolhemos uma opção na lista Data Source, as demais opções desta etapa mudam para refletir os parâmetros que devem ser fornecidos, de acordo com a fonte de dados escolhida. No caso de uma fonte do Microsoft OLE DB Provider for SQL Server, devemos definir a instância e o nome do Banco de Dados e as informações para conexão. Como acionamos o assistente clicando com o botão direito do mouse no Banco de Dados ImportAccess, da instância SERVIDOR\SQL2005, estas informações já vem selecionadas, automaticamente.
6. Para autenticação marque a opção Use Windows Authentication. Dê um clique no botão Next, para ir à próxima etapa do assistente..
7. Nesta etapa devemos definir para qual formato e para qual arquivo, se for o caso, os dados serão exportados. Na lista Destination selecione: Microsoft Excel 97-2000. No campo File Name digite: C:\Meus documentos\ ExportadoDoSQLServer.xls. Sua tela deve estar conforme indicado na Figura 7.16.
Figura 7.16 Definindo o formato e o arquivo de destino dos dados.
8. Dê um clique no botão Next, para ir para a próxima etapa do assistente.
Nesta etapa, com base nos formatos de origem e destino selecionados, temos duas opções:
- "Copy data from on or more tables or views": Esta opção exibirá, na próxima etapa, uma listagem das tabelas e consultas (views) do banco de dados de origem.
- "Use a query to specify the data to transfer": Esta opção exibirá, na próxima etapa, uma janela gráfica, na qual podemos construir uma instrução SQL que retorna dados de uma ou mais tabelas.
9. Certifique-se de que a opção “Copy data from on or more tables or views” esteja selecionada, e clique em Next para seguir para a próxima etapa do assistente.
Nesta etapa devemos selecionar as tabelas e consultas a serem exportadas. No nosso exemplo selecionaremos apenas as tabelas Pedidos, Detalhes do Pedido e Clientes. É também importante observar que o banco de dados não tem Views, somente tabelas. Ao selecionar uma tabela (ou consulta), você pode clicar no botão Preview que serão exibidos os dados do objeto selecionado. Cada tabela será exportada como uma nova planilha na pasta de trabalho C:\Meus documentos\ ExportadoDoSQLServer.xls. Na coluna Destination você pode alterar o nome que será atribuído a cada planilha. Por padrão, é atribuído o nome da tabela de origem.
10. Certifique-se de que as tabelas Pedidos, Detalhes do Pedido e Clientes estejam selecionadas. Clique no botão Next, para ir para a próxima etapa do assistente.
Nesta etapa, temos as seguintes opções:
- Run Immediately: Esta opção faz com que a exportação seja executada imediatamente após finalizarmos o assistente.
- Schedule DTS package for later execution: Esta opção permite que agendemos a exportação para acontecer em intervalos programados, através da criação de um Job. Observe que esta opção pode ser marcada em conjunto com as demais opções. Por exemplo, podemos executar a importação imediatamente (Run Immediately) e também agendar a importação para ocorrer em períodos determinados. Se selecionarmos esta opção, podemos utilizar o botão Edit Schedule... para alterar o agendamento. Se o agendamento não for alterado, ele será programado para execução diária à meia-noite (00:00:00 h).
Também podemos salvar as definições de exportação, selecionando a opção Save DTS Package.
11. Certifique-se de que apenas a opção Run Immediately esteja selecionada, e dê um clique no botão Next, seguindo para a próxima etapa do assistente.
12. Você estará na tela final do assistente, onde é apresentado um resumo das opções selecionadas. Caso você queira alterar alguma opção é só utilizar o botão Back. Para iniciar a exportação, dê um clique no botão Finish.
O SQL Server 2005 exibe uma janela com o progresso da exportação.
Ao final, é exibida uma mensagem informando o número de objetos que foram exportados, conforme indicado na Figura 7.17.
Figura 7.17 Exportação concluída com sucesso.
13. Dê um clique no botão Close para fechar esta janela.
18. Você estará de volta ao SQL Server Management Studio. Feche-o.
Abra o Excel e abra o arquivo C:\Meus documentos\ExportadoDoSQLServer.xls. Na Figura 7.18, podemos ver que as tabelas Pedidos, Detalhes do Pedido e Clientes foram exportadas para o arquivo do Excel e que cada tabela foi exportada para uma planilha com o nome da tabela.
Figura 7.18 Dados na planilha do Excel.
Know-how em: Monitoração de Desempenho
no SQL SERVER 2005
Pré-Requisitos:
- Fundamentos apresentados na Parte I.
- Noções básicas de hardware.
- Noções básicas do Windows 2000 Server ou Windows Server 2003.
- Noções sobre utilização do MMC.
Metodologia:
- Apresentação dos métodos utilizados para monitoração de desempenho.
Técnica:
- Utilização do console Desempenho para monitoramento.
Um servidor é tão rápido quanto for o desempenho do seu dispositivo mais lento. Em outras palavras, o desempenho de um servidor pode ser comprometido se um ou mais dos seus dispositivos estiver apresentando problemas de funcionamento ou estiver inadequadamente dimensionado. Por exemplo, não adianta você ter um servidor multiprocessado, com uma grande quantidade de memória RAM e um sistema de discos lentos. Neste caso, o sistemas de discos ira limitar o desempenho do seu servidor. Chamamos o elemento limitador de “gargalo do sistema”, porém o termo mais conhecido é o termo em inglês: Bottleneck. Utilizarei o termo gargalo.
Um gargalo é causado, normalmente, pelo uso excessivo de um ou mais recursos do sistema. Por exemplo, em um servidor de Bancos de Dados, em que são realizadas consultas complexas, a memória pode se tornar um fator limitador do desempenho do sistema. Neste caso dizemos que a memória é o gargalo do sistema. Muitas vezes ao solucionarmos um gargalo, imediatamente outro componente torna-se um novo gargalo. No exemplo anterior, poderíamos adicionar mais memória RAM, aí o processador ficaria sobrecarregado, e eis que o processador tornou-se o nosso novo gargalo.
Conforme podemos ver, o processo de monitorar o desempenho é um processo contínuo, ou seja, resolvemos um gargalo e vamos em busca do próximo. Nesta seção aprenderemos a monitorar os principais elementos de hardware, bem como a monitorar o servidor SQL Server 2005, em busca de informações que nos ajudem a mantê-lo com um desempenho satisfatório.
A monitoração é uma maneira de o administrador acompanhar o aumento de carga em um ou mais servidores da rede, acompanhando qual a ocupação/utilização dos principais elementos de Hardware, tais como memória, processadores, interfaces de rede e sistemas de disco. Com o acompanhamento da carga de trabalho em cada um destes elementos, o administrador pode fazer uma estimativa, com antecedência, de quando será necessário o upgrade de um ou mais destes elementos de hardware, como por exemplo adicionar mais memória RAM, trocar a placa controladora de discos por uma mais rápida e assim por diante. Se o administrador não tem este acompanhamento, o que acontece é que chega-se a um ponto onde os serviços e o acesso aos sistemas, tornam-se lentos e os usuários começam a reclamar. Neste ponto o administrador não sabe exatamente o que está acontecendo (apenas suspeita que pode ser sobrecarga em um ou mais dos itens de hardware do servidor). Como o administrador não fez a lição de casa, isto é não fez um monitoramento preventivo, terá que “tentar descobrir” quais os elementos de hardware que estão sobrecarregados, apresentar um relatório solicitando recursos, encomendar o hardware necessário para finalmente providenciar a troca. Ou seja, tudo na base do improviso, da pressa. Definitivamente esta não é uma boa maneira de trabalhar e administrar a sua rede.
O monitoramento sistemático, isto é, com regras bem definidas e com uma metodologia de monitoramento, faz com que o administrador trabalhe de uma maneira pró-ativa (um amigo meu diria que este termo é ‘chique’), sempre prevendo com boa antecedência as necessidades de upgrade de hardware, evitando com isso que chegue-se ao ponto em que o desempenho caia exponencialmente e os usuários comecem a reclamar. Outro fator que tem que ser considerado é que chega-se a um ponto onde o limite do servidor é atingido, ou seja, não é mais possível expandir a memória, não é possível adicionar novos processadores e assim por diante. Nestas situações faz-se necessária a troca do servidor por outro com maiores capacidades. Mais uma vez fica clara a importância do monitoramento para “prever”, com uma boa antecedência, uma necessidade de troca de servidor. Principalmente porque servidor e hardware de servidor não é como hardware de PC, que você encontra a pronta-entrega no mercado. Normalmente hardware de servidor é feito sob encomenda e demora alguns dias (ou até semanas) para estar disponível. Se o administrador não prever com uma boa antecedência a necessidade de troca, corre o risco de ter que conviver durante semanas com um ou mais servidores que não atendem as demandas dos usuários, com um desempenho sofrível e o que é o pior, com um telefone que não para de tocar, com usuários reclamando (e com toda a razão), do desempenho do sistema.
Neste tópico você aprenderá a utilizar o console para monitoração de Desempenho, de forma a acompanhar a taxa de utilização dos principais elementos do sistema. Mostrarei uma série de assuntos relacionados com o monitoramento, otimização e manutenção do Windows Server 2003 (os exemplos serão baseados no Windows Server 2003, porém se aplicam, praticamente sem modificações, ao Windows 2000 Server). Com os conceitos e exemplos práticos vistos neste tópico, você terá condições de fazer um monitoramento dos servidores, atuando de maneira pró-ativa.
Monitorar a utilização dos principais recursos de um servidor é uma tarefa importante para o administrador do servidor, principalmente em servidores que estão sendo utilizados para o compartilhamento de recursos (por ex. arquivos e impressoras, bancos de dados do SQL Server, sites baseados no IIS e assim por diante) na rede. O desempenho de um servidor fica seriamente comprometido se um dos seguintes elementos estiver sobrecarregado:
- Memória RAM.
- Processador.
- Interface de rede.
- Sistema de discos.
Neste tópico mostrarei como utilizar o console Desempenho, para acompanhar a taxa de ocupação de cada um destes elementos. Também mostrarei como configurar o Windows Server 2003 para que faça a coleta automática, em períodos definidos, da taxa de ocupação de determinados elementos, de tal maneira que você possa ter uma idéia da utilização destes elementos em condições normais de trabalho. Com este acompanhamento você também terá condições de verificar a evolução nas taxas de utilização de cada um dos elementos que estão sendo monitorados. Assim quando um determinado elemento tiver a sua taxa de utilização constantemente aumentada, é possível agir preventivamente, normalmente providenciando a substituição do elemento, como por exemplo a instalação de um processador mais rápido ou de uma quantidade adicional de memória RAM ou a substituição de discos IDE por um sistema de discos SCSI.
Em alguns livros e na documentação oficial do Windows Server 2003, o console Performance também é chamado de System Monitor (Monitor do Sistema). Neste capítulo utilizarei os termos System Monitor ou console Performance como sinônimos.
Para monitorar estes elementos, utilizamos o console Desempenho: Iniciar -> Todos os programas -> Ferramentas Administrativas -> Desempenho. Antes de aprendermos a utilizar este console, vamos apresentar alguns elementos teóricos, necessários à utilização do console Desempenho. Veremos os conceitos de Objeto, Contador e Instância.
- Objeto: No contexto do console Desempenho, um objeto é um dos recursos que podem ser mensurados. Exemplos de objetos são: a memória RAM, o processador, a interface de rede e assim por diante.
- Contador: Cada objeto pode ter um ou mais contadores. Por exemplo, para o objeto processador podemos ter os contadores Interrupções por segundo, %Tempo do usuário, %Tempo privilegiado e assim por diante. Para o objeto memória podemos ter, dentre outros, os contadores Páginas por segundo, Bytes disponíveis, etc. Cada contador reflete o nível de utilização de um determinado aspecto do objeto.
- Instância: Para um mesmo objeto, podemos ter uma ou mais instâncias. Por exemplo, em um servidor com múltiplos processadores, cada processador é uma instância do objeto processador. Cada instância pode apresentar valores diferentes, para os diversos contadores de cada objeto. Por exemplo, em um dos processadores, o percentual de utilização pode estar em 60% e no segundo processador em 75%.
Além da memória RAM, Interface de rede, Sistema de discos e Processador, existem diversos outros elementos que podem prejudicar o desempenho de um servidor, como um todo, porém estes quatro são os mais importantes. Podem existir situações, por exemplo, em que a utilização da memória RAM e do Processador esteja baixa, porém o Sistema de discos esteja sobrecarregado, e neste caso, o desempenho do sistema como um todo fica bastante prejudicado. Dependendo do tipo de função que o servidor está exercendo, um recurso de hardware pode ter mais ou menos influência no desempenho como um todo. Por exemplo, servidores de banco de dados, como é o coso de um servidor com uma ou mais instâncias do SQL Server 2005, são muito dependentes de bons processadores e de uma boa quantidade de memória RAM, já servidores de arquivos dependem mais de um bom sistema de disco e de uma conexão rápida com a rede.
Dependendo do papel que o servidor esteja desempenhando na rede, a utilização de cada um destes componentes será maior ou menor. Por exemplo, computadores que atuam como Servidores de Banco de dados (com o Microsoft SQL Server, por exemplo), ou Servidores de aplicação (com o Microsoft Transaction Server, por exemplo), fazem um uso muito intensivo dos processadores. Neste caso pode ser recomendável, dependendo do número de usuários, a utilização de servidores multi-processados. Já no caso de Servidores de arquivos, a utilização da interface de rede e do sistema de discos pode ser bastante elevada, neste caso a utilização de placas mais velozes ou até mesmo de mais de uma placa de rede e de sistemas de discos mais rápidos, pode ser uma solução para melhorar o desempenho.
A monitoração do desempenho ajuda a determinar qual o componente que está sendo o principal limitador do desempenho do sistema (o ‘gargalo’ do sistema), além de permitir a análise da carga de trabalho a qual o respectivo componente está submetido (por exemplo, o processador está com 80% de utilização, o sistema de discos está constantemente com dados na fila de espera para leitura e gravação e assim por diante). O administrador também pode utilizar a monitoração do desempenho para fazer uma estimativa do crescimento na utilização dos componentes do sistema. Com isso fica mais fácil fazer uma previsão sobre as necessidades futuras de atualizações de Hardware. Além disso, de posse de dados de monitoração consistentes, fica mais fácil justificar o gasto envolvido na aquisição e atualização de componentes de hardware.
Conforme mostrarei nos próximos itens, a monitoração é feita através do console Desempenho, também conhecido como System Monitor. Este console é acessado através da opção Desempenho, no menu Ferramentas administrativas. No console de desempenho você adiciona “Objetos” a serem monitorados. Um exemplo de objeto pode ser um Processador, Memória, Disco físico, Fila de impressão, etc. Um objeto representa um elemento que pode ser monitorado pelo Windows. Para cada objeto, estão disponíveis vários contadores que são indicativos da utilização dos recursos do respectivo objeto. Por exemplo para o objeto Processador, dentre outros, existem os seguintes contadores: “Porcentagem de tempo do processador”, “Interrupções por segundo” e assim por diante. Para o objeto Fila de impressão, existem os contadores “Total de páginas impressas”, “Trabalhos no spool”, e assim por diante.
Vários objetos e seus respectivos contadores são instalados durante a instalação do Windows. A medida que novos serviços ou aplicativos são instalados, novos Objetos e contadores são adicionados. Por exemplo, ao instalar o Microsoft SQL Server, novos objetos são adicionados. Outro exemplo, quando é instalado o servidor Web IIS, novos objetos são adicionados e assim por diante.
Saber exatamente quais objetos e quais contadores utilizar é um processo que envolve testes e muita paciência. Somente com a experiência é que o administrador saberá quais os contadores observar para verificar a existência de problemas de desempenho.
A otimização do desempenho é um processo contínuo. Muitas vezes em uma primeira análise, o administrador descobre que um dos componentes está sendo o gargalo do sistema, por exemplo, a memória RAM. Aí mais memória RAM é acrescentada ao servidor. Pode ser que outro componente passe a ser o gargalo, por exemplo a Placa de rede ou o processador. Monitorar e otimizar o desempenho é um desafio bastante grande, porém é uma necessidade. Não é possível simplesmente trocar de equipamento, toda vez que houver problemas de desempenho, pois isso seria um desperdício de dinheiro.
Também é possível configurar o console Desempenho para que seja feita a captura de dados automaticamente. O administrador pode configurar a captura de dados para que seja feita a captura apenas de determinados contadores de determinados objetos, ou seja, somente aqueles contadores que interessam ao administrador. Com base nesta captura é possível verificar os limites normais de operação para componentes como o Processador, memória RAM e assim por diante. Entenda-se por limites normais de operação, as taxas de utilização dos diversos componentes de hardware e software, durante o horário normal de expediente. Depois faz-se o agendamento de um monitoramento contínuo e compara-se os resultados obtidos com os limites de operação obtidos durante a primeira captura. Quando um determinado componente começar a apresentar aumento na sua taxa de utilização deve ser verificado o motivo para este aumento e, se for o caso, providenciar a substituição do dispositivo antes que a sua taxa de utilização atinja limites que possam comprometer o desempenho do servidor.
No próximo tópico você aprenderá a utilizar o console Performance (Desempenho), através de exemplos práticos.
Monitorando o Processador e a Memória do seu Servidor
Neste item você aprenderá a utilizar o console Desempenho. Também verá como monitorar alguns contadores dos objetos Memória e Processador. Apresentarei diversos detalhes sobre a utilização da interface e das funcionalidades do console Desempenho. O console Desempenho já vem configurado para carregar o Snap-in para medição de desempenho.
No Windows NT Server 4.0 existe um programa chamada Performance Monitor, o qual é utilizado para a monitoração de desempenho. A partir do Windows 2000 está disponível o console Desempenho, o qual está também está disponível no Windows XP e no Windows Server 2003.
Exemplo: Monitorando o uso da memória e do processador – Windows Server 2003.
Para utilizar o console Desempenho, para monitorar a Memória e o Processador, siga os seguintes passos:
1. Faça o logon como Administrador, ou com uma conta com permissão de administrador.
2. Abra o console Desempenho: Iniciar -> Ferramentas administrativas -> Desempenho.
3. Será aberto o console Desempenho, conforme indicado na Figura 7.19:
Figura 7.19 O console para monitoração do desempenho.
Observe que, por padrão, os seguintes contadores já estão adicionados e sendo monitorados:
- O contador Pages/sec do objeto Memory.
- Comprimento médio de fila de disco (Avg. Disk Queue Length) do objeto Physical Disk.
- O objeto %Tempo do processador (%Processor Time) do objeto Processor.
Os gráficos que vão sendo “desenhados” na tela do console, indicam os valores associados com cada um dos contadores. No exemplo da Figura 7.19 a taxa de ocupação do processador chegou a picos de 100% mas, na média, estava abaixo dos 20%.
Para o exemplo proposto você irá excluir os contadores que foram adicionados automaticamente pelo Windows e irá adicionar outros contadores.
4. Clique no contador Páginas/sec (na parte de baixo do painel, abaixo do gráfico, onde aparece a lista de contadores) e pressione a tecla Delete. Repita a operação para excluir os demais contadores.
5. Neste console, no painel da esquerda, é exibida a opção Monitor do sistema, que é a opção utilizada para adicionar novos contadores para os objetos a serem monitorados, no nosso exemplo a Memória e Processador. A opção Logs e alertas de desempenho será vista nos próximos itens.
5. Dê um clique na opção Monitor do Sistema, para selecioná-la.
6. Dê um clique no botão Adicionar na barra de ferramentas – botão com um sinal de + na barra de ferramentas ou pressione Ctrl+I. Será exibida a janela Adicionar contadores, na qual você pode selecionar objetos e adicionar os contadores a serem monitorados, conforme indicado na Figura 7.20.
Figura 7.20 Janela para adicionar os contadores a serem monitorados.
Na lista Objeto de desempenho, por padrão já vem selecionado o objeto Processador. Nesta lista você pode selecionar um objeto para o qual serão adicionados contadores a serem monitorados. Ao selecionar um objeto na lista de objetos, ns lista Selecionar contadores na lista, serão exibidos os contadores relacionados ao objeto selecionado. Um mesmo contador pode ter uma ou mais instâncias. Por exemplo, ao selecionar o contador % tempo de processador, em um computador com dois processadores, na lista Selecionar instâncias na lista, serão exibidas as duas instâncias do referido contador, uma para cada processador. Você pode monitorar somente uma das instâncias ou ambas.
Um detalhe interessante é que, no mesmo console, você pode monitorar contadores de um ou mais servidores. Por exemplo, você pode monitorar a utilização do processador de dois ou mais servidores da rede, utilizando um único console Desempenho. Para isso, na janela da Figura 7.20, digite o nome do computador no campo Selecionar contadores do computador. Digite o nome do computador no formato \\NomeDoComputador. Ao digitar o nome e pressionar Enter serão exibidos os objetos do referido servidor. Selecione um ou mais contadores. Você pode fazer isso para os diversos servidores que serão monitorados simultaneamente. Com isso, em um mesmo console, você poderá monitorar contadores de diferentes servidores da sua rede.
7. Certifique-se de que o objeto Processador esteja selecionado na lista de Objetos. Na caixa de listagem Selecionar contadores na lista, marque o contador % tempo de processador. Para ver uma explicação detalhada sobre o que significa este contador, dê um clique no botão Explicar. Será exibida uma janela com a descrição do contador selecionado, conforme indicado na Figura 7.21. Você pode utilizar o botão Explicar para obter um texto explicativo sobre qualquer contador selecionado.
Figura 7.21 - Janela que é exibida com a explicação sobre o contador selecionado.
Veja que no campo Selecionar contadores do computador, já vem, por padrão, o nome do computador local, onde foi aberto o cosole de desempenho. Podemos monitorar o desempenho de outros computadores da rede. Por exemplo, para acessar contadores de um computador chamado SERVER2, basta digitar \\SERVER2, neste campo e pressionar Enter. Em poucos instantes o Windows Server 2003 exibe uma listagem com os contadores do computador a ser monitorado. Você pode adicionar, para monitoração, contadores de diferentes computadores, conforme já descrito anteriormente. Por exemplo, você pode adicionar o Percentual de ocupação do processador para os diversos servidores da rede, para determinar qual ou quais estão com utilização excessiva do processador.
8. Dê um clique no botão Adicionar, para adicionar o contador % tempo de processador.
9. Agora é hora adicionar um contador para a memória. Primeiro, na lista Objeto de desempenho, selecione o objeto Memória. Na caixa de listagem Selecionar contadores na lista, são exibidos os contadores disponíveis para o objeto Memória.
10. Dê um clique no contador % de bytes confirmados em uso. Clique no botão Adicionar e depois dê um clique no botão Fechar. Você estará de volta ao console de desempenho, sendo que agora os dois contadores que você adicionou já estão sendo monitorados, conforme mostrado pelo gráfico da Figura 7.22:
Figura 7.22 - Um contador do Processador e outro da Memória, sendo monitorados.
11. Observe que o Processador teve picos de quase 100% de utilização. Já a memória tem se mantido em torno de 25% de utilização. Existem alguns indicadores que podem nos levar a certas conclusões interessantes. Por exemplo, se a taxa de utilização do Processador permanecer por longos períodos de tempo, sempre próxima ou acima de 80%, pode ser um indicativo de que o Processador é um gargalo para o sistema. O processador deve ser substituído por um Processador mais rápido, ou a utilização de mais do que um processador deve ser considerada. Por outro lado picos de 100% são perfeitamente normais. Quando você abre uma aplicativo é normal que a utilização do Processador chegue próxima dos 100%. O que não pode acontecer é uma alta taxa de utilização permanente, próxima ou superior a 80%.
12. No nosso exemplo a utilização da memória (em torno de 25%), está em uma patamar ótimo. Até 60% seria um valor bastante razoável. Lembrando que picos podem acontecer, o que é um indicativo de sobrecarga em um dos componentes de hardware é uma taxa de utilização constante em patamares elevados.
13. O console de desempenho exibe uma série de informações para cada um dos contadores que estão sendo monitorados. Observe que cada um dos contadores possuí um gráfico com cor diferente. Na parte de baixo do console, ao clicar em um contador, você irá selecioná-lo. Observe que logo abaixo do gráfico são exibidas diversas informações, dependendo do contador selecionado.
14. Ao selecionarmos o contador % tempo de processador, por exemplo, são exibidas diversas informações, tais como: valor médio, valor mínimo, valor máximo e assim por diante.
15. Para adicionar novos contadores, basta utilizar novamente o botão (Adicionar - botão com um sinal de +) ou pressionar Ctrl+I.
16. Quando você está monitorando diversos contadores, pode ser útil por em destaque o contador selecionado. Para isso basta pressionar Ctrl+H, que o contador selecionado será posto em destaque, isto é, ficará com a linha do gráfico mais espessa e destacada.
17. Para retirar o destaque do contador, basta pressionar Ctrl+H novamente.
18. Você pode excluir um contador, simplesmente clicando no contador, na parte de baixo do console Desempenho, abaixo do gráfico e teclando Delete.
19. Você pode alterar diversas propriedades do gráfico que é exibido no console desempenho, como por exemplo: cor da linha, cor de fundo, exibir ou não uma grade de referência, etc. Para acessar estas propriedades, dê um clique com o botão direito do mouse em qualquer parte do gráfico. No menu que surge clique em Propriedades.
20. Será exibida a janela Propriedades de Monitor do sistema, onde através das guias Geral, Fonte, Dados, Gráfico e Aparência, você pode alterar diversas propriedades da exibição do gráfico de desempenho. No exemplo da Figura 7.23, foram incluídas grades de referência. Esta configuração é feita através da guia Gráfico, da janela de propriedades.
Figura 7.23 Alterando as propriedades do gráfico e incluindo grades de referência.
21. Feche o console de desempenho.
Pratique um pouco: Abra novamente o console desempenho e adicione alguns contadores do Processador e da Memória. Para o objeto Processador adicione os contadores Interrupções por segundo e % Tempo privilegiado. Utilize o botão Explicação para exibir a descrição destes contadores. Altere algumas propriedades do gráfico. Altere o campo atualizar automaticamente a cada, de 1 segundo para 2 segundos. Este campo é acessível através da guia Geral das propriedades do gráfico. Para acessar as propriedades clique com o botão direito do mouse em qualquer local do gráfico, e no menu que surge dê um clique na opção Propriedades.
Monitorando o acesso ao sistema de discos.
Neste item mostrarei como monitorar alguns contadores dos objetos Disco físico e Disco lógico. É importante lembrar que o objeto Disco físico se refere a um disco como um todo, independente de o disco estar dividido em partições (disco básico) ou volumes (disco dinâmico). Já o objeto Disco lógico, refere-se as partições ou volumes, independente de estarem localizadas em um único disco, ou distribuídas ao longo de vários discos, como no caso de um Volume RAID-5 ou de um Volume set.
IMPORTANTE: nunca é demais lembrar que no Windows NT 4.0 os contadores para o objeto Disco físico e Disco lógico estão desabilitados, por padrão. O objeto disco lógico nem sequer aparecia na listagem de objetos. O objeto Disco físico aparecia na listagem, mas se você adicionasse alguns dos seus contadores, estes ficariam sempre em zero, uma vez que estavam desabilitados. Para habilitar os contadores para os objetos Disco físico e Disco lógico, no NT 4.0, era necessário executar o seguinte comando: diskperf –y e reinicializar o computador para que os contadores sejam habilitados. NO WINDOWS SERVER 2003 NÃO É NECESSÁRIO ESTE PROCEDIMENTO, POIS OS CONTADORES,TANTO PARA DISCO FÍSCIO QUANTO PARA DISCO LÓGICO, ESTÃO HABILITADOS, AUTOMATICAMENTE.
Agora é hora de monitorar alguns contadores dos contadores dos objetos Disco físico e Disco lógico.
Para o exemplo proposto estou utilizando um computador com dois discos físicos, os quais estão divididos em um ou mais volumes. Para este exemplo estou utilizando um servidor com o Windows Server 2003, em Inglês, o que pode ser comprovado pelas telas em Inglês. Conforme visto no Capítulo 5 do livro “Windows Server 2003 – Curso Completo, 1568 páginas”, de minha autoria, é possível criar mais de um volume (disco lógico) em um mesmo disco físico. Por exemplo, é possível dividir um disco de 40 GB em dois volumes de 20 GB. A cada volume estaria associada uma letra, como por exemplo: C: e E: Cada volume representa um disco lógico, isto é, uma unidade.
Exemplo prático: Monitorando a atividade de discos, usando o console de desempenho.
Para monitorar a atividade do sistema de discos, siga os passos indicados a seguir:
1. Faça o logon como Administrador, ou com uma conta com permissão de administrador.
2. Abra o console Desempenho: Iniciar -> Ferramentas administrativas -> Desempenho.
3. No painel da esquerda, clique na opção Monitor do sistema, para marcá-la.
4. Dê um clique no botão Adicionar, na barra de ferramentas – botão com um sinal de + ou pressione Ctrl+I. Será exibida a janela Adicionar contadores, na qual podemos adicionar os objetos e respectivos contadores que serão monitorados.
5. No campo Objeto de desempenho, selecione o objeto Disco físico. Será exibida uma listagem com os discos instalados no seu computador e as partições (ou volumes no caso de discos de Armazenamento dinâmico) criadas em cada um dos discos. No exemplo da Figura 7.24, são exibidos dois discos: Disco 0 e Disco 1. O espaço do Disco 0 é todo ocupado pelo Volume C: Já o espaço do Disco 1 é ocupado pelos volumes volume D:, E: e F: Observe que também é exibida uma instância denominada ‘_Total’. A instância _Total é utilizada para monitorar a atividade somada de todos os discos do sistema. Por exemplo, se você selecionar o contador Gravações em disco por segundo e selecionar a instância total, estará sendo monitorada a atividade total combinada de escrita em todos os discos do servidor.
Figura 7.24 Monitorando o objeto Disco físico.
6. Na caixa de listagem Selecionar contadores na lista, selecione o contador Gravações em disco por segundo. Este contador é uma medida da freqüência das operações de gravação em disco. Ele irá indicar a atividade de gravação de informações no disco.
7. Na caixa de listagem Selecionar instâncias na lista, você tem a opção de definir se quer monitorar todos os discos físicos (_Total), ou somente alguns deles. Esta caixa exibe todas as ocorrências do objeto Disco físico, isto é, exibe todos os discos instalados no computador. Por exemplo, para monitor apenas o Disco 0, clique na opção ‘0 C:’ para selecionar esta instância do contador Gravações em disco por segundo.
Nota.: Caso existam vários discos e você queira monitorar apenas alguns deles, você deve selecionar apenas os discos a serem monitorados antes de clicar no botão Adicionar. Para selecionar os diversos discos a serem monitorados, pressione a tecla Ctrl e vá clicando nos discos a serem monitorados. A medida que você for clicando, os discos serão selecionados.
8. Dê um clique no botão Adicionar, para incluir este contador para monitoração.
9. Agora você irá monitorar a freqüência de gravação somente do volume E: Para isto, na lista Objeto de desempenho, selecione o objeto Disco lógico.
10. Na caixa de listagem Selecionar contadores na lista, selecione o contador Disk Gravações em disco por segundo.
11. Observe que na caixa de listagem da direita, é exibida uma lista com todas os volumes disponíveis. Dê um clique no volume E: (ou em um volume disponível no servidor que você está utilizando) para marcá-lo.
12. Dê um clique no botão Adicionar, para incluir este contador para monitoração.
13. Dê um clique no botão Fechar.
14. Você estará de volta ao console Desempenho, com contadores para monitorar a atividade de gravação do Disco 0 e da partição E:, conforme indicado pela Figura 7.25:
Figura 7.25 Gráfico indicativo da atividade de gravação.
15 A monitoração da atividade dos discos, através dos diversos contadores disponíveis é de grande importância, principalmente para servidores que atuam como servidores de disco (basicamente com compartilhamento de pastas e arquivos) ou Servidores Web para a Internet ou para uma Intranet. Normalmente o sistema de discos é a parte mais lenta do sistema, a parte que pode causar os maiores problemas em relação ao desempenho. Muitas vezes pode ser necessária a atualização para discos mais rápidos ou para a implementação de níveis de RAID-5 ou RAID-10 baseados em Hardware. Porém estas utilizações somente se justificam em servidores com um volume de acesso elevado.
16. Feche o console Desempenho.
Exercício: Abra novamente o console Desempenho e monitore os seguintes contadores para o Disco físico, para o Disco 0: Leituras de disco por segundo e Transferência de disco por segundo. Utilize o botão Explicar para ver o que representa cada um destes contadores. Feche o console Desempenho.
Contadores a serem monitorados em servidores.
Na tabela a seguir, da ajuda do Windows Server 2003, apresento uma lista de contadores que a Microsoft recomenda que sejam monitorados permanentemente nos servidores da rede.
Componente |
Aspecto do desempenho sendo monitorado |
Contadores a monitorar |
Disco |
Uso |
PhysicalDisk\Leituras de disco/s
PhysicalDisk\Gravações de disco/s
LogicalDisk\% de espaço livre
Interprete cuidadosamente o contador % tempo de disco. Como a instância _Total desse contador pode não refletir com precisão o uso em sistemas de vários discos, é importante usar também o contador % Tempo ocioso. Observe que esses contadores não podem exibir um valor acima de 100%. |
Disco |
Gargalos |
Disco físico\ Comprimento médio da fila de disco (todas as instâncias) |
Memória |
Uso |
Memória\Bytes disponíveis
Memória\Bytes de cache |
Memória |
Gargalos ou vazamentos |
Memória\Páginas/s
Memória\Leituras de página/s
Memória\Falhas de transição/s
Memória\Bytes de pool paginável
Memória\Bytes de memória não-paginável
Embora não sejam especificamente contadores do objeto Memória, as opções a seguir também são úteis para análise de memória:
Arquivo de paginação\% uso (todas as instâncias)
Cache\Acertos de mapa de dados %
Servidor\Bytes de pool paginável e Servidor\Bytes de memória não-paginável |
Rede |
Taxa de transferência |
Contadores de transmissão de protocolo (varia de acordo com o protocolo de rede); para TCP/IP:
Interface de rede\Total de bytes/s
Interface de rede\Pacotes/s
Servidor\Total de bytes/s ou Servidor\Bytes transmitidos/s e Servidor\Bytes recebidos/s |
Processador |
Uso |
Processador\% tempo de processador ( todas as instâncias) |
Processador |
Gargalos |
Sistema\Comprimento da fila de processador (todas as instâncias)
Processador\Interrupções/s
Sistema\Alternâncias de contexto/s |
Valores indicativos de limites de desempenho para contadores.
Definir exatamente qual é o limite aceitável para o valor de um ou mais contadores não é uma ciência exata. Por exemplo, afirmar que sempre que a taxa de utilização do processador se mantiver em torno de 80%, por longos períodos, é um indicativo de queda no desempenho ou um indicativo de que o processador deve ser substituído, não é algo preciso. Claro que existem valores para determinados contadores que servem para disparar o alarme, isto é, servem para alertar o administrador que uma parte do sistema pode estar sendo responsável pela queda de desempenho, ou seja, pode estar sendo o que chamamos de ‘gargalo do sistema’.
Na tabela a seguir, da Ajuda do Windows Server 2003, apresento alguns valores para determinados contadores, valores estes que, pelas recomendações da Microsoft, devem servir de alerta ao administrador.
Recurso |
Objeto\Contador |
Limite sugerido |
Comentários |
Disco |
Disco físico\% de espaço livre
Disco lógico\% de espaço livre |
15% |
|
Disco |
Disco físico\% tempo de disco
Disco lógico\% tempo de disco |
90% |
|
Disco |
Disco físico\Leituras de disco/s, Disco físico\Gravações de disco/s |
Depende das especificações do fabricante |
Verifique a taxa de transferência especificada para seus discos, para ter certeza de que ela não ultrapassa as especificações. Em geral, os discos Ultra Wide SCSI podem gerenciar de 50 a 70 operações de E/S por segundo. Observe que o fato de a E/S ser seqüencial ou aleatória pode ter um forte efeito sobre os valores de leituras de disco/s e gravações de disco/s. |
Disco |
Disco físico\Comprimento da fila de disco atual |
Número de eixos mais 2 |
Esse contador é instantâneo. Observe seu valor durante vários intervalos. Para obter uma média ao longo do tempo, use Disco físico\ Comprimento médio da fila de disco. |
Memória |
Memória\Bytes disponíveis |
Para computadores com mais memória, mais de 4 MB |
Pesquise o uso da memória e adicione memória se necessário. |
Memória |
Memória\Páginas/s |
n páginas/s por arquivo de paginação |
Pesquise a atividade de paginação. Observe o volume de E/S transferido para os discos com arquivos de paginação. |
Arquivo de paginação |
Arquivo de paginação\% uso |
Acima de 70% |
Revise este valor juntamente com Bytes disponíveis e Páginas/s para entender a atividade de paginação do computador. |
Processador |
Processador\% tempo de processador |
85% |
Descubra o processo que está usando uma alta porcentagem do tempo do processador. Atualize para um processador mais rápido ou instale um processador adicional. |
Processador |
Processador\Interrupções/s |
Depende do processador; um bom ponto de partida é 1.000 interrupções por segundo |
Um aumento brusco no valor desse contador, sem um aumento correspondente na atividade do sistema, indica um problema de hardware. Identifique o adaptador de rede, o disco ou outro tipo de hardware que está causando as interrupções. |
Servidor |
Servidor\Total de bytes/s |
|
Se a soma de Total de bytes/s para todos os servidores for aproximadamente igual às taxas de transferência máximas de sua rede, convém segmentar a rede. |
Servidor |
Servidor\Falta de itens de trabalho |
3 |
Se o valor atingir este limite, considere adicionar as entradas DWORD InitWorkItems (o número de itens de trabalho alocados para um processador durante a inicialização) ou MaxWorkItems (o número máximo de buffers de recebimento que um servidor pode alocar) ao Registro (em HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters). A entrada InitWorkItems pode variar de 1 a 512, enquanto MaxWorkItems pode variar de 1 a 65.535. Comece por qualquer valor para InitWorkItems e um valor igual a 4.096 para MaxWorkItems e dobre esses valores até que o limite de Servidor\Falta de itens de trabalho fique abaixo de 3. |
Servidor |
Servidor\Pico de pool paginável |
Quantidade de RAM física |
Esse valor é um indicador do tamanho máximo do arquivo de paginação e da quantidade de memória física. |
Servidor |
Filas de trabalho do servidor\Comprimento da fila |
4 |
Se o valor atingir esse limite, poderá haver um gargalo no processador. Esse contador é instantâneo. Observe seu valor durante vários intervalos. |
Vários processadores |
Sistema\Comprimento da fila de processador |
2 |
Esse contador é instantâneo. Observe seu valor durante vários intervalos. |
Claro que estes são apenas valores sugeridos, os quais servem como alerta para o administrador. Conforme descrito anteriormente, o processo de monitoração é um processo contínuo, de acompanhamento na evolução dos principais contadores, sugeridos anteriormente.
A seguir apresento de uma forma resumida, os principais contadores e respectivos limites, ou seja, valores que podem indicar que o problema é com o respectivo componente:
- Processador\% tempo de processador: Não deve estar por longos períodos acima dos 80%
- Sistema\Comprimento da fila de processador: Não deve ser maior do que 2.
- LogicalDisk\Comprimento da fila de disco atual: Se este valor estiver constantemente acima de 2, o sistema de discos deve ser substituído por um sistema mais rápido. Por exemplo, se os discos forem IDE, você pode substituir por um sistema SCSI. Outra alternativa é implementar um Volume Set sem Paridade.
- LogicalDisk\Comprimento da fila de disco atual: Valem os mesmos comentários do item anterior.
- Memória\Páginas/s: Um valor maior do que 20, pode indicar a necessidade de um Upgrade de memória, normalmente com a adição de mais memória RAM.
- Memória\Bytes confirmados: Deve ser sempre menor do que a quantidade total de memória instalada.
Configurando o console Desempenho para capturar dados automaticamente.
Na introdução sobre a monitoração de desempenho, falei sobre a possibilidade de configurar o console Desempenho para efetuar a captura automática de dados, conforme destacado no trecho a seguir:
“Também é possível configurar o console Desempenho para que seja feita a captura de dados automaticamente. O administrador pode configurar o console desempenho para que sejam capturados dados sobre os Objetos/contadores a serem monitorados. Com base nesta captura, o administrador pode verificar os limites normais de operação para componentes como o Processador, memória RAM e assim por diante. Depois faz-se um monitoramento contínuo e compara-se os resultados obtidos com os limites de operação obtidos em outras medições. Quando um determinado componente começar a apresentar aumento na sua taxa de utilização o administrador deve verificar o motivo para este aumento e, se for o caso, providenciar a substituição do elemento que está apresentando elevação em suas taxas de utilização, antes que a sua taxa de utilização atinja limites que possam comprometer o desempenho do servidor.” Conforme pode ser concluído pelo parágrafo anterior, o principal objetivo em configurar a coleta automática de dados é para determinar quais as taxas normais de utilização dos componentes a serem monitorados, em situação normal de uso. Depois são feitas novas observações para acompanhar a evolução destas taxas de ocupação, para poder agir preventivamente quando um determinado componente estiver atingindo níveis elevados de utilização. A captura automática de dados é feita utilizando a opção Logs e alertas de desempenho, do console Desempenho. Com esta opção, você pode coletar automaticamente dados de desempenho de computadores locais ou remotos. Você pode visualizar os dados que foram gravados no log usando o console Desempenho ou exportar os dados para programas de planilha ou banco de dados, para fins de análise e geração de relatórios. Por exemplo, você pode importar os dados gravados em um log de desempenho, para um banco de dados do Microsoft Access e utilizar estes dados para a criação de relatórios personalizados. Com a opção Logs e alertas de desempenho, estão disponíveis os seguintes recursos:
- Coleta de dados em formato separado por vírgulas ou por tabulações para facilitar a importação por programas de planilha ou programas de banco de dados. É fornecido também um formato de arquivo de log binário para registro em log circular ou para registro em log de instâncias, como segmentos ou processos, que podem começar depois do início da coleta de dados. (O registro em log circular é o processo de registro contínuo de dados em um único arquivo, sobrescrevendo os dados anteriores com novos dados.)
- Você também pode coletar dados em formato de banco de dados SQL. Essa opção define o nome de um banco de dados SQL e conjunto de logs existentes dentro do banco de dados em que os dados de desempenho serão lidos ou gravados. Esse formato de arquivo é útil ao coletar e analisar dados de desempenho de toda a empresa, em vez de servidor por servidor. Por exemplo, a partir de um único console Desempenho, você pode obter dados sobre diversos servidores da rede e armazenar estes dados centralizadamente em um único banco de dados do SQL Server.
Importante: Lembre-se que quando houver a necessidade de capturar dados de desempenho de diversos servidores e consolidar estas dados em um único banco de dados, a opção mais indicada é fazer com que os dados obtidos, sejam gravados em um banco de dados do SQL Server.
- Os dados coletados podem ser visualizados durante a coleta ou após seu término.
Como o log funciona da mesma maneira que um serviço do Windows Server 2003, a coleta de dados ocorre independentemente de haver um usuário logado ou não, no servidor que está sendo monitorado.
- Você pode definir os momentos de início e parada, nomes de arquivos, tamanho máximo de arquivo e outros parâmetros para a geração automática do log.
- Você pode gerenciar várias sessões de log em uma única janela de console.
- Você pode definir um alerta em um contador, especificando que uma mensagem seja enviada, um programa seja executado e uma entrada seja feita no log de eventos do Windows Server 2003 ou um log seja iniciado quando o valor do contador selecionado for superior ou inferior a uma configuração especificada. Por exemplo, você pode monitorar a taxa de utilização do processador e solicitar que o Administrador seja avisado quando esta taxa ultrapassar um determinado patamar, digamos 85 %, ou você pode monitorar o espaço livre em todas as unidades de disco ou em todos os volumes, de todos os servidores da rede e pedir que seja disparado um alerta para o administrador, sempre que uma unidade apresentar espaço livre inferior a 20%.
Para que a coleta de dados possa funcionar corretamente, o serviço “Logs e alertas de desempenho” deve ter sido inicializado corretamente. Antes de prosseguir você irá verificar (no exemplo logo a seguir) se este serviço está configurado para inicialização automática. Caso não esteja, irá configurá-lo para que seja inicializado automaticamente. Exemplo: Verificando as opções de configuração e inicialização do serviço “Logs e alertas de desempenho”. 1. Faça o logon como Administrador ou com uma conta com permissão de administrador..
2. Abra o console Serviços que está disponível no menu Ferramentas administrativas.
3. Localize o serviço Logs e alertas de desempenho e verifique o valor indicado na coluna Tipo de inicialização. Se o valor desta coluna estiver em Manual, significa que o serviço não está sendo inicializado automaticamente. Se for este o caso, dê um clique duplo no serviço para exibir a janela coma as propriedades do serviço.
4. Na janela de propriedades do serviço, na guia Geral, altere o tipo de inicialização para Automático, conforme indicado na Figura 7.26:
Figura 7.26 Configurando o serviço Logs e alertas de desempenho para iniciar automaticamente.
5. Clique no botão Iniciar para fazer com que o serviço seja inicializado imediatamente.
6. Surge a mensagem indicada na Figura 7.27:
Figura 7.27 Mensagem sobre o serviço Logs e alertas de desempenho.
Esta mensagem informa que o serviço foi inicializado e encerrado, pois no momento não existe nenhuma coleta de dados em andamento. Porém o Windows Server 2003 irá iniciar o serviço automaticamente, quando uma coleta de dados for configurada. O Windows Server 2003 detecta que o serviço deve estar ativo para que a coleta de dados possa ser feita e inicializa o serviço automaticamente. 7. Clique em OK para fechar a mensagem de aviso. Você estará de volta à janela de propriedades do serviço. Clique em OK para fechá-la.
8. Feche o console Serviços. Uma vez estando configurado corretamente o serviço Logs e alertas de desempenho, temos à disposição às seguintes funcionalidades:
- Iniciar e parar o log manualmente, por demanda ou automaticamente, com base em um agendamento definido pelo usuário.
- Definir configurações adicionais para log automático, como renomear o arquivo automaticamente e definir parâmetros para parar ou iniciar um log com base no tempo decorrido ou no tamanho do arquivo.
- Criar logs de rastreamento. Usando o provedor de dados do sistema padrão do Windows Server 2003 ou outro provedor de aplicativos, os logs de rastreamento registram detalhadamente os eventos de aplicativos do sistema, quando ocorrem certas atividades, como uma operação de entrada/saída (E/S) de disco ou uma falha de página. Quando o evento ocorre, o Windows Server 2003 registra os dados em um arquivo de log especificado pelo serviço de logs e alertas de desempenho. Isso difere da operação dos logs de contadores. Quando eles estão em uso, o serviço obtém dados do sistema no fim do intervalo de atualização, em vez de esperar por um evento específico. Uma ferramenta de análise é necessária para interpretar o resultado do log de rastreamento.
- Definir um programa que seja executado quando um log for parado. Por exemplo, você pode configurar que seja executado um script que copia os arquivos com os dados para um drive da rede, onde o arquivo será importado em um banco de dados. O script também pode ser configurado para enviar uma mensagem para o Administrador.
Se você desejar exportar dados do log para o Microsoft Excel, o serviço de logs e alertas de desempenho deverá ser parado, porque o Microsoft Excel exige acesso exclusivo ao arquivo de log. Não há informações sobre outros programas que exijam esse acesso exclusivo. Portanto, você geralmente pode trabalhar com dados de um arquivo de log enquanto o serviço estiver coletando dados para esse arquivo. Para parar o serviço de logs e alertas utilize o console Serviços, conforme descrito no exemplo anterior. Agora você acompanhará alguns exemplos práticos de coleta de dados. Exemplo 1: Configurar o serviço de logs e alertas para monitorar a taxa de ocupação do Processador. Serão monitorados os seguintes contadores:
- % tempo de processador
- Interrupções/s
Os dados deverão ser obtidos em intervalos de 05 segundos e salvos em um arquivo do tipo texto. Os dados deverão ser gravados no arquivo C:\Monitora o processador_000001.csv. Para fazer o acompanhamento proposto e gerar o arquivo de log, siga os passos indicados a seguir: 1. Faça o logon como Administrador, ou com uma conta com permissão de administrador.
2. Abra o console Desempenho: Iniciar -> Ferramentas administrativas -> Desempenho.
3. No painel da esquerda, clique no sinal de + ao lado da opção Logs e alertas de desempenho. Serão exibidas as opções indicadas na Figura 7.28:
Figura 7.28 Opções de configuração para logs e alertas de desempenho.
4. Clique na opção Logs do contador. Observe que, por padrão, já existe um log configurado. Este log, chamado Visão geral do sistema, coleta dados de um conjunto de objetos/contadores, os quais fornecem uma visão geral do desempenho do servidor. Você pode iniciar a coleta de dados para este log, clicando nele para marcá-lo e depois selecionando o comando Ação -> Iniciar ou clicando no botão Iniciar (botão com o desenho de um pequeno triângulo para a direita).
5. Neste exemplo você irá criar um novo log. Para criar um novo log clique na opção Logs do contador e selecione o comando Ação -> Novas configurações de log. Surge uma janela solicitando o nome do novo Log. Digite Monitora o processador, conforme indicado na Figura 7.29 e clique em OK.
Figura 7.29 Definindo um nome para o novo log.
Não pode haver nenhum log selecionado, senão a opção Novas configurações de log..., não será exibida no menu Ação. Se esta opção não estiver sendo exibida, clique novamente na opção Logs do contador, no painel da esquerda. Isso fará com que qualquer log que esteja marcado, seja desmarcado. Surge a janela Monitora o processador, na qual nos temos as seguintes guias:
- Geral: Esta guia é utilizada para definir quais objetos/contadores farão parte do log, definir uma descrição para o log, definir o intervalo de coleta dos dados e definir se o log executará no contexto do usuário padrão do sistema ou no contexto de uma conta de usuário específica.
- Arquivos de log: Nesta guia você define o formato para o arquivo de log, a forma de nomeação dos arquivos, um comentário e se os arquivos existentes devem ser sobrescritos ou mantidos. Você somente poderá acessar esta guia se tiver adicionado pelo menos um objeto ou contador, usando a guia Geral.
- Agendar: Nesta guia o administrador pode definir um agendamento para a coleta. Por exemplo, de segunda a sexta-feira, das 8:00 as 18:00.
Agora você adicionará os contadores % tempo de processador e Interrupções/s, do objeto Processador. 6. Clique na guia Geral. Clique no botão Adicionar contadores... Será exibida a janela Adicionar contadores, a qual já utilizamos nos exemplos anteriores. Adicione os contadores % tempo de processador e Interrupções/s, do objeto Processador e clique em Fechar.
7. No campo Intervalo, defina um intervalo de 5 segundos para a coleta dos dados. A guia Geral deve estar conforme indicado na Figura 7.30:
Figura 7.30 Configurações da guia Geral, para o exemplo proposto.
8. Clique na guia Arquivos de log. Para o formato selecione Arquivo de texto (delimitado por vírgulas). Clique no botão Configurar... para definir o local onde será criado o arquvio de log e um tamanho máximo.
9. Ao clicar no botão Configurar será exibida a janela Configurar Arquivos de log). Defina as configurações indicadas na Figura 7.31:
Figura 7.31 Definindo configurações para o arquivo de log.
10. Clique em OK para fechar a janela Confgurar arquivos de log.
11. Você estará de volta à guia Arquivos de log. Clique na guia Agendar.
12. Defina um agendamento para que a coleta seja iniciada e encerrada. Por exemplo, configure o log para iniciar em uma data e horário específicos, conforme exemplo indicado na Figura 7.32. Nesta guia você também pode definir o que deve ser feito, caso o arquivo de log atinja o seu tamanho máximo. Estão disponíveis as seguintes opções: Iniciar um novo arquivo de log ou Executar este comando.
Figura 7.32 Definindo um agendamento para a coleta de dados.
13. Clique em OK. Você estará de volta ao console Desempenho. O log Monitora o processador foi criado e iniciará a coleta de dados no horário determinado, conforme configurações definidas na guia Agendar. Observe que o log Monitora o processador já aparece na lista de logs, juntamente com o log Visão geral do sistema, sendo que este último é automaticamente criado pelo Windows Server 2003, conforme descrito anteriormente. Nota: Se você precisar alterar alguma configuração de um log, basta dar um clique duplo no respectivo log que será exibida a janela com as propriedades do log, onde você terá acesso às guias Geral, Arquivos de log e Agendar. 14. O administrador pode fazer com que o log inicie a coleta de dados imediatamente, independente do agendamento definido. Para isso clique no log Monitora o processador para marcá-lo e selecione o comando Ação -> Iniciar.
15. O log será inicializado e os dados começarão a ser capturados e salvos no arquivo C:\Monitora o processador_000001.csv. Aguarde uma meia-hora para que o Windows Server 2003 possa coletar uma boa quantidade de dados. Observe que após ser inicializado, o pequeno ícone, ao lado do nome do log alterna para a cor verde. Este é um indicativo de que o log está em execução.
16. Para suspender a execução do log e a coleta dos dados, basta clicar no log a ser suspenso e depois selecionar o comando Ação -> Parar. Você também pode clicar com o botão direito do mouse no log e, no menu que é exibido, clicar na opção Parar. Nota: Além do menu Ação, você também pode utilizar o botão direito do mouse, clicando no respectivo log, para ter acesso aos comandos Iniciar e Parar. Na barra de ferramentas do console Desempenho, existe o botão Iniciar - botão com o desenho de um pequeno triângulo e o botão Parar - botão com o desenho de um pequeno quadrado. 17. Após meia-hora de coleta, suspenda a execução do log. Agora vamos analisar os dados obtidos, os quais foram gravados no arquivo C:\Monitora o processador_000001.csv. 18. Feche o console desempenho. Exemplo 2: Analisando os dados obtidos com o log Monitora o processador, criado no exemplo anterior. Para abrir o arquivo com os dados obtidos, faça o seguinte: 1. Faça o logon como Administrador ou com uma conta do tipo Administrador do computador.
2. Abra o Bloco de notas.
3. Abra o arquivo C:\Monitora o processador_000001.csv.
4. Na listagem a seguir temos uma amostra dos dados de monitoração que foram salvos: "05/01/2002 16:31:04.511","99.99991106930112","237.43538236310363","Monitora o processador"
"05/01/2002 16:31:09.518","3.0029057285789862","281.7091259002674","Monitora o processador"
"05/01/2002 16:31:14.526","2.2029296933507747","250.63934155863382","Monitora o processador"
"05/01/2002 16:31:19.533","2.6029177109648804","240.65353587347821","Monitora o processador"
"05/01/2002 16:31:24.540","2.0029356845437163","233.86324638545705","Monitora o processador"
"05/01/2002 16:31:29.548","1.0029656405084575","230.06868469153261","Monitora o processador"
"05/01/2002 16:31:34.555","2.6029177109648804","236.65902223849881","Monitora o processador"
"05/01/2002 16:31:39.562","3.0029057285789862","245.64630670524917","Monitora o processador"
"05/01/2002 16:31:44.570","1.0029656405084575","232.46519458083583","Monitora o processador"
"05/01/2002 16:31:49.577","18.602438415529178","298.36987599426584","Monitora o processador"
"05/01/2002 16:31:54.584","31.602048987987665","277.20116678260399","Monitora o processador"
"05/01/2002 16:31:59.592","3.0029057285789862","237.8575213706925","Monitora o processador"
"05/01/2002 16:32:04.599","3.4028937461930919","238.45647244632733","Monitora o processador"
"05/01/2002 16:32:09.607","2.0029356845437163","232.46529833970988","Monitora o processador"
"05/01/2002 16:32:14.614","2.4029237021578331","233.66353396326622","Monitora o processador"
"05/01/2002 16:32:19.621","2.4029237021578331","235.86035744808296","Monitora o processador"
"05/01/2002 16:32:24.629","1.2029596493155048","229.66911893931493","Monitora o processador"
"05/01/2002 16:32:29.636","2.8029117197719389","237.45805673646964","Monitora o processador"
"05/01/2002 16:32:34.643","1.802941675736669","235.46093262598629","Monitora o processador"
"05/01/2002 16:32:39.651","2.6029177109648804","235.26065580456452","Monitora o processador"
"05/01/2002 16:32:44.658","2.8029117197719389","240.25447283770185","Monitora o processador"
"05/01/2002 16:32:49.665","6.6027978871059485","330.12472597415723","Monitora o processador"
"05/01/2002 16:32:54.673","4.4028637902283618","238.25672027892747","Monitora o processador"
"05/01/2002 16:32:59.680","3.6028877550001503","239.85475287258555","Monitora o processador"
"05/01/2002 16:33:04.687","2.2029296933507747","235.26124646664911","Monitora o processador"
"05/01/2002 16:33:09.695","3.0029057285789862","248.0428006830586","Monitora o processador"
"05/01/2002 16:33:14.702","1.6029476669296105","234.86158573592209","Monitora o processador"
"05/01/2002 16:33:19.709","1.802941675736669","240.8528989677138","Monitora o processador"
"05/01/2002 16:33:24.717","1.6029476669296105","237.05892288973411","Monitora o processador"
"05/01/2002 16:33:29.724","3.0029057285789862","237.25834432542132","Monitora o processador"
"05/01/2002 16:33:34.731","2.6029177109648804","241.45210288853528","Monitora o processador"
"05/01/2002 16:33:39.739","2.8029117197719389","242.45101580959104","Monitora o processador"
"05/01/2002 16:33:44.746","2.2029296933507747","243.8488266800569","Monitora o processador"
"05/01/2002 16:33:49.754","0.80297163170139907","238.05704786936531","Monitora o processador"
"05/01/2002 16:33:54.761","2.4029237021578331","237.05864514051027","Monitora o processador"
"05/01/2002 16:33:59.768","3.2028997373860446","238.65630457220965","Monitora o processador"
"05/01/2002 16:34:04.776","2.0029356845437163","234.06288045367026","Monitora o processador"
"05/01/2002 16:34:09.783","2.8029117197719389","236.06013571127014","Monitora o processador"
"05/01/2002 16:34:14.790","3.6028877550001503","240.25373559434755","Monitora o processador"
"05/01/2002 16:34:19.798","3.6028877550001503","239.45538124481718","Monitora o processador"
"05/01/2002 16:34:24.805","1.802941675736669","234.46240981460366","Monitora o processador"
"05/01/2002 16:34:29.812","2.8029117197719389","235.86018637754623","Monitora o processador"
"05/01/2002 16:34:34.820","3.8028817638072088","291.58010386253267","Monitora o processador"
"05/01/2002 16:34:39.827","2.0029356845437163","234.66201751967793","Monitora o processador"
"05/01/2002 16:34:44.834","2.4029237021578331","236.85895914831343","Monitora o processador"
"05/01/2002 16:34:49.842","3.2028997373860446","239.8546458154506","Monitora o processador"
"05/01/2002 16:34:54.849","3.0029057285789862","238.85597698173174","Monitora o processador"
"05/01/2002 16:34:59.856","3.2028997373860446","242.65053880935429","Monitora o processador"
"05/01/2002 16:35:04.864","2.6029177109648804","241.85174327309008","Monitora o processador" ***************************************************************************
A listagem apresenta dados para cerca de 4 minutos, com início em 16:31:04.511 e término em 16:35:04.864. A primeira coluna representa o horário da coleta do dado, a segunda coluna é o valor correspondente ao contador % tempo do processador, a terceira coluna é o valor correspondente ao contador Interrupções/s. A quarta e última coluna é o nome do log, nome este que é definido pelo usuário quando da criação do log, conforme visto anteriormente. Observe que existe um intervalo de 5 segundos entre uma linha e outra, que é exatamente o intervalo que você configurou no exemplo de criação do log. 5. Feche o Bloco de Notas. Com os dados no formato .csv, você pode importá-los facilmente para o Excel ou para o Access, para fazer uma série de análises, usando as ferramentas destes programas. Por exemplo, você pode utilizar os dados para calcular a taxa média de ocupação do processador, ou o número médio de interrupções por segundo. O formato .csv pode ser aberto diretamente no Excel e é facilmente importado pelo Microsoft Access. A seguir coloco uma lista resumida (em relação a lista apresentada anteriormente) dos contadores mais comumente utilizados para verificação do desempenho do computador como um todo e que são candidatos a serem configurados para coleta automática, utilizando logs de desempenho. Esta lista é obtido na documentação oficial do Windows Server 2003. Contadores para identificar gargalos em recursos de memória:
- Memória\Bytes disponíveis
- Memória\Páginas/s
Contadores para identificar gargalos em recursos de disco:
- PhysicalDisk -> % tempo de disco e % Tempo ocioso
- PhysicalDisk -> Leituras de disco/seg e Gravações de disco/seg
- PhysicalDisk -> Comprimento médio da fila de disco
- LogicalDisk -> % de espaço livre
Importante: Monitore contadores de memória para determinar se a paginação excessiva está sobrecarregando o disco. Quando o computador tem pouca memória, o Windows Server 2003 é obrigado a utilizar intensivamente o arquivos de paginação (Swap). O arquivo de trocas, por padrão, fica na raiz do disco C:, com o nome de pagefile.sys ou pode também ficar em outros discos e até mesmo distribuídos em dois ou mais discos, conforme configurações efetuadas pelo administrador. Com o uso intensivo do arquivo de trocas, as taxas de utilização do disco rígido aumentam significativamente, porém o problema não é com o sistema de discos e sim devido a falta de memória (que é a causa da paginação excessiva). Ao acrescentar mais memória RAM, você irá reduzir a utilização do arquivo pagefile.sys e, conseqüentemente, reduzir as taxas de utilização do disco rígido. Contadores para identificar gargalos em recursos do processador:
- Processador -> Interrupções por segundo
- Processador -> % tempo de processador
- Processo(processo) -> % tempo de processador
- Sistema -> Comprimento da fila de processador
Um número muito elevado de Interrupções por segundo pode ser causado por problemas em um dispositivo de Hardware, ou em um driver de hardware, conforme descrito anteriormente. Contadores para identificar gargalos em recursos de rede:
- Interface de rede ->Total de bytes/segundo, Bytes enviados/s e Bytes recebidos/s
- Objeto_de_camada_de_protocolo -> Segmentos recebidos/s, Segmentos enviados/s, Quadros enviados/s e Quadros recebidos/s
- Servidor -> Total de bytes/segundo, Bytes recebidos/s e Bytes enviados/s
Contadores para identificar gargalos em recursos de impressora:
- Fila de impressão -> Bytes impressos/s
- Fila de impressão -> Erros de trabalhos
Montando gráficos de desempenho a partir de informações de arquivos de log É possível utilizar o console Desempenho para acessar as informações gravadas em um arquivo de log, como o que criamos no exemplo anterior. Ao abrir o arquivo podemos especificar para quais contadores queremos montar o gráfico. Quando abrimos um arquivo de log, evidentemente, somente estarão disponíveis os contadores para os quais foram salvas informações no arquivo. Vamos a um exemplo prático, onde acessaremos informações do arquivo C:\Monitora o processador_000001.csv, criado no exemplo anterior. Exemplo: Acessando os dados de um arquivo de log já existente. Para acessar os dados do arquivo C:\Monitora o processador_000001.csv, siga os passos indicados a seguir: 1. Faça o logon como Administrador, ou com uma conta com permissão de administrador.
2. Abra o console Desempenho: Iniciar -> Ferramentas administrativas -> Desempenho.
3. Será aberto o console de monitoração de desempenho, com alguns indicadores já adicionados, conforme descrito anteriormente.
4. Para limpar as configurações atuais clique no botão Novo conjunto de contadores, que é o primeiro botão da barra de ferramentas ou pressione Ctrl+E. Todos os contadores serão excluídos. Agora você irá carregar o arquivo de log C:\Monitora o processador_000001.csv, criado anteriormente.
5. Clique no botão Exibir dados de logs, que é o quarto botão da esquerda para a direita, na barra de ferramentas, ou pressione Ctrl+L. Será exibida a janela Propriedades do Monitor do sistema, com a guia Fonte já selecionada. Você utiliza a guia Fonte para informar o arquivo de log a ser carregado.
6. Na guia Fonte clique na opção Arquivos de log e depois clique no botão Adicionar... Será aberta a janela Selecionar Arquivo de Log. Selecione o arquivo C:\Monitora o processador_000001.csv, conforme indicado na Figura 7.33:
Figura 7.33 Selecionando o arquivo de log a ser carregado.
7. Clique no botão Abrir. Você estará de volta a guia Fonte, com o arquivo C:\Monitora o processador_000001.csv já selecionado.
8. Clique em OK e o arquivo de log será carregado. Por padrão ainda não estão sendo exibidas informações sobre os contadores do arquivo de log. Esta é a próxima etapa, dentre os contadores que existem no arquivo de log, para qual ou quais queremos exibir informações??
9. Clique no botão Adicionar - botão com um sinal de + ou pressione Ctrl+I. Será exibida a janela Adicionar contadores. Abra a lista objeto de desempenho. Observe que somente aparece o objeto Processador. Isto acontece porque, no arquivo de log que abrimos, somente existem informações sobre os contadores % tempo do processador e Interrupções/s do objeto Processador.
10. Na lista Selecione contadores da lista, selecione o contador % tempo do processador e clique no botão Adicionar.
11. Clique em Fechar.
12. Você estará de volta ao console Desempenho. Observe que foi montado um gráfico com os valores do contador % tempo do processador Time, para o período contido no arquivo de log, que conforme podemos observar na Figura 7.34 é de 20 minutos e 1 segundo.
Figura 7.34 Gráfico montado com informações do arquivo de log.
Você pode fazer com que o gráfico seja baseado apenas em um determinado período e não em toda a janela de tempo do arquivo de log. Agora você aprenderá a limitar o período de tempo no qual o gráfico é baseado. 13. Clique com o botão direito do mouse em qualquer parte do gráfico. No menu de opções que é exibido clique em Propriedades.
14. Na janela de propriedades que é exibida, dê um clique na guia Fonte.
15. Na parte de baixo da janela existem dois controles deslizantes, que você pode deslocar para definir uma janela de tempo na qual o gráfico será baseado, conforme exemplo da Figura 7.35:
Figura 7.35 Definindo uma janela de tempo.
16. Defina uma janela de tempo e clique em OK.
17. Você estará de volta ao console Desempenho.
18. Observe que o período dos dados já foi limitado, conforme pode ser conferido no campo Duração, nos campos logo abaixo do gráfico.
19. Agora você irá configurar algumas propriedades do gráfico.
20. Clique com o botão direito do mouse em qualquer parte do gráfico. No menu de opções que é exibido clique em Propriedades.
20. Na janela de propriedades que é exibida, dê um clique na guia Gráfico. Nesta guia você pode definir um título para o gráfico, se serão exibidas grades verticais e horizontais, bem como definir a escala do eixo vertical. Defina as opções conforme indicado na Figura 7.36:
Figura 7.36 Configurando opções do gráfico.
21. Clique em OK e observe que as alterações já são aplicadas ao gráfico.
22. Veja que o gráfico fica com um aspecto bem melhor, conforme indicado na Figura 7.37:
Figura 7.37 O gráfico após as formatações.
23. Feche o console Desempenho. Utilizando Alertas para monitorar situações limite O administrador pode configurar alertas com base em contadores de desempenho. Por exemplo, posso configurar um alerta que é disparado sempre que um determinado contador atinge um valor limite. Podem ser configuradas diferentes ações como resposta a um alerta: Enviar uma mensagem para um usuário, normalmente o Administrador, Gravar um evento no log de eventos do Windows Server 2003, executar um programa ou iniciar a captura de dados de desempenho, com base nas configurações de um log pré-definido. A seguir apresento um exemplo prático de criação de um alerta com base no valor limite de um contador.
Exemplo: Criar um alerta que será disparado sempre que o contador % tempo do processador ultrapassar 5%. Como resposta ao alerta, uma mensagem deve ser enviada para o usuário Administrador. Evidentemente que 5% é um valor muito baixo. Estou utilizando este valor apenas para forçar que o alerta seja disparado e com isso você possa conferir se a mensagem está realmente sendo enviada para o Administrador. Para criar o alerta proposto siga os seguintes passos indicados a seguir: 1. Faça o logon como Administrador, ou com uma conta com permissão de administrador.
2. Abra o console Desempenho: Iniciar -> Ferramentas administrativas -> Desempenho.
3. No painel da esquerda, clique no sinal de + ao lado da opção Logs e alertas de desempenho.
4. Clique na opção Alertas. Observe que, por padrão, nenhum Alerta é criado.
5. Vou criar um novo Alerta para monitorar o contador % tempo de processador.
6. Para criar um novo Alerta selecione o comando Ação -> Novas configurações de alerta...
7. Surge uma janela solicitando que você digite um nome para o Alerta que está sendo criado. Digite Alerta-Teste, conforme indicado na Figura 7.38 e clique em OK.
Figura 7.38 Definindo o nome do Alerta que está sendo criado.
7. Será exibida a janela Alerta-Teste com as guias Geral, Ação e Agendar, na qual você define as características do Alerta que está sendo criado.
8. O primeiro passo é adicionar o contador (ou os contadores) que serão monitorados. Na guia Geral dê um clique no botão Adicionar... Será exibida a janela Adicionar contadores, a qual já foi utilizada em exemplos anteriores. Na lista de objetos selecione Processador e na lista de contadores selecione % tempo de processador. Clique no botão Adicionar e depois clique no botão Fechar. Você estará de volta à guia Geral da janela do alerta.
9. Na guia Geral você também pode definir um comentário e o valor limite para o contador que foi adicionado. No nosso exemplo digite 5, no campo Limite e certifique-se de que na lista Alertar quando o valor for, esteja selecionado Superior a. Com isso estou configurando o alerta para ser disparado quando o contador % tempo de processador atingir um valor superior a 5%. Suas configurações devem estar conforme indicado na Figura 7.39:
Figura 7.39 Configurações da guia Geral.
10. Dê um clique na guia Ação. Nesta guia você define uma ou mais ações que serão executadas quando o Alerta for disparado. Para o nosso exemplo quero apenas que uma mensagem seja enviada para o usuário Administrador. Defina as configurações conforme indicado na Figura 7.40:
Figura 7.40 Configurações da guia Ação.
11. Clique em OK e o Alerta será criado e já será inicializado. Alertas podem ser iniciados e parados, assim como Logs para a captura automática de dados que também podem ser iniciados e parados. Para parar um Alerta que está em andamento, clique no botão Parar - botão com o desenho de um quadradinho ou clique com o botão direito do mouse no Alerta e, no menu de opções que é exibido, clique em Parar. A ação associada ao Alerta somente será disparada enquanto o Alerta estiver em execução.
12. Na Figura 7.41 mostro o exemplo da mensagem que é enviada para o usuário Administrador quando o Alerta deste exemplo é disparado, ou seja, quando o contador % tempo de processador atingir mais do que 5%. Esta mensagem foi enviada na estação de trabalho onde o administrador estava logado, que no exemplo era uma estação de trabalho com o Windows XP Professional. Ou seja, a mensagem é enviada para onde o administrador estiver logado, independente do servidor onde está configurado o alerta.
Figura 7.41 Mensagem enviada em resposta ao Alerta.
13. Feche o console Desempenho.
|