RRD stops collecting after my WAN IP changes



  • Hi Everyone
    About two weeks ago, I upgraded from an RC of 2.1 to the full 2.1 release.  Since then, each time my ISP assigns me a new DHCP address, my RRD Graphs stop collecting data.  The timestamps on the files coincide directly with the IP change.  If I hit "Reset RRD Data", it will fix the problem until the next IP change.

    Thoughts?



  • I have the same issue however. Both my LAN and WAN traffic graphs are blank.



  • Got it working.  Reset the rrd data and restart the rrd graphing backend.  All found in the rrd settings tab.

    Craig



  • Let me know if it breaks again when your IP changes.





  • I noticed that these two processes [re?]appear after I hit the reset button for RRD graphs:

    root  41842  0.2  0.1  3644  1476  ??  SN    6:24PM  0:00.03 /bin/sh /var/db/rrd/updaterrd.sh
    root  54720  0.2  0.1  1512  776  ??  SN    6:24PM  0:00.00 sleep 60

    I'm guessing that is the script that dies for whatever reason after the IP change and gets "kicked" again after the reset.

    I'll keep poking.



  • @loupalladino:

    I noticed that these two processes [re?]appear after I hit the reset button for RRD graphs:

    root  41842  0.2  0.1  3644  1476  ??  SN    6:24PM  0:00.03 /bin/sh /var/db/rrd/updaterrd.sh
    root  54720  0.2  0.1  1512  776  ??  SN    6:24PM  0:00.00 sleep 60

    I'm guessing that is the script that dies for whatever reason after the IP change and gets "kicked" again after the reset.

    I'll keep poking.

    
    if ($_POST['ResetRRD']) {
    	mwexec('/bin/rm /var/db/rrd/*');
    	enable_rrd_graphing();
    	setup_gateways_monitor();
    	$savemsg = "RRD data has been cleared. New RRD files have been generated.";
    

    Something in there is causing it to start working again. The script is always running.

    /*
     * We need to force sync VPNs on such even when the IP is the same for dynamic interfaces.
     * Even with the same IP the VPN software is unhappy with the IP disappearing, and we
     * could be failing back in which case we need to switch IPs back anyhow.
     */
    if (!is_ipaddr($oldip) || $curwanip != $oldip || !is_ipaddrv4($config['interfaces'][$interface]['ipaddr'])) {
    	/* reconfigure static routes (kernel may have deleted them) */
    	system_routing_configure($interface);
    
    	/* reconfigure our gateway monitor */
    	setup_gateways_monitor();
    
    	file_put_contents("{$g['vardb_path']}/{$interface}_cacheip", $curwanip);
    
    	/* perform RFC 2136 DNS update */
    	services_dnsupdate_process($interface);
    
    	/* signal dyndns update */
    	services_dyndns_configure($interface);
    
    	/* reconfigure IPsec tunnels */
    	vpn_ipsec_force_reload($interface);
    
    	/* start OpenVPN server & clients */
    	if (substr($interface_real, 0, 4) != "ovpn")
    		openvpn_resync_all($interface);
    
    	/* reload graphing functions */
    	enable_rrd_graphing();
    
    	/* reload igmpproxy */
    	services_igmpproxy_configure();
    
    	/* restart snmp */
    	services_snmpd_configure();
    
    

    Looks like if the new ip isn't = to the old ip it is supposed to run enable_rrd_graphing() so it should be fixing it? Ipv6 or ipv4 ip?

    Anything in your logs about rrd having problems. What does your log say when your IP changes.



  • Logs give no indication that anything is wrong with rrd:

    Jan 25 22:31:58 pfsense ppp: [wan] IFACE: Up event
    Jan 25 22:31:58 pfsense ppp: [wan] IFACE: Rename interface ng0 to pppoe1
    Jan 25 22:31:58 pfsense check_reload_status: rc.newwanip starting pppoe1
    Jan 25 22:32:02 pfsense php: rc.newwanip: rc.newwanip: Informational is starting pppoe1.
    Jan 25 22:32:02 pfsense php: rc.newwanip: rc.newwanip: on (IP address: x.x.x.x) (interface: wan) (real interface: pppoe1).
    Jan 25 22:32:02 pfsense php: rc.newwanip: ROUTING: setting default route to x.x.x.x
    Jan 25 22:32:07 pfsense php: rc.newwanip: Resyncing OpenVPN instances for interface WAN.
    Jan 25 22:32:07 pfsense php: rc.newwanip: Creating rrd update script
    Jan 25 22:32:09 pfsense php: rc.newwanip: pfSense package system has detected an ip change x.x.x.x ->  x.x.x.x … Restarting packages.
    Jan 25 22:32:09 pfsense check_reload_status: Starting packages
    Jan 25 22:32:09 pfsense check_reload_status: Reloading filter
    Jan 25 22:32:13 pfsense php: rc.start_packages: Restarting/Starting all packages.
    Jan 25 22:32:18 pfsense check_reload_status: Syncing firewall
    Jan 25 22:32:26 pfsense php: rc.start_packages: The command '/usr/local/etc/rc.d/squid.sh stop' returned exit code '1', the output was ''
    Jan 25 22:32:28 pfsense php: rc.start_packages: You should specify an interface for bandwidthd to listen on. Exiting.
    Jan 25 22:32:29 pfsense squid[81143]: Squid Parent: child process 81672 started
    Jan 25 22:32:29 pfsense php: rc.start_packages: The command '/usr/local/etc/rc.d/bandwidthd.sh stop' returned exit code '1', the output was 'No matching processes were found'
    Jan 25 22:32:29 pfsense php: rc.start_packages: The command '/usr/local/etc/rc.d/bandwidthd.sh stop' returned exit code '1', the output was 'No matching processes were found'
    Jan 25 22:32:33 pfsense bandwidthd: Opening xl0
    Jan 25 22:32:33 pfsense bandwidthd: Packet Encoding: Ethernet