導入
今日のデータドリブンな世界において、アプリケーションの監視と保守には効率的なログ管理が不可欠です。オープンソースの検索・分析エンジンであるOpenSearchは、強力なログ収集・分析機能を提供します。軽量ログ送信ツールであるFluentBitと組み合わせることで、PythonログをOpenSearchに送信し、リアルタイムの監視と分析が可能になります。このガイドでは、この強力な組み合わせの設定手順を説明します。.
この設定は、Pythonアプリケーションをリアルタイムで監視する必要がある開発者やシステム管理者にとって有益です。PythonアプリケーションからOpenSearchにレポートを送信することで、レポートの分析、ダッシュボードの作成、アラートの設定が可能になり、アプリケーションのパフォーマンスと動作に関する貴重な洞察を得ることができます。このアプローチはスケーラブルで、小規模なプロジェクトから大規模な本番環境まで幅広く対応できます。.
前提条件
- Python がインストールされている: サーバーまたはローカル マシンに Python がインストールされていることを確認します。.
- OpenSearch クラスター: OpenSearch クラスターへのアクセスが必要です。新しいクラスターを作成することも、既存のクラスターを使用することもできます。.
- FluentBit がインストールされている: Python プログラムを実行するサーバーまたはマシンに FluentBit がインストールされている必要があります。.
ステップ1 – Pythonをインストールする
まず、リポジトリを更新してPythonをインストールします。以下のコマンドを実行します。
sudo apt update
sudo apt install python3Python のインストールを確認するには、次のコマンドを実行します。
python3 --version
ステップ2 – Pythonのログ記録を設定する
Pythonプログラムを設定して、メッセージをファイルに記録します。基本的な設定は次のとおりです。
import logging
# Configure logging
logging.basicConfig(
filename='app.log',
level=logging.INFO,
format='%(asctime)s - %(levelname)s - %(message)s'
)
# Sample log message
logging.info('This is a test log message.')この構成は、タイムスタンプ、ログ レベル、およびメッセージ形式を含むログ メッセージを app.log に書き込みます。.
ステップ3 – OpenSearchクラスターを作成する
OpenSearch クラスターをお持ちでない場合は、DigitalOcean のコマンドラインツール doctl を使用して作成できます。以下のコマンドを実行してください。
doctl databases create opensearch-doks --engine opensearch --region your-region --size db-s-1vcpu-2gb --num-nodes 1
リージョンをご希望のリージョンに置き換えてください。または、DigitalOceanコントロールパネルを使用して手動でクラスターを作成することもできます。手順の詳細については、コントロールパネルからOpenSearchクラスターを作成するためのガイドをご覧ください。.
ステップ4 – FluentBitをインストールする
FluentBit をインストールするには、次のコマンドを使用します。
curl https://raw.githubusercontent.com/fluent/fluent-bit/master/install.sh | sh
ステップ5 – FluentBitの設定
Fluent-bit.conf という設定ファイルを作成し、Fluent Bit がレポートを読み取り、OpenSearch に送信する方法を定義します。設定例を以下に示します。
[SERVICE]
Flush 1
Daemon Off
Log_Level info
[INPUT]
Name tail
Path /path/to/your/log/file.log
Tag python_logs
Refresh_Interval 5
[OUTPUT]
Name opensearch
Match python_logs
Host your-opensearch-host
Port 25060
HTTP_User your-username
HTTP_Passwd your-password
Index your-index-name
tls On
Suppress_Type_Name On- パス: app.log へのパスを指定します。.
- ホスト: OpenSearch ホストに置き換えます。.
- HTTP_User: OpenSearch のユーザー名。.
- HTTP_Passwd: OpenSearch のパスワード。.
- インデックス: ログが保存されるディレクトリの名前。.
ステップ6 – FluentBeatを実行する
設定ファイルを使用して FluentBit を実行します。
/opt/fluent-bit/bin/fluent-bit -c fluent-bit.conf
ステップ7 – OpenSearchでレポートを確認する
レポートが正しく受信されていることを確認するには、OpenSearchダッシュボードを確認してください。FluentBeatから送信されたレポートが表示されるはずです。.
ステップ8 – OpenSearchダッシュボードでインデックステンプレートを作成する
- ユーザー名とパスワードを使用して OpenSearch ダッシュボードにログインします。.
- 左側のメニューを開き、管理セクションで「インデックス管理」をクリックします。.
- [インデックス] メニューから、[インデックスの作成] をクリックします。.
- インデックス名を入力し、必要に応じてその他の設定を構成して、「作成」をクリックします。.
結果
これらの手順に従うことで、Fluent Bitを使用してPythonログをOpenSearchに送信するシステムを構築できました。この設定により、ログを効率的に管理・分析し、アプリケーションの効率的な保守・監視が可能になります。OpenSearchとFluent Bitを組み合わせることで、あらゆるPythonベースアプリケーションのニーズを満たす、強力なリアルタイムログ分析・監視ソリューションが実現します。.









