par mydy » 25 Avr 2003 11:30
Faq de MRTG ( <!-- BBCode auto-link start --><a href="http://www.mrtg.org" target="_blank">www.mrtg.org</a><!-- BBCode auto-link end -->)
<BR>
<BR>
<BR>My graphs show a flat line during an outage. Why ?
<BR>Well, the short answer is that when an SNMP query goes out and a response doesn't come back, MRTG has to assume something to put in the graph, and by default it assumes that the last answer we got back is probably closer to the truth than zero. This assumption is not perfect (as you have noticed). It's a trade-off that happens to fail during a total outage.
<BR>
<BR>If this is an unacceptable trade-off, use the unknaszero option.
<BR>
<BR>You may want to know what you're trading off, so in the spirit of trade-offs, here's the long answer:
<BR>
<BR>The problem is that MRTG doesn't know *why* the data didn't come back, all it knows is that it didn't come back. It has to do something, and it assumes it's a stray lost packet rather than an outage.
<BR>
<BR>Why don't we always assume the circuit is down and use zero, which will (we think) be more nearly right? Well, it turns out that you may be taking advantage of MRTG's ``assume last'' behaviour without being aware of it.
<BR>
<BR>MRTG uses SNMP (Simple Network Management Protocol) to collect data, and SNMP uses UDP (User Datagram Protocol) to ship packets around. UDP is connectionless (not guaranteed) unlike TCP where packets are tracked and acknowledged and, if needed, retransmitted. UDP just throws packets at the network and hopes they arrive. Sometimes they don't.
<BR>
<BR>One likely cause of lost SNMP data is congestion; another is busy routers. Other possibilities include transient telecommunications problems, router buffer overflows (which may or may not be congestion-related), ``dirty lines'' (links with high error rates), and acts of God. These things happen all the time; we just don't notice because many interactive services are TCP-based and the lost packets get retransmitted automatically.
<BR>
<BR>In the above cases where some SNMP packets are lost but traffic is flowing, assuming zero is the wrong thing to do - you end up with a graph that looks like it's missing teeth whenever the link fills up. MRTG interpolates the lost data to produce a smoother graph which is more accurate in cases of intermittent packet loss. But with V2.8.4 and above, you can use the ``unknaszero'' option to produce whichever graph is best under the conditions typical for your network.
<BR>
<BR>