An AIOps Engine for Observability.
A usable open-source AIOps framework for the domain of cloud computing observability.
We could answer this from the following progressive questions:
-
Are there existing algorithms for telemetry data?
- Abundant.
-
Are the existing algorithms empirically verified?
- Most proposed algorithms are not empirically verified
-
Are there AIOps tools that embed machine learning algorithms?
- Limited, often out of maintenance or commercialized.
-
Are there open-source AIOps solutions that integrates with popular backends?
- Hardly any.
-
Why would I need that?
- For developers & organizations curious for AIOps:
- a. Just install and start using it, saves budget, saves head-scratching.
- b. Treat this project as a good (or bad) reference for your own AIOps pipeline.
- For researchers in the AIOps domain:
- a. For software engineering researchers - sample for AIOps evolution and empirical study.
- b. For algorithm researchers - playground for new algorithms, solid case studies.
- For developers & organizations curious for AIOps:
The above is where we place the value of this project, though our current aim is to become the official AIOps engine of Apache SkyWalking, each component could be easily swapped given its plugable design.
At the current stage, it serves as an anomaly detection engine, in the future, we will also explore root cause analysis and automatic problem recovery.
This is also the tentative repository for OSPP 2022 and GSOC 2022 student project outcomes.
Project Exploration of Advanced Metrics Anomaly Detection & Alerts with Machine Learning in Apache SkyWalking
Project Log Outlier Detection in Apache SkyWalking
TBA
Data pulling:
The current data pulling and retention rely on a common set of ingestion methods, with a first focus on SkyWalking OAP GraphQL and static file loader. We maintain a local storage for processed data.
Alert component:
An anomaly does not directly trigger an alert, it goes through a tolerance mechanism.
Phase 0 (current)
- Implement essential development infrastructure.
- Implement naive algorithms as baseline & pipline POC (on existing datasets).
- Implement a SkyWalking
GraphQLDataLoaderProvider
to test data pulling.
Phase 1 (summer -> fall 2022, OSPP & GSOC period)
- Implement the remaining core default providers.
- Research and implement algorithms with OSPP & GSOC students.
- Integrate with Apache Airflow for orchestration.
- Evaluation based on benchmark microservices systems (anomaly injection).
- MVP ready without UI-side changes.
Phase 2 (fall -> end of 2022)
- Join as an Apache SkyWalking subproject.
- Integrate with SkyWalking Backend & rule-based alert module.
- Propose and request SkyWalking UI-side changes.
- First release for end-user testing.
Phase Next 1.[ ] Towards production-ready.