facebook twitter hatena line email

「Cacti/nginxレスポンス集計」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(ページの作成:「=nginxレスポンスタイム集計= */etc/nginx/nginx.conf log_formatの最後に処理時間(秒)"$request_time"を追加する log_format main '$remote_addr - $rem...」)
 
 
(同じ利用者による、間の7版が非表示)
行1: 行1:
 
=nginxレスポンスタイム集計=
 
=nginxレスポンスタイム集計=
 
*/etc/nginx/nginx.conf
 
*/etc/nginx/nginx.conf
log_formatの最後に処理時間(秒)"$request_time"を追加する
+
log_formatの$http_user_agentの前に処理時間(秒)$request_timeを追加する
 
  log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
 
  log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
 
                       '$status $body_bytes_sent "$http_referer" '
 
                       '$status $body_bytes_sent "$http_referer" '
                       '"$http_user_agent" "$http_x_forwarded_for" "$request_time" ';
+
                      '$request_time ' # この行を追加
 +
                       '"$http_user_agent" "$http_x_forwarded_for" ';
  
 
==バーチャルホストで仕切ったレスポンスのみを取得する場合は==
 
==バーチャルホストで仕切ったレスポンスのみを取得する場合は==
<<nowiki />VirtualHost *:8080>
+
個別ログを有効にする
  ServerName example.test.com
+
*/etc/nginx/conf.d/sample1.conf
  DocumentRoot "/var/www/zend/example/public"
+
access_log  /var/log/nginx/sample1.access.log main;
  HostNameLookups off
+
  UseCanonicalName on
+
  CustomLog logs/aptime_example_log apachetime env=!aptimenolog #この場所に追加
+
  <<nowiki />Directory "/var/www/zend/example/public">
+
    Options Indexes FollowSymLinks Includes ExecCGI
+
    AllowOverride All
+
    Allow from All
+
  </Directory>
+
  </VirtualHost>
+
以下記事記述のaptime_logをaptime_example_logに変更で使えます。
+
  
 
==レスポンスタイム集計バッチ==
 
==レスポンスタイム集計バッチ==
*/etc/httpd/cacti/aptime.sh
+
*/etc/nginx/cacti/nginxtime.sh
 
  #!/bin/bash
 
  #!/bin/bash
  tail /etc/httpd/logs/aptime_log -n 1000|  awk '{ sum += $10} END {print sprintf("aptime:%d", int(sum/1000000))}'
+
  tail /var/log/nginx/host.access.log -n 1000|  awk '{ sum += $12} END {print sprintf("nginxtime:%d", int(sum))}'
  
 
==バッチの権限を755に==
 
==バッチの権限を755に==
  chmod 755 /etc/httpd/cacti/aptime.sh
+
  chmod 755 /etc/nginx/cacti/nginxtime.sh
 +
 
 +
==後はこちらと同じ==
 +
[[cacti/apacheレスポンス集計]] [ショートカット]
 +
 
 +
記事中のaptimeをnginxtimeに変更
 +
 
 +
==参考==
 +
http://actinium.org/devel/apache/log-format

2015年5月22日 (金) 16:58時点における最新版

nginxレスポンスタイム集計

  • /etc/nginx/nginx.conf

log_formatの$http_user_agentの前に処理時間(秒)の$request_timeを追加する

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                     '$status $body_bytes_sent "$http_referer" '
                     '$request_time ' # この行を追加
                     '"$http_user_agent" "$http_x_forwarded_for" ';

バーチャルホストで仕切ったレスポンスのみを取得する場合は

個別ログを有効にする

  • /etc/nginx/conf.d/sample1.conf
access_log  /var/log/nginx/sample1.access.log  main;

レスポンスタイム集計バッチ

  • /etc/nginx/cacti/nginxtime.sh
#!/bin/bash
tail /var/log/nginx/host.access.log -n 1000|  awk '{ sum += $12} END {print sprintf("nginxtime:%d", int(sum))}'

バッチの権限を755に

chmod 755 /etc/nginx/cacti/nginxtime.sh

後はこちらと同じ

cacti/apacheレスポンス集計 [ショートカット]

記事中のaptimeをnginxtimeに変更

参考

http://actinium.org/devel/apache/log-format