linux下syslogd及びsylog.com nfファイル解読説明

4629 ワード

原文の出所:http://www.cnblogs.com/doctorqbw/archive/2012/07/31/2616322.html
1:syslog.com nfの紹介
Unixの異なるタイプについては、標準的なUnixLogシステムの設定は、実際にはいくつかのキーワードに加えて、システムのsylog.comフォーマットは同じです.sylogは、構成可能で統一されたシステム登録プログラムを用いて、いつでもシステム各所からlog要求を受け付け、その後/etc/sylog.co.comにおける事前設定に基づいて、それぞれのファイルにlog情報を書き込み、特定のユーザに郵送し、または直接にメッセージでコンソールに送信する.注意すべきは、侵入者の修正、メッセージに記載されている記録情報の削除を防ぐために、侵入者をプリンタで記録したり、採用したりする試みが採用されていることです.
2:syslog.com nfのフォーマット
man[5]sylog.com nfを参照することができる.ここではsylog.com nfについて簡単に紹介します.
/etc/sylog.co nfファイルの1つの構成記録は、「オプション」と「アクション」の2つの部分から構成されており、両者はtabタブで区切られている(スペース間隔を使うのは無効).「オプション」はまた、「タイプ・レベル」形式のような形の予約フィールドによって結合され、各予約フィールドの間にセミコロンで区切られます.次の行に示します
タイプ.レベル[;タイプ.レベル]`TAB`動作
2.1タイプ
予約フィールドの「タイプ」は、情報の生成元を表します.
auth認証システムは、ユーザ名とパスワードを問い合わせることです.
クロンシステムタイミングシステムがタイミングタスクを実行する時に発する情報
daemenのいくつかのシステムの守護プログラムのsyslogs、例えばin.ftpdによって生成されたlogs.
ケカーカーネルのsyslog情報
lprプリンタのsylog情報
メールシステムのsylog情報
markタイミングでメッセージを送信する場合のプログラム
newsニュースシステムのsyslog情報
userローカルユーザアプリケーションのsyslog情報
uucp uucpサブシステムのsylog情報
local 0..7ローカルタイプのsyslog情報は、これらの情報をユーザーが定義してもよい.
*上記各種設備を代表して
2.2レベル
予約フィールドの「レベル」は情報の重要性を表します.
emergは緊急で、Panic状態にあります.通常はすべてのユーザにブロードキャストされるべきである.
alertは警告して、当面の状態は直ちに是正しなければなりません.例えば、システムデータベースが崩壊します.
critキー状態の警告.例えば、ハードウェアの故障.
err他のエラー.
warning警告
notice注意;エラー状態ではない報告ですが、特別に処理しなければなりません.
info通報情報;
デバッグプログラム時の情報.
noneは通常プログラムをデバッグする時に、noneレベルを持つタイプで発生する情報を指示して送る必要がありません.例えば*.debugMail.noneはデバッグ時にメール以外の情報を全部送ると表しています.
2.3動作
「動作」ドメインは、情報の送信先を示している.はい、
/filenameログファイル.絶対パスで指定されたファイル名は、このファイルを事前に作成してください.
@hostリモートホスト、@シンボルの後ろはipでもいいし、ドメイン名でもいいです.デフォルトでは/etc/hostsファイルの下でloghostという別名が本機に指定されています.
user 1,user 2はユーザーを指定します.ユーザーがログインしたと指定されたら、彼らは情報を受け取ります.
*すべてのユーザ.ログインしたすべてのユーザに情報が届きます.
3:具体例
私たちは/etc/syslog.comファイルの例を見てみます.
……
*.err;ken.debugdaemen.noticemail.crit[TAB]/var/adm/messages
……
この行の「action」は私たちが常に関心を持っているその/var/adm/messagesファイルであり、その情報源に出力される「selector」は以下の通りです.
*.err-すべての一般的なエラー情報;
kern.debug-コアから発生したデバッグ情報.
daemen.notice-プロセスを守るための注意情報.
メールシステムのキー警告情報
4:syslog.com nf内容
ログファイルは、システムログとカーネルログ監視プログラムsyslogdとklogdによって制御され、これらの2つのモニタプログラムのデフォルトアクティビティが設定されています.
ログファイルは/etc/syslog.comプロファイルの説明に従って組織されます.以下は/etc/sylog.com nfファイルの内容です.
[root@localhost ~]# cat /etc/syslog.conf
# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.* /dev/console
# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none /var/log/messages
# The authpriv file has restricted access.
authpriv.* /var/log/secure
# Log all the mail messages in one place.
mail.* -/var/log/maillog
# Log cron stuff
cron.* /var/log/cron
# Everybody gets emergency messages
*.emerg *
# Save news errors of level crit and higher in a special file.
uucp,news.crit /var/log/spooler
# Save boot messages also to boot.log
local7.* /var/log/boot.log
5.バージョン
Syslogメカニズムは、カテゴリunixシステムでよく使われるログ記録方式です.様々なレベルの組み合わせでシステムの運行中の各種ログ情報を記録することができます.カーネル運転情報ログ、プログラム運転出力のログなどです.組み込みシステムを開発する際に、プログラム実行時の重要な情報をログに書き込むと、プログラムのデバッグやエラー診断の助けが大きくなります.重要な情報としては、プログラム運転時の重要な変数、関数運転結果、エラー記録などがあります.組み込みシステムにとっては、システム資源が限られていて、しかもクロス開発であり、デバッグと診断が不便です.syslog機構を使って,これらの仕事を大いに簡略化できる.
すべての組み込みシステムがsyslogを使用できるわけではない.まず、システムは類unixのオペレーティングシステムを使って、よく使うのはlinuxです.次に、リモートログ記録をサポートするために、システムではネットワーク通信をサポートしなければならない.幸いにも、現在の組み込みシステムの多くはlinuxに基づいており、ネットワークをサポートしています.以下で具体的な実現について述べる.
busyboxをコンパイルする時、sylogアプリケーションを選択して、busyboxをlinuxのファイルシステムに参加します.組み込みシステムが起動したら、syslogのクライアントを設定できます.busyboxのバージョンによって、syslogのサービスプロセスsyslogdの配置が違います.初期のsylogdはsylog.comファイル内の構成項目を無視してコマンドパラメータを直接使用して構成します.新しいバージョンのsylogdはsylog.comファイルを使って構成することをサポートします.syslogd–hでヘルプ情報を確認して、現在のsylogdバージョンを決定することができます.
sylog.com nf構成がサポートされていない場合は、コマンドパラメータを直接使用して、以下のコマンドを入力してsylogdを起動します.
syslogd-n-m 0-L-R 192.190.1.88
ここで-nオプションは、プロセスがフロントで実行されることを示しています.
-mオプションでサイクル間隔時間を指定します.
-Lオプションは、リモートログ記録を行いながらローカルにも記録することを示します.このオプションを追加しない場合は、リモートログのみを記録します.
-Rはリモートログ記録を行い、sylogログを対象サーバに送信することを示しています.ここでは、ターゲットサーバがIPアドレスであると仮定する.192.190.1.88.ポートが指定されていない場合は、デフォルトではUDPポート514が使用されます.このポートはサーバ上で使われていないことを確認します.
起動後、すべてのログ情報はサーバーのUDPポート514に送信されます.
sylog.co nfプロファイルをサポートする場合は、このプロファイルを修正するだけでよい.ファイルに以下の語句を追加します.
*@@192.190.1.88
以上の構成は、すべてのsylogのログをサーバ192.190.1.88に送信し、デフォルトのUDPポートを使用することを示している.sylog.co nfは比較的柔軟な構成なので、不要な情報を遮蔽したり、指定されたポートを設定したりすることができます.sylog.com nfの関連命令を参考にして、自分で研究してください.そしてsyslogdを起動してリモート記録を行うことができます.