Программа "10-Страйк: Мониторинг Сети" позволяет осуществлять мониторинг результатов выполнения Visual Basic скрипта.
По аналогии с проверкой «Внешнее приложение», проверка "VBScript" позволяет пользователю программы создавать свои, специфические тесты сетевых устройств. В настройках этих проверок необходимо написать исходный код тест-скрипта и указать, какая функция в нем является главной (исполняемой). В качестве положительного результата работы тест-скрипт должен всегда возвращать строковое значение "OK". Если тест-скрипт возвращает отличное от этого значение, проверка считается не пройденной и вызывается сигнализация. До настройки проверок рекомендуется проверить работу тест-скриптов штатными средствами операционной системы.
Проверка "VBScript" значительно расширяет возможности программы в мониторинге сети и сетевых устройств.
Полезные скрипты
1. Получение размера папки с подкаталогами
2. Проверка дат файлов в папке: если у всех файлов текущая дата, то возвращается 1, иначе 0
3. Использование оперативной памяти в процентах
4. Получить среднюю загрузку всех жёстких дисков в процентах
5. Выполнить GET или POST-запрос
1. Получение размера папки с подкаталогами
function Main
'Задайте путь к папке здесь:
Main = GetFolderSize("C:\\Logs\\")
'Используйте \\ вместо \ в пути.end function
Function GetFolderSize(Path)
Dim fso, fsize
Dim ctFolder, cFile, cFolder
Set fso=CreateObject("Scripting.FileSystemObject")
fsize = 0
Set ctFolder = fso.GetFolder(Path)
On Error Resume Next
For Each cFile In ctFolder.Files
fsize = fsize + cFile.Size
Next
For Each cFolder In ctFolder.SubFolders
fsize = fsize + GetFolderSize(cFolder.Path)
Next
GetFolderSize = fsize
End Function
2. Проверка дат файлов в папке: если у всех файлов текущая дата, то возвращается 1, иначе 0. Вместо локального пути можно указать сетевую папку.
function Main
Dim fso, fsize
Dim ctFolder, cFile, AR, sdate, sdate2, sdate3
Set fso = CreateObject("Scripting.FileSystemObject")'Задайте путь к папке здесь:
Set ctFolder = fso.GetFolder("C:\\Logs\\")
'Используйте \\ вместо \ в пути.AR = 1
sdate = CStr(Day(Date) & "." & Month(Date) & "." & Year(Date))
For Each cFile In ctFolder.Files
sdate2 = CStr(cFile.datelastmodified)
sdate3 = CStr(Day(sdate2) & "." & Month(sdate2) & "." & Year(sdate2))
If sdate <> sdate3 Then AR = 0
Next
Main=AR
End Function
3. Использование оперативной памяти в процентах. Вместо ключа %A программа автоматически подставит адрес хоста из параметров проверки. В скрипте используется запрос WMI — вы можете на основе этого примера выполнять и другие запросы.
function Main
strHostAddr = "%A"
strLogin = ""
strPassword = ""
Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objWMIService = objSWbemLocator.ConnectServer(strHostAddr, "root\cimv2", strLogin, strPassword)
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_OperatingSystem",,48)
For Each objItem in colItems
Main = Int((int(objItem.TotalVisibleMemorySize) - int(objItem.FreePhysicalMemory))/int(objItem.TotalVisibleMemorySize)*100)
Next
end function
4. Получить среднюю загрузку всех жёстких дисков в процентах
function Main
strHostAddr = "%A"
strLogin = ""
strPassword = ""
Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objWMIService = objSWbemLocator.ConnectServer(strHostAddr, "root\cimv2", strLogin, strPassword)
Set colItems = objWMIService.ExecQuery("SELECT PercentIdleTime FROM Win32_PerfFormattedData_PerfDisk_PhysicalDisk where Name='_Total'",,48)
For Each objItem in colItems
Main = 100 - (int(objItem.PercentIdleTime))
Next
end function
5. Выполнить GET или POST-запрос. Можно использовать при срабатывании сигнализации проверки.
function Main
Dim o
Set o = CreateObject("MSXML2.XMLHTTP")
o.open "GET", "https://send.cpsms.dk/sendsms?to:79991234567?from:79991234567?msg:test", False
o.send
Main = ""
end function
6. Отправка сообщения в Slack через webhook URL (пример POST-запроса).
function Main
Dim request
Set request = CreateObject("MSXML2.XMLHTTP")
request.open "POST", "https://hooks.slack.com/services/AJHGK45J4/FTS5NFG73/UDz30ftMMzinOgFxhTx2zBBB", false
request.send "{""text"": ""It is a test! ""}"
Main = ""
end function
Смотрите также:
Мониторинг результатов выполнения Java-Script
Мониторинг результатов выполнения приложения Windows
Скачайте бесплатную 30-дневную версию программы мониторинга сети прямо сейчас и попробуйте!