facebook twitter hatena line email

Cacti/apacheレスポンス集計

提供: 初心者エンジニアの簡易メモ
2015年5月22日 (金) 16:42時点におけるAdmin (トーク | 投稿記録)による版 (バーチャルホストで仕切ったレスポンスのみを取得する場合は)

(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)
移動: 案内検索

apacheレスポンスタイム集計

  • /etc/httpd/conf/httpd.conf
SetEnvIf Request_URI "\.avi$" nolog
SetEnvIf Request_URI "\.css$" nolog
SetEnvIf Request_URI "\.gif$" nolog
SetEnvIf Request_URI "\.htm$" nolog
SetEnvIf Request_URI "\.html$" nolog
SetEnvIf Request_URI "\.ico$" nolog
SetEnvIf Request_URI "\.jpe$" nolog
SetEnvIf Request_URI "\.jpeg$" nolog
SetEnvIf Request_URI "\.jpg$" nolog
SetEnvIf Request_URI "\.js$" nolog
SetEnvIf Request_URI "\.mng$" nolog
SetEnvIf Request_URI "\.mov$" nolog
SetEnvIf Request_URI "\.mpeg$" nolog
SetEnvIf Request_URI "\.mpg$" nolog
SetEnvIf Request_URI "\.png$" nolog
SetEnvIf Request_URI "\.swf$" nolog

LogFormat "%h %t %v \"%r\" %>s %b %D" apachetime
CustomLog /etc/httpd/logs/aptime_log apachetime env=!nolog

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

<VirtualHost *:80>
 ServerName example.test.com
 DocumentRoot "/var/www/zend/example/public"
 HostNameLookups off
 UseCanonicalName on
 CustomLog logs/aptime_example_log apachetime env=!aptimenolog #この場所に追加
 <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
#!/bin/bash
tail /etc/httpd/logs/aptime_log -n 1000|  awk '{ sum += $10} END {print sprintf("aptime:%d", int(sum/1000000))}'

バッチの権限を755に

chmod 755 /etc/httpd/cacti/aptime.sh

スクリプト登録

  1. 管理画面/console/Data Input Methods/右上のAddをクリック
name:Unix - Get Apache Response Time
InputType:script/command
InputString:sh /etc/httpd/cacti/aptime.sh

作成したスクリプトのアウトプットを設定

  1. 管理画面/console/Data Input Methods/Apache Response Time
  2. Output_Fields/Addボタンを押す
Field:aptime
Friendly Name:Apatch Response Time

Fieldのaptimeはaptime.shの"aptime:%d"文字列と合わせる

テンプレート作成

  1. 管理画面/console/Data Templates
  2. 右上のAddボタンをクリック
name:Unix - Apache Response Time
name:|host_description| - Apache Response Time
data method input:Unix - Get Apache Response Time
Associated RRA's:一分以外を全て選択
Internal Data Source Name:aptime
Maximam Value:500
OutPut Field:aptime

データソース登録

  1. 管理画面/console/Data Sources/右上のAdd
Selected Data Template:Unix - Apache Response Time
Host:localhost
  1. rrdのパスが表示されるのでsave

グラフテンプレート追加

  1. 管理画面/console/Graph Templates/右上のAdd
name:Unix - Apache Response Time
title:|host_description| - Apache Response Time
Vertical Label:time(ms)

グラフにデータソースを指定

  1. 先ほど作成したグラフテンプレートを選択
  2. Graph Template Items/add
Data Source:Unix - Apache Response Time(aptime)
Graph Item Type:AREA

グラフの平均値設定を追加

  1. Graph Template Items/add
Graph Item Type:GPRINT
Consolidation Function:LAST
Text Format:"Current:"
Graph Item Type:GPRINT
Consolidation Function:AVERAGE
Text Format:"Average:"
Graph Item Type:GPRINT
Consolidation Function:MAX 
Text Format:"Maximum:"
Insert Hard Return: チェックON

グラフ表示

  1. 管理画面/console/Graph Management/右上のADD
Selected Graph Template:Unix - Apache Response Time
Host:localhost
  1. Dataソースを選択し、Saveする

画像は出るがグラフだけ表示されない場合

上記順序通りに作ってない時は表示されない場合がある。

参考

http://www.aconus.com/~oyaji/suse9.3/cacti_linux2.htm

http://d.hatena.ne.jp/kahze/20090116/1232112915