我有一個單獨的應用程序每10秒打印一次日誌。我需要從日誌文件創建RRD文件。我需要一些Perl代碼來讀取日誌文件,並僅在沒有圖形的情況下創建RRD。如何在Perl中創建RRD文件?
我也經歷了CPAN中可用的Perl模塊,即RRD::Simple和RRD :: Simple :: Examples,但我仍然需要幫助。
我有一個單獨的應用程序每10秒打印一次日誌。我需要從日誌文件創建RRD文件。我需要一些Perl代碼來讀取日誌文件,並僅在沒有圖形的情況下創建RRD。如何在Perl中創建RRD文件?
我也經歷了CPAN中可用的Perl模塊,即RRD::Simple和RRD :: Simple :: Examples,但我仍然需要幫助。
我會從RRD::Simple開始。文檔中有一些示例代碼。由於您不需要創建圖形,只需跳過該示例的該部分即可。
某些示例讀取單個數據樣本,調用update
函數一次,然後退出。這些腳本旨在定期運行以實時收集數據。可能更適合您的需求的示例是ApacheAccessLogActivity.pl,它讀取Apache日誌文件,使用正則表達式解析每一行,進行一些分析以確定剛剛讀取的內容,然後調用update
,全部進行循環。請注意,該示例使用獨立函數而不是面向對象的版本。
如果您已經閱讀過該模塊的文檔,並且需要更多關於如何使用它的信息,或者您已經嘗試過並發現它存在阻止您使用它的缺點,請更具體關於你需要做什麼。
RRDTool::OO也看起來很有希望。
我推薦RRDTool :: OO。 experpt from perldoc:
$ rrd-> create(...) 創建一個新的循環數據庫(RRD)。 RRD由一個或多個數據源和一個或多個檔案組成:
$rrd->create(
step => 60,
data_source => { name => "mydatasource",
type => "GAUGE" },
archive => { rows => 5 });
到目前爲止,您有什麼?你有什麼嘗試?這不是一個人們會給你代碼的網站,它是一個人們可以幫助你解決編程問題的網站。 – 2009-12-29 09:41:16
@Chris:我需要幫助才能開始在perl中編寫代碼來創建rrd。如果您可以向我推薦任何示例代碼。 – Space 2009-12-29 09:46:35
那麼,模塊的Synopsis部分將告訴你該怎麼做。當你嘗試這些例子時發生了什麼? – 2009-12-30 10:30:56