СКАЧАТЬ
Разработано Diego Cavalcante - 10.02.2017
E-Mail: diego@suportecavalcante.com.br
Телеграмма : @diego_cavalcante
Описание: Windows RDP Мониторинг - сервера терминалов
ОС: Windows
Язык: Powershell + UserParameter
Если у вас есть сервер для Windows RDP «Terminal Server», мониторинг включает в себя сбор статистических связей пользователей.
° ПУНКТЫ
° Общее количество активных членов
° Всего неактивных пользователей
° Имя активных членов
° Имя неактивных пользователей
° удаленного IP - адреса активных членов
° Hostname удаленного устройства активных членов
° Service Terminal Service
° Service Terminal Service Лицензию
° статуса порта RDP
° TRIGGERS
° Количество подключенных пользователей
° Количество пользователей отсоединен
° RDP Порт Статус
Услуг лицензирования удаленных рабочих столов Состояние
° статуса служб удаленных услуг Desktop
° ГРАФИКА
° Соединения Статистика
В файл конфигурации заббикс агента прописать
UserParameter=rdp.terminal.server[*],powershell.exe -noprofile -executionpolicy bypass -File C:\zabbix\monitoramento\scripts\rdp.terminal.server.ps1 $1
rdp.terminal.server.ps1
Код: Выделить всё
# Разработано Диего Кавальканте - 10/02/2017
# Мониторинг Windows RDP-Terminal Server
Param(
[string]$select
)
# Имена активных пользователей
if ( $select -eq 'ATIVO' )
{
Import-Module PSTerminalServices
Get-TSSession -State Active -ComputerName localhost | foreach {$_.UserName}
}
# Всего активных пользователей
if ( $select -eq 'ATIVONUM' )
{
Import-Module PSTerminalServices
Get-TSSession -State Active -ComputerName localhost | foreach {$_.UserName} | Measure-Object -Line | select-object Lines | select-object -ExpandProperty Lines
}
# Имена неактивных пользователей
if ( $select -eq 'INATIVO' )
{
Import-Module PSTerminalServices
Get-TSSession -State Disconnected -ComputerName localhost | where { $_.SessionID -ne 0 } | foreach {$_.UserName}
}
# Всего неактивных пользователей
if ( $select -eq 'INATIVONUM' )
{
Import-Module PSTerminalServices
Get-TSSession -State Disconnected -ComputerName localhost | where { $_.SessionID -ne 0 } | foreach {$_.UserName} | Measure-Object -Line | select-object Lines | select-object -ExpandProperty Lines
}
# Имя удаленного устройства
if ( $select -eq 'DEVICE' )
{
Import-Module PSTerminalServices
Get-TSSession -State Active -ComputerName localhost | foreach {$_.ClientName}
}
# IP удаленного устройства
if ( $select -eq 'IP' )
{
Import-Module PSTerminalServices
Get-TSSession -State Active -ComputerName localhost | foreach {(($_.IPAddress).IPAddressToString)}
}
★ RDP ★ Терминальный Сервер
Элементы данных Открыт вход Триггеры 1 net.tcp.port[,{$RDPPORTA}] 300 7d 30d Zabbix агент (активный) ★ RDP ★ Терминальный Сервер Активировано
Всего Активных Пользователей Триггеры 1 rdp.terminal.server[ATIVONUM] 120 7d 30d Zabbix агент (активный) ★ RDP ★ Терминальный Сервер Активировано
Активные Пользователи rdp.terminal.server[ATIVO] 120 30d Zabbix агент (активный) ★ RDP ★ Терминальный Сервер Активировано
Пользователи Устройства rdp.terminal.server[DEVICE] 120 30d Zabbix агент (активный) ★ RDP ★ Терминальный Сервер Активировано
Неактивные Пользователи Всего Триггеры 1 rdp.terminal.server[INATIVONUM] 120 7d 30d Zabbix агент (активный) ★ RDP ★ Терминальный Сервер Активировано
Неактивные Пользователи rdp.terminal.server[INATIVO] 120 30d Zabbix агент (активный) ★ RDP ★ Терминальный Сервер Активировано
Пользователи IP rdp.terminal.server[IP] 120 30d Zabbix агент (активный) ★ RDP ★ Терминальный Сервер Активировано
Службы удаленного рабочего стола Триггеры 1 service.info[TermService] 300 7d 30d Zabbix агент (активный) ★Сервисы ★ Активировано
Лицензирование удаленного рабочего стола Триггеры 1 service.info[TermServLicensing] 300 7d 30d Zabbix агент (активный) ★Сервисы ★ Активировано
Триггеры Информационная RDP ({ITEM.LASTVALUE}) Неактивные Пользователи {Terminal Server RDP:rdp.terminal.server[INATIVONUM].last()}>{$RDPI} Активировано
Внимание/Предупреждение RDP ({ITEM.LASTVALUE}) Подключенные Пользователи {Terminal Server RDP:rdp.terminal.server[ATIVONUM].last()}>{$RDPA} Активировано
Внимание/Предупреждение RDP выход ({ITEM.LASTVALUE}) {Terminal Server RDP:net.tcp.port[,{$RDPPORTA}].last(0)}=0 Активировано
Внимание/Предупреждение Лицензирование удаленного рабочего стола ({ITEM.LASTVALUE}) {Terminal Server RDP:service.info[TermServLicensing].count(#3,0,gt)}=3 Активировано
Внимание/Предупреждение Службы удаленного рабочего стола ({ITEM.LASTVALUE}) {Terminal Server RDP:service.info[TermService].count(#3,0,gt)}=3 Активировано
Графики
★ RDP ★ Статистика подключений 900 200 Нормальный
Мои Преобразования