Linux での syslogd および syslog.conf ファイルの解釈

Linux での syslogd および syslog.conf ファイルの解釈

1: syslog.conf の概要

異なるタイプの Unix の場合、標準の UnixLog システムの設定は、いくつかの異なるキーワードを除いて実際には同じです。システムの syslog.conf 形式は同じです。 Syslog は、構成可能な統合システム登録プログラムを使用して、いつでもシステム内のどこからでもログ要求を受け付け、ログ情報を対応するファイルに書き込んだり、特定のユーザーにメールで送信したり、/etc/syslog.conf の事前設定に従ってメッセージとしてコンソールに直接送信したりします。侵入者がメッセージに記録された情報を変更または削除するのを防ぐために、プリンターを使用して記録したり、侵入者の試みを阻止する他の方法を使用したりできます。

2: syslog.confのフォーマット

man [5] syslog.confを参照してください。ここでは syslog.conf について簡単に紹介します。

/etc/syslog.conf ファイル内の構成レコードは、「オプション」(セレクタ) と「アクション」(アクション) の 2 つの部分で構成され、タブ文字で区切られます (スペースの使用は無効です)。 「オプション」は、「type.level」形式の 1 つ以上の予約フィールドで構成され、各予約フィールドはセミコロンで区切られます。次の行に示すように:

type.level[;type.level] `TAB`アクション

2.1 タイプ

予約フィールドの「タイプ」は、情報のソースを示します。ソースは次のとおりです。

auth認証システム、つまりユーザー名とパスワードを要求する

cronシステムタイミングシステムがスケジュールされたタスクを実行するときに送信される情報

デーモン in.ftpd によって生成されるログなど、一部のシステムデーモンの syslog

kern カーネル syslog 情報

lpr プリンタ syslog 情報

メール メールシステム syslog 情報

マーク 定期的にメッセージを送信するタイムスタンププログラム

ニュースシステムのSyslog情報

ローカルユーザーアプリケーションのユーザー syslog 情報

uucp uucp サブシステム syslog 情報

ユーザーが定義できるlocal0..7種類のローカルsyslog情報

* 上記のデバイスを表します

2.2 レベル

予約フィールドの「レベル」は情報の重要度を表し、次のようになります。

緊急、パニック状態。通常はすべてのユーザーにブロードキャストする必要があります。

警告、現在のステータスはすぐに修正する必要があります。たとえば、システム データベースがクラッシュした場合、

crit 重大な状態に関する警告。たとえば、ハードウェア障害など。

err その他のエラー;

警告 警告;

通知; エラーではない状態の報告ですが、特別に処理する必要があります。

情報を知らせる情報;

プログラムをデバッグするときのデバッグ情報。

none は通常、プログラムをデバッグするときに使用され、レベルが none の型によって生成された情報は送信する必要がないことを示します。たとえば、*.debug;mail.none は、デバッグ中に電子メール以外のすべての情報が送信されることを意味します。

2.3 アクション

「アクション」フィールドは、情報が送信される宛先を示します。それは次のようになります:

/filename ログファイル。絶対パスで示されるファイル名。このファイルは事前に作成しておく必要があります。

@host リモート ホスト。@ 記号の後には IP アドレスまたはドメイン名が続きます。デフォルトでは、エイリアス loghost が /etc/hosts ファイル内のローカル ホストに割り当てられています。

user1、user2はユーザーを指定します。指定されたユーザーがログインしている場合は、メッセージが受信されます。

* すべてのユーザー。ログインしているすべてのユーザーがメッセージを受信します。

3: 具体例

/etc/syslog.conf ファイルの例を見てみましょう。

*.err;kern.debug;daemon.notice;mail.crit [TAB] /var/adm/messages

この行の「アクション」は、私たちがよく関心を持つ /var/adm/messages ファイルであり、そこに出力される情報のソースである「セレクタ」は次のとおりです。

*.err - すべての一般的なエラー メッセージ。

kern.debug - カーネルによって生成されたデバッグ情報。

daemon.notice - デーモン通知情報。

mail.crit - メールシステムの重大な警告メッセージ

4: syslog.confの内容

ログ ファイルは、システム ログ デーモンとカーネル ログ デーモンの syslogd と klogd によって制御され、/etc/syslog.conf ファイルでデフォルトでアクティブになるように構成されています。

ログ ファイルは、/etc/syslog.conf 構成ファイルに記述されているとおりに編成されます。 /etc/syslog.conf ファイルの内容は次のとおりです。

[root@localhost ~]# cat /etc/syslog.conf
# すべてのカーネルメッセージをコンソールに記録します。
# それ以外のログを記録すると画面が乱雑になります。
#kern.* /dev/コンソール
# レベル info 以上のすべての内容 (メールを除く) をログに記録します。
# プライベート認証メッセージをログに記録しないでください。
*.info;mail.none;authpriv.none;cron.none /var/log/messages
# authpriv ファイルへのアクセスは制限されています。
authpriv.* /var/log/secure
# すべてのメールメッセージを 1 か所に記録します。
メール.* - /var/log/maillog
# cron のログ
クローン.* /var/log/cron
# 全員が緊急メッセージを受け取る
*.emerg *
# レベル crit 以上のニュースエラーを特別なファイルに保存します。
uucp、ニュース.crit /var/log/spooler
# ブートメッセージを boot.log にも保存します
ローカル7.* /var/log/boot.log

5. バージョン

Syslog メカニズムは、Unix 系システムでよく使用されるログ記録方法です。システム運用中の各種ログ情報を複数のレベルの組み合わせで記録できます。たとえば、カーネル実行情報ログ、プログラム実行出力ログなど。組み込みシステム向けに開発する場合、プログラム実行時の重要な情報をログに書き込むと、プログラムのデバッグやエラー診断に非常に役立ちます。重要な情報には、プログラム実行時の重要な変数、関数実行結果、エラー記録などが含まれます。組み込みシステムの場合、システムリソースが限られており、クロス開発のため、デバッグと診断は非常に不便です。 syslog メカニズムを使用すると、これらのタスクが大幅に簡素化されます。

すべての組み込みシステムが syslog を使用できるわけではありません。まず、このシステムは Unix 系オペレーティング システムを使用しており、最も一般的に使用されているのは Linux です。次に、リモート ロギングをサポートするには、システムでネットワーク通信をサポートする必要があります。幸いなことに、現在、ほとんどの組み込みシステムは Linux ベースであり、ネットワークをサポートしています。具体的な実装については以下で説明します。

busybox をコンパイルするときに、syslog アプリケーションを選択し、busybox を Linux ファイル システムに追加します。組み込みシステムが起動したら、syslog クライアントを設定できます。 busybox のバージョンに応じて、syslog サービス プロセス syslogd の構成が異なります。初期の syslogd は、syslog.conf ファイル内の設定項目を無視し、設定にコマンド パラメータを直接使用していました。 syslogd の新しいバージョンは、syslog.conf ファイルを使用した構成をサポートしています。現在の syslogd バージョンを確認するには、syslogd –h でヘルプ情報を表示できます。

syslog.conf 構成がサポートされていない場合は、コマンド パラメータを直接使用し、次のコマンドを入力して syslogd を起動します。

syslogd -n -m 0 -L -R 192.190.1.88

-n オプションは、プロセスがフォアグラウンドで実行されることを示します。

-m オプションはループ間隔を指定します。

-L オプションは、リモート ログが実行されるときにローカル ログが実行されることを意味します。このオプションを指定しないと、リモート ログのみが実行されます。

-R はリモート ログを示し、syslog ログをターゲット サーバーに送信します。ここでは、ターゲット サーバーの IP アドレスが 192.190.1.88 であると想定します。ポートを指定しない場合は、デフォルトで UDP ポート 514 が使用されます。したがって、サーバーのポートが占有されていないことを確認してください。

起動後、すべてのログ情報はサーバーの UDP ポート 514 に送信されます。

syslog.conf 構成がサポートされている場合は、構成ファイルを変更するだけで済みます。ファイルに次のステートメントを追加します。

*.* @192.190.1.88

上記の設定は、すべての syslog ログがデフォルトの UDP ポートを使用してサーバー 192.190.1.88 に送信されることを意味します。 syslog.conf の設定は比較的柔軟なので、不要な情報をブロックしたり、指定されたポートを設定したりすることができます。 syslog.conf 内の関連コマンドを参照して、自分で学習してください。次に、syslogd を起動してリモート ログを実行します。

Linux での syslogd および syslog.conf ファイルの解釈に関するこの記事を皆さんと共有したいと思います。この記事が皆さんの参考になれば幸いです。また、123WORDPRESS.COM をサポートしていただければ幸いです。

以下もご興味があるかもしれません:
  • Linux の Syslog コマンド

<<:  MySQL サーバー コミュニティ バージョン MySQL 5.7.22 winx64 を win10 にインストールする方法

>>:  WeChatアプレットは記録機能を実装します

推薦する

CSS の複数行テキストがオーバーフローする場合の省略記号の例

複数行のテキストがオーバーフローすると省略記号が表示されますこの記事では 2 つの方法を推奨します。...

mysql5.7 ユーザー権限の作成、ユーザーの削除、権限の取り消し

1. ユーザーを作成します。注文: 'password' によって識別される ...

ホストサービスにアクセスするDockerでのサービスの実装

目次1. シナリオ2. 解決策3. 結論4. 参考文献1. シナリオ日常の開発およびテスト作業には ...

CSS3のvar()を使用して実行時にscss変数の値を変更する詳細な説明

var() の紹介と使用法詳細 (MDN) IEは無効ですが、他の主流のブラウザは有効ですvar()...

Win10 の Linux サブシステムを有効にする方法を説明します (詳細な画像とテキスト付き)

今日は、Windows 10 で Linux サブシステムを有効にする方法を紹介します。早速、手順を...

MySQL の中国語ソートの詳細と例

MySQL の漢字ソートの詳細な説明デフォルトでは、MySQL は日付、時刻、および英語の文字列の並...

Jenkinsはマイクロサービスをパッケージ化してDockerイメージを構築し、実行します。

目次環境の準備始める1. GitLabリモートリポジトリがマイクロサービスプロジェクトを作成する2....

Deepin で virtualenv をインストールして使用するチュートリアル

virtualenv は、分離された Python 仮想環境を作成するためのツールです。独立したディ...

MySQL のクエリパフォーマンスに対する制限の影響

I. はじめにまず、MySQL のバージョンについて説明します。 mysql> バージョンを選...

...

CSS3を使用してオンラインライブ放送に似たキューアニメーションを実装する方法

以前、グループの友人が質問しました。つまり、ミニプログラムでユーザーがオンラインになったときに、ライ...

HTML に埋め込まれた Flash HTML ウェブページ コードに Flash ファイルを埋め込むソリューション (パート 1)

中国の習慣では、旧暦の1月15日より前に新年を祝います。ここで、庭にいる友人たちに新年の幸せを祈りた...

1つの記事でTypeScriptのデータ型について学ぶ

目次基本タイプあらゆるタイプ配列タプルインタフェース関数自己推論を入力する結合タイプ(1つ以上選択)...

珍しいけれど役に立つJSテクニックをいくつか紹介します

序文プログラミング言語には通常、さまざまな隠されたトリックが含まれており、これらのトリックを上手に使...

CSS で「プラス記号」効果を実装するためのサンプルコード

以下に示すプラス記号の効果を実現するには: この効果を実現するには、div 要素だけが必要です。 b...