Release Notes v0.5.0
What's Changed
Major Features & Enhancements
π¨ Alert & Trigger System
- feat: Add direct alert functionality by @suahlingo in #256
- feat: Add trigger module with email, SMS, and Slack integration by @suahlingo in #201, #205, #170
- feat: Add RabbitMQ integration for alert message queuing by @suahlingo
- docs: Add comprehensive RabbitMQ guide by @suahlingo
π€ AI/LLM Integration
- feat: Add MCP (Model Context Protocol) core integration by @GreenScreen410 in #164
- feat: Add external MCP servers (InfluxDB, MariaDB) by @GreenScreen410 in #163
- feat: Add log analysis API with LLM support by @GreenScreen410 in #166
- feat: Add conversation summary features with context retention by @kyuengmanKim in #176, #154
- feat: Add LangGraph workflow & state management by @kyuengmanKim
- feat: Add prompt management features by @kyuengmanKim
- feat: Integrate LLM provider APIs and DB tables by @inhun in #175
- feat: Add anomaly detection feature aligned with o11y manager API by @inhun
- feat: Add prediction feature aligned with o11y manager API by @inhun
π Logging & Tracing
- feat: Add logging & tracing configuration with OpenTelemetry by @inhun in #190
- feat: Add m-cmp system log collector by @kyuengmanKim
- feat: Add Tempo configuration for distributed tracing by @kyuengmanKim
- feat: Add Loki integration for log aggregation by @suahlingo
- refactor: Refactor tracing and logging to use OpenTelemetry Java agent by @suahlingo
ποΈ Infrastructure & Architecture
- refactor: Major project structure reorganization by @kyuengmanKim in #254, #249, #247, #246, #244, #241, #240, #237
- refactor: Updates docker compose & config directory structure by @kyuengmanKim
- feat: Add second InfluxDB instance (mcp-influxdb) by @ish-hcc
- feat: Add MinIO for object storage by @ish-hcc
- feat: Add Semaphore integration for deployment automation by @ish-hcc
- feat: Add comprehensive GitHub Actions workflows for CI/CD by @ish-hcc
- feat: Add Docker multi-stage builds for reduced image sizes by @ish-hcc
π§ Monitoring Agent Enhancements
- feat: Implement per metric configuration feature by @ish-hcc in #141
- feat: Implement plugin feature for monitoring agents by @ish-hcc
- feat: Add agent configuration update via Ansible by @ish-hcc
- feat: Add Fluent-Bit agent for log collection by @ish-hcc
- feat: Add Telegraf agent improvements with procstat top10 CPU/memory by @ish-hcc
- feat: Use private key for SSH connections by @ish-hcc
Breaking Changes & Migrations
Java Module Restructuring
- refactor: Rename
java-moduletojavaby @kyuengmanKim - refactor: Split old
mc-o11y-agentandmc-o11y-managerinto newmc-o11y-managerstructure - refactor: Upgrade to JDK 17 and Spring Boot 3.2.12 by @ish-hcc
- refactor: Upgrade Gradle to 9.1.0 by @ish-hcc
- refactor: Rename "target" to "vm" throughout codebase by @ish-hcc
Configuration Changes
- refactor: Externalize sensitive configs via environment variables by @suahlingo
- feat: Use Grafana environment file by @ish-hcc
- fix: Update InfluxDB database name handling by @ish-hcc
API Improvements
New Endpoints
- feat: Add readyz API for health checks by @ish-hcc in #189
- feat: Add OpenAI API key management endpoints by @GreenScreen410 in #143
- feat: Add log API improvements (start/end fields optional) by @ish-hcc
- feat: Add WebSocket support for real-time VM status updates by @ish-hcc
- feat: Add insight module APIs by @kyuengmanKim
API Refactoring
- refactor: Split LLM analysis API into feature-specific functions by @kyuengmanKim
- refactor: Update Insight controller & swagger definitions by @kyuengmanKim
- refactor: Split controllers by feature by @ish-hcc
- refactor: Improve error responses and exception handling by @suahlingo
Documentation & Developer Experience
Documentation
- docs: Add RABBITMQ_GUIDE.md by @suahlingo
- docs: Update Slack user guide with Channel ID instructions by @suahlingo
- docs: Add PROJECT_MANAGEMENT.md by @kyuengmanKim
- docs: Relocate and organize documentation by @kyuengmanKim
API Documentation
- refactor: Comprehensive Swagger/OpenAPI updates by @suahlingo, @kyuengmanKim
- refactor: Add detailed API descriptions and examples by @kyuengmanKim
- refactor: Translate Korean comments to English by @suahlingo, @kyuengmanKim
Developer Tools
- feat: Add Makefile with lint, test, and build commands by @ish-hcc
- feat: Add Spotless for code formatting by @suahlingo
- chore: Update .gitignore for better project hygiene by @GreenScreen410
Bug Fixes
Critical Fixes
- fix: Resolve agent installation permission issues by @kyuengmanKim
- fix: Fix agent status tracking and state management by @suahlingo
- fix: Fix WebSocket issues when agent status changes by @ish-hcc
- fix: Apply locks to prevent race conditions in host/VM operations by @ish-hcc
- fix: Fix InfluxDB connection and database name issues by @ish-hcc
- fix: Call agent uninstall when deleting VMs by @ish-hcc
Configuration Fixes
- fix: Add missed InfluxDB2 provisioning file by @ish-hcc
- fix: Add missed Ansible files for config updates by @ish-hcc
- fix: Fix Grafana datasource configurations by @ish-hcc
- fix: Fix RabbitMQ dependency and configuration issues by @ish-hcc
Monitoring Fixes
- fix: Remove NVIDIA SMI input (fields not provided) by @ish-hcc
- fix: Remove Fluent-Bit HTTP service port for security by @ish-hcc
- fix: Optimize Telegraf configuration by @ish-hcc
- fix: Fix Loki error messages and Log Explorer errors by @μ΅λμ
Scheduler & Timezone
- fix: Insight scheduler timezone bug by @kyuengmanKim
- fix: Improve healthcheck configurations by @ish-hcc
Dependency Updates
Infrastructure Components
- docker-compose: Update cb-tumblebug to v0.11.16 by @ish-hcc
- go: Update cb-spider to v0.11.16 by @ish-hcc
- Previous updates include cb-tumblebug v0.11.13, v0.11.9, v0.11.8, v0.11.6
- Previous updates include cb-spider v0.11.13, v0.11.5, v0.11.4, v0.11.3, v0.11.1
Python Dependencies
- chore: Optimize packaging with uv to reduce image size by @inhun in #203, #218
- feat: Reduce Python image size by @ish-hcc
Java Dependencies
- feat: Upgrade to Gradle 9.1.0 by @ish-hcc
- feat: Upgrade to JDK 17 and Spring Boot 3.2.12 by @ish-hcc
Performance Improvements
- feat: Reduce image size of mc-observability-manager by @ish-hcc
- feat: Reduce image size of mc-observability-grafana by @ish-hcc
- feat: Optimize Telegraf configuration for better performance by @ish-hcc
- feat: Implement procstat collection of only top10 CPU/memory by @ish-hcc
- chore: Optimize Python packaging to reduce image size by @inhun
Contributors
Special thanks to all contributors:
- @suahlingo
- @ish-hcc (@μμν)
- @kyuengmanKim (@kyeongman Kim, @kkm)
- @inhun
- @GreenScreen410
- @μ΅λμ
Full Changelog
Full Changelog: v0.4.0...v0.5.0
Swagger: https://m-cmp.github.io/mc-observability/java/swagger/index.html
Migration Guide
For Users Upgrading from v0.4.0
-
Directory Structure Changes:
java-modulehas been renamed tojava- Configuration files moved to
config/directory
-
Environment Variables:
- Review and update your environment variables
- Check
config/manager/.envfor new configuration options
-
Java Version:
- JDK 17 is now required (upgraded from JDK 11)
-
API Changes:
- "target" endpoints renamed to "vm"
- Check Swagger documentation for updated API endpoints
-
New Features:
- Configure RabbitMQ for alert notifications
- Set up Loki for log aggregation
- Configure Tempo for distributed tracing
- Set up LLM integration if needed
For detailed migration instructions, please refer to the project documentation.