Разделите два графика времени в Splunk - PullRequest
0 голосов
/ 06 июня 2019

Я хочу разделить два графика времени (в идеале, чтобы он выглядел также как график времени, но что-то еще, что подчеркивает тенденцию, тоже хорошо).

У меня есть два типа URL-адресов, и я могу генерировать для них графики времени, напримерthis:

index=my-index sourcetype=access | regex _raw="GET\s/x/\w+" | timechart count

index=my-index sourcetype=access | regex _raw="/x/\w+/.*/\d+.*\s+HTTP" | timechart count

Цель состоит в том, чтобы подчеркнуть, что относительное количество URL-адресов второго типа увеличивается, а относительное количество URL-адресов первого типа уменьшается.

Вот почемуЯ хочу разделить их (в идеале, второе на первое).

Например, если первая серия генерирует 2, 4, 8, 4, а вторая - 4, 9, 20, 12 Я хочу, чтобы только одна панель инструментов показывала как-торезультат 2, 2.25, 2.5, 3.

Мне просто удалось собрать эту информацию, но не генерировать временную диаграмму и не делить их:

index=my-index sourcetype=access 
| eval type = if(match(_raw, "GET\s/x/\w+"), "new", if(match(_raw, "/x/\w+/.*/\d+.*\s+HTTP"), "old", "other")) 
| table type 
| search type != "other" 
| stats count as "Calls" by type

Я также попробовал некоторые подходыиспользуя eval, но ни один из них не работает.

1 Ответ

1 голос
/ 07 июня 2019

Попробуйте этот запрос:

index=my-index sourcetype=access 
| eval type = if(match(_raw, "GET\s/x/\w+"), "new", if(match(_raw, "/x/\w+/.*/\d+.*\s+HTTP"), "old", "other")) 
| fields type 
| search type != "other" 
| timechart count(eval(type="new")) as "New", count(eval(type="old")) as "Old"
| eval Div=if(Old=0, 0, Old/New)
...