WMI
Você pode acessar os parâmetros WMI diretamente com o cliente WMI instalado na máquina Linux:
Compile e instale o wmi-client manualmente ou use pacotes compilados de www.orvant.com ele parece funcionar com versões mais novas do Ubuntu também (14.04 64 bits).
Aqui está um exemplo de uso do wmic na linha de comando:
wmic -Uuser%pass //192.168.0.2 "SELECT FileSize FROM Win32_PageFile WHERE Path=c:\"
Agora crie o Nagios Plugin. Exemplos de uso do wmic estão aqui . Aqui está guia de como criar seu próprio plugin Nagios , mude para o trabalho com o wmic. Você terá algo assim:
if [ "$1" = "-w" ] && [ "$2" -gt "0" ] && \
[ "$3" = "-c" ] && [ "$4" -gt "0" ] && [ "$5" = "-h" ] && [ "$6" != "" ] && [ "$7" = "-u" ] && [ "$8" != "" ] && [ "$9" = "-p" ]; then
memPfSize='wmic -U$8%$10 //$6 "SELECT FileSize FROM Win32_PageFile WHERE Path=c:\" | grep AllocatedBaseSize | awk -F'=' '{print $2}''
if [ "$memPfSize" -ge "$4" ]; then
echo "Memory: CRITICAL Pagefile: $memPfSize MB - RES: $memPfSize= MB used!|VIRT=$(($memPfSize*1024*1024));;;; RES=$(($memPfSize=*1024*1024));;;;"
$(exit 2)
elif [ "$memPfSize" -ge "$2" ]; then
echo "Memory: WARNING Pagefile: $memPfSize MB - RES: $memPfSize= MB used!|VIRT=$(($memPfSize*1024*1024));;;; RES=$(($memPfSize=*1024*1024));;;;"
$(exit 1)
else
echo "Memory: OK Pagefile: $memPfSize MB - RES: $memPfSize= MB used!|VIRT=$(($memPfSize*1024*1024));;;; RES=$(($memPfSize=*1024*1024));;;;"
$(exit 0)
fi
else
echo "check_memPfSize v1.0"
echo "check_memPfSize -w Warning -c Critical -h Host -u Win-User -p Password"
echo "example of usage:"
echo "check_memPfSize -w 1024 -c 2048 -h 192.168.0.2 -u Administrator -p adminpassword"
exit
fi
Você pode acessar o WMI via Python do Linux .
SNMP
Se preferir o SNMP, é necessário instalar o gateway WMI-para-SNMP, como Informante SNMP - Avançado em sua máquina Windows para poder coletar informações do sistema, incluindo memória e troca. Essencialmente, essa ferramenta fornece SNMP MIBs para a instrumentação WMI em nível de sistema, que por sua vez permite que os dados WMI sejam consultado por qualquer estação de gerenciamento SNMP. É suportado em servidores Windows XP / Vista / 2000/2003 e 2008 e permite-lhe aceder a dados de todos (mais de 2000) dos contadores.
NSClient
Use o NSClient ++ no Windows para monitorar o tamanho do pagefile.sys . Você precisa instalar o NSClient ++ como um serviço. Com este plugin para máquinas Windows você pode monitorar todos os outros parâmetros também. Por exemplo, você pode monitorar a memória livre. Não há necessidade de adaptações de prefeito no arquivo de configuração NSC.ini na máquina Windows.
Verifique o tamanho do pagefile.sys e certifique-se de que ele permaneça acima de 1 gigabyte. Comando de Amostra:
CheckFileSize ShowAll MinWarn=1G MinCrit=512M File=c:/pagefile.sys
Configuração do Nagios:
define command {
command_name <<CheckFileSize>>
command_line check_nrpe -H $HOSTADDRESS$ -p 5666 -c CheckFileSize -a ShowAll MinWarn=$ARG2$ MinCrit=$ARG1$ File=c:/pagefile.sys
}
Da linha de comando (com NRPE):
check_nrpe -H IP -p 5666 -c CheckFileSize -a ShowAll MinWarn=1G MinCrit=512M File=c:/pagefile.sys
Ou com o plugin check_paging_file no lado do host com NSClient ++.