GNU/Linux >> Linux の 問題 >  >> Linux

syslog の日付形式の変更

日付の問題には常に新しいオプションがあり、数行追加するだけです。
私の解決策は、ファイルを /etc/rsyslog.d/ に追加することです 、たとえば myrsyslog.conf 、次に、選択した形式を追加します。私のものは次のとおりです:

$template myformat,"%TIMESTAMP:1:10:date-rfc3339% %TIMESTAMP:19:12:date-rfc3339% %syslogtag%%msg%\n"
$ActionFileDefaultTemplate myformat

これにより、新しい形式がログに適用され、解析が容易になります。

以前

Sep  3 12:52:37 whs dhcpcd[477]: wlan0: expired address ...
Sep  3 12:52:37 whs dhcpcd[477]: wlan0: part of Router Advertisement expired
Sep  3 12:52:37 whs dhcpcd[477]: wlan0: deleting route to ...

2020-09-03 13:00:49 systemd[1]: rsyslog.service: Succeeded. 
2020-09-03 13:00:49 systemd[1]: Stopped System Logging Service. 
2020-09-03 13:00:49 systemd[1]: Starting System Logging Service...

あなたが別の解決策を見つけたとしても、私は他の人のために答えます.

syslog 構成ファイルを編集します (Debian の例:/etc/syslog-ng/syslog-ng.conf ).

次に、次のように新しいテンプレートを宣言します:

template template_date_format {
    template("${YEAR}-${MONTH}-${DAY} ${HOUR}:${MIN}:${SEC} ${HOST} ${MSGHDR}${MSG}\n");
    template_escape(no);
};

これは一例ですが、user9645 の回答にリンクされている syslog ドキュメントに従って、さまざまなマクロを使用できます。

その後、この構成ファイルで、出力形式を変更するすべてのファイルを見つけて、このテンプレートをそれらに適用します。

例えば ​​/var/log/auth.log を変更したい 出力形式、次に変更します:

destination d_auth { file("/var/log/auth.log"); };

へ:

destination d_auth { file("/var/log/auth.log" template(template_date_format)); };

次に、syslog を再起動します (service syslog-ng restart )、ログインして auth.log の変更を確認してください .


FreeBSD 9.2 と Zabbix を使用して同じ問題が発生しました システム ログ メッセージの日付スタンプ (!) の 'Jan' や 'Feb' などを処理できないシステム モニター GUI。

私がしたことは sysutils/syslog-ng をインストールすることでした ポート、convert-syslogconf.awk を使用 /etc/syslog.conf を移行するスクリプト /usr/local/etc/syslog-ng.conf へ (ありがたいことに、かなり複雑な構成でもうまく機能するように見えました)、このカスタムフォーマットテンプレートをすべての file() に追加しました 宛先:

template t_msgfmt {
    template("${ISODATE} ${HOST} ${FACILITY} ${LEVEL} ${MSGHDR}${MSG}\n");
    template_escape(no);
};

syslog-ng マニュアル セクション 11.1 で、(多くの) より多くのフォーマット情報を見つけることができます . (今のところ)うまくいっています。お役に立てば幸いです!


Linux
  1. Linux –ファイルの作成日を見つける方法は?

  2. エポックフォーマットで日付を設定する方法は?

  3. Cookie –プロジェクト用のテンプレートベースのファイルジェネレータ

  1. ファイルの作成日を変更する

  2. a.out は ELF ファイル形式に置き換えられましたか?

  3. Linux の Bash で syslog を確認するには?

  1. コアダンプ ファイル形式

  2. Linux でファイルの最終更新日を取得する

  3. インデックス付きアーカイブ形式?