Closed chinmoy12c closed 1 year ago
@karntrehan please review this
The logs would be segregated into separate daily files. This should be config driven. At a high load system I might need this hourly.
Log dump for a specific number of lines. What is the usecase for this?
The diagrams are helpful. Is log base going to be different layer altogether? Is it optional?
Overall this looks good!
The logs would be segregated into separate daily files. This should be config driven. At a high load system I might need this hourly.
Log dump for a specific number of lines. What is the usecase for this?
The diagrams are helpful. Is log base going to be different layer altogether? Is it optional?
Overall this looks good!
Yes, LogBase would be a separate service altogether which would be a simplistic and independent service. This is so that this component could also be used in other projects as an independent logger service.
Dev done. Need to deploy and test on staging.
Awaiting some optimizations (https://github.com/samagra-comms/utils/issues/59) to be deployed before this goes out. Unit tests being written.
Currently, the monitoring script needs to be changed to integrate with the monitoring dashboard seamlessly.
End Goal:
An independent containerized image that provides access to
All Logs Data
A complete dump of all the logs from all the services must be stored. The logs would be segregated into separate daily files. The following queries can be done while fetching logs -
The overall flow of the system would be as follows.
Real-Time analysis
This would enable specific log statements to be grepped and counted in real time (just like axiom). Before triggering a bot, the real-time analysis needs to be enabled or switched on, which would start monitoring incoming logs and start creating a dump of analyzed data in a file. This data would include the following information:
The configuration of greppable statements would be in the following format:
Log Format Spec
This is the format that would be followed while creation of logs. This spec allows UCI-API to read data without communicating directly with the LogBase container.
Endpoints
/admin/monitoring/logs/[SERVICE_NAME]?lines=[NUMBER OF LINES]&date=dd_mm_yyyy
/admin/monitoring/realTime/start
/admin/monitoring/realtime?date=ss_mi_hh_dd_mm_yyyy
/admin/monitoring/realtime/stop
/admin/monitoring/realtime/available
/admin/monitoring/overview?date=ss_mi_hh_dd_mm_yyyy
/admin/monitoring/logs/[SERVICE_NAME]/download/log?date=dd_mm_yyyy
/admin/monitoring/logs/[SERVICE_NAME]/download/error?date=dd_mm_yyyy