Я ищу универсальное решение для построения графиков, в идеале не хостинговое, которое предоставляет следующие функции:
Диаграмма кортежа значений, где значения:
1) Сервисный идентификатор (например, загрузка ЦП)
2) Идентификатор клиента в этой услуге (например, IP-адрес сервера)
3) Значение
4) метка времени с разрешением в миллисекундах / секундах.
Дополнительно:
Я хотел бы также расширить понятие идентификатора клиента, продолжая приведенный выше пример, я хотел бы хранить статистику для каждого ядра отдельно, поэтому другим идентификатором будет Core 1 / Core 2 ..
Теперь, чтобы убедиться, что я четко сформулировал свою проблему, мне не нужна утилита, которая собирает этой статистики. Я хотел бы что-то, что хранит их, но, это также не обязательно, я всегда могу хранить их в MySQL, или что-то подобное.
То, что я ищу, - это то, что принимает значения, подобные этим, и красиво их отображает множеством способов (временные шкалы, движение и обычные [пирог, бар ..]). По сути, хороший пакет визуализации, который позволяет мне использовать все эти данные. Я собираю данные из нескольких служб, из нескольких приложений, и точки данных будут иметь разное разрешение. Некоторые данные будут включать в себя несколько уровней вложенности, некоторые - нет. (Например, ЦП будет понижаться до IP-адреса сервера, ЦП #, тогда как память будет только IP-адресом сервера, но будет включать в себя другой идентификатор, то есть free / used / cached в качестве «вторичного» идентификатора. Что-то вроде средней задержки запроса может не у меня вообще есть вторичный идентификатор, в случае ping). То, что я пытаюсь донести, это то, что было бы здорово иметь несколько слоев идентификаторов. Чтобы добавить один последний пример того, где было бы замечательно использовать несколько идентификаторов: добавление дополнительного идентификатора поверх ip / cpu #, а именно имени процесса. Я думаю, преимущества этого очевидны.
Для некоторых приложений мы можем собирать данные в очень узкой области, уделяя особое внимание каждому аспекту, в других случаях это может быть более общая статистика. Когда что-то идет не так, оба приходят полезными: первый быстро говорит «что-то пошло не так», а второй - «почему?».
Кроме того, было бы неплохо, если бы приложение для построения диаграмм выбрасывало «плохие» значения, то есть если по какой-то причине наша программа мониторинга начала выбрасывать значения 300% ЦП, используемых на одном ядре, в течение 10 секунд, это было бы неплохо, если бы сами графики не отражали это в долгосрочной перспективе. Может быть, какое-то сглаживание? Очевидно, что это можно сделать на уровне данных, так что это вовсе не является обязательным требованием.
Наконец, было бы здорово сравнить два момента времени или сравнить два разных идентификатора клиента одного и того же сервиса и т. Д. Без особых усилий.
Я не пристрастен к какому-либо конкретному языку, хотя я бы предпочел что-то в (одном из следующих) PHP, Python, C / C ++, C #, поскольку это языки, с которыми я знаком. Это не должно быть открытым исходным кодом, это не должна быть библиотека, я открыт для того, чтобы использовать то, что соответствует моим целям.
Больше P.S, чем требование: я хотел бы иметь симпатичные диаграммы, которые легко понять нетехническим людям, и на которые можно воздействовать (и даже смотреть!).
Я открыт для разъяснений, и заранее спасибо за ваше время!