Обнаружение аномалий в Azure Диагностических блоках данных c Журналы аудита - PullRequest
1 голос
/ 02 марта 2020

У меня много журналов аудита, поступающих из кластеров Azure Databricks, которыми я управляю. Журналы - это простые журналы аудита приложений в формате JSON. У вас есть информация о рабочих местах, кластерах, тетрадях и т. Д. c. и вы можете увидеть образец одной записи здесь:

{
    "TenantId": "<your tenant id",
    "SourceSystem": "|Databricks|",
    "TimeGenerated": "2019-05-01T00:18:58Z",
    "ResourceId": "/SUBSCRIPTIONS/SUBSCRIPTION_ID/RESOURCEGROUPS/RESOURCE_GROUP/PROVIDERS/MICROSOFT.DATABRICKS/WORKSPACES/PAID-VNET-ADB-PORTAL",
    "OperationName": "Microsoft.Databricks/jobs/create",
    "OperationVersion": "1.0.0",
    "Category": "jobs",
    "Identity": {
        "email": "mail@contoso.com",
        "subjectName": null
    },
    "SourceIPAddress": "131.0.0.0",
    "LogId": "201b6d83-396a-4f3c-9dee-65c971ddeb2b",
    "ServiceName": "jobs",
    "UserAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.108 Safari/537.36",
    "SessionId": "webapp-cons-webapp-01exaj6u94682b1an89u7g166c",
    "ActionName": "create",
    "RequestId": "ServiceMain-206b2474f0620002",
    "Response": {
        "statusCode": 200,
        "result": "{\"job_id\":1}"
    },
    "RequestParams": {
        "name": "Untitled",
        "new_cluster": "{\"node_type_id\":\"Standard_DS3_v2\",\"spark_version\":\"5.2.x-scala2.11\",\"num_workers\":8,\"spark_conf\":{\"spark.databricks.delta.preview.enabled\":\"true\"},\"cluster_creator\":\"JOB_LAUNCHER\",\"spark_env_vars\":{\"PYSPARK_PYTHON\":\"/databricks/python3/bin/python3\"},\"enable_elastic_disk\":true}"
    },
    "Type": "DatabricksJobs"
}

В данный момент я храню журналы в Elasticsearch, и я планировал использовать их инструмент обнаружения аномалий в журналах этого типа. Поэтому мне не нужно реализовывать какой-либо алгоритм, а нужно выбрать правильный атрибут или выполнить правильную агрегацию, или, возможно, объединить больше атрибутов с помощью многомерного анализа. Однако я не знаком с такими топиками c, и у меня нет этого опыта. Я прочитал Обнаружение аномалий: обзор Чандолы и др. , который был довольно полезен, чтобы указать мне на правильное подполе. Итак, я понял, что имею дело с временными рядами, и в зависимости от вида агрегации, которую я буду выполнять, я могу столкнуться с коллективными аномалиями в данных последовательности (например, поле ActionName этих журналов) или контекстуальными аномалиями в данных последовательности.

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

Пожалуйста, имейте в виду, что у меня достаточно большой объем данных. Более того, я был бы признателен за любые отзывы, даже если они не связаны с Elasticsearch; поэтому, не стесняйтесь предлагать целый неконтролируемый метод машинного обучения для этого вида сценария обнаружения аномалий, а не более простой вариант использования Elasticsearch.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...