Nginx Plusのダッシュボード機能を利用するための備忘録です。
せっかく共有ゾーンとか作りましたので、どんな感じで見れるのかを確認したいと思います。
1. Nginx設定変更
nginx.confの内容を修正します。serverディレクティブに下記のように設定を差し込みます。
vim /etc/nginx/nginx.conf
server {
# ~~省略~~
location /api {
api write=on;
}
location = /dashboard.html {
root /usr/share/nginx/html;
}
location / {
proxy_pass http://backend/example/;
# ~~省略~~
:wq
nginx -t
systemctl restart nginx
「location /api~」の部分はAPIを使用してアップストリームグループを再構成したり、収集された統計のセットをクリアしたりする場合のパラメータのようです。
「location = /dashboard.html」はダッシュボードをページの実体ですね。
2. ダッシュボードへのアクセス
では、ダッシュボードへアクセスします。
https://ipaddress/dashboard.html
前回設定したCluster、共有メモリゾーン、Upstream、あとコネクション情報など出てきました。
せっかくなので、簡易的なスクリプトを用いてコネクション情報などちゃんと遷移しているか確認してみました。別ノードから下記のスクリプトを実行しています。
※スクリプトは以前EFS試験で参考にさせていただいた下記URLから一部流用して今回用に変更しています。
vim performance.sh
# !/bin/bash
for i in {1..250}
do
curl -o /dev/null \
-s \
-w "%{time_starttransfer}\n" \
https://www.nginx.local/SampleServlet --cacert nginx-cacert.pem
done
:wq
bash performance.sh
確かに画面右側のReq/Sが増えていました。
何やらHTTP Upstream画面でWarningsが出てますので、確認してみました。
特に問題なさそうだと思いつつ見てみたらResponses欄に4xxがありました。
試しにNginxを2台ともリスタートしてみましたところ
Warningsは消えました。
前回の記事でご紹介させていただいた共有メモリゾーンの情報もshared Zoneから見ることができました。
3. その他
今回はNginx Plusのダッシュボードについて試してみました。設定している内容が少ない分、表示され内容も少なかったようですがコネクションリミット制御とかしている場合、ほかのパラメータも閲覧できるようなのでKibanaとかで可視化している環境化では色々な組み合わせができるのではないかとおもいました。
ただ、実運用ではパフォーマンス面やNginx Plusが実行されているノードではなく別のノードでAPI経由で情報をGetしてダッシュボードを表示したりとかの考慮が必要なのか?どうするべきなのか?などベストプラクティス的なものがあれば知りたいと感じました!(どなたか知見をお持ちの方がいればご教授いただけると幸いです。)