syslogdの問題点を克服したシスログデーモンは、特定機器のために用意された有償製品も含めれば数多くありますが、ここではオープンソースソフトウェアで、Linuxディストリビューションでも標準採用されている「syslog-ng」と「rsyslog」を紹介します。
syslog-ngはGPLで利用可能なオープンソースソフトウェアです。ハンガリーに拠点を構えるBalaBit IT Securityにより提供されています。「ng」はnext generationを意味し、まさに次世代を意識した、さまざまな機能を備えています。
1998年、当時未完であったDarren Reed氏の「nsyslog」を基に、キャリアクラスで使用されることを前提に開発が行われました。2006年にはIPv6対応やさらなる最適化が施されるなど、現在も積極的に開発が行われています。syslogdでは満たすことができなかった点を補いつつ、柔軟性や扱いやすさはそのままに、次のような機能を備えています。
シスログを識別する手段が増えたことで、swatchのようなアプリケーションを別途使用することなく、シスログの内容に基づいてメール通知やアクセスフィルタを実行するなど、syslog-ngだけで監視を自動化できます。また、日付単位でログファイルを生成する場合、syslogdではlogrotateを導入する必要がありましたが、syslog-ngでは日付マクロを用いることで可能になっています。
いままでアドインソフトに依存していたシスログを適切に管理する機能や、syslogの安全性と信頼性を向上させる機能の追加が目を引きます。大規模運用では「ファイルシステムへのシスログ書き込みタイミングを指定」できることで、ファイルシステムのI/Oを最適化できます。
reliable(信頼できる)シスログデーモンを目指して名付けられた「rsyslog」は、名前の由来となっている信頼性とともに、豊富な機能も特徴としています。TCPを使ったシスログの配送や、MySQLをはじめとするデータベースとの連携など、2004年の開発開始以来、syslogdに求められた機能を積極的に取り込んでいます。
Fedoraではバージョン8以降、rsyslogを標準のシスログデーモンとして採用しています。主な特徴は次のとおりです。
やはり、信頼性確保のための機能が目を引きます。RFC3195はシスログ転送方式の信頼性を高めた、新しい転送方法を定めたものです。対応する機器は多くありませんが、今後の普及が期待されています。
rsyslogはいち早くRFC3195のサポートをうたっています。syslogdでもsyslog-ngでも、データベースへのシスログの保存は、パイプ処理を使って外部プログラムを呼び出すことで実現しています。さらにrsyslogは、その仕組みの中にMySQLやPostgreSQLとの連携機能を有しているため、大規模な運用でも効率よくシスログをデータベースに保存することができます。
今回はsyslogdの問題点を解説し、その問題点を解決した新たなシスログデーモンを紹介しました。次回は「syslog-ng」のインストールと基本的な使用方法を解説します。
Copyright © ITmedia, Inc. All Rights Reserved.