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

推薦する

MySQL GTID マスターとスレーブの不一致を修復するソリューション

目次解決策1: レプリカを再構築する前提条件アドバンテージ欠点手順マスター奴隷解決策2: データ修復...

CentOS6.9+Mysql5.7.18 ソースコードのインストール詳細チュートリアル

CentOS6.9+Mysql5.7.18 ソースコードのインストールでは、以下の操作を root ...

Vue で debouce の手ぶれ補正機能を使用する方法

目次1. 手ぶれ補正機能2. Vueでdebouceの手ぶれ補正機能を使用する1. 手ぶれ補正機能2...

JavaScriptは入力ボックスコンポーネントを実装します

この記事では、入力ボックスコンポーネントを手動で実装するための具体的なコードを参考までに紹介します。...

VirtualBox Centos7 の NAT+ホストオンリーネットワークの落とし穴のまとめ

目次1. 問題の背景2. 仮想マシン ネットワーク カードの接続方法は何ですか? 2.1 NAT 2...

Nginx 構成 SSL および WSS 手順の紹介

目次序文1. Nginxのインストール1. Nginxをダウンロードする2. 依存関係をインストール...

Dockerのネットワークモードと設定方法

1. Dockerネットワークモードdocker run が Docker コンテナを作成するときに...

Centos7 環境でソースコードから mysql5.7.16 をインストールする方法の詳細な説明

この記事では、centos7 環境でソース コードから mysql5.7.16 をインストールする方...

Mysql クエリの結果セットを JSON データに変換するサンプル コード

Mysql はクエリ結果セットを JSON データに変換します 序文 学生テーブル 学生スコアテーブ...

HTML特殊文字の徹底分析

HTML徹底解析(14)特殊文字 ■ よく使われる特殊文字 HTMLタグを知っていれば、特殊文字の使...

時間のかかるDockerエラーのトラブルシューティングプロセス記録

目次起源環境情報トラブルシューティングのプロセス要約する起源顧客は CentOS をベースにしたカス...

Reactはページング効果を実装する

この記事では、Reactでページング効果を実現するための具体的なコードを参考までに紹介します。具体的...

MySQLの整数データ型tinyintの詳細な説明

目次1.1Tinyint型の説明1.2 練習環境の説明1.3 未署名属性の追加1.3.1 SQLモー...

JavaScript プロトタイプの詳細

目次1. 概要1.1 プロトタイプとは何ですか? 1.2 プロトタイプを入手する2. プロトタイプの...

MySQLデータストレージプロセスパラメータの詳細な例

MySQL ストアド プロシージャ パラメータには、in、out、inout の 3 種類があります...