Расчет процентили пропускной способности Kibana / Netflow - PullRequest
0 голосов
/ 12 марта 2019

и заранее спасибо за любую помощь.

Я работаю над инструментом построения графиков использования полосы пропускания, где мне нужно рассчитать месячный процентиль, и большую часть времени занимаюсь там - вот что у меня есть:

Сервер Elastic Stack, получающий данные Netflow от маршрутизатора pfSense. У меня есть первое вычисление, которое мне нужно сделать, вот скриншот результата. Чтобы объяснить мою проблему, я увеличил до 5х точек на графике:

Диаграмма использования полосы пропускания

У меня есть два графика на этом графике - синий - именно то, что я хочу - это сумма всего использования данных с 5-минутными интервалами.

Для расчета процентиля красная линия настолько близка, насколько я понял, но она подчеркивает проблему - она ​​берет 95-й процентиль отдельных записей потока потока - мне нужен 95-й процентиль 5-минутных «ведер» или точек, составляющих синюю линию.

95-й процентиль становится немного странным для сюжета всего с 5 точками, поэтому предположим, что я искал 75-й процентиль. В этом примере я бы искал «384387», что является вторым по величине значением из пять.

Пока что я не нашел способа достичь этого с помощью Kibana и его инструментов TimeLion. Любая помощь будет принята с благодарностью!

P.S. вот код со скриншота:

.elasticsearch(
    index="netflow-*", 
    metric="sum:netflow.bytes",
    split="netflow.src_addr:1",
    kibana=true)
.label(
    regex="^.* netflow.src_addr:(.+) > .*$",
    label="$1")
.yaxis(
    label="bytes / sec",
    min=0)
,
.elasticsearch(
    index="netflow-*", 
    metric="percentiles:netflow.bytes:95",
    split="netflow.src_addr:1",
    kibana=true)
.label(
    regex="^.* netflow.src_addr:(.+) > .*$",
    label="$1")
...