Citrix Virtual Apps and Desktops

Registro de configuração

O registro de configuração é um recurso que captura as alterações de configuração do site e as atividades administrativas no banco de dados. O recurso é habilitado por padrão. Você pode usar o conteúdo registrado para:

  • Diagnosticar e solucionar problemas após a realização de alterações de configuração. O log fornece um rastro de auditoria.
  • Auxiliar no gerenciamento de alterações e rastrear configurações.
  • Relatar a atividade de administração.

Você define as preferências de registro de configuração, exibe os logs de configuração e gera relatórios HTML e CSV no Citrix Studio. Você pode filtrar as exibições de log de configuração por intervalos de datas e resultados de pesquisa de texto completo. O registro obrigatório, quando habilitado, impede que alterações de configuração sejam feitas, a menos que possam ser registradas. Com a permissão apropriada, você pode excluir entradas do log de configuração. Você não pode usar o recurso de registro de configuração para editar o conteúdo do log.

O registro de configuração usa um SDK do PowerShell e o Serviço de Registro de Configuração. O Serviço de Registro de Configuração é executado em cada Controller no site. Se um Controller falhar, o serviço em outro Controller lida automaticamente com as solicitações de registro.

Por padrão, o recurso de registro de configuração é habilitado e usa o banco de dados criado ao configurar o site (o banco de dados de configuração do site). Você pode especificar um local diferente para o banco de dados. O banco de dados de registro de configuração oferece suporte aos mesmos recursos de alta disponibilidade que o banco de dados de configuração do site.

O acesso ao registro de configuração é controlado por meio de administração delegada, com as permissões “Editar Preferências de Registro” e “Exibir Logs de Configuração”.

Os logs de configuração são localizados quando são criados. Por exemplo, um log criado em inglês é lido em inglês, independentemente da localidade da pessoa que o lê.

O que é registrado

As alterações de configuração e as atividades administrativas iniciadas no Studio, Director e scripts do PowerShell são registradas. Exemplos de alterações de configuração registradas incluem trabalhar com (criar, editar, excluir, atribuir):

  • Catálogos de máquinas
  • Grupos de entrega (incluindo a alteração das configurações de gerenciamento de energia)
  • Funções e escopos de administrador
  • Recursos e conexões de host
  • Políticas Citrix por meio do Studio

Exemplos de alterações administrativas registradas incluem:

  • Gerenciamento de energia de uma máquina virtual ou de uma área de trabalho de usuário
  • Studio ou Director enviando uma mensagem a um usuário

As seguintes operações não são registradas:

  • Operações autônomas, como o ligamento de máquinas virtuais pelo gerenciamento de pool.
  • Ações de política implementadas por meio do Console de Gerenciamento de Política de Grupo (GPMC); use as ferramentas da Microsoft para visualizar os logs dessas ações.
  • Alterações feitas por meio do registro, acesso direto ao banco de dados ou de fontes diferentes do Studio, Director ou PowerShell.
  • Quando a implantação é inicializada, o registro de configuração fica disponível quando a primeira instância do Serviço de Registro de Configuração se registra no Serviço de Configuração. Portanto, os estágios iniciais da configuração não são registrados (por exemplo, quando o esquema do banco de dados é obtido e aplicado, quando um hipervisor é inicializado).

Gerenciar o registro de configuração

Por padrão, o registro de configuração usa o banco de dados criado ao configurar um site (também conhecido como banco de dados de configuração do site). A Citrix recomenda que você use um local separado para o banco de dados de registro de configuração (e o banco de dados de monitoramento) pelos seguintes motivos:

  • A estratégia de backup para o banco de dados de registro de configuração provavelmente difere da estratégia de backup para o banco de dados de configuração do site.
  • O volume de dados coletados para o registro de configuração (e o Serviço de Monitoramento) pode afetar negativamente o espaço disponível para o banco de dados de configuração do site.
  • Ele divide o ponto único de falha para os três bancos de dados.

As edições do produto que não oferecem suporte ao registro de configuração não possuem um nó “Logging” no Studio.

Habilitar e desabilitar o registro de configuração e o registro obrigatório

Por padrão, o registro de configuração é habilitado e o registro obrigatório é desabilitado.

  1. Faça login no Web Studio e selecione “Logging” no painel esquerdo.
  2. Selecione “Preferences” na barra de ações. A caixa de diálogo de registro de configuração contém informações do banco de dados e indica se o registro de configuração e o registro obrigatório estão habilitados ou desabilitados.
  3. Selecione a ação desejada:

    Para habilitar o registro de configuração, selecione “Enable”. Esta é a configuração padrão. Se não for possível gravar no banco de dados, as informações de registro serão descartadas, mas a operação continuará.

    Para desabilitar o registro de configuração, selecione “Disable”. Se o registro estava habilitado anteriormente, os logs existentes permanecem legíveis com o SDK do PowerShell.

    Para habilitar o registro obrigatório, selecione “Prevent changes to the site configuration when the database is not available”. Nenhuma alteração de configuração ou atividade administrativa que normalmente seria registrada é permitida, a menos que possa ser gravada no banco de dados de registro de configuração. Você pode habilitar o registro obrigatório somente quando o registro de configuração estiver habilitado (quando “Enable” estiver selecionado). Se o Serviço de Registro de Configuração falhar e a alta disponibilidade não estiver em uso, o registro obrigatório será assumido. Nesses casos, as operações que normalmente seriam registradas não são executadas.

    Para desabilitar o registro obrigatório, selecione “Allow changes when to the site configuration when the database is not available”. As alterações de configuração e as atividades administrativas são permitidas, mesmo que o banco de dados de registro de configuração não possa ser acessado. Esta é a configuração padrão.

Alterar o local do banco de dados de registro de configuração

Você não pode alterar o local do banco de dados quando o registro obrigatório está habilitado, porque a alteração de local inclui um breve intervalo de desconexão que não pode ser registrado.

  1. Crie um servidor de banco de dados, usando uma versão compatível do SQL Server.
  2. Faça login no Web Studio e selecione “Logging” no painel esquerdo.
  3. Selecione “Preferences” na barra de ações.
  4. Na caixa de diálogo “Logging Preferences”, selecione “Change logging database”.
  5. Na caixa de diálogo “Change Logging Database”, especifique o local do servidor que contém o novo servidor de banco de dados. Consulte Formatos de endereço de banco de dados para formatos válidos.
  6. Para permitir que o Studio crie o banco de dados, clique em “OK”. Quando solicitado, clique em “OK”, e o banco de dados será criado automaticamente. O Studio tenta acessar o banco de dados usando as credenciais do usuário atual do Studio. Se isso falhar, você será solicitado a fornecer as credenciais do usuário do banco de dados. O Studio então carrega o esquema do banco de dados para o banco de dados. (As credenciais são retidas apenas durante a criação do banco de dados.)
  7. Para criar o banco de dados manualmente, clique em “Generate database script”. O script gerado inclui instruções para criar o banco de dados manualmente. Certifique-se de que o banco de dados esteja vazio e que pelo menos um usuário tenha permissão para acessar e alterar o banco de dados antes de carregar o esquema.

Os dados de registro de configuração do banco de dados anterior não são importados para o novo banco de dados. Os logs não podem ser agregados de ambos os bancos de dados ao recuperar logs. A primeira entrada de log no novo banco de dados de registro de configuração indica que uma alteração de banco de dados ocorreu, mas não identifica o banco de dados anterior.

Exibir conteúdo do log de configuração

Para exibir o conteúdo do log de configuração, selecione “Logging” no painel esquerdo e, em seguida, selecione a guia “Events”.

Por padrão, os logs de eventos são listados pelos nomes dos administradores. Você pode executar as seguintes tarefas conforme necessário:

  • Exibir detalhes do log. Uma operação de alto nível resulta em uma ou mais chamadas de serviço e SDK, que são operações de baixo nível. Ao selecionar uma operação de alto nível no painel superior, o painel inferior exibe as operações de baixo nível.
  • Classificar a exibição. Classifique a exibição clicando em um cabeçalho de coluna.
  • Filtrar logs. Refine a exibição definindo condições de filtro, como intervalos de dias ou períodos personalizados, ou inserindo nomes de “Main Task” completos ou parciais na caixa “Search”. Para retornar à exibição padrão após usar a pesquisa, limpe o texto na caixa “Search”.
  • Exportar logs. Exporte logs selecionados ou todos os logs para um arquivo CSV para arquivamento ou análise posterior.
  • Personalizar colunas. Adapte a exibição às suas necessidades adicionando colunas não padrão, como “Client IP” e “Labels”.
  • Gerenciar rótulos. Adicione, edite e remova rótulos para logs de eventos para aprimorar a organização e o rastreamento de logs.

Características da exibição:

  • Se uma operação falhar antes da conclusão, a operação de log pode não ser concluída no banco de dados. Por exemplo, um registro de início não tem um registro de parada correspondente. Nesses casos, o log indica que há informações ausentes. Ao exibir logs com base em intervalos de tempo, logs incompletos são mostrados se os dados corresponderem aos critérios.

    Por exemplo, se você solicitar logs dos últimos cinco dias, e um log com um horário de início nos últimos cinco dias não tiver um horário de término, ele será incluído.

  • Ao usar um script que chama cmdlets do PowerShell, se você criar uma operação de baixo nível sem especificar uma operação de alto nível pai, o registro de configuração cria uma operação de alto nível substituta.

Gerar relatórios

Você pode gerar relatórios CSV e HTML contendo dados de log de configuração.

  • O relatório CSV contém todos os dados de registro de um intervalo de tempo especificado. Os dados hierárquicos no banco de dados são nivelados em uma única tabela CSV. Nenhum aspecto dos dados tem precedência no arquivo. Nenhuma formatação é usada e nenhuma legibilidade humana é assumida. O arquivo (nomeado MyReport) contém os dados em um formato universalmente consumível. Os arquivos CSV são frequentemente usados para arquivar dados ou como fonte de dados para uma ferramenta de relatório ou manipulação de dados, como o Microsoft Excel.
  • O relatório HTML fornece uma forma legível por humanos dos dados de registro para um intervalo de tempo especificado. Ele oferece uma visualização estruturada e navegável para revisar as alterações. Um relatório HTML é composto por dois arquivos, nomeados “Summary” e “Details”. “Summary” lista as operações de alto nível: quando cada operação ocorreu, por quem e o resultado. Clicar em um link “Details” ao lado de cada operação leva você às operações de baixo nível no arquivo “Details”, que fornece informações adicionais.

Para gerar um relatório de log de configuração, selecione “Logging” no painel de navegação do Studio e, em seguida, selecione “Create custom report” na barra de ações.

  • Selecione o intervalo de datas para o relatório.
  • Selecione o formato do relatório: CSV, HTML ou ambos.
  • Navegue até o local onde você deseja salvar o relatório.

Excluir conteúdo do log de configuração

Para excluir o log de configuração, você deve ter certas permissões de administração delegada e de banco de dados do SQL Server.

  • Administração delegada: Você deve ter uma função de administração delegada que permita a leitura da configuração da implantação. A função “Full administrator” tem essa permissão. Uma função personalizada deve ter “Read Only” ou “Manage” selecionado na categoria “Other permissions”.

    Para criar um backup dos dados de registro de configuração antes de excluí-los, a função personalizada também deve ter “Read Only” ou “Manage” selecionado na categoria “Logging Permissions”.

  • Banco de dados SQL Server: Você deve ter um login de servidor SQL com permissão para excluir registros do banco de dados. Existem duas maneiras de fazer isso:

    • Use um login de banco de dados do SQL Server com uma função de servidor sysadmin, que permite executar qualquer atividade no servidor de banco de dados. Alternativamente, as funções de servidor serveradmin ou setupadmin permitem executar operações de exclusão.

    • Se sua implantação exigir mais segurança, use um login de banco de dados não-sysadmin mapeado para um usuário de banco de dados que tenha permissão para excluir registros do banco de dados.

      1. No SQL Server Management Studio, crie um login do SQL Server com uma função de servidor diferente de ‘sysadmin’.
      2. Mapeie o login para um usuário no banco de dados. O SQL Server cria automaticamente um usuário no banco de dados com o mesmo nome do login.
      3. Em “Database role membership”, especifique pelo menos um dos membros da função para o usuário do banco de dados: ConfigurationLoggingSchema_ROLE ou dbowner.

      Para obter mais informações, consulte a documentação do SQL Server Management Studio.

Para excluir os logs de configuração:

  1. Faça login no Web Studio e selecione “Logging” no painel esquerdo.
  2. Selecione “Delete logs” na barra de ações.
  3. Você será perguntado se deseja criar um backup dos logs antes que eles sejam excluídos. Se você optar por criar um backup, navegue até o local onde o arquivo de backup será salvo. O backup é criado como um arquivo CSV.

Depois que os logs de configuração são limpos, a exclusão do log é a primeira atividade postada no log vazio. Essa entrada fornece detalhes sobre quem excluiu os logs e quando.

Exibir logs de API e PowerShell

Para monitorar as solicitações de API feitas durante sua sessão atual, clique na guia “APIs”. Os logs de API são limpos depois que você sai do Web Studio.

Para visualizar os comandos do PowerShell correspondentes às ações da interface do usuário que você realizou durante o dia, clique na guia “PowerShell”.

Associar metadados a logs de configuração

Você pode anexar metadados a logs de configuração associando um par nome-valor chamado MetadataMap aos registros de log.

Observação:

  • Você só pode anexar metadados a objetos de operação de alto nível.
  • Os metadados são associados aos registros existentes no momento da execução.

Definir os metadados

Execute o comando do PowerShell Set-LogHighLevelOperationMetadata para associar um registro de log ao MetadataMap. Set-LogHighLevelOperationMetadata aceita os seguintes parâmetros:

  • Id: ID da operação de alto nível.
  • InputObject: As operações de alto nível às quais você adiciona os metadados. Esta é uma alternativa ao parâmetro Id, onde um objeto de operação de alto nível ou uma lista de objetos é passado para o comando do PowerShell.
  • Name: Nome da propriedade dos metadados a serem adicionados. A propriedade deve ser exclusiva para a operação de alto nível especificada. A propriedade não pode conter nenhum dos seguintes caracteres ()\/;:#.*?=<> []”’.
  • Value: Valor para a propriedade.
  • Map: Dicionário de pares (nome, valor) para as propriedades. Esta é uma alternativa para definir os metadados usando os parâmetros -Name e -Value.

Por exemplo, para anexar os metadados a todos os registros de log de alto nível com Id 40, execute o seguinte comando do PowerShell:

Get-LogHighLevelOperation – Id 40 | Set-LogHighLevelOperationMetadata -Name A -Value B

Para anexar os metadados ao registro de alto nível com o usuário abc@example.com, execute o seguinte comando do PowerShell:

Get-LogHighLevelOperation – Userabc@example.com| Set-LogHighLevelOperationMetadata -Name C -Value D

Recuperar usando os metadados

Execute os seguintes comandos do PowerShell para usar os metadados associados para recuperar os registros de log:

  • Pesquisar por chave e valor:

    Get-LogHighLevelOperation -Metadata "Key:Value"

  • Pesquisar por valor qualquer chave:

    Get-LogHighLevelOperation -Metadata "*:Value"

  • Pesquisar por chave e qualquer valor:

    Get-LogHighLevelOperation -Metadata "Key:*"

Remover os metadados

Execute o comando do PowerShell Remove-LogHighLevelOperationMetadata para remover os metadados associados. Remove-LogHighLevelOperationMetadata aceita os seguintes parâmetros:

  • Id: ID da operação de alto nível.
  • InputObject: As operações de alto nível às quais você adiciona os metadados. Esta é uma alternativa ao parâmetro Id, onde um objeto de operação de alto nível ou uma lista de objetos é passado para o comando do PowerShell.
  • Name: Nome da propriedade dos metadados a serem removidos. Defina como $null para remover todos os metadados do objeto especificado.
  • Map: Dicionário de pares (nome, valor) para as propriedades. Isso pode ser uma hashtable (criada com @{“name1” = “val1”; “name2” = “val2”}) ou um dicionário de strings (criado com new-object “System.Collections.Generic.Dictionary[String, String]”). As propriedades cujos nomes correspondem às chaves no mapa são removidas.