0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Linuxログ解析をAIで効率化するツールを作ってみた

Last updated at Posted at 2024-11-19

はじめに

Linuxシステムを運用していると、ログ解析が避けられません。しかし、膨大な量のログを人力で確認するのは大変な作業であり、かなり属人化する作業でもあります。そこで、OpenAIのGPT-4を活用してログ解析を効率化するツール「LogAnalyzerGPT」を作成しました。

この記事では、LogAnalyzerGPTの概要、特徴、使い方について紹介します。


LogAnalyzerGPTの概要

LogAnalyzerGPTとは?

LogAnalyzerGPTは、Linuxシステムのログを収集・解析し、エラーや警告、潜在的な問題をAI(GPT-4)を使って要約するPythonツールです。

このツールを使うことで、システム管理者や開発者が問題を素早く把握し、効率的に対応できるようになります。

対象とするログ

以下のログファイルを解析対象としています:

  • /var/log/syslog
  • /var/log/messages
  • /var/log/dmesg
  • /var/log/auth.log
  • その他の主要なログファイル(カスタマイズ可能)

主な特徴

1. エラーと警告の自動抽出

error, failed, critical などのキーワードを基に、重要なログだけをフィルタリングします。

2. AIによるログの要約

OpenAIのGPT-4を利用して、フィルタリングされたログを要約し、システムの状態や潜在的な問題を簡潔に伝えます。

3. カスタマイズ性

  • 対象とするログファイルや検索キーワードを自由に変更可能。
  • 出力結果はテキストファイルとして保存。

4. スケーラブルな設計

膨大なログにも対応可能。必要に応じてログのサイズや解析範囲を調整できます。


使用方法

1. GitHubリポジトリをクローン

まずはリポジトリをクローンします。

git clone https://github.com/takurot/LogAnalyzerGPT.git
cd LogAnalyzerGPT

2. 必要なライブラリをインストール

Pythonの依存ライブラリをインストールします。

pip install openai

3. OpenAI APIキーを環境変数に設定

~/.bashrc または ~/.zshrc に以下を追加してください。

export OPENAI_API_KEY="your_openai_api_key"

4. スクリプトを実行

sudo 権限でスクリプトを実行します。

sudo python3 log_analyzer_gpt.py

5. 結果を確認

スクリプト実行後、生成された log_summary.txt ファイルに要約結果が保存されます。


スクリプト内での環境変数利用

スクリプトでは、環境変数からAPIキーを取得するようになっています。

import os
import openai

# Get the OpenAI API key from environment variables
openai.api_key = os.getenv("OPENAI_API_KEY")

if not openai.api_key:
    raise ValueError("The OpenAI API key is not set. Please set it as an environment variable: OPENAI_API_KEY.")

セキュリティ注意点

  1. APIキーの管理
    APIキーはコード内に直接記述せず、環境変数を利用することでセキュリティを向上させます。キーを公開しないよう十分注意してください。

  2. ログファイルのアクセス権
    ログファイルへのアクセスには管理者権限が必要です。特定のユーザーに権限を付与する場合は以下を参考にしてください:

sudo chmod 644 /var/log/syslog
  1. sudo をパスワードなしで実行
    特定のコマンドに対してパスワードなしで sudo を許可する方法については、README をご参照ください。

今後の改善予定

  • ログ解析結果の可視化(グラフ化やダッシュボード作成)
  • アラート機能の追加(深刻なエラーをメールやSlackで通知)

おわりに

LogAnalyzerGPTは、システムログ解析の効率化を目指して開発したツールです。GitHubリポジトリにて公開しています。

🔗 GitHubリポジトリ: https://github.com/takurot/LogAnalyzerGPT

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?