Добрый день!
Почитал ветку Host processes monitoring-graphs LLD и решил сделать собственный мониторинг запущенных процессов (для начала по занимаемой памяти) на Windows-Серверах. Решение из вышеуказанной ветки мне не понравилось тем, что там надо использовать API, perl-скрипты и т.д. Мне же хотелось попробовать сделать все штатными средствами.
Сделал правило обнаружения в шаблоне, написал ps-скрипт, возвращающий список процессов и занимаемой памяти в разрезе типов памяти(WorkingSet, PrivateMemory, VirtualMemory и т.д.) в JSON. Добавил в правило обнаружения прототип графика, который должен отображать по всем процессам определенный параметр, например, WorkingSet процесса. Т.е. нужен график, на котором в стэкируемом виде отображаются WorkingSet-ы всех отдисковеренных процессов. Вот тут-то и загвоздка. Насколько я понял, прототип графика привязывается к отдисковеренному элементу, в данном случае, процессу. И на нем можно отобразить разные параметры процесса. А как быть с графиком, в котором нужно отобразить определенный параметр всех отдлисковеренных элементов?
Пример вывода дисковери-скрипта:
Прототип элемента данных, прототип графика, созданные элементы данных и график в аттачментах.
В итоге график создается, но для одного, последнего процесса с типом "WorkingSet", а хотелось бы, чтобы там были все процессы. Т.е. нужна группировка в одном графике всех одинаковых параметров процессов.
Если график создавать в шаблоне, то там нет возможности выбрать прототип элемента данных, а прототип графика создается с привязкой к элементу данных.
Есть ли выход из данной ситуации?
Почитал ветку Host processes monitoring-graphs LLD и решил сделать собственный мониторинг запущенных процессов (для начала по занимаемой памяти) на Windows-Серверах. Решение из вышеуказанной ветки мне не понравилось тем, что там надо использовать API, perl-скрипты и т.д. Мне же хотелось попробовать сделать все штатными средствами.
Сделал правило обнаружения в шаблоне, написал ps-скрипт, возвращающий список процессов и занимаемой памяти в разрезе типов памяти(WorkingSet, PrivateMemory, VirtualMemory и т.д.) в JSON. Добавил в правило обнаружения прототип графика, который должен отображать по всем процессам определенный параметр, например, WorkingSet процесса. Т.е. нужен график, на котором в стэкируемом виде отображаются WorkingSet-ы всех отдисковеренных процессов. Вот тут-то и загвоздка. Насколько я понял, прототип графика привязывается к отдисковеренному элементу, в данном случае, процессу. И на нем можно отобразить разные параметры процесса. А как быть с графиком, в котором нужно отобразить определенный параметр всех отдлисковеренных элементов?
Пример вывода дисковери-скрипта:
Code:
{
"data":[
{ "{#REQUESTTYPE}":"WorkingSet" , "{#PROCESSNAME}":"conhost" },
{ "{#REQUESTTYPE}":"WorkingSet" , "{#PROCESSNAME}":"csrss" },
{ "{#REQUESTTYPE}":"WorkingSet" , "{#PROCESSNAME}":"DeviceDisplayObjectProvider" },
........................................................................
{ "{#REQUESTTYPE}":"PrivateMemorySize" , "{#PROCESSNAME}":"WmiPrvSE" },
{ "{#REQUESTTYPE}":"PrivateMemorySize" , "{#PROCESSNAME}":"zabbix_agentd" }
]
}
В итоге график создается, но для одного, последнего процесса с типом "WorkingSet", а хотелось бы, чтобы там были все процессы. Т.е. нужна группировка в одном графике всех одинаковых параметров процессов.
Если график создавать в шаблоне, то там нет возможности выбрать прототип элемента данных, а прототип графика создается с привязкой к элементу данных.
Есть ли выход из данной ситуации?
Comment