Использование Splunk для определения относительно необычного категориального события

Я начинаю с Splunk и пытаюсь решить проблему. У меня есть набор данных с миллионами записей журнала. Вариант использования - выявить события, необычные для конкретной роли, и выделить событие и пользователя. В таблице ниже представлен снимок данных. Задача состоит в том, чтобы добавить последние два столбца и для каждой роли определить добавленные события, которые произошли относительно ниже, чем другие добавленные события в той же роли.

 user_name  role         event_name     event_type
    A1     Provider     Open Session    Patient
    A1     Provider     Open Session    Patient
    A1     Provider     View Session    Patient
    B1     Provider     Search Session  Admin
    B1     Provider     Search Session  Admin
    B1     Provider     Search Session  Patient
    B1     Provider     Search Session  Admin
    B1     Provider     Open Session    Admin
    C1     Physician    Open Session    Patient
    C1     Physician    Modify Session  Patient
    C1     Physician    Modify Session  Patient
    C2     Physician    Open Session    Patient
    C2     Physician    Open Session    Patient
    C3     Physician    Modify Session  Admin

Если я хочу найти необычные события для роли «Провайдер», вывод должен быть

    user_name    role        appended_event     
        A1     Provider     View Session Patient    
        B1     Provider     Search Session Patient
        B1     Provider     Open Session Admin

Точно так же, если я хочу найти необычные события для роли «Врач», вывод должен быть

    user_name    role        appended_event     
        C3     Physician        Modify Session Admin    

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


person NinjaR    schedule 07.02.2018    source источник


Ответы (1)


Вы можете начать с этого, а затем определить свои собственные пороговые значения:

| eventstats count as role_event_count by role appended_event
| eventstats count as role_count by role 
| eval pct = role_event_count / role_count * 100
person Alec Collier    schedule 09.02.2018