Использование дедупликации для поиска уникальных хостов. Как я могу найти среднее значение за выбранный период времени?

Цель - обеспечить процентную доступность. Я хотел бы каждые 15 минут проверять, равен ли уникальный счетчик для server1, server2 и server3 3 для каждого inteveral (что означает, что система полностью исправна). Исходя из этого подсчета, я хочу проверить среднее значение за любой период времени, выбранный в splunk, чтобы вывести среднее значение и преобразовать его в проценты.

index = os sourcetype = ps host = server1 OR host = server2 OR host = server3 | поиск / журналы / temp / random / path ИЛИ application_listener | хост дедупликации | интервал временной диаграммы = 30 м отсчет

Количество должно быть 3 для каждого интервала.


person James Krueger    schedule 28.07.2020    source источник


Ответы (1)


Неясно, сколько ваших требований решает пример SPL, поэтому я предполагаю, что он ничего не делает.

Если за dedup следует timechart, команда timechart увидит только 3 события - по одному для каждого хоста. Это не делает диаграмму полезной. Я предлагаю вместо этого использовать dc(host), чтобы получить количество хостов для каждого интервала.

Команду appendpipe можно использовать для добавления средних и процентных значений в конце.

index="os" sourcetype=ps host="server1" OR host="server2" OR host="server3" 
| search "/logs/temp/random/path" OR "application_listener"
| timechart span=30m dc(host) as count
| appendpipe [ stats avg(count) as Avg | eval Pct=round(Avg*100/3,2) ]
person RichG    schedule 28.07.2020