У меня есть POS-система, которая не будет работать, если она не войдет в консольный сеанс. Я подумал, поскольку у меня уже есть NSClient ++, возможно, я смогу контролировать счетчик через Nagios.
Есть ли счетчик для этого, который я могу предупредить, если учетная запись не вошла в систему? Это \ "Терминальные службы \ Всего сеансов"? Прямо сейчас это показывает 2 сеанса для моей виртуальной машины, что для меня не совсем понятно, если только мой удаленный рабочий стол не считается одним, а VMWare всегда его использует ...
Если я смогу сделать это с помощью check_nt, для меня это, вероятно, перевесит потенциальные предостережения относительно лучшего способа, но я открыт для идей.
Я действительно не знаю, поэтому я просто слепо гадаю здесь, а также я действительно не понимаю, что вы имеете в виду под «входом в систему», так как вы упоминаете сервер терминалов, я предполагаю, что вы имеете в виду «подключенные сеансы» (или активные сеансы).
Ниже приведены счетчики, которые у меня есть в службах терминалов, и они кажутся разумным местом для начала:
\ Службы терминалов \ Всего сеансов \ Службы терминалов \ Активные сеансы \ Службы терминалов \ Неактивные сеансы
И быстрый Google дает: Активные сеансы Общее количество активных сеансов, исключая отключенные сеансы.
Всего сеансов Общее количество активных сеансов, включая отключенные сеансы.
Таким образом, мне кажется, вы хотите "Активные сеансы"?
Второе отражение заключается в том, что указанный выше инструмент можно легко использовать из NSClient ++ внутри скрипта, но вам нужно будет использовать NRPE (check_nrpe), чтобы иметь возможность выполнять скрипт из nagios, а не check_nt).
// Майкл Медин
Чтобы подсчитать количество зарегистрированных пользователей, вы можете увидеть, сколько процессов winlogon.exe запущено. (консольный сеанс всегда будет первым)
XP допускает только 1 «интерактивный» вход за раз, будь то физически на компьютере или удаленно через RDP. Что касается «консоли» и удаленного входа в систему, XP не имеет значения, какой из них вы используете, поскольку любой процесс, который должен запускаться, будет выполняться, если вход в систему осуществляется любым способом.
Вы пытаетесь определить, вошел ли пользователь в систему или нет, но более важным (я думаю) является то, запущен ли процесс, который вы хотите запустить. Почему бы просто не проверить запущенный процесс вместо того, чтобы пытаться выяснить, вошел ли пользователь в систему или нет? Что, если процесс завершился аварийно, но пользователь все еще вошел в систему?
Просмотр процесса winlogon.exe бесполезен для XP, поскольку он выполняется независимо от того, вошел ли кто-то в систему или нет. Типичный процесс, который нужно искать, - это explorer.exe, запущенный под именем пользователя (хотя он тоже может дать сбой и даже убил без выхода пользователя из системы).
В системе Windows вы можете использовать «psloggedon.exe» из sysinternals (http://technet.microsoft.com/en-us/sysinternals/default.aspx) для поиска локальных учетных записей на компьютере с ключом -l - "psloggedon \ computername -l". Я думаю, что причина, по которой вы видите 2 сеанса, когда проверяете счетчик, заключается в том, что сама проверка устанавливает сеанс, чтобы определить, сколько сеансов существует ...
Ваш лучший выбор для использования check_nt в nagios выглядит так, как будто это было бы 1) проверить конкретный процесс, который вам нужно запустить (надеюсь, он работает все время) или 2) проверить, запущен ли explorer.exe, поскольку он запускается только тогда, когда кто-то действительно зарегистрирован in, но, как я уже сказал, это не надежный способ определить, так ли это.
Отказ от ответственности! - Сам я не использую нагиос, а только что заглянул на сайт: http://nagiosplugins.org/man/check_nt для плагинов, которые могут работать для того, что вам нужно