28 lines
950 B
Python
28 lines
950 B
Python
import json
|
|
import logging
|
|
|
|
from rest_framework.response import Response
|
|
from rest_framework.views import APIView
|
|
|
|
from events.services.elk_string_search import ELKStringQuerySearchService, ELKIndexListService
|
|
|
|
_log = logging.getLogger(__name__)
|
|
|
|
|
|
class ELKStingSearchApiView(APIView):
|
|
"""Api for getting data from ELK by index."""
|
|
|
|
def get(self, request, index: str, *args, **kwargs) -> Response:
|
|
query_params = json.loads(json.dumps(request.GET))
|
|
_log.debug('Start elastic request.')
|
|
data, status = ELKStringQuerySearchService(index=index, query_params=query_params).data()
|
|
return Response(data, status)
|
|
|
|
|
|
class ELKIndexListApiView(APIView):
|
|
"""Api for getting index list from ELK by pattern or all"""
|
|
|
|
def get(self, request) -> Response:
|
|
query_params = json.loads(json.dumps(request.GET))
|
|
data, status = ELKIndexListService(query_params).data()
|
|
return Response(data, status)
|