Research

Overview

In today's digital landscape, effectively managing and analyzing log data is crucial for maintaining system performance and security. While numerous log viewing applications exist, integrating advanced features such as predefined filters and AI assistance, especially in web-based platforms, remains a challenge. This project aims to address this gap by developing a comprehensive web-based log viewer with enhanced functionalities.

Summary of Research

In developing our suite of tools to enhance Cisco engineers' efficiency in searching and analyzing Webex logs, we made several key technical decisions:

Frontend Developement: We utilized jQuery, vanilla JavaScript, Sass, and Bootstrap to ensure compatibility with Cisco's existing systems. This minimalistic tech stack provides the necessary functionality while minimizing bloat, thereby enhancing user experience and maintaining system efficiency.

Backend Development: We selected FastAPI as our backend framework due to its high performance, ease of setup, and asynchronous capabilities, which are advantageous for handling concurrent log processing tasks. FastAPI's design facilitates rapid development and integrates seamlessly with Python's rich ecosystem of AI and data processing libraries.​

AI Integration: To automate bug detection processes, we implemented a custom AI agent using OpenAI models. Additionally, we explored running models locally to enhance data privacy and reduce latency. Utilizing quantized models from Hugging Face, we achieved performance improvements of up to 200 times faster than non-quantized versions, with minimal loss of quality. We also experimented with IBM's Granite 3.2 Instruct 8B model, designed for business applications with high-quality data, and leveraged llama.cpp [10] to compile models for even greater performance.​

Data Storage and Search: We chose Elasticsearch for its robust capabilities in indexing and searching large volumes of log data. Its distributed nature and real-time search functionalities make it particularly suitable for our application's requirements.​

These decisions were guided by principles of compatibility, performance, and minimalism, aiming to deliver tools that significantly enhance the log analysis capabilities of Cisco engineers while ensuring seamless integration into existing systems.​

References

  1. [1] Variar, "Klogg – Open Source Log Viewer." [Online]. Available: https://github.com/variar/klogg. [Accessed: Mar. 2025].
  2. [2] Splunk, "Splunk Observability Cloud: AI Assistant." [Online]. Available: https://www.splunk.com/en_us/products/splunk-ai-assistant-in-observability-cloud.html. [Accessed: Mar. 2025].
  3. [3] Logdy, "Logdy: Real-Time Web-Based Log Viewer." [Online]. Available: https://logdy.dev/. [Accessed: Mar. 2025].
  4. [4] M. Fowler, "Microservices." MartinFowler.com. [Online]. Available: https://martinfowler.com/articles/microservices.html. [Accessed: Mar. 2025].
  5. [5] IBM, "What Is Cloud Computing?" [Online]. Available: https://www.ibm.com/think/topics/cloud-computing. [Accessed: Mar. 25, 2025].
  6. [6] GeeksforGeeks, "Searching Algorithms." [Online]. Available: https://www.geeksforgeeks.org/searching-algorithms/. [Accessed: Mar. 2025].
  7. [7] V8, "String.prototype.includes() – JavaScript." [Online]. Available: https://github.com/v8/v8/blob/e51323de5c6cf20c1153c2afc097867d9a8a8649/src/string-search.h#L424. [Accessed: Mar. 2025].
  8. [8] Mozilla Developer Network, "Regular Expressions – JavaScript Guide." [Online]. Available: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions. [Accessed: Mar. 2025].
  9. [9] IBM, "Foundation Models - IBM watsonx.ai." [Online]. Available: https://www.ibm.com/products/watsonx-ai/foundation-models. [Accessed: Mar. 25, 2025].
  10. [10] G. Gerganov, "llama.cpp – C/C++ Implementation of LLaMA." GitHub. [Online]. Available: https://github.com/ggerganov/llama.cpp. [Accessed: Mar. 2025].