ツール実行環境を構築するサーバに以下のツールがインストールされていることを前提とします。
環境を構築する各ソフトウェアは以下のバージョンで動作確認をおこなっています。
- Grafana: 9.1.8
- Grafana Loki: 2.6.1
- InfluxDB: 2.4.0
- Prometheus: v2.39.1
- Python: 3.10.0
- Chaos Toolkit: 1.12.0
- JMeter: 5.5
- Java 8+ が必要
- Node Exporter: 1.4.0
compose-sample.yamlをコピーしてcompose.yaml
を作成します。
cp compose-sample.yaml compose.yaml
以下を参考にして必要な設定ファイルの作成とcompose.yaml
の編集を行います。
ツール実行環境を構築するサーバ上にcompose.yaml
を配置し以下のコマンドを実行します。
docker compose up
起動後にGrafana
のUIにWebブラウザでアクセスし(デフォルトだとURLはhttp://ホスト名:3000
、ログインに必要なusernameとPasswordはどちらもadmin)、以下を参考にしてGrafana
に各データソースを連携します。
以下の手順にしたがって実験対象システムのリソース情報を取得したいサーバにNode Exporterを導入します。
ツール実行環境を構築するサーバにChaos Toolkit
をインストールします。
Chaos ToolkitのインストールはHow to Install the Chaos Toolkitを参照してください。Chaos Toolkitの実行ログをGrafana Lokiに送信する場合は、chaostoolkit-grafanaのインストール手順にしたがいchaostoolkit-grafanaのインストールも行ってください。
障害シミュレーションツールのGitHubリポジトリを参照して、Chaos Toolkitをインストールしたサーバに障害シミュレーションツールの導入をおこなってください。
ツール実行環境を構築するサーバにJMeter
をインストールします。
JMeter
をインストールする環境にJava
がインストールされていない場合は、Java 8以上のバージョンのJavaのインストールも行ってください。
JMeterは https://jmeter.apache.org/download_jmeter.cgi からダウンロードして解凍を行ってください。
解凍後に以下のコマンドを参考にして~/.bashrc
などでJMeterの実行ファイルにパスを通してください。
export JMETER_HOME=/home/centos/apache-jmeter-5.5
export PATH=$JMETER_HOME/bin:$PATH
JMeter
の実行結果をGrafana
で可視化するために、JMeterの設定を参考にしてJMeterシナリオファイルにBackend Listenerの設定を行ってください。
本ツールではGrafanaをInfluxDBやPrometheusと連携して、HTTPリクエスト実行結果を用いたアプリケーションの監視や、Node Exporterから取得した情報を用いたリソースの監視がおこなえます。
それぞれ以下の手順にしたがって設定をおこなってください。