Python と Redis を使用したログ分析システムの構築: システムの状態をリアルタイムで監視する方法
Python と Redis を使用したログ分析システムの構築: システムの健全性をリアルタイムで監視する方法
はじめに:
システムを開発および保守するとき、システムの健全性を監視することは非常に重要です。 。優れた監視システムにより、システムのステータスをリアルタイムで把握し、問題を時間内に発見して解決し、システムの安定性とパフォーマンスを向上させることができます。この記事では、Python と Redis を使用して、システムの稼働状況をリアルタイムに監視するシンプルかつ実用的なログ分析システムを構築する方法を紹介します。
-
環境の構築:
まず、Python と Redis の開発環境をセットアップする必要があります。 Python は強力なプログラミング言語であり、Redis は高速なインメモリ データベースです。次の手順に従って環境をセットアップできます。- Python のインストール: 公式 Web サイト (https://www.python.org/) から Python をダウンロードしてインストールします。
- Redis のインストール: 公式 Web サイト (https://redis.io/) から Redis をダウンロードしてインストールします。
-
Redis の構成:
Redis 構成ファイルで、システムの操作ログを記録するためのログ機能を有効にする必要があります。 Redis 設定ファイルを編集し、次の設定項目のコメントを解除します。logfile /path/to/redis.log loglevel debug
ログイン後にコピーこのうち、
/path/to/redis.log
はログ ファイルの保存パスです。 - Python スクリプトの開発:
次に、Python を使用して、Redis ログ ファイルをリアルタイムで監視し、ログの内容を分析するスクリプトを開発します。log_analyzer.py
というファイルを作成し、次のコードをファイルに貼り付けます:
import redis import time import re # Redis连接信息 redis_host = "localhost" redis_port = 6379 redis_password = None # 实时监听Redis日志文件 def follow_redis_log(): r = redis.Redis(host=redis_host, port=redis_port, password=redis_password) p = r.pubsub() p.subscribe("__keyevent@0__:set") for message in p.listen(): # 提取日志信息 log_message = message['data'] if log_message.startswith("set"): log_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) log_key = re.findall(r'set "(.*?)"', log_message)[0] log_value = re.findall(r'(.*?)s+noreply', log_message)[0] # 分析日志内容(这里以打印日志为例) print(f"[{log_time}] Key: {log_key}, Value: {log_value}") if __name__ == "__main__": follow_redis_log()
スクリプトでは、Redis__keyevent の pub/sub 機能を使用してサブスクライブしました。 @0__:set
チャネルは、Redis の set
操作のログを監視します。新しいログが生成されると、ログ内の重要な情報を抽出して分析します。
実行システム:
上記の開発手順を完了したら、システムを実行して、Redis の実行ステータスをリアルタイムで監視できます。ターミナルを開き、スクリプトが存在するディレクトリを入力して、次のコマンドを実行します:python log_analyzer.py
ログイン後にコピー
この時点で、次のような出力が表示されます:
[2021-01-01 12:00:00] Key: mykey, Value: myvalue [2021-01-01 12:01:00] Key: anotherkey, Value: anothervalue
これらの出力は Redis から取得したものです。必要に応じて、ログから抽出された重要な情報をさらに処理して表示できます。
結論:
PythonとRedisで構築したログ解析システムを利用することで、システムの稼働状況のリアルタイム監視を実現しました。 Redisの操作ログを分析することで、操作時間やキーと値のペアの変化など、多くの貴重な情報を取得できます。この情報は、問題を迅速に特定して解決し、システムの安定性とパフォーマンスを確保するのに役立ちます。
もちろん、この記事は単純な例にすぎず、実際のアプリケーションはさらに複雑で多様である可能性があります。特定のニーズに応じて、このシステムをさらに改善および拡張できます。監視システムの開発が成功することを祈っています。
以上がPython と Redis を使用したログ分析システムの構築: システムの状態をリアルタイムで監視する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHPとPythonには独自の利点と短所があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1.PHPは、大規模なWebアプリケーションの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンスと機械学習の分野を支配しています。

Pytorch GPUアクセラレーションを有効にすることで、CentOSシステムでは、PytorchのCUDA、CUDNN、およびGPUバージョンのインストールが必要です。次の手順では、プロセスをガイドします。CUDAおよびCUDNNのインストールでは、CUDAバージョンの互換性が決定されます。NVIDIA-SMIコマンドを使用して、NVIDIAグラフィックスカードでサポートされているCUDAバージョンを表示します。たとえば、MX450グラフィックカードはCUDA11.1以上をサポートする場合があります。 cudatoolkitのダウンロードとインストール:nvidiacudatoolkitの公式Webサイトにアクセスし、グラフィックカードでサポートされている最高のCUDAバージョンに従って、対応するバージョンをダウンロードしてインストールします。 cudnnライブラリをインストールする:

DockerはLinuxカーネル機能を使用して、効率的で孤立したアプリケーションランニング環境を提供します。その作業原則は次のとおりです。1。ミラーは、アプリケーションを実行するために必要なすべてを含む読み取り専用テンプレートとして使用されます。 2。ユニオンファイルシステム(UnionFS)は、違いを保存するだけで、スペースを節約し、高速化する複数のファイルシステムをスタックします。 3.デーモンはミラーとコンテナを管理し、クライアントはそれらをインタラクションに使用します。 4。名前空間とcgroupsは、コンテナの分離とリソースの制限を実装します。 5.複数のネットワークモードは、コンテナの相互接続をサポートします。これらのコア概念を理解することによってのみ、Dockerをよりよく利用できます。

PythonとJavaScriptには、コミュニティ、ライブラリ、リソースの観点から、独自の利点と短所があります。 1)Pythonコミュニティはフレンドリーで初心者に適していますが、フロントエンドの開発リソースはJavaScriptほど豊富ではありません。 2)Pythonはデータサイエンスおよび機械学習ライブラリで強力ですが、JavaScriptはフロントエンド開発ライブラリとフレームワークで優れています。 3)どちらも豊富な学習リソースを持っていますが、Pythonは公式文書から始めるのに適していますが、JavaScriptはMDNWebDocsにより優れています。選択は、プロジェクトのニーズと個人的な関心に基づいている必要があります。

Redisのデータベースメソッドには、メモリ内データベースとキー価値ストレージが含まれます。 1)Redisはデータをメモリに保存し、速く読み取り、書き込みます。 2)キー価値のペアを使用してデータを保存し、キャッシュやNOSQLデータベースに適したリスト、コレクション、ハッシュテーブル、注文コレクションなどの複雑なデータ構造をサポートします。

NGINXのインストールをインストールするには、次の手順に従う必要があります。開発ツール、PCRE-Devel、OpenSSL-Develなどの依存関係のインストール。 nginxソースコードパッケージをダウンロードし、それを解凍してコンパイルしてインストールし、/usr/local/nginxとしてインストールパスを指定します。 nginxユーザーとユーザーグループを作成し、アクセス許可を設定します。構成ファイルnginx.confを変更し、リスニングポートとドメイン名/IPアドレスを構成します。 nginxサービスを開始します。依存関係の問題、ポート競合、構成ファイルエラーなど、一般的なエラーに注意する必要があります。パフォーマンスの最適化は、キャッシュをオンにしたり、ワーカープロセスの数を調整するなど、特定の状況に応じて調整する必要があります。

CENTOSシステムの下のRedisのインストールおよび構成ガイドこのガイドは、CentosシステムにRedisデータベースをインストールして構成する方法を詳しく説明しています。ステップ1:最初に依存関係をインストールし、システムに必要なコンパイルツールがインストールされていることを確認してください。端末を開き、次のコマンドを実行します。sudoyumininstall-ygccmakeステップ2:RedisソースコードをダウンロードRedis公式Webサイトからソースコードパッケージの最新バージョンをダウンロードします。たとえば、redis6.2.6のダウンロードバージョン:wgethttp:// download.redis.io/releases/redis-6.2.6.tar.gz``(最新バージョンチェーンに置き換えてください

CENTOSシステムのRedisスロークエリログを有効にして、パフォーマンスの診断効率を改善します。次の手順では、構成をガイドします。ステップ1:最初にRedis構成ファイルを見つけて編集し、通常は/etc/redis/redis.confにあるRedis構成ファイルを見つけます。次のコマンドで構成ファイルを開きます:sudovi/etc/redis/redis.confステップ2:構成ファイルでスロークエリログパラメーターを調整し、次のパラメーターを見つけて変更します:#slow query-log-log-slower-slower-than10000#スロークエリのエントリの最大数
