SREのためのテレメトリー技術の探究 — モニタリングSaaS開発からAIOps・AIインフラまで 〜YAPC::Fukuoka 2025レポート〜

はじめに

2025年11月14-15日(金土)に、福岡工業大学にてYAPC::Fukuoka 2025が開催されました。本記事ではYAPCにおけるトークの中から、@yuuk1tこと坪内佑樹さんのトーク「SREのためのテレメトリー技術の探究 — モニタリングSaaS開発からAIOps・AIインフラまで」についてレポートします。なお、このトークはYAPC::Fukuoka 2025実行委員会が企画したゲストセッションの1つとして実施されました。

今回のトークでは、YAPC::Fukuoka 2025のテーマである「きゅう」にちなんで、「探」というキーワードを軸に話が進められました。坪内さんの専門であるテレメトリー技術の探究の過程と、それのまとめとしての博士研究、それから今後の探究の方向性などの話がありました。坪内さんからは「YAPCは企業よりも個に焦点を当てた場所だと思っているので、個人の探究の例を紹介することで皆さんの気づきになれば幸いです」という言葉がありました。

テレメトリー界の歴史

はじめに、テレメトリー界の技術の変遷が年表形式で示されました。

1960年代は制御工学の時代ですが、この頃すでにオブザーバビリティ(Observability)という単語が使われています。1980年代に出てきたSyslogや1990年代に出てきたSNMPは現在でも使われています。2000年前後からはZabbixを始めとする統合監視OSSが登場します。2010年代に入るとSaaSが普及し、2010年代後半以降はSREやオブザーバビリティの考え方が広まっていきます。2020年代はこれらの技術の標準化が進んでいるところです。現在のこの分野のトレンドとしては、ゼロコード計装、継続的プロファイリング、LLM Observabilityといったものが挙げられます。

また、今後の発展の方向性として以下の4つを挙げました。

  1. テレメトリー界のSDGs
    参照されないデータの処理にコストがかかっているので、それをなんとかしたいという課題です。
  2. AI for SRE
    障害管理にAIやML(機械学習)を活用する話題です。
  3. Observability for AI Systems
    GPUクラスタのオブザーバビリティ向上に関する話です。
  4. Controllability
    観測結果とSLI(サービスレベル指標)に基づいてシステムを自律制御したいという課題です。

モニタリングSaaSの開発

続いて、坪内さんの探究の原点とも言える、モニタリングSaaSの開発についての話がありました。

坪内さんは2013年に新卒ではてなに入社しましたが、入社以前からアルバイトとして働いており、サーバ管理ツールをPerlで書いていました。各種サーバからSNMPでメトリクスを集めてストレージに保存し、それをRRDtoolで可視化したり、さらにAPIを用意して、サーバの構成変更に応じて権威DNSサーバやNagiosの設定を変更できるようなものです。YAPC::Asia Tokyo 2013でこのツールの話をしましたが、これが坪内さんにとってはテックカンファレンス初登壇となりました。

このツールが良い出来だったので、2014年に「Mackerel」としてサービス化されました。坪内さんは初代SREとして、Mackerelの初期構築と運用、クラウドへの移行などに携わりました。

Mackerelでは時系列DBとしてGraphiteを使用していました。しかしGraphiteは書き込み効率が悪い、ディスクを大量に消費してしまうといった問題があったので、2017年に時系列DBを刷新し、サーバーレスアーキテクチャを基に階層化された時系列DBに移行しました。

モニタリングSaaSの開発を経験して感じたこととしては以下の2点があります。

  • サーバ/メトリクス/アラートだけではそのシステムのことはわからず、システム設計の意図など総合的な知識が必要になる
  • プロダクトコンセプトが重要で、それがしっかり確立されていないと単なる凡庸な監視ツールになってしまう

このような動機から、サイバネティクスやシステム理論などの本を読んでコンセプトを練るとともに、時系列DBについては論文を書いて学会で発表しました。実務経験を論文に帰着させるのは難しいですが、言語化の訓練としては非常に良い機会だったそうです。

そして、この経験から研究者になりたいと思い、2019年にさくらインターネット研究所に転職し、所長である鷲北賢さんのすすめもあって大学の博士課程(京都大学大学院情報学研究科)にも行くことになりました。

博士研究

さくらインターネット研究所では、研究テーマは自分で考えることになっています。坪内さんはメトリクス(時間)とトポロジ(空間)を使って何かできないか、という発想から研究をスタートし、結果として以下の3つの研究を行いました。

時系列DB

最初に取り組んだのは時系列DBにおけるKVSの書き込み効率に関することです。近年のテレメトリーシステムで使われるKVSにはディスクベースのもの(Cassandraなど)とメモリベースのもの(Redisなど)がありますが、前者はキー数が大きくなるとデータの書き込み効率が低下する、後者は記憶量あたりの費用が大きいため長期保持に不向きという問題があります。そこで、両者の長所を採り入れて、新着データはメモリベースKVSに入れ、ある程度たまってきたらディスクベースKVSで保持するという仕組みを作りました。性能を検証したところ従来の仕組みの約4倍の性能向上が見られました。

ネットワークコールグラフ

システムのネットワーク構成図を自動的に描くという研究です。こういう仕組みを作る場合、ネットワーク通信経路上のどこかに計測点を設置し、それを集めて図にしますが、坪内さんはその計測点の実装を、カーネルにeBPFで計装する方法で取り組みました。この分野は類似研究も多いのですが、それらを採り入れつつ改良した手法を考案することにより、システムの規模が大きくなってもCPU使用率が低く抑えられるという成果が出ました。

AIOps

これまでの研究の成果を踏まえて、メトリクスやネットワークコールグラフのデータを機械学習させることで障害原因の特定などに役立てることはできないかという研究に取り組みました。こちらはさらに類似研究が多く、独自性を出すのに苦労しましたが、メトリクス数の増大によってノイズが多くなる点に着目し、前処理でノイズを削減すること(特徴量削減)で機械学習の精度を高めることに取り組みました。いろいろな試行錯誤の結果、時系列ごとの変化点を検出し、変化点が最大密度となる時間帯で障害が起きているのではないかと推測するアルゴリズムを考え出しました。この仕組みはMetricSifterというソフトウェアとして公開されており、SRE NEXT 2022で発表も行いました。

博士論文

最後に、これらの研究のまとめとしての博士論文を作成しました。個別研究を思いつくままにやっていたのでまとめるのに苦労しましたが、どの個別研究もワークロードの増大に対する解決提案になっていたことに着目し、それをコアコンセプトとして論文にまとめました。

今後の探究

今後の探究テーマとしては以下の3つを考えています。

  1. テレメトリー界のSDGs
    従来のテレメトリーはひたすらデータを集めまくり、その中から少数の使えるものだけを拾って大量に捨てるという仕組みで、あまり効率が良いとは言えません。分析結果を計測にフィードバックし、必要なデータのみを収集するように自動適応させたいです。
  2. AI for SRE
    SREの活動にAIを活用する話です。LLMが出てくる前はテレメトリーデータのみが情報源でしたが、LLM登場以後は人間が書いたテキスト(インシデントレポート/ドキュメントなど)も情報源として使えるようになりました。しかしSRE向けのLLMの構築に関しては、データ量が膨大だとか、データ形式がLLM向けではない(解釈しにくい)といった課題があります。また複数の異なるシステム由来のデータを使うといったことも現状ではあまり行われていないので、SREに特化したマルチモーダル基盤モデルを構築するという構想もあります。
  3. Observability for AI Systems
    GPUクラスタのオブザーバビリティを向上させたいというテーマです。取り組みのひとつとして、さくらインターネットが開発したマネージドHPCクラスタサービス・さくらONEHPE Clusterviewというツールを適用し、GPU電力消費量をグリッド表示するものを開発しました。GPUに対してゼロコードで計装する取り組みはいくつかありますが、分散トレーシングを行うには各層のイベントを相関させる必要があり、このあたりが研究テーマになりうるという話がありました。
HPE Clusterviewを使ったGPUのグリッド表示

まとめ

坪内さんによると「初仕事を親だと思ってしまった」だそうで、最初にはてなでモニタリングツールの開発を手掛けたところ、結果的にずっとこの分野での研究開発を続けています。はじめに現場で運用を経験し、次にそれを学術分野で研究成果としてまとめ、今度はその成果を再び現場に適用するという、良いサイクルが実現できています。

この分野での活動を長く続けている理由のひとつに、テレメトリー技術のおもしろさがあります。測定の対象となるシステムが多岐にわたり、計測データを保存するストレージも分散DB技術が続々と登場し、分析についても統計や機械学習の新技術が次々に出てくるので、無限に遊べる領域だそうです。

最後に、技術の探究のしかたについての話がありました。今のソフトウェアエンジニアリングにはポップカルチャー(大衆文化)的な面がありますが(アラン・ケイさんの“Computing as Pop Culture”という言葉から引用)、SREをポップカルチャーから学術に押し上げていくことをやっていきたいと考えています。しかし学術分野として確立してしまうとポップさがなくなり、おもしろくなくなってしまうのではないかという考えもあります。そうした矛盾を抱えながらも、両者の狭間でアウトプットを重ねながら思索を深めていきたいとのことです。

おわりに

坪内さんの発表は、技術的な話題も豊富に含まれていましたが、1人のエンジニアのキャリアの重ね方という意味でも興味深い内容でした。また、現在のソフトウェアエンジニアリングはポップカルチャー的な面があるという言葉も強く印象に残りました。そこから連想するとYAPCをはじめとする技術カンファレンスは音楽フェスティバル的な趣があり、どのカンファレンスも大いに盛り上がっていますが、それを刹那的な盛り上がりで終わらせるのではなく、学術という形に押し上げて形に残していくことも大切であると感じました。発表資料も公開されていますので、さらに詳しく知りたい方はご覧ください。

それではまた次回のイベントでお会いしましょう!