У нас есть приложение для микросервисной архитектуры при весенней загрузке. Мы планируем добавить журналы аудита к нашим услугам. Чтобы мы могли получить такую информацию, как,
- Admin123 деактивирован User123
- User123 изменил пароль
- User123 вошел в систему
Highуровень:
- Для этого мы планируем записать необходимую информацию в файл журнала в формате JSON. (Все журналы сервисов будут поддерживаться отдельно)
- Затем команда Devops использует Filebeat для чтения и переводит журналы в режим упругого поиска.
- И затем мы можем запросить / визуализировать информацию из упругого поиска, используя kibana.
JSON (структура журнала):
{
"userId" : "100",
"ip" : "192.168.1.1",
"deviceId" : "f07a13984f6d116a",
"country" : "India",
"language" : "English (U.S)"
"userAgent" : "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36",
"timestamp" : "2004-02-12T15:19:21.000+00:00",
"event" : "update product",
"resource" : "user",
"action" : "deactivate",
"objectId" : "22",
"objectType" : "user",
"description" : "Deactivated user",
"service" : "User service",
"appVersion" : "v1",
"requestId" : "db176f6b-b4c6-4a59-ac62-4d471eedf354"
"server" : "i0e5b5c88",
"serverLocation": "us-east-1",
"protocol" : "https",
"method" : "PATCH",
"statusCode" : "200"
}
Может кто-нибудь предложить лучше архитектура для создания пользовательских журналов аудита с использованием весенней загрузки?
Чтобы я мог извлечь из него полезную информацию.