Парсинг сообщений в журналах EC2 - PullRequest
0 голосов
/ 02 ноября 2018

Мне нужно проанализировать журналы EC2 в облачных часах.

У меня нет проблем с перемещением их куда-нибудь (например, S3), но формат довольно сложный. Каждый файл содержит несколько блоков со структурой, показанной ниже. Каждый из этих модулей имеет список «logEvents» со многими событиями. Задача состоит в том, чтобы проанализировать часть «сообщения» события, чтобы извлечь из нее что-то значимое.

В идеале я хотел бы преобразовать "json" ниже в формат отношений со столбцами "loGroup", "logStream", "timestamp", "securityID", "AccountName" ... и так далее. Есть идеи, как это сделать?

{
    "messageType": "DATA_MESSAGE",
    "owner": "111111111111",
    "logGroup": "loggroup-test",
    "logStream": "i-stream",
    "logEvents": [
    {
        "id": "34324324324324324324354354354354354354354354354354354354325",
        "timestamp": 1541152802821,
        "message": "[Security] [INFORMATION] [23213] [Microsoft-Windows-Security-Auditing] [A logon was attempted using explicit credentials.

        Subject:
            Security ID:        XXXXX
            Account Name:       XXXXX$
            Account Domain:     XX
            Logon ID:       0xXXX
            Logon GUID:     {00000000-0000-0000-0000-000000000000}

        Account Whose Credentials Were Used:
            Account Name:       XXXXXXX
            Account Domain:     XXX.XXXX
            Logon GUID:     {00000000-0000-0000-0000-000000000000}

        (more info here...)
       "-->end of the "message"
    },
    {
    "another log event"
    },
    {
    "another log event"
    }
  ]
}
...