Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Windows [игнор отключен] [закрыт для гостей] / Проблема с WMI запросом / 4 сообщений из 4, страница 1 из 1
15.11.2017, 06:15
    #39553199
mr.dfox
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с WMI запросом
Добрый день!

Есть ПО которое WMI запросами подтягивает логи безопасности с серверов и сохраняет в БД

Код: pascal
1.
2.
3.
4.
5.
6.
7.
FSWbemLocator:= CreateOleObject('WbemScripting.SWbemLocator');
FWMIService:= FSWbemLocator.ConnectServer(strComputer, 'root\cimv2');
FWbemObjectSet:= FWMIService.ExecQuery('SELECT User, Category,ComputerName,EventCode,'+
     'Message,RecordNumber, TimeGenerated FROM Win32_NTLogEvent '+
      'Where TimeGenerated>'+GetDTstr(enddate)     
     +' and EventCode<>4662 and EventCode<>4776 and EventCode<>5145 and EventCode<>5140'
     +' and Logfile="Security"','WQL',wbemFlagForwardOnly);   



На некоторых серверах скрип висит примерно 5 минут 30 секунд +/- 10 секунд и отваливается с ошибкой "Call cancelled"
На серверах где запрос отрабатывает меньше этого времени - все проходит отлично.

Подскажите в чем может быть проблема и как это исправить?
...
Рейтинг: 0 / 0
15.11.2017, 06:35
    #39553200
mr.dfox
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с WMI запросом
Предполагаю, что отваливается по тайм ауту - вот только как его увеличить?
...
Рейтинг: 0 / 0
29.11.2017, 23:58
    #39561651
nhutils
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с WMI запросом
mr.dfox,

тут зависит, от чего таймаут.

если подвисает WMI на сервере (повреждённая установка?) или какие-то сетевые блокировки, то увеличение таймаута, ясно, не поможет. это можно проверить, если запустить тот же скрипт локально на сервере.

если от большого количества записей, да ещё при медленной сети, то можно изменить запрос, чтобы считывать меньше записей за раз. например, я делал выборку с ограничением и снизу, и сверху - по номеру записи было примерно так "...AND RecordNumber > 13799 AND RecordNumber < 13900", в следующий запрос от 13899 до 14000 и т.д. хотя мне говорили, что с этим моим RecordNumber работает медленно, а с TimeWritten работает быстрее. соответственно, в вашем примере, ограничение по TimeGenerated можно сделать с двух сторон.
...
Рейтинг: 0 / 0
30.11.2017, 06:24
    #39561707
mr.dfox
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с WMI запросом
nhutils,

Добрый день!
Да пришлось так и сделать.
+ дополнительно добавлял фильтрацию не интересующих EventCode.

ps Как увеличить тайм аут так и не нашел.
...
Рейтинг: 0 / 0
Форумы / Windows [игнор отключен] [закрыт для гостей] / Проблема с WMI запросом / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]