Compartilhar via


Como: usar um banco de dados de monitoramento não pertencente ao SQL Server

O procedimento a seguir mostra como usar um banco de dados de monitoramento que não seja SQL Server no Microsoft AppFabric 1.1 para Windows Server. Se estiver usando um banco de dados do SQL Server, estas exibições e a tabela de preparo serão criadas pelo processo de configuração do AppFabric. Com um banco de dados que não seja SQL Server, você precisará criar estas entidades de banco de dados usando qualquer funcionalidade do programa de banco de dados que não seja SQL que dê permissão para você fazer isso.

Configurando um banco de dados de monitoramento que nnão seja SQL

  1. Implemente as exibições públicas e a tabela de preparo de monitoramento. Escolha um mecanismo específico do banco de dados que não seja SQL Server no fornecedor do banco de dados para criar a tabela de preparo e as exibições. As exibições e a tabela de preparo com os tipos esperados estão especificadas em Monitorando exibições e tabelas de banco de dados. Os tipos reais podem ser específicos do banco de dados, mas os tipos devem aqueles que o provedor de ADO pode converter em um tipo do .NET Framework. As ferramentas de monitoramento no painel do AppFabric funcionarão apenas se a consulta ao tipo do banco de dados gerar um tipo esperado do .NET Framework. Por exemplo, nvarchar no SQL Server se correlaciona com o tipo String do .NET Framework, e os tipos varchar e char de bancos de dados que não sejam SQL Server também se correlacionam com o tipo String do .NET Framework.

  2. Preencha as exibições públicas usando os dados da tabela de preparo. O Serviço de Coleta de Eventos grava dados de evento nas colunas da tabela de preparo que correspondem a cada evento emitido de um serviço WCF ou WF. Em seguida, a implementação do banco de dados que não pertence ao SQL Server move os dados da tabela de preparo para tabelas que apoiam as exibições públicas usando os meios apropriados, como trabalho de banco de dados ou gatilho.  O mapeamento que define como os dados de cada tipo de evento preenchem os modos de exibição públicos também está documentado separadamente em Monitorando mapeamentos de eventos do banco de dados. Para eventos emitidos do serviço WCF e WF, o Serviço de Coleta de Eventos coleta os eventos e os grava na tabela de preparo do banco de dados de monitoramento ASStagingTable. A tabela ASStagingTable é uma tabela de armazenamento de eventos temporários. Para consumir os dados de evento no AppFabric Dashboard, os dados da tabela ASStagingTable precisam ser expostos usando a exibição pública correspondente a um tipo de evento. A implementação do banco de dados SQL Server que não pertence ao SQL Server precisa mover os dados da tabela ASStagingTable para tabelas que apoiam as exibições públicas usando um mecanismo adequado para a implementação do banco de dados, como um gatilho ou trabalho de banco de dados.  O mapeamento que define como os dados de cada tipo de evento preenchem as exibições públicas está documentado em Monitorando mapeamentos de eventos do banco de dados.

    A seguir, um exemplo de como isso funciona e do que será necessário fazer. Quando uma operação de serviço WCF é chamada, o tempo de execução do .NET emite um evento 214 - OperationCompleted (https://go.microsoft.com/fwlink/?LinkId=187225) (Operação WCF concluída) Quando esse evento ocorre, as colunas na tabela de preparo pertinentes ao evento Operação de WCF concluída são preenchidas com valores do evento coletado pelo Serviço de Coleta de Eventos. Os dados da tabela de preparo são mapeados para preencher as colunas nas exibições ASEventSources, ASWcfEvents e ASEvents. O AppFabric Dashboard lê esses dados e os exibe na Tracked Events Page. Para o evento OperationCompleted, verifique EventID 214 no documento de mapeamento em Monitorando mapeamentos de eventos do banco de dados. Isso indica como os dados da tabela de preparo para esse evento estão expostos. Além das colunas comuns gravadas na tabela de preparo (consulte a seção Mapeamento comum para todos os eventos no documento de mapeamento), duas colunas adicionais são gravadas: MethodName e Duration. Essas colunas são o que você mapeia em um modo especifico de implementação para as tabelas provisórias correspondentes que oferecem suporte às exibições ASEventSources, ASWcfEvents e ASEvents.

    Dica

    O tópico Monitorando mapeamentos de eventos do banco de dados contém um subconjunto de eventos de mapeamento. Para obter um conjunto completo de mapeamentos, consulte o download no Centro de Download da Microsoft. Ele contém um documento de mapeamento para cada ID de evento. O documento de mapeamento para um evento especifica as colunas na tabela ASStagingTable que são preenchidas quando o Serviço de Coleta de Eventos grava uma linha para esse evento. Ele também indica as exibições que expõem dados para esse evento e como os dados da ASStagingTable são mapeados para as colunas em uma exibição.

    Dica

    Em uma implementação do banco de dados de monitoramento em SQL Server, os modos de exibição públicos são construídos com base em tabelas que contêm os dados reais do evento. O Provedor do SQL Server move os dados da tabela de preparo para as tabelas em que as exibições públicas são criadas. Esse trabalho feito pelo provedor do SQL Server é o que você precisará para executar manualmente em um banco de dados que não seja SQL Server.

  3. Verifique se a cadeia de conexão do novo banco de dados de monitoramento está registrada no arquivo raiz Web.config. Isso permite que o Serviço de Coleta de Eventos use essa cadeia de conexão para gravar eventos no banco de dados de monitoramento.

  4. Verifique se a identidade do Serviço de Coleta de Eventos tem permissões de leitura e gravação na tabela de preparo.

  5. Verifique se o usuário que está visualizando dados no IIS com o AppFabric Dashboard tem permissões para ler a partir dos modos de exibição.

  6. Realize um teste, executando o Serviço de Coleta de Eventos:

    1. Verifique se a tabela de preparo está sendo preenchida.

    2. Verifique se as métricas do painel estão funcionando.

    3. Verifique se que os eventos monitorados podem ser exibidos.

    4. Verifique se os eventos relacionados podem ser exibidos no nível de monitoramento de ponta a ponta.

Você pode tomar as seguintes medidas opcionais para ajudar ainda mais na configuração e aumentar o desempenho dos eventos de gravação em um banco de dados que não seja SQL Server:

  • Implemente um provedor de cópia em massa para o banco de dados específico e registre-o no arquivo raiz Web.config. Isso permite que o Serviço de Coleta de Eventos chame o provedor para gravar eventos em massa na tabela de preparo. Se um provedor de cópia em massa não estiver registrado, o coletor de eventos usará inserções em lote através do provedor de ADO específico do banco de dados. Para obter mais informações, consulte Interface de cópia em massa da Coleta de Eventos.

  • Crie um provedor personalizado para o banco de dados não-SQL Server para ser chamado pela ferramenta de configuração do AppFabric. Este provedor é diferente de um provedor de cópia em massa. Ele é o provedor que a instalação usa para inserir no registro a cadeia de conexão do novo banco de dados, para ser usada pelo Serviço de Coleta de Eventos. Novamente, essa função interface de usuário não é obrigatória, mas simplifica a configuração da cadeia de conexão do banco de dados não-SQL Server. Para obter mais informações sobre o uso de provedores personalizados, consulte Como: Registrar provedores personalizados. Para obter mais informações sobre a ferramenta de configuração do AppFabric, que também pode ser iniciada ao final do processo de instalação do AppFabric, consulte Installation Results Page e Configurar AppFabric.

  2012-03-05