Параметры из программы в dashboard-s

Started by moredrive, October 18, 2016, 04:10:28 PM

Previous topic - Next topic

moredrive

Привет всем!
У меня следующая задача(проблема): есть программа на C++, на выходе которой есть параметры, которые представлены в виде json или xml файла. Примерно в таком виде:
{
IP1: {param1, param2, ..., paramN}
IP2: {param1, param2, ..., paramN}
...
IPN: {param1, param2, ..., paramN}
}

Параметры подсчитываются программой, и меняются со временем. Время изменения параметров плавающее.
Задача: для каждого IP нарисовать график, где будут отображена динамика изменения параметров param1, param2 и т.д.

Пожалуйста, поделитесь советом как это сделать в NetXMS. Писать свой субагент? Или это можно сделать как-то через db-query?

kozlov_ao

Возможно, поможет вот это: https://www.netxms.org/documentation/adminguide/agent-management.html#externalparametersprovider
Но придется изменить выхлоп программы.

QuoteИли это можно сделать как-то через db-query
Если данные лежат в БД, то да, можно и через него...

moredrive

Да, данные в программе хранятся в Sqlite БД.
Для своей задачи не нашел как это можно сделать через db-query. Мне бы простой пример как из БД выбрать параметр и показать его динамику изменения по времени на графике.


kozlov_ao

#4
в SQLLite не силен.. Показываю на MySQL:
1. Конфигурим агент:
Quote*DBQUERY
Database = id=db_mon;driver=mysql.ddr;server=127.0.0.1;dbname=information_schema;login=root;password=
Query = ConcurentConnections:db_mon:60:SELECT CEIL(100/(SELECT `VARIABLE_VALUE` from `GLOBAL_VARIABLES` WHERE `VARIABLE_NAME`='MAX_CONNECTIONS')*(SELECT `VARIABLE_VALUE` FROM `GLOBAL_STATUS` WHERE `VARIABLE_NAME`='Threads_connected')) as `result`
2. Настраиваем DCI (скрины прицеплены)
3. Смотрим график... (result.png)

Значения параметров в настройках запроса смотрим тут: https://www.netxms.org/documentation/adminguide/application-monitoring.html?highlight=database