モニタのPythonアプリケーションをOpenTementDirectoryとSignoz📊🐍
9716 ワード
OpentElementalは、CNCFの下のベンダーagnostic計装ライブラリです.これは、あなたのPythonアプリケーションを測定するテレメトリデータを生成するために使用することができます.どのように動作し、どのようにSignozとそのデータを可視化する方法を学びましょう.
ミリ秒のコスト.
金融サービス産業研究所estimates ブローカーの電子取引プラットフォームが競争の後で5ミリ秒であるならば、それはミリセカンドあたりの収益で400万ドルを要するかもしれません.
金融サービス業界ではレイテンシーのコストが高すぎて、今日のほとんどのソフトウェアベースのビジネスについても同じです.半分は、彼らがアプリケーションのサービスを放棄するポイントにユーザー満足度を殺すのに十分です.
あなたの生産環境に関するデータを捕らえて分析することは重要です.あなたは積極的にシステムの障害を回避し、スムーズなユーザーエクスペリエンスを確保するためにあなたのWebアプリケーションの安定性とパフォーマンスの問題を解決する必要があります.
マイクロサービスアーキテクチャでは,その課題は,アベイラビリティと性能問題を迅速に解決することである.アプリケーションの可観測性が必要です.また,テレメトリデータを用いて観測可能性を示した.
OpenTelemrationは何ですか?
OpenTelemrationは、OpenCensus(Googleから)とOpenTracking(UTCから)の合併の後、単一のプロジェクトに現れました.プロジェクトは、クラウドネイティブのソフトウェアアプリケーションの組み込み機能を使用してテレメトリデータ(ログ、メトリック、トレース)を目指しています.
OpenTelemstryは、OpenTementTorrent Pythonライブラリを含むテレメトリデータを生成するための遅延の特定の実装を持っています.
現在のリリースをチェックアウトすることができますopentelemetry-python .
OpentElemrationだけテレメトリデータを生成し、分析と可視化のためのデータを送信する場所を決定することができます.この記事ではSigNoz - 我々の解析バックエンドとしてのオープンソースフルスタックアプリケーション性能監視ツール.
Pythonアプリケーション用のOpenTelemMeterから始める手順 インストール サンプルアプリケーションのインストール OpenTelemrationとデータをSignozに送る計装
インストール
Dockerがインストールされているなら、ターミナルで3つのコマンドを使ってSIGNOZを使い始めることができます.他の展開オプションについてはSigNoz documentation .
SIGNOZをインストールしたら、UIにアクセスできます.
Signozダッシュボード
サンプルアプリケーションのインストール
必要条件 Python 3.4以降
システムにPythonをインストールしていない場合は、link . Pythonのバージョンをチェック モンゴル語
あなたが既にあなたのシステムで動いているMongoDBサービスを持っているならば、あなたはこのステップをスキップすることができます.
MacOS用
ダウンロードリンクhttps://docs.mongodb.com/manual/tutorial/install-mongodb-on-os-x/ Linux用https://docs.mongodb.com/manual/administration/install-on-linux/
Windows用https://docs.mongodb.com/manual/tutorial/install-mongodb-on-windows/
MacOSでは、HomebrewのBooks Package Managerを使用してインストールを行います.インストールが完了すると、MongoDBサービスを
MongoDBサービスを開始する
ステップは、Pythonのアプリケーションを取得し、実行する クローンサンプルフラスコアプリリポジトリ
アプリが実行されているかどうかを確認する
これで、ローカルホスト上のアプリケーションのUIにアクセスできます.http://localhost:5000/
ポート5000でアクセスされるPythonアプリのUI
OpenTelemrationとデータをSignozに送る計装 OpentElemental Pythonインストルメンテーションインストール
アプリケーションフォルダには、要件と呼ばれるファイルが含まれます.txt.このファイルにはopentElemental Pythonのインストーメンテーションを設定するすべての必要なコマンドが含まれます.インストーラを開始するために必要なすべての必須パッケージは、このファイルの助けを借りてインストールされます.パスをサンプルアプリケーションのルートディレクトリに更新し、次のコマンドを実行してください.
PIP 3のインストール python 3 - m pip install -- setupツールのアップグレード PIP 3のインストール--キャッシュディレクトリを無効にします アプリケーション固有のパッケージのインストール
この手順は、アプリケーションに固有のパッケージをインストールする必要があります.インストールしたアプリケーションのルートディレクトリにこのコマンドを実行してください.このコマンドはユーザがどのインストーメンテーションパッケージにインストールしてインストールするかを示します.
スパンのエクスポートを構成し、アプリケーションを実行します
あなたはほとんど完了です.最後のステップでは、OTLPエクスポート用のいくつかの環境変数を設定する必要があります.設定する環境変数 ServiceRange Name Count -アプリケーションサービス名(好きな名前) EndpointLineアドレス---------- - OKLP GRPCコレクタエンドポイントアドレス( signozのip ) これらの環境変数の世話をした後、あなたの計装アプリケーションを実行する必要があります.
端末で次のコマンドを使用してこれらをすべて実行します.
アプリケーションの一覧に表示されるPythonアプリケーション
Pythonアプリケーションのメトリクスとトレース
Signozは、簡単にOpenTelemration計器を介してキャプチャメトリックとトレースを可視化することができます.
Signozはボックスの赤メトリックチャートと可視化の付属しています.赤メトリックは次のようになります. 要求の割合 リクエストのエラー率 要求による期間 アプリケーションのレイテンシー、リクエストあたりのリクエスト、エラーパーセンテージ、トップエンドポイントを参照してください
その後、そのタイムスタンプの周りのトレースにドリルダウンするようにレイテンシが高い特定のタイムスタンプを選択することができます.
特定のタイムスタンプでの痕跡の表示
あなたは、遅延を引き起こしている問題を正確に特定するために、Flamamegraphを使うことができます.
各スパンによってとられる正確な期間を示しているフレームワーク
結論
OpentElementはあなたのPythonアプリケーションを楽器に非常に便利になります.次に、SignozのようなオープンソースのAPMツールを使用して、アプリケーションのパフォーマンスを分析することができます.Signozは完全なスタックの可観測性ツールを提供するので、あなたの監視ニーズのために複数のツールを使用する必要はありません.
あなたはGigthubレポを訪問してSignozを試してみることができます👇
Signozを試している間はどんな問題にも直面しているなら、次のように書いてください.[email protected]
あなたがSignozについてもっと読みたいならば👇
Golang Application Performance Monitoring with SigNoz
Nodejs Application Performance Monitoring with SigNoz
ミリ秒のコスト.
金融サービス産業研究所estimates ブローカーの電子取引プラットフォームが競争の後で5ミリ秒であるならば、それはミリセカンドあたりの収益で400万ドルを要するかもしれません.
金融サービス業界ではレイテンシーのコストが高すぎて、今日のほとんどのソフトウェアベースのビジネスについても同じです.半分は、彼らがアプリケーションのサービスを放棄するポイントにユーザー満足度を殺すのに十分です.
あなたの生産環境に関するデータを捕らえて分析することは重要です.あなたは積極的にシステムの障害を回避し、スムーズなユーザーエクスペリエンスを確保するためにあなたのWebアプリケーションの安定性とパフォーマンスの問題を解決する必要があります.
マイクロサービスアーキテクチャでは,その課題は,アベイラビリティと性能問題を迅速に解決することである.アプリケーションの可観測性が必要です.また,テレメトリデータを用いて観測可能性を示した.
OpenTelemrationは何ですか?
OpenTelemrationは、OpenCensus(Googleから)とOpenTracking(UTCから)の合併の後、単一のプロジェクトに現れました.プロジェクトは、クラウドネイティブのソフトウェアアプリケーションの組み込み機能を使用してテレメトリデータ(ログ、メトリック、トレース)を目指しています.
OpenTelemstryは、OpenTementTorrent Pythonライブラリを含むテレメトリデータを生成するための遅延の特定の実装を持っています.
現在のリリースをチェックアウトすることができますopentelemetry-python .
OpentElemrationだけテレメトリデータを生成し、分析と可視化のためのデータを送信する場所を決定することができます.この記事ではSigNoz - 我々の解析バックエンドとしてのオープンソースフルスタックアプリケーション性能監視ツール.
Pythonアプリケーション用のOpenTelemMeterから始める手順
インストール
Dockerがインストールされているなら、ターミナルで3つのコマンドを使ってSIGNOZを使い始めることができます.他の展開オプションについてはSigNoz documentation .
git clone https://github.com/SigNoz/signoz.git
cd signoz/deploy/
./install.sh
あなたは、ストレージオプションとしてClickhouseまたはKafka +ドルイドの間で選択するオプションがあります.ClickHouseデータベースを使用したSignozを試してみると1.5 GBのメモリがなくなり、このチュートリアルではそのオプションを使用します.SIGNOZをインストールしたら、UIにアクセスできます.
http://localhost:3000
ダッシュボードに表示されるアプリケーション一覧は、Signozインストールパッケージに付属しているホットR . O . Dと呼ばれるサンプルアプリケーションからです.Signozダッシュボード
サンプルアプリケーションのインストール
必要条件
システムにPythonをインストールしていない場合は、link . Pythonのバージョンをチェック
python3 --version
端末が正しくインストールされているかどうかを確認します.あなたが既にあなたのシステムで動いているMongoDBサービスを持っているならば、あなたはこのステップをスキップすることができます.
MacOS用
ダウンロードリンクhttps://docs.mongodb.com/manual/tutorial/install-mongodb-on-os-x/
Windows用https://docs.mongodb.com/manual/tutorial/install-mongodb-on-windows/
MacOSでは、HomebrewのBooks Package Managerを使用してインストールを行います.インストールが完了すると、MongoDBサービスを
brew services start mongodb/brew/[email protected]
あなたのMacOS端末で.MongoDBサービスを開始する
ステップは、Pythonのアプリケーションを取得し、実行する
git clone https://github.com/SigNoz/sample-flask-app.git
cd sample-flask-app
python3 app.py
Pythonアプリケーションの端末からの実行これで、ローカルホスト上のアプリケーションのUIにアクセスできます.http://localhost:5000/
ポート5000でアクセスされるPythonアプリのUI
OpenTelemrationとデータをSignozに送る計装
アプリケーションフォルダには、要件と呼ばれるファイルが含まれます.txt.このファイルにはopentElemental Pythonのインストーメンテーションを設定するすべての必要なコマンドが含まれます.インストーラを開始するために必要なすべての必須パッケージは、このファイルの助けを借りてインストールされます.パスをサンプルアプリケーションのルートディレクトリに更新し、次のコマンドを実行してください.
pip3 install -r requirements.txt
インストール中にハングするならgrpcio
PPP 3のインストール中にOpenTelemration輸出OTLPは、次の手順に従って以下のとおりthis stackoverflow link .この手順は、アプリケーションに固有のパッケージをインストールする必要があります.インストールしたアプリケーションのルートディレクトリにこのコマンドを実行してください.このコマンドはユーザがどのインストーメンテーションパッケージにインストールしてインストールするかを示します.
opentelemetry-bootstrap --action=install
あなたはほとんど完了です.最後のステップでは、OTLPエクスポート用のいくつかの環境変数を設定する必要があります.設定する環境変数
端末で次のコマンドを使用してこれらをすべて実行します.
OTEL_RESOURCE_ATTRIBUTES=service.name=pythonApp OTEL_METRICS_EXPORTER=none OTEL_EXPORTER_OTLP_ENDPOINT="http://<IP of SigNoz>:4317" opentelemetry-instrument python3 app.py
Ip of SigNoz
この場合、localhostに置き換えられます.したがって、最終コマンドは次のようになります. OTEL_RESOURCE_ATTRIBUTES=service.name=pythonApp OTEL_METRICS_EXPORTER=none OTEL_EXPORTER_OTLP_ENDPOINT="http://localhost:4317" opentelemetry-instrument python3 app.py
そして、おめでとう!あなたのサンプルPythonアプリケーションを計装している.これで、SIGNOZダッシュボードにアクセスできますhttp://localhost:3000 パフォーマンスメトリクスのあなたのアプリケーションを監視する.アプリケーションの一覧に表示されるPythonアプリケーション
Pythonアプリケーションのメトリクスとトレース
Signozは、簡単にOpenTelemration計器を介してキャプチャメトリックとトレースを可視化することができます.
Signozはボックスの赤メトリックチャートと可視化の付属しています.赤メトリックは次のようになります.
その後、そのタイムスタンプの周りのトレースにドリルダウンするようにレイテンシが高い特定のタイムスタンプを選択することができます.
特定のタイムスタンプでの痕跡の表示
あなたは、遅延を引き起こしている問題を正確に特定するために、Flamamegraphを使うことができます.
各スパンによってとられる正確な期間を示しているフレームワーク
結論
OpentElementはあなたのPythonアプリケーションを楽器に非常に便利になります.次に、SignozのようなオープンソースのAPMツールを使用して、アプリケーションのパフォーマンスを分析することができます.Signozは完全なスタックの可観測性ツールを提供するので、あなたの監視ニーズのために複数のツールを使用する必要はありません.
あなたはGigthubレポを訪問してSignozを試してみることができます👇
Signozを試している間はどんな問題にも直面しているなら、次のように書いてください.[email protected]
あなたがSignozについてもっと読みたいならば👇
Golang Application Performance Monitoring with SigNoz
Nodejs Application Performance Monitoring with SigNoz
Reference
この問題について(モニタのPythonアプリケーションをOpenTementDirectoryとSignoz📊🐍), 我々は、より多くの情報をここで見つけました https://dev.to/signoz/monitor-your-python-application-with-opentelemetry-and-signoz-2gciテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol