Доброго времени суток!
Появилась у меня необходимость анализировать данные по производительности мониторируемых объектов за несколько лет.
Как реализовать? Просто поднять DefaultDCIRetentionTime до 1095?
NetXMS не загнется? Или есть другие варианты?
Не проходите мимо!
Задача горящая :)
Если загнется, то не сам NetXMS, а база данных :)
Один из вариантов - делать парные DCI - один с небольших сроком хранения - несколько месяцев и более частым временем сбора. А второй - с редким временем сбора (он может, например, скриптом брать значения из первого DCI усреднять или еще как-то) и уже этот DCI хранить много лет.
Вот это да!
Т.е. данная система не рассчитана на хранение данных за несколько лет?
А как же тогда Вы предлагаете анализировать рост нагрузки и т.д. за года?
Или это система только для "оповещений"?
Может есть какие-то механизмы-идеи о создании "архивной базы" (идея с двумя DCI прямо скажем не о чем)?
Как пример: "выгружать" данные в тот же Elastic Search?
У нас есть возможность создавать fan-out драйвера для параллельной выгрузки данных в другую базу. Сейчас есть драйвер для InfluxDB, но можно сделать и для других баз. Если требуется хранить и анализировать данные за несколько лет то я бы предложил переход на TimescaleDB. Он позволит нормально работать с оперативными данными, и в нем есть встроенные механизмы архивации и анализа исторических данных. У нас есть несколько клиентов на поддержке на TimescaleDB и результаты в целом очень хорошие.
Отлично!!!
Главное, что есть варианты!!!
Простой (на первый взляд) вариант это перейти на TimescaleDB и просто изменить параметр DefaultDCIRetentionTime? Я парвильно понял?
Сложный - это разработать драйвер для другого сервера БД, или этого же но уже архивная БД и еще придется разрабатывать инструмент анализа так же? Например в случае того же Elasticsearch это будет Kibana?
Quote from: EugeneSG on June 29, 2020, 11:45:21 AM
Простой (на первый взляд) вариант это перейти на TimescaleDB и просто изменить параметр DefaultDCIRetentionTime? Я парвильно понял?
да
Quote from: EugeneSG on June 29, 2020, 11:45:21 AM
Сложный - это разработать драйвер для другого сервера БД, или этого же но уже архивная БД и еще придется разрабатывать инструмент анализа так же? Например в случае того же Elasticsearch это будет Kibana?
Это отдельная архивная БД. Оперативные данные останутся как есть, просто будут писаться параллельно в архивную базу. Инструменты для анализа тоже зависят от архивной базы. С точки зрения NetXMS сервера это записал данные и забыл, прочитать через сервер их уже нельзя.
Понял! Огромное СПАСИБО за ответы!!!