Потребовалось мне аналитика работающих пользователей на сервере терминалов, а именно:
- Количество активных пользователей в разрезе требуемых периодов
- Количество отсутствующих пользователей (отошли на 5 минут)
- Работа конкретных пользователей
У меня есть zabbix, а вот отправку подобной статистики пришлось писать.
В итоге получилась служба, которая ставится на сервер, и через период отправляет статистику в zabbix.
https://github.com/LLIKIPER/ZabbixActiveUser
Описание настроек:
ZabbixServer - ip-адрес или dns имя сервера zabbix
ZabbixPort - порт zabbix траппера
Delay - задержка с которой производится отправка
IdleTime - время после которого пользователь считается не активным
ZabbixNodename - имя хоста в zabbix
ZabbixParam - дополнительный параметр ключа, например название сервера
SendSummary - отправка суммарного количества
SendActive - отправка количества активных пользователей
SendIdle - отправка количества отсутствующих пользователей
SendOffline - отправка количества в иных состояниях (отключенных, соединение и т.п.)
IgnoreUsername=SERVER\otheruser1,SERVER\otheruser1 - пользователи, которые будут игнорироваться.
[User1]
Username=SERVER\LLIKIPER - имя пользователя на локальной машине
ZabbixUsername=llikiper - имя которое будет передаваться в zabbix(т.к. русские символы не поддерживаются)
Коротко как сделать в zabbix.
Если хотите видеть отдельно, то создаете узел сети.

Создаете требуемые элементы данных:
user.work[Summary,server1c] - Всего пользователей в системе
user.work[Active,ZabbixNodename] - Активно пользователей
user.work[Idle,server1c] - отсутствующих пользователей
user.work[Offline,server1c] - в иных состояниях(отключенных)
user.work[ZabbixUsername,ZabbixParam] - статистика по пользователю, параметры поменять! в соответствии с конфигом а также создать сколько требуется
Создаем график из трех параметров

Вот пример аналитики

Добрый день
Вы не могли бы, более подробно описать процесс запуска через программу NSSM и добавления настроек в сервис?