DigiLoog

PC関係の事なら何でもいけるそんな処

Archive for 2019年05月11日

syslog転送出来ないログを、リアルタイムでsyslogに変換してみた

2019年05月11日(土) - 12:26 | カテゴリ: Linux

PowerDNSのDNSクエリログや、ローカル出力したテキストをログとしてリモート転送する時、
syslog形式に変換してログとして転送したいケースがそれなりにある。

そんな時、普通ならrsyslog/syslog-ngとログをフックする仕組みを使ったり、
Fluentdなどのログ収集デーモンを追加する事で、リアルタイム取得を行いつつ再転送する事が出来るが、
全体の仕組みが複雑になったり、そもそも構成・設定変更をやりたく無いなどの理由で没になる。

( ´ Д`) 「もっと簡単に、生ログをリアルタイムで取得しつつ、syslog変換したいな~」
( ゚ Д゚ )φ 「一人(筆者)が思っている位だから、似たような事を思っている人は多い筈…」
(。・Д・) 「有料ソフトある位だし、それなりに需要は多そうだな……」
(`・ω・´) 「意外と簡単そうだから作っちゃうか!」

と思い至ったので、スクリプトを自作して “ns-lab BB” のLinuxサーバに組み込んで実際に使ってみた。


全体概要は上の通り。裏ではtailを使ってリアルタイムにログ取得を行いつつ、
logger経由でローカルのsyslogにログ出力し、rsyslog/syslog-ngを使ってリモート転送も可能にした。
tailについてはオプションを指定する事で、tail対象のログがローテートされた場合でも、
順応しながらログを取得し続ける様にしてみた。



  • 応援中

    はじめるセカイの理想論 -goodbye world index-