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のリソースとアクティベーション方法は、白黒のコマンドラインに別れを告げます

推薦する

パーソナライズされたクリエイティブなウェブサイトデザインの例 (30)

そこで、個性的なスタジオやフリーランスを表現する組み合わせを 30 個選びました。デザインを目立たせ...

Windows システムに mysql5.7.21 をインストールするための詳細なチュートリアル

MySQL インストーラーは、MySQL ソフトウェアのあらゆるニーズに対応する、使いやすいウィザー...

js を使ってシンプルな虫眼鏡効果を実現

この記事の例では、参考までに簡単な虫眼鏡効果を実現するためのjsの具体的なコードを共有しています。具...

MySQL の起動オプションとシステム変数の例の詳細な説明

目次ブートオプションコマンドラインパラメータの長い形式と短い形式設定ファイル構成グループシステム変数...

MySQLを監視するためのbinlogログ解析ツールの詳しい説明:Canal

Canal は、Java を使用して開発された Alibaba のオープンソース プロジェクトです...

雨滴効果を実現する JavaScript キャンバス

この記事では、雨滴効果を実現するためのJavaScriptキャンバスの具体的なコードを参考までに紹介...

Linux システムの仮想ホストで Swoole Loader 拡張機能を有効にする方法

特記事項: Swoole 拡張機能のみがインストールされ、サーバーはホストにインストールされません。...

Dockerはmacvlanをベースにホスト間コンテナ通信を実装する

2 台のテスト マシンを見つけます。 [root@docker1 centos_zabbix]# d...

Linux+ApacheサーバURLの大文字と小文字の区別の問題を解決する

今日、問題が発生しました。ブラウザのアドレスバーにURLアドレスを入力する際、ページを正常にアクセス...

ヘッダーのチェックボックスをテキスト実装コードに変更するための選択テーブルを持つ要素

方法1: テーブル属性を使用する: header-cell-class-name テーブルインターフ...

MySQLトランザクションの特徴と分離レベルについてお話ししましょう

インターネットにはすでにこの種の記事が溢れていますが、私がこれをまだ書いている理由は単純です。それは...

Vue3 における computed の新しい使用例のまとめ

vue3 での computed の使い方。vue3 は vue2 のオプション API と互換性が...

html2canvas で破線境界線を実装する例

html2canvas は、HTML 要素からキャンバスを生成するライブラリです。描画されるキャンバ...

Vue3.0 手書き拡大鏡効果

達成される効果は、固定ズームが 2 倍になり、マウスが左側の画像領域に入るとマスク レイヤーが表示さ...

新しいウィンドウで開くジャンプメニュー、window.open の使い方の紹介

コードをコピーコードは次のとおりです。 <前> <div> <sele...