私の目標は、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が唯一のオプションですか?
Dpkgの場合、これは追加することで実行できます
status-logger "logger -t dpkg -p info"
to / etc/dpkg/dpkg.cfg。 apt-getはdpkgを呼び出すため、apt-get/aptアクションもログに記録されます。見る man logger
syslogに記録された情報を調整するため。
私はこのansibleタスクを使用して構成を更新しています:
- name: dpkg syslog
lineinfile:
dest: /etc/dpkg/dpkg.cfg
line: 'status-logger "logger -t dpkg -p info"'
Systemdジャーナルを使用している場合は、次の方法でログを確認すると便利です。
journalctl SYSLOG_IDENTIFIER=dpkg
Dpkgが出力を記録する場所を変更するには、--log
オプションを使用します。これはファイル名のみを許可します。 DPKGはパッケージを操作するためのシンプルで効率的なツールとして構築されたので、物事を複雑にするロガーがないことはプラスです。最も簡単な方法は、ファイルに書き込み、syslogがすでに知っているようにそのファイルから読み取ることです。
status-fd
を使用して、ステータスを/dev/log
やstatus-logger
などのファイル記述子に送信し、syslogにエントリを送信する仲介者を配置できます。