Docker を使用した JMeter+Grafana+Influxdb 監視プラットフォームの構築に関する詳細なチュートリアル

Docker を使用した JMeter+Grafana+Influxdb 監視プラットフォームの構築に関する詳細なチュートリアル

Jmeter がネイティブの結果表示機能を提供していることは誰もが知っています。ネイティブの結果表示ツールがあるのに、なぜ他のツールを使用して表示する必要があるのでしょうか。豊富な表示コンテンツに加えて、主な理由もいくつかあります。
Jmeter によって提供される結果表示プラグイン自体はパフォーマンスを大量に消費するため、正式なストレス テストでは無効にする必要があります。ただし、スクリプトの実行中に結果をリアルタイムで表示する必要があるため、これを実現するには外部ツールを使用する必要があります。
さらに、実際のストレス テスト プロセスでは、Jmeter グラフィカル モードはデバッグにのみ適しており、ストレス テストには使用しないことに注意してください。グラフィカル ストレス テスト方式では、クライアントのパフォーマンスが消費され、ストレス テスト プロセス中にクライアントの問題が発生するとメモリ オーバーフローが発生しやすくなります。担当者は、コマンドラインから実行するためのヒントも提供しました。次のコマンドを実行します:

jmeter -n -t [jmx ファイル] -l [結果ファイル] -e -o [Web レポート フォルダーへのパス]

-n は JMeter を非 GUI モードで実行することを意味します。

-t は実行する JMeter テスト スクリプト ファイル (通常は jmx で終わるファイル) を示します。

-l は結果が記録されるファイルを示し、デフォルトでは jtl で終わります。-e はテストが完了した後にテスト レポートが生成されることを示します。

-o は生成された結果フォルダーの場所を指定します。

実施原則

次に、Docker を利用して InfluxDB と Grafana を使用し、パフォーマンス可視化監視プラットフォームを構築する方法について詳しく説明します。
InfluxDB のコンセプト: InfluxDB は、外部依存関係なしで Go 言語で記述されたオープンソースの分散型時系列、イベント、およびインジケーター データベースです。現在、データベースは主に、DevOps 監視データ、APP メトリック、IoT センサー データ、リアルタイム分析データなど、大量のタイムスタンプ付きデータを格納するために使用されています。
InfluxDB の概念的な特徴:

  • 非構造化 (スキーマレス): 任意の数の列を指定できます。
  • メトリックの保存時間を設定できます。
  • 統計を容易にするために時間関連の関数(最小、最大、合計、カウント、平均、中央値など)をサポートします。
  • ストレージ ポリシーをサポート: データの削除と変更に使用できます。 (influxDB はデータを削除および変更するためのメソッドを提供しません);
  • 継続的クエリをサポートします。これは、一定の時間にデータベース内で自動的に開始される一連のステートメントです。ストレージ戦略と併用すると、InfluxDB のシステム使用量を削減できます。
  • ネイティブ HTTP サポート、組み込み HTTP API。
  • SQL のような構文をサポートします。
  • クラスター内のデータのコピー数の設定をサポートします。
  • データの定期的なサンプリングと別の測定への書き込みをサポートし、さまざまな粒度でデータを保存することが容易になります。

Grafana のコンセプト: Graphite、Elasticsearch、OpenTSDB、Prometheus、InfluxDB に適した、豊富なインジケーター ダッシュボードとグラフィック エディターを備えたオープン ソース ソフトウェア。簡単に言えば、オープンソースの WEB 可視化プラットフォームです。

JMeter は、ストレス テスト中に統計指標データをリアルタイムで Influxdb データベースに送信するバックエンド リスナーを導入しています。Grafana (オープン ソースの WEB ビジュアル ダッシュボード) データ ソースを Influxdb に接続してビジュアル ダッシュボードを作成し、テスト指標データをリアルタイムで取得します。

InfluxDBをインストールする

docker で influxdb イメージをインストールしてプルします: docker pull influxdb
influxdbコンテナを実行します: docker run --name my_influxdb -p 8086:8086 influxdb

コンテナに入ります: docker exec -it container id /bin/bash

データベースjmeterを作成する

流入
データベースを表示します。
データベース jmeter を作成します。
データベースを表示します。
jmeter を使用します。
jmeter から * を選択します。
出口;

Grafanaをインストールする

Grafana イメージをプルします: docker pull grafana/grafana

コンテナを実行します: docker run --name my_grafana -p 3000:3000 grafana/grafana

Grafana にアクセス: http://ip:3000

ユーザー名とパスワードは両方とも「admin」です

入力後にデータベースを追加する

入力後データベースを設定する

保存してテスト

表示テンプレートを構成する

多くのテンプレートがあり、プレビューして適切なものを選択してダウンロードできます。ダウンロードアドレス: https://grafana.com/grafana/dashboards

jsonファイルをダウンロード

インポートの準備

ダウンロードしたjsonファイルをインポートするだけです。

設定が完了したら、パネルに入ります

ここでリフレッシュレートを設定できます

Jmeter を設定する

Jmeter スクリプトを作成します。

バックエンドリスナーの設定

スクリプトを実行した後、結果を表示できます。

これで、Docker を使用した JMeter+Grafana+Influxdb 監視プラットフォームの構築に関するこの記事は終了です。Docker を使用した JMeter+Grafana+Influxdb 監視プラットフォームの構築の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • PrometheusとGrafanaを使用したMySQLサーバーのパフォーマンス監視の詳細な説明
  • Grafanaのインストールと使用に関する詳細なチュートリアル
  • Grafana を使用して Docker コンテナの監視チャートを表示し、電子メールアラートルールを設定する (図)
  • Prometheus+Grafana を使用した Springboot アプリケーションの監視に関するチュートリアルの詳細な説明
  • Grafana+Prometheus を使用して MySQL サービスのパフォーマンスを監視する
  • docker ベースで Prometheus+Grafana を構築する手順の詳細説明
  • Influx+Grafana のカスタム Python データ収集の概要といくつかの落とし穴
  • SpringBoot+Prometheus+Grafanaでアプリケーション監視とアラームを実装するための詳細な手順
  • Linux で Grafana をインストールし、InfluxDB モニタリングを追加する方法
  • Prometheus+Grafanaによるnginxの監視方法を分析する
  • PrometheusはGrafanaディスプレイを使用してMySQLを監視します
  • Ubuntu で Grafana を使用して Docker を監視する方法
  • Docker 環境で JMeter+Grafana+influxdb ビジュアル パフォーマンス監視プラットフォームを構築するチュートリアル
  • dockerを使用してGrafana+Prometheus構成をデプロイする
  • ELKとGrafanaが共同でnginxログを分析するための視覚的なモニタリングを開発
  • Grafana のパスワードを忘れても大丈夫です。Grafana の管理者パスワードをリセットする 2 つの方法

<<:  elementui での el-cascader カスケードセレクタの実践

>>:  MySQLデスクトップツールSQLyogのリソースとアクティベーション方法は、白黒のコマンドラインに別れを告げます

推薦する

MySQL パフォーマンス ストレス ベンチマーク ツール sysbench の使い方の紹介

目次1. sysbenchの紹介#プロジェクトダウンロードアドレス: 2. Sysbenchのインス...

SCSS スタイルのコードを 50% 削減する 14 の実践的な経験

序文Sass は CSS3 言語の拡張機能です。Sass を使用すると、より良いスタイルシートをより...

nginx設定ファイルの解釈の詳細な説明

nginx 設定ファイルは主に 4 つの部分に分かれています。 main{#(グローバル設定) ht...

Nginx の起動に失敗した場合のいくつかのエラー処理の詳細な説明

Nginx を Web サーバーとして使用する際に、次の問題が発生しました。 1. nginxの起動...

HTML特殊文字の徹底分析

HTML徹底解析(14)特殊文字 ■ よく使われる特殊文字 HTMLタグを知っていれば、特殊文字の使...

CocosCreator で http と WebSocket を使用する方法

目次1. HTTPGET 2. HTTP POSTウェブソケット4. Egretのhttpとwebs...

シームレスなトークンリフレッシュを実現する方法

目次1. 需要方法1方法2方法3 2. 実装3. 問題解決質問1: トークンの複数回の更新を防ぐ方法...

MySQL ルートパスワードエラー番号 1045 の解決方法

MySQLサービスを停止するWindowsでは、マイコンピュータを右クリック--管理--サービスと...

Vue Element フロントエンドアプリケーション開発開発環境の準備

目次概要1. 必要なソフトウェア環境を開発する1) VSコードのインストール2) ノード開発環境をイ...

ライフゲームの JavaScript 実装

目次コンセプト紹介論理的ルール完全なコード主な実装コンセプト紹介セルオートマトンとは、コンピュータの...

CentOS 6.5 インストール mysql5.7 チュートリアル

1. 新機能MySQL 5.7 はエキサイティングなマイルストーンです。デフォルトの InnoDB ...

JavaScript におけるシリアル操作と並列操作

目次1. はじめに2. es5メソッド3. 非同期関数のシリアル実行4. 非同期関数の並列実行5. ...

HTML タグのネスト規則の紹介

XHTML タグには、div、ul、li、dl、dt、dd、h1~h6、p、a、addressa、s...

CSSスクロールバースタイル設定の実装

Webkit スクロールバー スタイルのリセット1. スクロールバーには、スクロールバー ボタンとト...

HTML で入力プロンプトのテキスト スタイルを変更するためのサンプル コード

多くのウェブサイトでは、入力ボックスにヒントテキストが表示されています。入力ボックスにヒントテキスト...