LLMで遊ぶインフラ屋

皆さんどうもこんにちは、Infrabbitです。少し更新に間が空いてしまいました。

何をしていたかといえば、小規模システム向けの月次レポート生成システムを作ってました。
月次レポート、要するに監視対象でその月に何が起きて、どんなことをしなきゃならないのか。というレポートですね。

一般的なレポートですとこんな感じでしょうか。

  1. システム統計(サマリ情報/CPUとかメモリとかの利用統計、主に平均)
  2. アラート/インシデント情報(今月発報されたアラートの一覧とか日時とか)
  3. 作業報告(保守としてなんの作業しましたよ、とかの報告リスト)
  4. 特記事項/その他の報告(なんか今後こうしたほうがいいよとかの提案とか、注意喚起とか、連絡事項とか)

月次なのでまあ基本的にその月の振り返りとまとめです。

 

で、まあ例にもれずInfrabbitも監視対象を持っているので、こういったレポートを出します。
意外とこれめんどくさいんですよね、作るの。まじめにやってると。

そこで、まあこれをシステムで作ろうかな、と。

いやまあ、サマリ情報とかは別にもともとシステムで出してるんですよ。監視系からデータ取ってきて整形するだけですし。何がめんどくさいって、インシデント情報のとりまとめだったりですよね。Infrabbitでは24×365で見てるわけでもなく、あくまで保守の立ち位置なので、運用までは踏み込んでいません。

このため、アラートもクライアントさんに見てね、できるだけ手助けはするけど。というスタンスです。

これをもう一歩進めましょう。運用を担う、とまで宣言はできませんが、たった一人しかいなくても、運用できるところに近づいてみましょう。だって今は人間いなくてもLLMがいろいろできます。

 

そこで作成したのが今回作ったシステムです。上記の基本サマリなんかに加えて、このシステムが何をやるか、というところを話します。

 

Infrabbit-Reporterのやっていること。

  • サマリ情報
    • 「前月比」(やろうと思えば長期スパンに対しての変化も)をみて、何かしらの大きな変化(一定量/割合以上の変化に対して)が生じたときに、自動的にログ・メトリクスを調査し、その内容からそれが「偽陽性」なのか「陽性」なのかの判断、そしてそれが陽性であるならなぜ起きたのか、今後どう対応すべきか、を提案するレポートの作成。
  • アラートインシデント
    • アラートの発生に対して、その時刻付近のログやメトリクスを調査し、その内容からそのアラートが何であるか、そしてどう対応すべきか、今後はどういう防衛策にすべきかを調査・提案します。
  • ログ
    • 蓄積されたログを検査し、ハードウェア異常やセキュリティインシデントにつながりうる問題を発見します。そのうえで、同様にそれに対する対応策をレポートします。まあある種のフォレンジック調査です。

これらをLLMを利用した形で実装しました。現時点ではあくまで月次レポートでの発行ですが、アラートインシデントに関しては別途アラートインシデントからの発報を受けてレポート生成までを走らせる、という処理を組み込む予定で、そうなるとこうなる予定です。

Alert発生-> Slackに通知 -> (数分以内)Slackに対策と状況をまとめた一次調査レポートが投稿

アラートもサマリ同様、偽陽性の発報もありうるわけで、その際はたぶん偽陽性だよ、みたいなレポートが出る(予定)です。

 

で、そもそもこういうレポーティングって大手MSPさんは人海戦術で何とか出来てしまいますが、小規模プロジェクトなんかでそんなもんまで高い金払って導入はできないわけです。そうなると、末端エンジニアの経験則でこれはどう、これはこう、みたいなことになるわけですが、品質がばらつきます。人間系依存なので。

これを、LLMに肩代わりさせて、低価格で品質上げましょう、というのが今回の発端です。というか単に僕が楽をしたかっただけです。

例えばこんなのが出てきます。

 

もしご興味があればご連絡をどうぞ。