SYSLOG検索くん 第8回(最終回)

今回は最終回です。今までに作ったスクリプトやPHPファイルを
整理していきます。

まずスクリプトの保管場所は
/var/local/slog
取得ログの保管場所は
/var/local/slog/logs
HTMLファイルの保管場所は
/var/www/syslog

この3つにファイルが配置されます。

作成したスクリプトファイルは下記の通りです。
・syslogpick.sh 前日のログを取得する
・split.sh   取得したログを加工してMySQLに登録する
・today.sh   当日のログを取得してMySQLに登録する

まず日時で取得する為にcronに登録します。

# crontab -e
10 1 * * * /usr/local/slog/syslogpick.sh > /dev/null 2>&1

一応時間を少しおいて1時10分に起動するようにしました。
また、取得後にすぐMySQL登録したいのでsyslogpick.shに少し追記しました。

# vi syslogpick.sh
後ろの方です。

/var/local/slog/split.sh ←スクリプトを実行するようにしました。

echo ${DATE} syslog inport sucsess !! >> ${DIR}slog.log
echo =============================== >> ${DIR}slog.log

exit

続いてHTMLのファイルですが、
・header.html 全ページ共通のヘッダーHTML
・footer.html 全ページ共通のフッターHTML
・index.php  最初の画面
・syslog.css  CSSファイル
・syslog.php  syslog集計したのを表示させる
・csv.php   csv出力用
・pick.php   当日ログを取得する為のページ
・today.php  当日ログの取得スクリプトを実行する

今回はCSSファイルだけ./css配下にしていますが、あとはホームディレクトリに配置します。

場所を変えるときはパスを変えるように気をつけて下さい。

また、logsにログが溜まってしまいますので定期的に削除します。
logrotateにてローテートさせてもいいですが、頭に日付を付けているのでそこで
2ヶ月前のログを削除するようにします。

# vi split.sh

## tmp log delete
rm -f ${DIR}${DATEDAY}_syslog.tmp1
rm -f ${DIR}${DATEDAY}_syslog.tmp2

## 2 manths ago log dalete
rm -f ${DIR}${DELDATE}_syslog
rm -f ${DIR}${DELDATE}_syslog.txt

## 2 manths ago data dalete
mysql -u root -psystem syslogdb -e “delete from syslogtable where DATE = ${DELDATE};”

## check date clear
echo > ${DIR}syslog_check.txt

slogについてはさほど大きくならないので何もしていませんが、logrotateで月1か週1位でローテート
させて4世代後に削除等にしたらいいと思います。

以上でSYSLOG検索くんの製作を終了します。

コメントする