Stage 1 – File Upload
The application receives files from users or external systems.
FastAPI receives file upload requests and records important application events such as file name, upload status, and processing request.
This project implements a File Transfer and Processing Application that receives files, transfers them between systems, and processes the transferred files. The architecture focuses on centralized log management and failure analysis to collect application logs from different services, store them centrally, and identify errors, failures, and abnormal processing behavior.
To implement a centralized log management architecture that collects and analyzes logs from the file transfer and processing application for faster failure detection and troubleshooting.
The application receives files from users or external systems.
FastAPI receives file upload requests and records important application events such as file name, upload status, and processing request.
The uploaded files are transferred to the required processing environment.
The file transfer service handles file movement between application components and generates logs for successful and failed transfer operations.
Transferred files are validated, transformed, and processed.
The processing service runs in containers managed by Kubernetes and generates logs for processing status, errors, and failures.
Logs generated by the file transfer and processing services are collected centrally.
Fluent Bit collects logs from application containers and forwards them to OpenSearch for centralized storage and searching.
Collected logs are analyzed to identify failures and abnormal processing behavior.
OpenSearch is used to search and filter logs, while Python can analyze log patterns to identify recurring errors, failed transfers, and processing issues.
Application failures and abnormal events are continuously monitored.
Failure-related log information is visualized through dashboards so that the operations team can monitor file transfer and processing problems.
The operations team investigates detected failures using centralized logs.
Logs are searched using timestamps, service names, file IDs, error messages, and processing status to identify the source of the failure.
Packages file transfer and processing services into containers.
Deploys and manages the containerized file processing services.
Collects application and container logs and forwards them to the centralized log platform.
Stores, indexes, and provides search capabilities for centralized application logs.
Provides dashboards for monitoring logs, errors, and failure patterns.
Provides compute resources for running the application and monitoring infrastructure.
Provides isolated networking for the application and monitoring infrastructure.
Stores files, processed data, or archived log data when required.
Automates provisioning of the required Cloud infrastructure.
Automates server and monitoring infrastructure configuration.
Controls access permissions to Cloud resources.
Controls network traffic to and from the application and monitoring infrastructure.
The proposed solution provides centralized log management and failure analysis for the File Transfer and Processing Application. Application services generate logs during file upload, transfer, and processing, while Fluent Bit collects these logs and forwards them to OpenSearch for centralized storage and search. OpenSearch allows the operations team to filter and analyze logs based on service, timestamp, file identifier, and error information, while Grafana provides centralized dashboards for monitoring failures and application behavior. This architecture helps identify failed file transfers, processing errors, and recurring application problems, making troubleshooting faster and more effective.