2013-03-19 3 views
0

Я довольно новичок в разрыве. У нас есть три hbase-кластера, и у всех из них есть несколько узлов zookeeper и серверы регионов, перечисленные на них, как то, что я упомянул ниже.Splunk Regex для фильтрации по именам хостов

Кластер 1

test101.blah.com 
test102.blah.com 
.. 
test199.blah.com 

Cluster2

test201.blah.com 
test202.blah.com 
.. 
test299.blah.com 

Cluster3

test301.blah.com 
.. 
test399.blah.com 

Я пытаюсь фильтровать п или журналы, сосредоточенные вокруг определенного кластера. поэтому я использовал генератор для создания таких утверждений фильтрации, подобных этим host="test101.blah.com" or host=test102.blah.com"..or host="test199.blah.com", и создавал те же запросы для других кластеров.

Я знаю его неэффективность. Есть ли эффективный способ сделать это с помощью регулярного выражения или сопоставления шаблонов через splunk?

ответ

2

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

host>="test101*" AND host<="test199*" 
host>="test201*" AND host<="test299*" 
host>="test301*" AND host<="test399*" 
0

Самый простой ответ на поиск по кластерам для примера хостов будет: Для CLUSTER1: host="test1*" Для Cluster2: host="test2*" Для Cluster3: host="test3*"

Если вы делаете много над этим большой набор данных, который вы, возможно, захотите проверить эффективность сравнений.

Возможно, вы захотите выполнить дополнительные операции, такие как статистика или хронометраж кластера, поэтому я рекомендую вам создать новое поле для «кластера» с использованием eval, rex, field field в файле props.conf или создание настраиваемого поля в индексном времени для быстрого поиска.

Например, при использовании «rex» это принимает события из вашего базового поиска и ищет шаблон «test» в поле «host», а затем записывает следующую цифру в поле с именем «cluster»:

| rex field=host "(?i)test(?P<cluster>[\\d])" 

так что теперь вы можете показать статистику по группе:

| rex field=host "(?i)test(?P<cluster>[\\d])" | stats count by cluster