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アプレットは記録機能を実装します

推薦する

Centos7 で MySQL マスター スレーブ サーバーを構築する方法 (グラフィック チュートリアル)

この記事では主に CentOS 上で MySQL マスタースレーブサーバーを構築する方法を紹介します...

MySQL の複数テーブル関連付け 1 対多クエリを使用して最新のデータを取得する方法の例

この記事では、MySQL で複数のテーブルを使用して 1 対多のクエリを使用して最新のデータを取得す...

MySQLの高性能最適化スキルの概要

データベースコマンド仕様すべてのデータベース オブジェクト名には小文字を使用し、アンダースコアで区切...

CSS スタイルの導入方法とその長所と短所の紹介

CSSを導入する3つの方法1. インラインスタイル利点: 書きやすく、重みがある 欠点: 構造とスタ...

Linux ディスクのマウント、パーティション分割、容量拡張操作を実装する方法

基本概念操作の前に、まずいくつかの基本的な概念を理解する必要がありますディスクLinux システムで...

CSSクラス名の問題の詳細な説明

数字で始まる次の CSS クラス名は有効になりません。 .1番目{ 色: 赤; }有効な CSS ク...

iframe を使用して Web ページに天気の影響を表示します

CS: ...コードをコピーコードは次のとおりです。 *{マージン:0;パディング:0;リストスタイ...

イメージの起動時にdocker runまたはdocker restartが自動的に終了する問題を解決します

コマンドを実行します: docker run --name centos8 -d centos /b...

Windows での MySQL データベースのマスター/スレーブ構成チュートリアル

WindowsでMySQLデータベースのマスターとスレーブを構成する詳細なプロセスは次のとおりです。...

HTML iframe で親ページと子ページ間の双方向メッセージングを実装する例

ある日、リーダーはメイン ページに iframe を埋め込み、親ページと子ページ間で双方向にメッセー...

Linux+ApacheサーバURLの大文字と小文字の区別の問題を解決する

今日、問題が発生しました。ブラウザのアドレスバーにURLアドレスを入力する際、ページを正常にアクセス...

Vueルータールーティングの詳細な説明

目次1. 基本的な使い方2. 注意すべき点3. マルチレベルルーティング(マルチレベルルーティング)...

LinuxでのDockerのインストールチュートリアル

Docker パッケージは、デフォルトの CentOS-Extras リポジトリにすでに含まれていま...

MySQLに必要な共通知識のまとめ

目次主キー制約一意の主キー非 Null 制約デフォルトの制約外部キー制約1NF 2NF 3NFデータ...

面接官はReactのライフサイクルについてよく質問します

ReactライフサイクルReactのライフサイクルを理解するのに役立つ2つの図React ライフサイ...