Recentemente, me deparei com um problema um tanto bizarro. Ao tentar efetuar logon em servidor de terminal services com o Windows Server 2008 R2 SP1 instalado, utilizando uma conta do Active Directory que era membro de muitos grupos, era obtida a mensagem de erro: "Access is Denied".Bem, ao olhar no event viewer, nenhum erro foi encontrado. Ao efetuar logon com conta, diretamente na maquina, o erro nao acontecia. Ao testar em um servidor com o Windows Server 2008 SP2, o logon era efetuado com sucesso, sem erros.Primeiramente, poderia-se pensar no problema do limite de 1015 grupos suportado pelo Active Directory, conforme descrito no artigo http://support.microsoft.com/kb/328889/en-us, porem, a conta era membro de muitos grupos, mas nao chegava a 1015.Apos varias pesquisas e testes, um companheiro meu encontrou a reposta. Neste artigo da Microsoft, e descrito o valor MaxTokenSize e fala justamente sobre o problema do usuario ser membro de muitos grupos. No entanto, o documento diz que e so instalar o ultimo service pack do sistema operacional que o problema e resolvido.Neste caso, o ultimo service pack estava instalado :( . Bem, encontrou-se entao outro documento, situado neste link: http://support.microsoft.com/kb/938118/en-us. Ele mostra como alterar o valor MaxTokenSize.Assim, no servidor de terminal service com problemas, foi criado o valor abaixo no registro:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\ParametersEntrada: MaxTokenSizeTipo: REG_DWORDValor: 65535Em seguida, o servidor foi reiniciado. Apos isso, o problema foi resolvido e os usuarios conseguiram efetuar logon sem problemas! Um abraco e ate a proxima! Em outro artigo postado anteriormente, tratei acerca do monitoramento de servicos no Zabbix fazendo uso do protocolo SNMP. Continuando a serie, vou tratar agora da verificacao dos discos (particoes) utilizando o mesmo protocolo. Voces podem ser perguntar porque nao utilizo o agente para tais tarefas. Afinal, tudo seria mais facil. Bem, a resposta para a questao e o fato de no passado ter enfrentado problemas de performance em alguns servidores em razao do mal comportamento do agente da ferramenta que consumia muita CPU, em alguns casos, chegando a 100%.Como a MIB possui todos os dados que necessito para monitorar os servidores, apesar de dar um pouco mais de trabalho, os recursos consumidos pelo agente SNMP em um computador e minimo e nao prejudica sua performance.Bem, chega de historia e vamos ao que interessa. Como fiz no meu outro artigo, Monitorando servicos no Zabbix atraves do SNMP, criei um shell script que consulta a MIB do sistema operacional, pois o indice da particao pode variar de um computador para outro.Assim, crie um arquivo no diretorio o qual estao armazenado os scripts externos do Zabbix (parametro ExternalScripts do arquivo de configuracao zabbix_server.conf), no exemplo colocarei discolivre.sh, com o conteudo abaixo.#!/bin/bash# Criado por Rafael Oliveira# Parametro 1 - Endereco do host# Parametro 2 - Letra que indica a particao# Parametro 3 - Sistema operacional# Inicializa as variaveisdeclare TOTAL=0declare USADO=0# Comunidade SNMPCOMUNIDADE=monitora# Obtem o ID do disco na tabela SNMP contida na MIBif [ "$3" == "linux" ]; thenID=`/usr/bin/snmpwalk -v 2c -c $COMUNIDADE $1 HOST-RESOURCES-MIB::hrStorageDescr | grep "STRING: $2$" | cut -d : -f 3 | cut -d " " -f 1 | cut -d . -f 2`elseID=`/usr/bin/snmpwalk