syslogについて

https://eng-entrance.com/linux-log-syslog

ログのやつ rsyslogはsyslogのモジュール拡張ができるやつで,割と最近はこっち. jounraldとの関係はよくわかってない.

設定ファイルについて

syslogの場合は /etc/syslog.conf rsyslogの場合は /etc/rsyslog.conf

モジュールのロード

$ModLoad <モジュールの名前>
$ModLoad imjournal

頭文字にルールがあって,

  • omから始まるモジュールはアウトプットモジュール

  • im から始まるのがインプットモジュール

  • pm から始まるのがパーサモジュール

  • mm から始まるのがメッセージ修正モジュール

  • sm から始まるのがメッセージ生成モジュール

  • その他ライブラリモジュール

とかってなっている.

書き方

書式

<ファシリティ>.<プライオリティ> 出力先
    • はワイルドカード

  • ;で区切って複数ファシリティやプライオリティの指定

  • noneで無効にする.(ワイルドカードで指定したあと特定のだけ無視させたりする時に使う)

ファシリティの種類

  • auth,authpriv 認証系(usなど)

  • cron cronからのメッセージ

  • daemon daemonからのメッセージ

  • kern カーネルからのメッセージ

  • lpr プリンタ、印刷関係のメッセージ

  • mail システムメール関係のメッセージ

  • syslog syslogの機能関係のメッセージ

  • local0~7 独自設定

プライオリティの種類

高い順から

  • emerg: 致命的状態

  • alert: 早急な対処が必要

  • crit: 危険な状態

  • err: 一般的エラー

  • warning: 一般的警告

  • notice: 重要な通知

  • info: システムからの情報

  • debug: デバッグ情報

  • none: ファシリティの無効化 ログの除外

出力先の種類と書き方

  • ファイル名: ファイルに出力

  • @ホスト名: リモートホストのsyslogデーモンへ出力する。

  • ユーザ名: ユーザの端末に出力する。

  • /dev/console: コンソールへ出力する。

  • *: 全てにユーザ端末へ出力する。

loggerコマンドでテスト

任意のログメッセージを生成する.

$ logger -p <ファシリティ>.<プライオリティ> -t <タグ> メッセージ

ローテーション設定

いつまでログを保持するか的な設定

$ sudo vim /etc/logrotate.conf

### example ###
# ローテーション周期を1週間ごとに
weekly

# 4世代ログをのこす
rotate 4

# ローテーション後に空のファイルを作成する
create

# ログファイルのサフィックス指定、この場合は日付がスタンプされる。
dateext

# ほか各設定ファイルをインクルード、書式はwtmpと同じである。
include /etc/logrotate.d

# /var/log/wtmpファイル設定
/var/log/wtmp {
    monthly
    create 0664 root utmp
    rotate 1
}
######

現在のローテーション設定

$ sudo cat /var/lib/logrotate.status