analogのログフォーマット (turn debugging on or try different LOGFORMAT)

Cron からアラートメールが返ってくる。

/etc/cron.daily/logrotate:
/usr/bin/analog: analog version 5.32/Unix
/usr/bin/analog: Warning L: Large number of corrupt lines in logfile stdin:
turn debugging on or try different LOGFORMAT
(For help on all errors and warnings, see docs/errors.html)
Current logfile format:
%v %S %j %u [%d/%M/%Y:%h:%n:%j] "%j%w%r%wHTTP%j" %c %b "%f" "%B"\n
%S %j %u [%d/%M/%Y:%h:%n:%j] "%j%w%r%wHTTP%j" %c %b "%f" "%B"\n
%S %j %u [%d/%M/%Y:%h:%n:%j] "%j%w%r" %c %b "%f" "%B"\n
%S %j %u [%d/%M/%Y:%h:%n:%j] "%r" %c %b "%f" "%B"\n

analog のログフォーマットが違うみたいだ。Apache のログ形式は combined なので、analogの LOGFORMAT ( /etc/analog.cfg ) を確認。なかったので末尾に以下を追記。

LOGFORMAT COMBINED

Apache のログ形式を変更したときには見直すことを忘れずに。

サーバ管理ツール Plesk アップデートエラー対処法

サーバ管理ツールである Parallels Plesk Panel をバージョン 8.6.0 から 9.x.x にアップデートすると、管理画面にアクセスできなくなった。届いてるメールは「Plesk autoupdate success report」だけど。

メールの内容をみると、Plesk の起動に失敗している。

Trying to start Plesk...
Stopping Plesk... done
Starting xinetd service... done
Starting named service... done
Starting mysqld service... done
Starting postgresql service... done
Starting psa-spamassassin service... done
Plesk: Starting Mail Server... already started
Starting Plesk... failed
Starting drwebd service... failed

再びサービスを開始しても同じに。

$ /etc/rc.d/init.d/psa start

ログをみると、どうやら SSL でエラーになっているようだ。

$ tail /var/log/sw-cp-server/error_log
2010-10-24 18:44:44: (log.c.75) server started
2010-10-24 18:50:27: (log.c.135) server stopped
2010-10-24 18:50:34: (log.c.75) server started
2010-10-24 18:50:34: (network.c.336) SSL: error:00000000:lib(0):func(0):reason(0)
2010-10-24 18:50:34: (log.c.75) server started
2010-10-24 18:50:34: (network.c.336) SSL: error:00000000:lib(0):func(0):reason(0)

対処方法は、Latest update of openssl breaks Parallels Panel を参考にパッケージをインストール。

$ wget -c http://kb.parallels.com/Attachments/12669/Attachments/sw-cp-server-1.0-6.201004011105.centos5.i386.rpm
$ rpm -Uhv sw-cp-server-1.0-6.201004011105.centos5.i386.rpm
$ /etc/rc.d/init.d/psa start
startStarting xinetd service... done
Starting named service... done
Starting mysqld service... done
Starting postgresql service... done
Starting psa-spamassassin service... done
Plesk: Starting Mail Server... already started
Starting Plesk... done
Starting drwebd service... done

と無事に Plesk が起動して管理画面にアクセスできるようになった。

関連サイト

ログ監視ツール Logwatch を使ってみる

2018.2.20追記: Logwatchのコマンドが変わっていたので、再度書き直しました。ログ監視ツール Logwatch を使ってみる (アップデート版)

Logwatch は、いろいろなログをまとめて集計し、レポートとして毎日定期的にメールで届けてくれる。不正アクセスや不具合の発見とサーバの監視に便利なツール。

Logwatch のインストール

Logwatch は Perl で書かれていて Perl 5.8 が必要です。

yumからのインストールは、

$ yum install logwatch

で、

ソースからのインストールは、こちらから

Logwatch をインストールした時点で cron に登録されているので、毎日4時2分になると Logwatch のスクリプト (/etc/cron.daily/0logwatch) が実行されてレポートが届く。

logwatch の設定

logwatch の設定は、/usr/share/logwatch/default.conf/logwatch.conf を編集する。標準設定のままで十分ですが、以下の項目を確認して設定。

#ログが保存されているディレクトリ
LogDir = /var/log
#メールの送信先
MailTo = user@hoge.com
#アーカイブされたログも含めるかどうか
Archives = Yes
#レポートの日付範囲を3つのオプションから。All, Today, Yesterday
Range = Yesterday
ログの詳細度、Low (=0), Med (=5), High (=10) または 0から10までの数字で
Detail = High
# チェックの対象となるサービスを /usr/share/logwatch/scripts/services/ 以下、あるいは All で指定。
Service = All
# メールコマンドパス
mailer = "sendmail -t"

サービスごとの個別設定は、/usr/share/logwatch/default.conf/services/ に用意されている。各サービスの設定ファイルを編集することで個別設定できる。

logwatch コマンドを使ってみる

標準出力

logwatch --print

特定のサービスだけ出力

logwatch --print --service http

複数のサービスにも

logwatch --print --service http --service sshd

ログの詳細度を変えてみる

logwatch --print --detail 10 --service http

メールに出力

logwatch --mailto user@hoge.com

ファイルに出力

logwatch --save /path/to/logwatch.txt

関連サイト

yum コマンドリファレンス

yum (Yellowdog Updater Modified) は、Red Hat Linux や Fedora Core、CentOS などRPM系Linuxディストリビューションで使われるパッケージ管理システム。ソースコードのダウンロードしてインストールしたり、アップグレードや削除、パッケージ間の依存関係の解決とパッケージを管理できます。サーバの運営には欠かせないツールの一つ。

コマンドリファレンス

インストールできるパッケージの一覧表示

$ yum list available

パッケージをインストール

$ yum install パッケージ名

インストールしたパッケージの一覧表示

$ yum list installed

アップデートできるパッケージの一覧表示

$ yum list updates

または、

$ yum check-update

パッケージのアップデート

$ yum update パッケージ名

インストールしたパッケージすべてをアップデート

$ yum update

メッセージが表示され、確認後アップデート。
メッセージの確認を行わない場合は、

$ yum -y update

パッケージのアンインストール

$ yum remove パッケージ名

パッケージの検索

$ yum search キーワード

パッケージの詳細情報を表示

$ yum info パッケージ名

パッケージに含まれるファイルの一覧表示

$ yum provides パッケージ名

最近追加したパッケージの一覧表示

$ yum list recent

キャッシュクリア

ダウンロードしたパッケージは /var/cache/yum/ に溜まっていきます。

$ du -sh /var/cache/yum/

で容量を確認して、

$ yum clean all

で、ダウンロード済みのパッケージや古いヘッダなどキャッシュを削除。all の他、headers, packages, metadata, dbcache, plugins, expire-cache のオプションで対象も指定できる。

システムにインストールされているパッケージ (Extra Packages) の一覧表示

$ yum list extras

関連サイト

mod_rewriteでURLに「%2F」が入っているとエラーになる

URLを正規表現で書き換えることができるApacheモジュール「mod_rewrite」。URLをリダイレクトしたり、動的URLを静的URLに見せたりと便利に使える。

が、URLに「%2F」が入っているとエラー (404 Not found) になる。

Apache 2.0.46 以降では、httpd.conf に以下の設定をする

AllowEncodedSlashes On

と回避できる。

httpd.conf が設定できない場合やバージョン 2.0.46 以下のApacheを使っている場合では、事前に「%2F」だけを二重にURLエンコードして「%252F」と施すなどプログラム側で対策を考えたい。

関連サイト

最近の投稿

カテゴリー

アーカイブ