web-dev-qa-db-ja.com

apt / dpkgアクティビティをsyslogに記録する

私の目標は、syslog(rsyslog)を使用してapt/dpkgアクティビティをログに記録することです、ログエントリが中央のsyslogサーバーに送信されるようにします。

dpkgは/var/log/dpkg.logに書き込み、aptは/var/log/aptディレクトリに書き込みます。

私はいくつかの調査を行いましたが、aptもdpkgもsyslogを使用できるようです。唯一のオプションは、ログファイルを定期的にチェックするrsyslog「テキストファイル入力モジュール」機能( http://www.rsyslog.com/doc/master/configuration/modules/imfile.html )を使用することです。新しいコンテンツの場合。

/etc/dpkg/dpkg.cfg設定ファイルにはlogオプションがありますが、dpkg.cfgのオプションと機能のマニュアルページはありません。

本当にrsyslog imfileが唯一のオプションですか?

8
Petr Stastny

Dpkgの場合、これは追加することで実行できます

status-logger "logger -t dpkg -p info"

to / etc/dpkg/dpkg.cfg。 apt-getはdpkgを呼び出すため、apt-get/aptアクションもログに記録されます。見る man loggersyslogに記録された情報を調整するため。

私はこのansibleタスクを使用して構成を更新しています:

- name: dpkg syslog
  lineinfile:
   dest: /etc/dpkg/dpkg.cfg
   line: 'status-logger "logger -t dpkg -p info"'

Systemdジャーナルを使用している場合は、次の方法でログを確認すると便利です。

journalctl SYSLOG_IDENTIFIER=dpkg
3
Sophie

Dpkgが出力を記録する場所を変更するには、--logオプションを使用します。これはファイル名のみを許可します。 DPKGはパッケージを操作するためのシンプルで効率的なツールとして構築されたので、物事を複雑にするロガーがないことはプラスです。最も簡単な方法は、ファイルに書き込み、syslogがすでに知っているようにそのファイルから読み取ることです。

status-fdを使用して、ステータスを/dev/logstatus-loggerなどのファイル記述子に送信し、syslogにエントリを送信する仲介者を配置できます。

0
Braiam