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

推薦する

Mac に MySQL データベースをインストールし、環境変数を設定するためのグラフィック チュートリアル

目次MySQLをインストールする環境変数の設定MySQLをインストールするmysqlをダウンロードし...

sed コマンドを使用してファイルの特定の行を効率的に削除する方法

序文通常、ファイル内の特定の行を削除したい場合は、まずファイルを開き、削除する内容を見つけて、これら...

Dockerコンテナ接続実装手順の分析

一般的に言えば、コンテナが起動した後、ポート マッピングを通じてコン​​テナが提供するサービスを使用...

MySQL 5.7.17 winx64 のインストールと設定のグラフィックチュートリアル

MySQL のインストールに関する以前のメモを要約して、皆さんと共有しました。ステップ 1: mys...

MySQL 学習ノート: データ エンジン

現在のデータベースでサポートされているエンジンを表示します エンジンを表示 +-----------...

Net Core実装プロセス分析のDoc​​kerインストールと展開

1. Dockerのインストールと設定 #CentOS をインストールし、Docker パッケージを...

初心者向け入門チュートリアル: ドメイン名の解決とバインディング

では、ドメイン名を登録して仮想ホストを購入した後、IE でドメイン名を入力して Web サイトを開く...

MySQL主キー命名戦略関連

最近、データライフサイクル管理の詳細を整理していたときに、小さな問題を発見しました。それは、MySQ...

MySQL 5.7.17 winx64 解凍版のインストールと設定方法のグラフィックチュートリアル

この記事では、MySQL 5.7.17 winx64解凍版のインストールと設定方法を紹介します。具体...

MySQL接続クエリにおけるととwhereの違いの簡単な分析

1. テーブルを作成する テーブル「学生」を作成( `id` int(11) NULLではない、 `...

MySQL テーブルを作成するためによく使用される SQL ステートメントの概要

最近、私はプロジェクトに取り組んでおり、背景を記述するために SQL ステートメントを使用する必要が...

ウェブページを自動更新するための 3 つのコード

実際、この効果を実現するのは非常に簡単で、この効果は特殊効果と呼ぶことすらできません。次のコードを ...

WindowsでcmdからDOSウィンドウに入り、MySQLデータベースにアクセスします。

1. win + R を押して cmd と入力し、DOS ウィンドウに入ります。 2. MySQL...

各 Nginx プロセスで開くことができるファイルの最大数を設定する方法

1. システム内で開いているファイルの最大数を確認する #現在のリソース制限設定を表示する ulim...

JSはreduce()メソッドを使用してツリー構造データを処理します

目次意味文法例1. 初期値initが渡されない2. 初期値を渡す場合3. アレイの重複排除4. Re...