ほぼテク8月14日ITセキュリティの新時代?ChatGPTによるシステムログのレポート作成!?ワードクラウド編②!

ほぼテク読者の皆様、いつも大変ありがとうございます!
我妻裕太です。

本日もよろしくお願いいたします。GPTに関する連続投稿約112日目です!
本日はこちら!

ITセキュリティの新時代?システムログのレポート作成!

っということで昨日はシステムログのレポートをワードクラウドを用いてGPTで実現できないか実験をしました!
記事の詳細はこちらをご覧ください。

昨日はシステムログをワードクラウドで可視化して新しい洞察を得ることができるか実験をしてみました!
前処理をしなかったので、昨日の時点ではあまり有効な洞察を得られませんでしたが、前処理次第でもっと有効活用できそうです。

大切なのはこの可視化を一瞬にしてAI(GPT)が実施してくれたことにあると思います。
昨日も驚きました(^^)/

本日は改良を加えてもう少し意味ある可視化ができるか挑戦してみたいと思います。

テキストの可視化!ワードクラウド!

昨日のとおり、ワードクラウド(Word Cloud)とは、テキストデータの視覚化手法の一つです。

テキスト内の単語の出現頻度に応じて、単語の大きさや色を変えて表示します。
出現頻度が高い単語は大きく、低い単語は小さく表示されることが一般的です。

ワードクラウドは、以下のような用途に使用されます。

1.テキスト分析
テキスト内のキーワードの出現パターンを一目で把握することができます。特に、大量のテキストデータから主要なテーマやトピックを素早く特定するのに役立ちます。

2.プレゼンテーション
レポートやプレゼンテーションの視覚的な要素として、視聴者に対して重要な単語や概念を強調するために使用されます。

3.教育
教育的な環境で、学生がテキストの主要な概念を理解するのを助けるために使用されることがあります。

ワードクラウドは、美しい視覚的表現を提供するだけでなく、テキストデータの分析において直感的な洞察を提供するため、多岐にわたる分野で人気があります。
今回はアクセスログをワードクラウドにして直感的に状況を把握してみよう!の会です。

それでは早速試してみよう!

【実験ルール】
・サンプルのログデータを分析し、ワードクラウドが作成できるか実験する。
・GPT-4で実験する。
・昨日ノイズになっていた数字を除外するプロンプトにする。
・ステップバイステップの手順のプロンプトにする。(情報提供いただきました皆様ありがとうございました)
・プロンプトは以下で実行します。

【プロンプト】
あなたは弊社の優秀なネットワーク管理者です。
アップロードしたファイルは弊社のWebサービスのシステムログです。"""でファイルの説明をしています。
システムログを分析してください。
分析は以下のステップバイステップの手順を使用してください。
ステップ1 - システムログを形態素解析してください。形態素解析時には以下を考慮してください。

  • 数字は除外してください。

  • 名詞と動詞のみ残してください。

ステップ2 - どんなイベントやエラーが多いかワードクラウドにしてください。

  • ワードクラウドにする際は見ていて楽しいワクワクするカラーリングでお願いします。

ステップ3 - 分析結果をレポートしてください。

  • レポートはjpg形式でデザインしてください。

  • レポートにはワードクラウドと分析結果のコメントを記載してください。

  • A4縦のサイズでお願いします。

"""

【システムログの説明】

システムログファイルは、さまざまなシステムイベントとユーザーアクティビティを記録しています。
以下はログファイル内の各列とその内容の説明です。

  • Timestamp (タイムスタンプ): イベントが発生した日時を示します。フォーマットは "YYYY-MM-DD HH:MM:SS" です。

  • Log Level (ログレベル): イベントの重要度を示します。以下の種類が含まれています。

  • INFO: 情報レベルのイベント。

  • WARNING: 警告レベルのイベント。潜在的な問題を示すことがあります。

  • ERROR: エラーレベルのイベント。問題や障害を示します。

  • SUCCESS: 成功レベルのイベント。特定の操作が成功したことを示します。

  • Event Description (イベントの説明): 発生したイベントの内容や詳細を説明します。ログメッセージがここに含まれます。

  • User (ユーザー): イベントに関与したユーザーの名前を示します。ログインやファイルアクセスなどのアクティビティが関連しています。

  • IP Address (IPアドレス): アクティビティが発生したIPアドレスを示します。ユーザーのログイン元などに使用されます。

  • File (ファイル): アクセスされたファイルのパスや名前が示されます。ファイルのアップロードやアクセスに関連しています。

このシステムログファイルは、異なるユーザーのログインとログアウト、ファイルのアクセス、セキュリティイベントなどを記録しており、システムの監視とトラブルシューティングに役立つ情報が含まれています。各行はタイムスタンプから始まり、イベントの詳細がその後に続きます。ログファイルはシステム管理者にとって重要な情報源となります。

"""


システムログのイメージはこのようなデータを300行程度準備しました。

【デモデータ(一部抜粋)】

2023-08-12 08:00:23 [INFO] User 'alice' logged in from IP 192.168.1.10.

2023-08-12 08:05:34 [INFO] User 'alice' accessed file /data/report.txt.

2023-08-12 08:07:45 [WARNING] Multiple failed login attempts from IP 192.168.1.11.

2023-08-12 08:10:12 [ERROR] Unauthorized access attempt to /admin from IP 192.168.1.11.

2023-08-12 08:12:30 [INFO] User 'alice' logged out.

2023-08-12 08:15:23 [INFO] User 'bob' logged in from IP 192.168.1.12.


【デモ動画】

~GPTとのやりとり~

【GPT】

システムログファイルの分析を開始します。以下のステップに従って進めます。

ステップ1 - システムログを形態素解析

まずはシステムログを読み込み、形態素解析を実施します。この際、数字を除外し、名詞と動詞のみを残します。

システムログファイルを読み込んで内容を確認します。

システムログファイルの形式は次のようになっています:

  • 2023-08-12 08:00:23 [INFO] User 'alice' logged in from IP 192.168.1.10.

  • 2023-08-12 08:05:34 [INFO] User 'alice' accessed file /data/report.txt.

  • 2023-08-12 08:07:45 [WARNING] Multiple failed login attempts from IP 192.168.1.11.

  • 2023-08-12 08:10:12 [ERROR] Unauthorized access attempt to /admin from IP 192.168.1.11.

  • 2023-08-12 08:12:30 [INFO] User 'alice' logged out.

このデータを解析しやすい形に整理します。各エントリーを以下の列に分割します:

  • タイムスタンプ (Timestamp)

  • ログレベル (Log Level)

  • イベントの説明 (Event Description)

次に、このデータから形態素解析を実施します。

申し訳ありませんが、現在の環境には形態素解析ライブラリ「Janome」がインストールされていないようです。ローカル環境で実行する場合は、以下の手順に従って進めてください。

ステップ1 - 形態素解析

1.1 Janomeのインストール

  • Janomeをインストールするには、Pythonのパッケージ管理システムpipを使用してください。コマンドプロンプトまたはターミナルを開き、以下のコマンドを実行します。

  • pip install janome

1.2 ログファイルの読み込みと解析

  • 次に、上記で提供したコードをローカルのPython環境で実行します。これにより、ログファイルが形態素解析され、名詞と動詞のみが残されます。

ステップ2 - ワードクラウドの生成

  • 形態素解析の結果を使用して、ワードクラウドを生成します。この際、見ていて楽しいカラーリングを適用します。

ステップ3 - 分析結果のレポート

  • ワードクラウドと分析結果のコメントを記載したレポートを作成します。レポートはjpg形式でデザインし、A4縦のサイズで保存します。

  • もしこのプロセスの支援が必要な場合、或いは特定の部分で追加の説明が必要な場合は、お知らせください。


【我妻】

続けてください


【GPT】

もちろんです。現在の環境ではJanomeライブラリが使用できないため、形態素解析に代わる方法を考える必要があります。今回は、シンプルなテキスト処理を使用して、イベントの説明から名詞と動詞を抽出します。数字は除外し、英語の名詞と動詞も対象とします。

それでは、ステップ1の改訂版を開始します。

ステップ1が完了しました。システムログから名詞と動詞を抽出し、数字を除外しました。

ステップ2 - ワードクラウドの生成

次に、イベントやエラーがどのようなものが多いかを視覚化するために、ワードクラウドを作成します。ワクワクするカラーリングで表示します。

ステップ2が完了しました。上記のワードクラウドは、システムログ内のイベントとエラーを視覚化しています。カラーリングは楽しい雰囲気を出すために選びました。

ステップ3 - 分析結果のレポート

次に、分析結果をレポートとしてまとめます。レポートにはワードクラウドと分析結果のコメントを記載し、A4縦のサイズでjpg形式でデザインします。

分析結果のコメント

  • INFO: ログイン、ログアウト、ファイルアクセスなどの一般的な情報が多く含まれています。

  • WARNING: 失敗したログイン試行などの警告が確認されます。

  • ERROR: 認証されていないアクセス試行などのエラーが記録されています。

これらのコメントをレポートに追加して、最終的なレポートを作成します。

レポート作成中にUnicodeエンコードエラーが発生しました。このエラーは、日本語文字の描画に使用したデフォルトフォントが日本語をサポートしていないために発生することがあります。

この問題を解決するために、日本語をサポートするフォントを指定する必要があります。残念ながら、現在の実行環境には日本語フォントが用意されていないため、ローカル環境でこの操作を実施する必要があります。

以下は、ローカル環境でレポートを作成するための手順です。

ステップ3 - レポート作成の手順(ローカル環境での実施)

任意の日本語フォントファイル(.ttf形式)を用意します。

上記で使用したcreate_report関数をローカル環境で実行します。

ImageFont.truetypeを使用して日本語フォントをロードします。たとえば、フォントファイルがpath/to/font.ttfにある場合、以下のようにします。

  • font = ImageFont.truetype("path/to/font.ttf", size=14)

このフォントを使用してテキストを描画します。

これらの手順を実施すると、日本語のコメントを含むレポートが作成されます。

手順に関する質問やサポートが必要な場合は、お知らせください。


【我妻】
続けてください。


【GPT】

申し訳ございませんが、現在の環境では日本語フォントが利用できないため、レポートの作成が困難です。

しかし、以下の選択肢を提供できます:

ローカルでの実行:上記で説明した手順をローカルで実行する際にサポートを提供します。

テキストのみのレポート:日本語の部分を除いて、現在の環境でレポートを作成します。

他の分析の提案:現在の環境で可能な他の分析や視覚化を提案します。

どれがお好きですか、または他に何かお手伝いできることがあればお知らせください。


おっ、おぉーーーー!今日も驚きました!相変わらず凄いな!

昨日よりもノイズが減ってよりテキストが分かりやすくなりました。
ステータスの分析であれば十分かもしれません!ちょっと見てみよう!

「INFO」が多いということは正常なアクセスが多いというのが分かりますね。

「file data」も多いので、ファイルアクセスも多いようです。これが良いのか、悪いのかはシステムの用途によるのかと思います。
今回はダミーデータなので、そこまでは分析しません。

さらに「Unauthorized」が少し小さいですが、出力されています。
これは「 Unauthorized access attempt to /admin from IP 192.168.1.11.」のようなログから来ています。

っということは認証失敗が少し多めに出ているようです。
これはユーザがパスワードを忘れているのか?あるいはキャプチャ認証で失敗しているのか?はたまた不正なアクセスにきているのか?など色々考えることができると思います。

今回はダミーデータでしたが、このように可視化をすることによってシステムの状態を直感的に把握することができ、さらに色々と見ていくとちょっとした変化も捉えることができるのではないでしょうか。

前処理をもっと工夫するだけでさらに見たい情報がはっきりと浮き彫りになるかもしれません!
ちなみに今回は環境の制限で以下のようなことができませんでした!

  • Janomeのインストール

  • 日本語フォントのインストール

まとめ

っということでいかがでしたでしょうか。

本日はシステムログワードクラウド化の改良版を実験してみました!

ワードクラウドで可視化することによって想定していた当たり前の事実を客観的に捉えることができ、さらに詳細を見ていくと自分では想定していなかったような事実が見えてきました。
こういった可視化をうまく活用することによってスピーディで確かな情報をキャッチすることが出来るのかもしれません!

情報が溢れる時代に情報をいかに上手に把握することが現代を楽しくライドするために必要なことなのではないでしょうか。
こいうった可視化を今までは手間をかけていましたが、スピーディに実行してくれるGPTがいるのは素晴らしいことですね。

単純作業はAIで、人間はもっと深化することに注力できる素晴らしい時代だと思います。

今回の記事がみなさまの何かの参考になりましたら幸いです。
今回も最後までお読みいただきありがとうございました。

また次回お会いしましょう。

原稿執筆

株式会社GROWTH JAPAN TECHNOLOGIES  我妻裕太

バックナンバー

ほぼテク8月13日ITセキュリティの新時代?ChatGPTによるシステムログのレポート作成!?ワードクラウド編①!

ほぼテク8月12日ITセキュリティの新時代?ChatGPTによるシステムログのレポート作成!

ほぼテク8月11日ITセキュリティの新時代?ChatGPTによるシステム異常の自動検出!?改!

ほぼテク8月9日ついに我が家にもGPT-4がやってきた?API利用開始まで1ヵ月かかりました(笑)

ほぼテク8月6日GPTの力で未来を予測!?GPT-4が時系列分析モデルARIMAを構築!

ほぼテク8月5日最新情報アップデート!Metaの生成AI「AudioCraft」とGPTのコラボレーション?

ほぼテク8月2日GPTのライバルになるか?満を持して登場のIBMのwatsonxで日本語が得意か実験してみました!

ほぼテク7月30日GPT-4のCode Interpreterで気象分析にチャレンジしてみた!?

ほぼテク7月29日GPT-4のCode Interpreterで身体を引き締める?ChatGPTをパーソナルトレーナーにする方法!?

ほぼテク7月26日ソフトウェア開発におけるSQL作成の課題をChatGPTが解決!?人間とAIで開発する次世代のソフトウェア開発!?

ほぼテク7月23日ChatGPTが変える業務効率化!ChatGPTを使った次世代のタスク管理!?

ほぼテク7月22日ChatGPTをあなた専用のAIにカスタマイズ!新機能「Custom Instructions」の紹介です!

ほぼテク7月19日GPTのライバルになるか?満を持して登場のMetaのLlama2が先ほど公開されました!

ほぼテク7月17日海の日にちなんで?多様化するDBの波を乗り越えられるかをChatGPTで試してみました。

ほぼテク7月16日GPT-3.5、GoogleBardでシフト管理を考えてみました!

ほぼテク7月15日GPT-4 Code InterpreterでG20の人口成長率を分析してみたら新しい気づきをくれました!

ほぼテク7月12日最新情報アップデート!GPT-4一般公開されたけど、APIで支払い履歴がないと使えないことが分かりましたの件(涙)

ほぼテク7月9日最新機能ChatGPTの「Code Interpreter(コードインタープリター)」を使ってみました!

ほぼテク7月7日SaaSサービスの利用規約のひな型をGPT、Bardで作ってみました!

ほぼテク7月5日BingのGPTの画像認識を解剖?ChatGPTとの違いと画像解析の可能性を探る!

ほぼテク7月2日ChatGPT・GoogleBardを活用したコンテンツモデレーション(投稿監視)!コミュニティの健全性と品質をChatGPT、GoogleBardで保てるか?

ほぼテク7月1日ChatGPTを活用してオンラインショッピングサイトのカスタマーサポートを効率化しよう?

ほぼテク6月28日AIと一緒にダイエット?ChatGPT、GoogleBardに体重データを分析してもらった!なかなか面白いよ(笑)

ほぼテク6月25日GPTの最新機能!「Azure OpenAI Service on your data」を試してみました!

ほぼテク6月24日GPTの活用事例!チャットボット用のQAデータをGPTで作成してみた!

ほぼテク6月21日GPT4の活用事例!生成AI達でAIの教師データを生成してみよう。

ほぼテク6月17日ChatGPTの活用ガイド!AIをあなたのプロジェクトに取り入れる方法徹底解説?

ほぼテク6月14日!ChatGPTを活用するために重要な留意事項13選! AIとのスムーズな対話を実現!

ほぼテク6月11日!ChatGPTでSNSマーケティングを攻略しよう!

ほぼテク6月10日!ChatGPTで情報の抽出をマスターしよう!

ほぼテク6月7日!ChatGPTを使って業務効率化! - データ解析とレポート作成の新たな方法?

ほぼテク6月4日!ChatGPTでマスタ情報を活用した間違い探し!

ほぼテク6月3日!ChatGPTで文法・スペルチェック!

ほぼテク5月31日!ChatGPTでファンタジーは創造できるか?

ほぼテク5月28日!ChatGPTで地元仙台市を分析してみました!

ほぼテク5月27日!ChatGPTでWebサイトから重要な情報を取得できるか試してみました!

ほぼテク5月24日!ChatGPTプラグイン実践編!画像生成のためのプロンプト生成プラグイン!

ほぼテク5月21日!ChatGPTプラグイン実践編!食べログプラグイン!

ほぼテク5月20日!とても面白いChatGPTのプラグイン使ってみました!

ほぼテク5月17日!GPTとの冒険!ファインチューニングで試行錯誤、そして成功へ!

ほぼテク5月14日!ChatGPT Webブラウジング機能がリリースされました!

ほぼテク5月13日!ChatGPTを活用した創作活動の一例!物語のプロットを創ってみた。

ほぼテク5月12日!Bard – Googleの新しい会話型AIが世界デビュー!

ほぼテク5月10日!今、私たちは新たなフロンティア、つまり宇宙へと視野を広げています!

ほぼテク5月7日!Chat GPTの正しい使い方基本プロンプトで会話してみました④

ほぼテク5月6日!Chat GPTの正しい使い方基本プロンプトで会話してみました

ほぼテク5月5日!Chat GPTの正しい使い方基本プロンプトで会話してみました②

ほぼテク5月4日!Chat GPTの正しい使い方基本プロンプトで会話してみました①

ほぼテク5月3日ImageCreatorで生成した画像で展示会?

今更聞ける!ほぼ毎日テック日報(おとなの週末) 4月30日(マイクロソフト画像生成AI「Bing Image Crator」とは?) – テクノロジーが日常にもたらすイノベーション?

今更聞ける!ほぼ毎日テック日報(おとなの週末) 4月29日(完全自動実行AI AutoGPTとは?) – テクノロジーが日常にもたらすイノベーション?

新企画!?「今更聞ける!ほぼ毎日テック日報 - テクノロジーが日常にもたらすイノベーション?」

前へ
前へ

ほぼテク8月15日CodeInterpreterを使い始める前に!?CodeInterpreterの実行環境における制限について!

次へ
次へ

ほぼテク8月13日ITセキュリティの新時代?ChatGPTによるシステムログのレポート作成!?ワードクラウド編①!