Objetivo
Descrever como monitorar os eventos do Windows através do NSClient++.
Público-alvo
Administradores e usuários do OpMon que necessitam monitorar eventos específicos do Windows.
Pré-requisitos
- Possuir o OpMon instalado.
- Possuir o NSClient++ instalado. Como instalar o agente pode ser visto aqui.
Sobre os Eventos do Windows
O Event Viewer é uma ferramenta nativa do Windows que registra detalhes sobre erros no sistema, inclusive os que são causados por falha de hardware, como HD ou memória RAM, também sendo possível analisar erros de login e diversas informações pertinentes ao Sistema Operacional.
Solução
O monitoramento dos Eventos se faz pela checagem NRPE, então é necessário primeiro testar o funcionamento do Agente. Após ter seguido os passos descritos aqui, execute o seguinte comando:
[root@opmon ~]# /usr/local/opmon/libexec/check_nrpe -H 192.168.10.1 I (0.4.4.23 2016-04-05) seem to be doing fine..
Após o retorno acima exemplificado podemos configurar o comando conforme os exemplos abaixo:
Verifica nos últimos 5 minutos em Application se existe um evento de id 0 ou 916:
[root@opmon ~]# /usr/local/opmon/libexec/check_nrpe -H 192.168.10.1 -c check_eventlog -a file=application scan-range=-5m "filter=id=0 or id=916" "warning=id=0 or id=916" "critical=none" "top-syntax=%(status): %(count) eventos encontrados para os IDs 0 e 916" "perf-config=level(ignored:false)" WARNING: 1 eventos encontrados para os IDs 0 e 916|'Application_AdobeARMservice_id'=0;0;0
Lembrando que o comando check_eventlog é nativo do NSClient++, não sendo necessário configurá-lo previamente e que o parâmetro -a refere-se ao que o comando check_eventlog estará esperando.
Verifica nas últimas 24 horas em application se existe um evento de id 0 ou 916 com a mensagem ‘The’:
[root@opmon ~]# /usr/local/opmon/libexec/check_nrpe -H 192.168.10.1 -c check_eventlog -a file=application "filter=id IN (0,916) AND message like 'The' AND written>-24h" "crit=count > 0" "`echo -e "detail-syntax=%(count) Event(s) found at %(written) with ID %(id) from %(source) found. nMessage: %(message)"`" CRITICAL: 23/23 0 Event(s) found at 2w 3d 12:2 with ID 916 from ESENT found. Message: DllHost (9324,G,0) The beta feature EseDiskFlushConsistency is enabled in ESENT due to the beta site mode settings 0x800000., 1 Event(s) found at 2w 3d 12:2 with ID 916 from ESENT found. Message: DllHost (9324,G,0) The beta feature EseDiskFlushConsistency is enabled in ESENT due to the beta site mode settings 0x800000., 2 Event(s) found at 2w 3d 12:2 with ID 916 from ESENT found. Message: DllHost (9324,G,0) The beta feature EseDiskFlushConsistency is enabled in ESENT due to the beta site mode settings 0x800000., 3 Event(s) found at 2w 3d 12:2 with ID 916 from ESENT found. Message: svchost (3988,G,0) The beta feature EseDiskFlushConsistency is enabled in ESENT due to the beta site mode settings 0x800000., 4 Event(s) found at 2w 3d 12:2 with ID 916 from ESENT found.
Verifica nas últimas 24 horas em application se existe um evento de id 0:
[root@opmon ~]# /usr/local/opmon/libexec/check_nrpe -H 192.168.10.1 -c check_eventlog -a file=application "filter=id IN (0) AND written>-24h" "crit=count > 0" "`echo -e "detail-syntax=%(count) Event(s) found at %(written) with ID %(id) from %(source) found. nMessage: %(message)"`" CRITICAL: 7/7 0 Event(s) found at 2w 3d 12:2 with ID 0 from AdobeARMservice found. Message: , 1 Event(s) found at 2w 3d 12:2 with ID 0 from AdobeARMservice found. Message: , 2 Event(s) found at 2w 3d 12:2 with ID 0 from igfxCUIService2.0.0.0 found. Message: , 3 Event(s) found at 2w 3d 12:2 with ID 0 from igfxCUIService2.0.0.0 found. Message: , 4 Event(s) found at 2w 3d 12:2 with ID 0 from igfxCUIService2.0.0.0 found. Message: , 5 Event(s) found at 2w 3d 12:1 with ID 0 from igfxCUIService2.0.0.0 found. Message: , 6 Event(s) found at 2w 3d 12:1 with ID 0 from igfxCUIService2.0.0.0 found. Message: |'count'=7;0;0
Verifica na última 1 hora em system se existe um evento com severidade error ou informational:
[root@opmon ~]# /usr/local/opmon/libexec/check_nrpe -H 192.168.10.1 -c CheckEventLog -a file=system MaxWarn=1 MaxCrit=1 "filter=generated > -1h AND severity = 'error' OR severity = 'informational'" EventLog, The system uptime is 954977 seconds., Microsoft-Windows-Kernel-General, The access history in hive ??C:ProgramDataMicrosoftProvisioningMicrosoft-Desktop-Provisioning-Sequence.dat was cleared updating 0 keys and creating 0 modified pages., Service Control Manager, The start type of the Background Intelligent Transfer Service service was changed from auto start to demand start., Service Control Manager, The start type of the Background Intelligent Transfer Service service was changed from demand start to auto start., Microsoft-Windows-WindowsUpdateClient, Installation Successful: Windows successfully installed the following update: 9WZDNCRFJ3P2-Microsoft.ZuneVideo, Microsoft-Windows-WindowsUpdateClient, Installation Started: Windows has started installing the following update: 9WZDNCRFJ3P2-Microsoft.ZuneVideo, Microsoft-Windows-Kernel-General, The access history in hive ??C:Userscristiano.nessAppDataLocalPackagesMicrosoft.ZuneVideo_8wekyb3d8bbweSettingssettings.dat was cleared updatin
Pronto! E agora?
Após testado os comandos e decidido qual utilizar, basta adicionar o monitoramento ao OpMon.
Caso deseje, pode ser visto a documentação do NSClient++ neste link e também pode ser utilizado o Modelo de Monitoramento NSClient++, que sua documentação pode ser vista neste link.