linux サーバー監視 webサーバーのデーター取得
sorry Japanese only
作成日 2015/06/06
最終更新日 2015/06/06
page size = Mbyte


webサーバー、apacheに関しては、以下の項目の dataを取得しています
pagehit数
error.logの推移
gazou.logの推移

error.logは、apacheが記録した errorの行数を
gazou.logは、httpd.confにて jpgや pngを別 logに記録取るようにしているのですが、それの推移を
記録取っていきます

それぞれ以下のように dataを取得しています


webサーバーの pagehit数

apacheの標準機能 server-statusページの Total accessesの項目の数字を利用します

Apache Server Status for miya0.dyndns.org (via 192.168.1.62)

Server Version: Apache/2.4.9 (Unix) PHP/5.5.12
Server MPM: event
Server Built: Jun 1 2014 17:04:34

Current Time: Saturday, 06-Jun-2015 17:37:52 JST
Restart Time: Tuesday, 31-Mar-2015 04:03:08 JST
Parent Server Config. Generation: 3
Parent Server MPM Generation: 2
Server uptime: 67 days 13 hours 34 minutes 44 seconds
Server load: 0.00 0.01 0.05
Total accesses: 735072 - Total Traffic: 23.5 GB              <=== この行
CPU Usage: u5070.4 s3089.35 cu1.36 cs3.39 - .14% CPU load
.126 requests/sec - 4328 B/second - 33.6 kB/request
1 requests currently being processed, 99 idle workers

上記ページより 735072という数字を取得し、前回取得した dataからの差分を mysqlへ保存します

まず必要なのは、shスクリプトから webの閲覧を行えるようにすること
これには、linxと言うアプリケーションをインストールします
後は、linxで server-statusのページをファイルに保存し、grepや sed、awkを使って、目的の 735072を抽出します
それを mysqlに記録していた N-1の dataと引き算し、単位時間当たりのpagehit数を割り出します


error.log、gazou.logの推移


apacheが標準的に記録する error.logと、私が独自に記録するようにしている gazou.log
の行数を linuxの wcコマンドで取得するだけです
それを mysqlに記録していた N-1の dataと引き算し、単位時間当たりの行数増減を記録していきます


shスクリプトとしては、以下になります

access.sh

1772

戻る?