2012-02-07 28 views
6

Tôi muốn trích xuất một số dữ liệu hàng giờ từ rrdtool cơ sở dữ liệu để tạo một số biểu đồ trong hệ thống trang tổng quan.Lấy dữ liệu có thể phân tích cú pháp từ đồ thị rrdtool

Những cơ sở dữ liệu không có một nguồn dữ liệu hàng giờ, gần nhất là một nguồn dữ liệu 30-min (chúng được tạo ra bởi Munin)

Bây giờ, tôi có thể sử dụng rrdfetch, nhưng điều đó không làm trung bình tốt đẹp mà rrdgraph sẽ làm gì, vì vậy một cái gì đó như thế này

rrdtool fetch xxx-apache_accesses-accesses80-d.rrd AVERAGE \ 
    --resolution 3600 -s 1328458200 -e 1328544600 

có thể cho tôi 30 điểm tối thiểu dữ liệu như thế này

2012-Feb-05 16:30:00 3.5376357135e+00 
2012-Feb-05 17:00:00 3.4655067194e+00 
2012-Feb-05 17:30:00 4.375e+00 
2012-Feb-05 18:00:00 4.3210061422e+00 
.... 

tôi có thể số trung bình, nhưng có vẻ như là rrdgraph có thể xuất văn bản có thể phân tích cú pháp, nhưng tôi không thể tìm ra câu đúng. Đây là những gì tôi đã cố gắng

rrdtool graph dummy.png -s 1328523300 -e 1328609700 \ 
    DEF:access=xxx-apache_accesses-accesses80-d.rrd:42:AVERAGE \ 
    "PRINT:access:AVERAGE: %5.1lf %S" 

đầu ra

0x0 
    4.7 

Bây giờ tôi nghĩ rằng đó là chỉ đơn giản là bình quân giai đoạn nhất định, nhưng có cách nào để có được rrdtool để nhổ ra một trung bình cho khối cụ thể hoặc bước kích thước? Tôi đã thử --step nhưng điều này không thay đổi đầu ra.

Tôi có thể gọi rrdtool graph cho mỗi điểm dữ liệu tôi cần, nhưng điều đó có vẻ khá lãng phí.

Trả lời

4

Không sớm hơn tôi đã đăng hơn tôi nhấn khi tiếp cận đúng!

rrdtool xport -s 1328523300 -e 1328609700 --step 3600 \ 
    DEF:access=xxx-apache_accesses-accesses80-d.rrd:42:AVERAGE \ 
    XPORT:access:"average" 

này mang lại cho tôi những bãi Tôi cần ...

<?xml version="1.0" encoding="ISO-8859-1"?> 

<xport> 
    <meta> 
    <start>1328526000</start> 
    <step>3600</step> 
    <end>1328612400</end> 
    <rows>25</rows> 
    <columns>1</columns> 
    <legend> 
     <entry>average</entry> 
    </legend> 
    </meta> 
    <data> 
    <row><t>1328526000</t><v>2.1949556516e+00</v></row> 
    <row><t>1328529600</t><v>2.0074586816e+00</v></row> 
    <row><t>1328533200</t><v>2.4574720485e+00</v></row> 
    <row><t>1328536800</t><v>3.4861890250e+00</v></row> 
    <row><t>1328540400</t><v>4.2725023347e+00</v></row> 
    <row><t>1328544000</t><v>6.2119548259e+00</v></row> 
    <row><t>1328547600</t><v>5.6709432075e+00</v></row> 
    <row><t>1328551200</t><v>6.1214185470e+00</v></row> 
    <row><t>1328554800</t><v>8.1137357347e+00</v></row> 
    <row><t>1328558400</t><v>5.8345894022e+00</v></row> 
    <row><t>1328562000</t><v>6.2264732776e+00</v></row> 
    <row><t>1328565600</t><v>6.1652113350e+00</v></row> 
    <row><t>1328569200</t><v>5.8851025574e+00</v></row> 
    <row><t>1328572800</t><v>5.4612112119e+00</v></row> 
    <row><t>1328576400</t><v>6.3908056120e+00</v></row> 
    <row><t>1328580000</t><v>6.0361776174e+00</v></row> 
    <row><t>1328583600</t><v>6.3164590113e+00</v></row> 
    <row><t>1328587200</t><v>6.0902986521e+00</v></row> 
    <row><t>1328590800</t><v>4.6756445168e+00</v></row> 
    <row><t>1328594400</t><v>3.9461916905e+00</v></row> 
    <row><t>1328598000</t><v>2.9449490046e+00</v></row> 
    <row><t>1328601600</t><v>2.4011760751e+00</v></row> 
    <row><t>1328605200</t><v>2.2187817639e+00</v></row> 
    <row><t>1328608800</t><v>2.1775208736e+00</v></row> 
    <row><t>1328612400</t><v>NaN</v></row> 
    </data> 
</xport> 
+5

vâng ... :-) cũng lưu ý rằng nếu bạn muốn phân tích đầu ra của đồ thị, bạn tốt hơn sử dụng graphv –

+0

Người đàn ông bản thân anh ấy! Cảm ơn đã dành một cái nhìn. Yêu công việc của bạn :) –

Các vấn đề liên quan