マイクロサービス・RCA関連の論文
Survey
- Fault Analysis and Debugging of Microservice Systems: Industrial Survey, Benchmark System, and Empirical Study | IEEE Journals & Magazine | IEEE Xplore
- 実際のシステムでの障害をエンジニアにアンケート
- Enjoy your observability: an industrial survey of microservice tracing and analysis | Empirical Software Engineering
- 実際にプロダクションシステムを運用するエンジニアにアンケート
- A Qualitative Interview Study of Distributed Tracing Visualisation: A Characterisation of Challenges and Opportunities | IEEE Journals & Magazine | IEEE Xplore
- エンジニアへ分散トレーシングに関してアンケート
- Practitioners’ expectations on automated fault localization | Proceedings of the 25th International Symposium on Software Testing and Analysis
- 実際にエンジニア386人にアンケートをして,RCAの研究と実際の運用のギャップを調査している.
- Failures and Fixes: A Study of Software System Incident Response | IEEE Conference Publication | IEEE Xplore
- 公開されているポストモーテムをもとに障害を調査
- Going through the Life Cycle of Faults in Clouds: Guidelines on Fault Handling | IEEE Conference Publication | IEEE Xplore
- 公開されているポストモーテムをもとに障害を調査
- Unveiling the Hardware and Software Implications of Microservices in Cloud and Edge Systems | IEEE Journals & Magazine | IEEE Xplore
- 具体的な商用マイクロサービスの規模感(Netflix)を説明している記事
- Gray Failure | Proceedings of the 16th Workshop on Hot Topics in Operating Systems
- Microsoft Azureで実際に発生したGray Failure(部分的な故障)について紹介している論文
- How incidental are the incidents? | Proceedings of the 35th IEEE/ACM International Conference on Automated Software Engineering
- Microsoftで実際に発生したインシデントの分析をしている
- 一時的なエラーが54%で最多だった.偽陽性アラートが16%で,設計上の問題が12%だった.
- How to fight production incidents? | Proceedings of the 13th Symposium on Cloud Computing
- Microsoft Azureでの障害の分析をしている論文
- 実際のインシデントの原因の内訳が書いてある.
- インシデントの根本原因を分析すると27%がコードのバグ,依存による障害が16%,インフラストラクチャの障害が15%,データベースとネットワーク10%,Configのミスが12.5%だった.
- Redesigning of OpsGenie Paging Alert System in Responding to Critical Tickets: An Application of DMAIC Methodology | Proceedings of the 2024 6th International Conference on Management Science and Industrial Engineering
- IT Service Deskで実際のオンコール対応にかかっている具体的な時間の記載があった
- Anomaly Detection and Failure Root Cause Analysis in (Micro) Service-Based Cloud Applications: A Survey | ACM Computing Surveys
- 異常検知とRCAに関連する包括的なサーベイ
- ITシステムの障害の原因やトリガーの傾向を論文から分析してみる | koyama’s blog
- 障害の原因を分類した論文をまとめた記事
Production Microservice Analysis / マイクロサービスのプロダクション環境の分析
- Characterizing Microservice Dependency and Performance | Proceedings of the ACM Symposium on Cloud Computing
- Alibabaのマイクロサービスの分析
- Alibabaのマイクロサービスアーキテクチャで設計された巨大なシステムを分析した論文を読んだ | koyama’s blog
- An In-Depth Study of Microservice Call Graph and Runtime Performance | IEEE Journals & Magazine | IEEE Xplore
- Alibabaのマイクロサービスの分析(2)
- Characterizing and synthesizing the workflow structure of microservices in ByteDance Cloud - Wen - 2022 - Journal of Software: Evolution and Process - Wiley Online Library
- ByteDanceのマイクロサービスの分析
- Lifting the veil on Meta’s microservice architecture: Analyses of topology and request workflows | USENIX
- The Tale of Errors in Microservices | Proceedings of the ACM on Measurement and Analysis of Computing Systems
- Uberのマイクロサービスでのエラーの分析
- 110億件のRPC呼び出しデータ解析の結果、クライアントに失敗と認識されるリクエストは全体の0.65%に過ぎない一方で、約29.35%の「成功した」リクエストが内部で何らかのエラーを含みつつサービスがフォールバック処理していた
- Fast Outage Analysis of Large-Scale Production Clouds with Service Correlation Mining | IEEE Conference Publication | IEEE Xplore
- Microsoftと大学の研究.大規模サービスでの連鎖障害を対象にRCAを行うCOTを提案している.correlation-based approachなので相関を分析しているよう.
並列・並行システムのバグ
- TaxDC | Proceedings of the Twenty-First International Conference on Architectural Support for Programming Languages and Operating Systems
- データセンタで動作する分散システムの並列処理・並行処理のバグを分析している
- Understanding, Detecting and Localizing Partial Failures in Large System Software | USENIX
- ZookeeperやCassandraをはじめとした並列・並行システムのバグや故障を分析している.
Alert grouping
- Automatically and Adaptively Identifying Severe Alerts for Online Service Systems | IEEE Conference Publication | IEEE Xplore
- 中国建設銀行の実データを使ったアラートの識別
- Understanding and Handling Alert Storm for Online Service Systems | IEEE Conference Publication | IEEE Xplore
- 中国光大銀行の実データを使ってアラートストームのアラートをまとめる方法を提案
- Fighting the Fog of War: Automated Incident Detection for Cloud Systems | USENIX
- Microsoftで障害の検知を自動化を行っている.障害の検知までにかかる時間(Time To Detect)が紹介されている.
Anomaly detection / 異常検知
- Identifying bad software changes via multimodal anomaly detection for online service systems | Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering
- 中国の広発銀行の実データを対象にソフトウェアの変更に伴う異常検知
- 障害のうち50.4%は誤った変更(code defect, configuration error, resource contention, software version)によるものだった.
- Microservice Root Cause Analysis With Limited Observability Through Intervention Recognition in the Latent Space | Proceedings of the 30th ACM SIGKDD Conference on Knowledge Discovery and Data Mining
- eBayのProduction環境でのAnomaly detectionを行った論文
- Intelligent Monitoring Framework for Cloud Services: A Data-Driven Approach | Proceedings of the 46th International Conference on Software Engineering: Software Engineering in Practice
- Microsoftで監視ルールの生成を深層学習を使い行っている.
シングルモーダルRCA/シングルソースRCA
メトリクス
- Graph-based Root Cause Analysis for Service-Oriented and Microservice Architectures
- BARO: Robust Root Cause Analysis for Microservices via Multivariate Bayesian Online Change Point Detection
- MicroDiag: Fine-grained Performance Diagnosis for Microservice Systems
- Microscope: Pinpoint Performance Issues with Causal Graphs in Micro-service Environments
- MicroRCA: Root Cause Localization of Performance Issues in Microservices
トレース
- MicroRank: End-to-End Latency Issue Localization with Extended Spectrum Analysis in Microservice Environments
- TraceRank: Abnormal service localization with dis-aggregated end-to-end tracing data in cloud native systems
- Practical Root Cause Localization for Microservice Systems via Trace Analysis
- tprof: Performance profiling via structural aggregation and automated analysis of distributed systems traces
- Sage: practical and scalable ML-driven performance debugging in microservices
- TraceDiag: Adaptive, Interpretable, and Efficient Root Cause Analysis on Large-Scale Microservice Systems | Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering
- MicrosoftのエンジニアがマイクロサービスベースのシステムでのRoot Cause Analysisのために,冗長なグラフを構造を取り除く手法を提案
ログ
- Identifying Impactful Service System Problems via Log Analysis
- Log clustering based problem identification for online service systems
- Structured Comparative Analysis of Systems Logs to Diagnose Performance Problems
- Onion: identifying incident-indicating logs for cloud systems
- Log Clustering Based Problem Identification for Online Service Systems | IEEE Conference Publication | IEEE Xplore
- ログ件数の大規模化
- “A Microsoft service system even generates over 1PB of logs every day.”
- キーワード検索の限界(killやfailはダイナミックなインフラではfalse positiveになりやすい)
- “The systems could proactively kill a job and restart it elsewhere, which causes many “kill” and “fail” keywords in logs.”
- 再発した問題がすぐに解消されずに残ったままになるので,同じエラーログが前から出ていたままになっている.
- “However, in a large-scale online service system, there are many recurrent issues, which could lead to a lot of redundant effort in examining logs and diagnosing the previously known problems.”
- ログ件数の大規模化
- Identifying impactful service system problems via log analysis | Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering
- ログのクラスタリング手法を提案
- Microsoftのプロダクション環境で実験を行った
マルチモーダルRCA/マルチソースRCA
- DeepTraLog: Trace-Log Combined Microservice Anomaly Detection through Graph-based Deep Learning
- TrinityRCL: Multi-Granular and Code-Level Root Cause Localization Using Multiple Types of Telemetry Data in Microservice Systems
- Nezha: Interpretable Fine-Grained Root Causes Analysis for Microservices on Multi-modal Observability Data
- MULAN: Multi-modal Causal Structure Learning and Root Cause Analysis for Microservice Systems
- Chain-of-Event: Interpretable Root Cause Analysis for Microservices through Automatically Learning Weighted Event Causal Graph
- Eadro: An End-to-End Troubleshooting Framework for Microservices on Multi-source Data
Collection / 計装
- Network-Centric Distributed Tracing with DeepFlow: Troubleshooting Your Microservices in Zero Code | Proceedings of the ACM SIGCOMM 2023 Conference
- deepflow
- 実際のインシデントの原因の内訳が書いてある.全体のうちインフラ系が60%あった.
- TraceWeaver: Distributed Request Tracing for Microservices Without Application Modification | Proceedings of the ACM SIGCOMM 2024 Conference
- traceweaver
- Pivot tracing | Proceedings of the 25th Symposium on Operating Systems Principles
Incident Linking / Ticket grouping
- Dependency Aware Incident Linking in Large Cloud Systems | Companion Proceedings of the ACM Web Conference 2024
- Incident-aware Duplicate Ticket Aggregation for Cloud Systems | IEEE Conference Publication | IEEE Xplore
Log search engine
- TencentCLS: the cloud log service with high query performances: Proceedings of the VLDB Endowment: Vol 15, No 12
- Tencentのログ管理のプラットフォームについて説明している.
- 扱うログは,1日あたりペタバイトの規模が想定されている.
- Apache Lucene 6.0でBKD Treeが導入されたがBKDツリーの複雑さは線形に相関があることを課題している.
- LogStore | Proceedings of the 2021 International Conference on Management of Data
- Alibabaのログ管理プラットフォームを紹介している.
- ヘビーな書き込みのスループットがあり,1秒あたり数千万のログレコードが書き込まれるという.
- 検索では数十万に及ぶテナントがあり,ペタベイトに及ぶログを探すという.
- Cost-effectiveなスケーラビリティのあるログストレージの設計が簡単でないことを課題としている.
- LogLens: A Real-Time Log Analysis System | IEEE Conference Publication | IEEE Xplore
- NEC Laboratories Americaの研究者が中心で執筆している.
- リアルタイムのログ分析システムを提案した.
- また,教師なし機械学習を使いアプリケーションログのパースを行った.
- こうした,ログから異常なイベントを発見する方法や,ログメッセージのパーサーのパターンを自動で作成する方法は一つの研究テーマになっている印象がある.
- FLAP | Proceedings of the 23rd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining
- フロリダ国際大学の研究者が中心で執筆している.
- FIU Log Analysis Platformというイベントログを解析するためのプラットフォームで使われている技術を紹介している.
- Challanges(課題)として以下の3つを主張している.
- 多様な種類のイベントログが与えられるとき,どのようにイベント分析を広く一般的な方法でサポートするか.
- 目的の異なる多様な分析の要件がある際に,どのように効率的に既存の分析手法を適用するか.
- 多様な分析結果がある場合,どう効果的にユーザーへ提示するか.
- Distributed Hayabusa | Proceedings of the 15th Asian Internet Engineering Conference
- 筆頭著者は日本のLepidum社(現在はGMO Cybersecurity by Ierae社)の方だった.
- 共著者に東大の方が多い.
- 大規模なログの検索のために複雑なストレージシステムやクラスタシステムを管理する必要があることを課題としていた.
- Distributed Hayabusaというログ検索エンジンを提案している.
- ログをタイムスタンプでSQLiteファイルに分割(シャーディング)することで高速化していた.
- Read as Needed: Building WiSER, a Flash-Optimized Search Engine | USENIX
- 検索エンジン WiSER を提案している.少ないメインメモリを使って高いスループットと低いレイテンシを出す手法を紹介している.
- 以下を特徴として提案している.
- データ配置の最適化
- 2つのコストに配慮したブルームフィルター(特にここが新しそう)
- 適応性のあるプリフェッチ
- 容量と時間のトレードオフ
cf. ログ検索システムの論文まとめ | koyama’s blog
Log volume reduction
- LogReducer: Identify and Reduce Log Hotspots in Kernel on the Fly | Proceedings of the 45th International Conference on Software Engineering
- eBPFを使ってオンライン・オフラインプロセスでログの件数を削減している.
- 同一のテンプレートから繰り返し類似したログが出力されており,これがホットスポットになっている.
- WeChatのプロダクションシステムで検証を行った.
AIOps / Automation / Workflow
- AutoTSG: learning and synthesis for incident troubleshooting | Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering
- Trouble-shooting Guide(TSG)からワークフローを構築する提案をしている
- TSGとSeverityの関係性を調査したデータを提供している.
- VOCE: A Virtual On-Call Engineer for Automated Alert Incident Analysis Using a Large Language Model | SpringerLink
障害シナリオ (failure scenario)
参考になりそうな論文
- (2016) Practitioners’ expectations on automated fault localization | Proceedings of the 25th International Symposium on Software Testing and Analysis
- (2017) Gray Failure | Proceedings of the 16th Workshop on Hot Topics in Operating Systems
- (2018) Fault Analysis and Debugging of Microservice Systems: Industrial Survey, Benchmark System, and Empirical Study | IEEE Journals & Magazine | IEEE Xplore
- (2020) Failures and Fixes: A Study of Software System Incident Response | IEEE Conference Publication | IEEE Xplore