Apacheのログ出力方法とローテーションについて

このQ&Aのポイント
  • Apacheのログ出力方法とローテーションについて教えてください。
  • エラーログとアクセスログのログローテーションは別サーバのUNIXクーロンと作成したプログラムを用いて行なっていますが、WLLogfileで出力するログについてはローテーションが行なえません。
  • プラグインログはhttpd.conf内で設定していますが、それを避けるためにApacheのhttpd.confのrotatelogsでログローテーションを行いたいと思っています。
回答を見る
  • ベストアンサー

Apacheのログ出力方法とローテーションについて

Apacheのログ出力方法とローテーションについて教えてください。 apacheとweblogicとJavaを使ってweb開発をしています。 現状、httpd.confでエラーログとアクセスログを出力していて、今度からWebLogicの プラグインログ(WLLogFile)を追加出力しようと考えています。 エラーログとアクセスログのログローテーションは別サーバのUNIXクーロンと作成した プログラムを用いて行なっていますが、今度追加するプラグインログをローテーション するとなるとそのプログラムに修正が入ってしまうため、それを避けるためにApacheの httpd.confのrotatelogsでログローテーションを行いたいと思っています。 色々調べて見てエラーログとアクセスログについてはログローテーションは できたのですが、WLLogfileで出力するログについてはローテーションが行なえません。 rotatelogsではそもそもエラーログとアクセスログ以外はローテーションできないのか、 それとも自分のやり方が間違っているのか分からなくなってきてしまったため、質問 させて頂いてます。 ちなみにプラグインログはhttpd.conf内で以下のように設定しています。 #Weblogic Config <IfModule mod_weblogic.c> WebLogicHost サーバのIPアドレス WebLogPort ポート番号 MachExpressoion *.* Debug ERR WLLogFile "C:/Apache/logs/wlproxy.log" ☆やりたいことのイメージ↓ #WLLogFile "|C:/Apache/bin/rotatelogs C:/Apache/logs/wlproxy.log 86400" </IfModule> 環境は以下です。 Apache/2.2.9(Win32) Windows Server 2003 宜しくお願いします。

  • waam
  • お礼率60% (3/5)

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

こんにちは >環境は以下です。 >Apache/2.2.9(Win32) >Windows Server 2003 すみません・・・、完全に見落としてました・・・。 WindowsならVBSとか。 サンプル書こうと思ったら、ちょうどいいのがあったので。 http://blogs.grf-design.com/archives/2007/08/windows_logrota.html 申し訳ないです・・・。

参考URL:
http://blogs.grf-design.com/archives/2007/08/windows_logrota.html
waam
質問者

お礼

度々のご回答、ありがとうございます。 やはりWindows環境下でのApacheによるログローテは難しいようですね。 分かり易いVbsのページを教えて頂きありがとうございます。これを参考に他の対策も含めて検討してみたいと思います。

その他の回答 (1)

回答No.1

こんばんは。 普通は、 /etc/logrotate.conf これで設定しますが・・・。 不都合は?

waam
質問者

お礼

ご回答頂きありがとうございます!! /etc/logrotate.conf ということは恐らくUnixまたLinux環境でApacheの環境構築をされた場合このやり方が可能なのかと思いますが、Windows環境下でこの方法に該当する方法が知りたいのです。

関連するQ&A

  • apacheのログについて

    Solaris10において、Apache2.2.8を使用しています。 httpd.confのListenを80から変更したところ、アクセスログ(/usr/local/apache2/logs/access_log)が出力されなくなりました。 再起動してもダメです。 Listenポート番号の変更でログの出力に影響が出るのでしょうか? ご教授お願いします。

  • apacheのアクセスログのファイル名について

    【環境】 centos4.5 apache2.2.6 現在、テストの為、アクセスログを5分ごとにローテーションさせて、 ファイル名には「年月日時分秒」が入るように設定してますが、 出力されるアクセスログファイル名の時刻がおかしくて困ってます。 【httpd.confの設定値】 CustomLog "|/usr/local/apache2/bin/rotatelogs /usr/local/apache2/logs/access_log.%Y%m%d%H%M%S 300" combined 15時55分に出力されたファイル名 access_log.20071104065500 16時5分に出力されたファイル名 access_log.20071104070500 上記のように 15時だと06 16時だと07 になってしまいます。 年・月・日・分・秒は正確にファイル名に入るのですが、 時だけおかしいです。 dateコマンドだと正常に表示されます 2007年 11月 4日 日曜日 16:44:02 JST 原因が分からず困っています。 どなたか教えて下さい。宜しくお願いします。

  • apacheとサーバについて

    apacheとtomcat、サーバ接続についてくわしいかたお願いします。 環境: Windows vista Apache2.0.61 Tomcat5.5.25 で tomcatとapacheは単独でうごきますし、 mod_jkを使い、apacheとtomcatを連携させました。 その際のhttpd.confには以下を追記しました。 末尾 <IfModule mod_jk.c> JkWorkersFile "C:\Program Files\Apache Group\Apache2\conf\workers.properties" JkLogFile logs\mod_jk.log JkLogLevel warn JkMount /*.jsp worker1   →(1) JkMount /servlet/* worker1     →(2) JkMount /examples/* worker1    →(3) JkMount /tomcat-docs/* worker1   →(4) </IfModule> において(4)は自分で作成(追加)しhttp://localhost/tomcat-docs/でみることができました。 しかし(3)においてはexampleに対応するファイルがtomcatに入ってなかったため、見れないのはわかります。 ここで(1)ですがこれはjspファイルを見れるようにするという意味ですよね? ということは もし、自分で○×.jspというファイルをlocalhostで見たい場合は httpd.confに JkMount /○×/* worker1と追加すればみれるということでしょうか? 追記して確認したところwebページがみつかりませんとの表示があります。 また、localhostでなく外部から○×.jspに接続されることを考えた場合、http://localhost/○×.jsp/のlocalhostに自分のIPアドレスを入れてあげれば外部からもみることができますよね? 質問ばかり&拙い文章ですいません。 なお○×.jspは C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\rootsの直下に入っています。 httpd.confと、サーバ接続の編集があいまいになっています。

  • /var/log/httpd/error_logに大量のエラーログ

    お世話になります。 サーバを運用しているんですが、/var/log/httpd/error_logに大量のエラーログが出ます。 環境 CENTOS4 PHP5.1.6 mysql5 apache2.0 /etc/httpd/conf/httpd.confのerror_log部分はコメントアウトして再起動しました。 エラーログをはいているなにがしかのconf設定部分があるとおもい、ずっと探しているのですが、まったくわかりません。エラーログを吐かないようにしたいのですが、どうにか良い方法ございませんでしょうか。 エラーログの中身ですが、すぐいっぱいになるため、中身を見ようと思っても容量が大きすぎてコマンドラインから開くこともままなりません。大体一時間で50G程度のエラーログが出ています。 お忙しいところ大変申し訳ございませんがどうぞよろしくお願いします。

  • Apacheのログについて

    apacheのログの設定について苦戦しています ログローテートをしたいのですが出来ません。 ログの書式を設定したいのですが 解決方法を教えていただけないでしょうか。 httpd.confで次の設定をしています。 ・ログローテートについて CustomLog "|/opt/apache/bin/rotatelogs /opt/apache/logs/access_log.%Y%m%d 86400" hoge CustomLog "|/opt/apache/bin/rotatelogs /opt/apache/logs/error_log.%Y%m%d 86400" hoge ・ログの書式について [日時] [ホスト名] [情報レベル] [詳細] という風に設定したいです。 次の設定にしています。 LogFormat "%t %h %l %u %t \"%r\" %>s %b" hoge その他の設定はほとんどデフォルトから変更しておりません。 OS : centos 4.6 Apache version: 2.2.11 以上です。よろしくお願いします。m(_ _)m

  • apacheのバーチャルホストについて

    恐れ入ります。 linuxでサーバーの運営をしてみようかなと思っているのですが、windows xp proで試しにapacheを入れてみてドメインを2つ取得してhttpd.confのバーチャルホストについて記述してみました。 その際に以下をつけたして新しいドメインでブラウザからアクセスしてみたら普通にアクセスできました。どこかのサイトでDNSサーバーを自分のlinuxにたちあげないといけないみたいなことが書いてあったのですが、linuxの場合はdnsサーバーをたちあげないといけないのでしょうか?教えてください。 <VirtualHost xxx.xxx.x.xx> ServerAdmin xxx@xxx.com DocumentRoot "C:\Program Files\Apache Group\Apache2\aaa" ServerName 新しいドメイン ErrorLog logs/dummy-host.example.com-error_log CustomLog logs/dummy-host.example.com-access_log common </VirtualHost>

  • apache でバイナリのCGIを動かすには

    apache でバイナリのCGIを動かすにはどうすればよいのでしょうか? (なお、プログラム自体に問題は決してありません。『HTTPD』を使うと問題なく動作します) OS:WIN98 C++バイナリのCGIを呼び出すと下記エラーとなります。 Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please .... the error. More ... log. - Apache/1.3.12 Server at http://127.0.0.2/ Port 80 最終アクセスログ 127.0.0.1 - - [12/Mar/2001:23:20:27 +0900] "GET /ab.cgi HTTP/1.1" 500 610 最終エラーログ [Mon Mar 12 23:20:25 2001] [error] [client 127.0.0.1] Premature end of script headers: e:/www.homepage/kokucho81/ab.cgi apache の httpd.conf と httpd.conf.default との比較 ** httpd.conf ServerName http://127.0.0.2/ ** httpd.conf.default #ServerName new.host.name ** httpd.conf DocumentRoot "E:/WWW.HOMEPAGE/KOKUCHO81" ** httpd.conf.default DocumentRoot "C:/Apache/htdocs" ** httpd.conf <Directory /> Options FollowSymLinks ExecCGI AllowOverride None ** httpd.conf.default <Directory /> Options FollowSymLinks AllowOverride None ** httpd.conf <Directory "E:/WWW.HOMEPAGE/KOKUCHO81"> ** httpd.conf.default <Directory "C:/Apache/htdocs"> ** httpd.conf Options Indexes FollowSymLinks ExecCGI ** httpd.conf.default Options Indexes FollowSymLinks MultiViews ** httpd.conf AddHandler cgi-script .cgi ** httpd.conf.default #AddHandler cgi-script .cgi そもそも、設定が足りてないんでしょうか? apacheを良く使う方、よろしくお願いします。m(_ _)m

  • Apache2.2 Aliasについて

    http://www.adminweb.jp/apache/docroot/index3.html 上のサイトを参考に、ドキュメントルート以外の場所へアクセスできるようにしたいんですが 参考サイト通りにやっても、うまく動きません。 httpd.confは <IfModule alias_module> Alias /labo/ "C:/Apache_Server/data/" <Directory "C:/Apache_Server/data"> Allow from all </Directory> ScriptAlias /cgi-bin/ "C:/Apache_Server/Apahce2.2/cgi-bin/" </IfModule> このように書いています。 (ServerRoot は "C:/Apache_Server/Apahce2.2" DocumentRoot は "C:/Apache_Server/Apahce2.2/htdocs"です) C:\Apache_Server\data に index.htmlを置き http://localhost/labo/index.html へアクセスしても Not Found The requested URL /labo/index.html was not found on this server. と表示されます。 環境はApache2.2、windows7です。 どこか間違っているところがあるのでしょうか? よろしくお願いいたします。

  • apache2のログの分け方について

    自宅サーバーでBBSのCGIを動かしています。 VineLinux3.2+Apache2 長すぎるリクエストのログを残さないように LogFormat "%h %l %u %t \"%!414r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined とhttpd.confに記入してうまく機能しています。 そのほかに不正なアクセス(主に海外から)をドメインやIPアドレスで 制限しているのですが、ログに403エラーがたくさん残ってしまいます。 上記の方法で"414"の部分を"403"に書き換えても機能せず 大量のログが残ってしまいます。 ログを残さないようにするために何か良い方法はないでしょうか?

  • 特定のパラメータを含む時、出力ログを分けたい

    リクエストに、「id_num」というパラメータが含まれていた時 出力ログを分けたいのですが、うまく出力されません。 #アクセスログ(例) 111.222.333.4449 - - [01/Jul/2009:12:34:56 +0900] "GET /index.php?a=st&t=menu&id_num=dq001&ui=s5650 HTTP/1.1" 200 125 "-" "DoCoMo/2.0 P905i(c100;TB;W24H15)" "xxxxxx" "-" "-" http.confは、以下のように設定を行っています。 #リクエストに「id_num」が含まれているもの抽出 SetEnvIf Request_URI "id_num" idnumlog #標準ログ(PCアクセス) CustomLog "|/usr/sbin/rotatelogs /var/log/httpd/access_log.d/pc/pc.%Y%m%d 86400 540" combinedpc #「id_num」が含まれているログのみ(モバイルアクセス) CustomLog "|/usr/sbin/rotatelogs /var/log/httpd/site_id.d/mob/mob.%Y%m%d 86400 540" combinedmobile env=idnumlog SetEnvIf Request_URIの書き方が悪いのでしょうか? よろしくお願い致します。