Szukam ostatni raz, kiedy każdy użytkownik się zalogował.

Mam dwa typy uwierzytelniania (admin, klient) i próbuję wykonać zapytanie, aby znaleźć wydarzenie: uwierzytelnianie powiodło się, gdzie autentynizacja_type: klient

Najbliżej przyszedłem:

params='{ "query":{"terms":{"event_type":["authentication_succeeded"]}}}'
data=$(curl -XGET "localhost:9200/logstash-*/_search?scroll=10m&size=500&pretty" -H 'Content-Type: application/json' -d"${params}")

Po wielu wariacjach i alternatywnych typach zapytań, ale nie udało mi się pomyślnie dołączyć filtr dla "{" Authentication_type ":" Klient "} '

0
user13186 19 marzec 2020, 06:33

1 odpowiedź

Najlepsza odpowiedź

Musisz zdefiniować swój authentication_type i event_type jako słowo kluczowe, a następnie użyj filtrów terminowych na tych polach w zapytaniu wyszukiwania.

Możesz przeczytać przykładowy filtr z Wielokrotność w tym urzędowym ES Link.

Poniżej znajduje się przykład krok po kroku, który wykorzystuje dane, aby pokazać oczekiwane wyniki wyszukiwania.

Mapowanie indeksu

{
  "mappings": {
    "properties": {
      "authentication_type": {
        "type": "keyword"
      },
      "event_type" :{
        "type" : "keyword"
      }
    }
  }
}

Przykładowe dokumenty indeksowe.

{
   "authentication_type" : "Client",
   "event_type" : "authentication_succeeded"
}

{
   "authentication_type" : "Client",
   "event_type" : "authentication_failed"
}

{
   "authentication_type" : "Admin",
   "event_type" : "authentication_succeeded"
}

{
   "authentication_type" : "Admin",
   "event_type" : "authentication_failed"
}

Wyszukiwana fraza

{
    "query": {
        "bool": {
            "filter": [
                {
                    "term": {
                        "event_type": "authentication_succeeded"
                    }
                },
                {
                    "term": {
                        "authentication_type": "Client"
                    }
                }
            ]
        }
    }
}

Wynik wyszukiwania

"hits": [
         {
            "_index": "so_60750542",
            "_type": "_doc",
            "_id": "1",
            "_score": 0.0,
            "_source": {
               "authentication_type": "Client",
               "event_type": "authentication_succeeded"
            }
         }
      ]
1
user156327 19 marzec 2020, 03:41