以 PHP 為例,把 syslog 的資料即時 pipe 給程式分析
/etc/rsyslog.conf 加入
module(load="omprog")
*.* action(type="omprog" binary="/usr/local/bin/syslog-parser.php")
syslog-parser.php 內容
#!/usr/bin/php
<?php
while ($line=trim(fgets(STDIN))) {
file_put_contents("/tmp/syslog-parser.log",$line."\n",FILE_APPEND);
}
?>
不要忘了 chmod +x syslog-parser.php,它需要有執行權限
本範例中的 $line 就是 syslog 會傳進來的每一行
當然這個方法不限於 PHP,可以讀取 STDIN 的程式都可以
沒有留言:
張貼留言